Skip to content

Commit 6385a6d

Browse files
authored
adapt macOS 26 menu icon (#295)
1 parent ecef77c commit 6385a6d

File tree

6 files changed

+38
-6
lines changed

6 files changed

+38
-6
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,10 @@ jobs:
9494
- name: Check validity
9595
run: |
9696
./scripts/check-validity.sh
97+
98+
- name: Check reproducibility
99+
if: ${{ matrix.arch == 'arm64' && matrix.type == 'Release' }}
100+
run: |
97101
md5sum -c checksum
98102
99103
# TODO: remove all meta.json stuff after 2026-03-02

assets/CMakeLists.txt

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,28 @@ install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/fcitx.icns"
55
)
66

77
add_custom_command(
8-
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/menu_icon.pdf
9-
COMMAND SOURCE_DATE_EPOCH=0 rsvg-convert -f pdf -o ${CMAKE_CURRENT_BINARY_DIR}/menu_icon.pdf ${CMAKE_CURRENT_SOURCE_DIR}/penguin.svg
10-
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/penguin.svg
8+
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/menu_icon_26.pdf
9+
COMMAND SOURCE_DATE_EPOCH=0 rsvg-convert -f pdf -o ${CMAKE_CURRENT_BINARY_DIR}/menu_icon_26.pdf ${CMAKE_CURRENT_SOURCE_DIR}/penguin-26.svg
10+
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/penguin-26.svg
11+
)
12+
add_custom_command(
13+
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/menu_icon_15.pdf
14+
COMMAND SOURCE_DATE_EPOCH=0 rsvg-convert -f pdf -o ${CMAKE_CURRENT_BINARY_DIR}/menu_icon_15.pdf ${CMAKE_CURRENT_SOURCE_DIR}/penguin-15.svg
15+
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/penguin-15.svg
1116
)
1217
add_custom_target(GeneratePDF ALL
13-
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/menu_icon.pdf
18+
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/menu_icon_26.pdf ${CMAKE_CURRENT_BINARY_DIR}/menu_icon_15.pdf
19+
)
20+
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/menu_icon_26.pdf"
21+
DESTINATION "${CMAKE_INSTALL_PREFIX}/Resources"
22+
)
23+
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/menu_icon_15.pdf"
24+
DESTINATION "${CMAKE_INSTALL_PREFIX}/Resources"
1425
)
15-
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/menu_icon.pdf"
26+
# When upgrade from old version, menu_icon.pdf will be used, so we have to make it the old version.
27+
# Afterwards, script will copy the correct one to overwrite it.
28+
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/menu_icon_15.pdf"
29+
RENAME menu_icon.pdf
1630
DESTINATION "${CMAKE_INSTALL_PREFIX}/Resources"
1731
)
1832

assets/penguin-26.svg

Lines changed: 5 additions & 0 deletions
Loading

assets/update.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@ if ls "$APP_DIR"/Contents/MacOS/Fcitx5.*; then # Debug symbols
1414
fi
1515
tar xjvf "$tar_ball" -C "$INSTALL_DIR"
1616
rm -f "$tar_ball"
17+
18+
major_version=$(sw_vers -productVersion | cut -d. -f1)
19+
if (( major_version >= 26 )); then
20+
cp "$RESOURCES_DIR/menu_icon_26.pdf" "$RESOURCES_DIR/menu_icon.pdf"
21+
else
22+
cp "$RESOURCES_DIR/menu_icon_15.pdf" "$RESOURCES_DIR/menu_icon.pdf"
23+
fi
24+
1725
xattr -dr com.apple.quarantine "$APP_DIR"
1826
codesign --force --sign - --deep "$APP_DIR"
1927

checksum

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
812db98c6fe5e485daa12a15bfd98538 build/assets/menu_icon.pdf
1+
a8649eaeb642417ae3beed3ad5c9885c build/arm64/assets/menu_icon_15.pdf
2+
b023a2b068e7dae81e9c06c7f0132db0 build/arm64/assets/menu_icon_26.pdf

0 commit comments

Comments
 (0)