diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 716ba89d..04b01f5f 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -55,6 +55,8 @@ jobs:
brew install \
nlohmann-json \
extra-cmake-modules \
+ librsvg \
+ md5sha1sum \
ninja
./install-deps.sh ${{ matrix.arch }}
npm i -g pnpm
@@ -83,7 +85,9 @@ jobs:
Fcitx5-${{ matrix.arch }}.tar.bz2
- name: Check validity
- run: ./check-validity.sh
+ run: |
+ ./check-validity.sh
+ md5sum -c checksum
- name: Generate meta.json
if: ${{ matrix.os == 'macos-14' }}
diff --git a/assets/CMakeLists.txt b/assets/CMakeLists.txt
index b8af70e9..9ff215ad 100644
--- a/assets/CMakeLists.txt
+++ b/assets/CMakeLists.txt
@@ -4,6 +4,18 @@ install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/fcitx.icns"
DESTINATION "${CMAKE_INSTALL_PREFIX}/Resources"
)
+add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/menu_icon.pdf
+ COMMAND SOURCE_DATE_EPOCH=0 rsvg-convert -f pdf -o ${CMAKE_CURRENT_BINARY_DIR}/menu_icon.pdf ${CMAKE_CURRENT_SOURCE_DIR}/penguin.svg
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/penguin.svg
+)
+add_custom_target(GeneratePDF ALL
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/menu_icon.pdf
+)
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/menu_icon.pdf"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/Resources"
+)
+
# Preserve execution permission
install(PROGRAMS "${CMAKE_CURRENT_SOURCE_DIR}/uninstall.sh"
"${CMAKE_CURRENT_SOURCE_DIR}/update.sh"
diff --git a/assets/penguin.svg b/assets/penguin.svg
new file mode 100644
index 00000000..94e9aa5b
--- /dev/null
+++ b/assets/penguin.svg
@@ -0,0 +1,5 @@
+
diff --git a/checksum b/checksum
new file mode 100644
index 00000000..579d5ddc
--- /dev/null
+++ b/checksum
@@ -0,0 +1 @@
+235e1b78a18fe9a5fccbac5b23d7d91b build/assets/menu_icon.pdf
diff --git a/cmake/MacOSXBundleInfo.plist.in b/cmake/MacOSXBundleInfo.plist.in
index 5b2ba9e4..5a664ca2 100644
--- a/cmake/MacOSXBundleInfo.plist.in
+++ b/cmake/MacOSXBundleInfo.plist.in
@@ -26,7 +26,7 @@
Latn
tsInputMethodIconFileKey
- fcitx.icns
+ menu_icon.pdf
ComponentInputModeDict
tsInputModeListKey
@@ -36,6 +36,12 @@
TISIntendedLanguage
zh-Hans
+ tsInputModeMenuIconFileKey
+ menu_icon.pdf
+ tsInputModeAlternateMenuIconFileKey
+ menu_icon.pdf
+ tsInputModePaletteIconFileKey
+ menu_icon.pdf