diff --git a/share/CMakeLists.txt b/share/CMakeLists.txt
index b87241d29..428a472a6 100644
--- a/share/CMakeLists.txt
+++ b/share/CMakeLists.txt
@@ -63,6 +63,7 @@ if(UNIX AND NOT APPLE AND NOT HAIKU)
endif(UNIX AND NOT APPLE AND NOT HAIKU)
if(APPLE)
+ install(FILES macosx/Assets.car DESTINATION ${DATA_INSTALL_DIR})
install(FILES macosx/keepassxc.icns DESTINATION ${DATA_INSTALL_DIR})
endif()
@@ -80,7 +81,16 @@ add_custom_command(TARGET icons
if(APPLE)
add_custom_command(TARGET icons
POST_BUILD
- COMMAND png2icns macosx/keepassxc.icns icons/application/256x256/apps/keepassxc.png
+ COMMAND xcrun actool share/macosx/keepassxc.icon
+ --compile share/macosx
+ --output-partial-info-plist /dev/null
+ --app-icon keepassxc
+ --include-all-app-icons
+ --enable-on-demand-resources NO
+ --target-device mac
+ --minimum-deployment-target 11.0
+ --platform macosx
+ --output-format human-readable-text
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
endif()
diff --git a/share/branding/keepassxc-icon.ai b/share/branding/keepassxc-icon.ai
index 47283e03e..aec508970 100644
Binary files a/share/branding/keepassxc-icon.ai and b/share/branding/keepassxc-icon.ai differ
diff --git a/share/macosx/Assets.car b/share/macosx/Assets.car
new file mode 100644
index 000000000..8569f10ad
Binary files /dev/null and b/share/macosx/Assets.car differ
diff --git a/share/macosx/Info.plist.cmake b/share/macosx/Info.plist.cmake
index 086d208df..59549f2cc 100644
--- a/share/macosx/Info.plist.cmake
+++ b/share/macosx/Info.plist.cmake
@@ -14,6 +14,8 @@
${PROGNAME}
CFBundleIconFile
keepassxc.icns
+ CFBundleIconName
+ keepassxc
CFBundleIdentifier
org.keepassxc.keepassxc
CFBundleInfoDictionaryVersion
diff --git a/share/macosx/keepassxc.icns b/share/macosx/keepassxc.icns
index 927efd5c0..68a25cc6d 100644
Binary files a/share/macosx/keepassxc.icns and b/share/macosx/keepassxc.icns differ
diff --git a/share/macosx/keepassxc.icon/Assets/macos-comp-bg-green.svg b/share/macosx/keepassxc.icon/Assets/macos-comp-bg-green.svg
new file mode 100644
index 000000000..47f5259a8
--- /dev/null
+++ b/share/macosx/keepassxc.icon/Assets/macos-comp-bg-green.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/share/macosx/keepassxc.icon/Assets/macos-comp-key.svg b/share/macosx/keepassxc.icon/Assets/macos-comp-key.svg
new file mode 100644
index 000000000..8848de242
--- /dev/null
+++ b/share/macosx/keepassxc.icon/Assets/macos-comp-key.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/share/macosx/keepassxc.icon/Assets/macos-comp-rim.svg b/share/macosx/keepassxc.icon/Assets/macos-comp-rim.svg
new file mode 100644
index 000000000..0e607a348
--- /dev/null
+++ b/share/macosx/keepassxc.icon/Assets/macos-comp-rim.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/share/macosx/keepassxc.icon/icon.json b/share/macosx/keepassxc.icon/icon.json
new file mode 100644
index 000000000..c1cb0df52
--- /dev/null
+++ b/share/macosx/keepassxc.icon/icon.json
@@ -0,0 +1,99 @@
+{
+ "fill-specializations" : [
+ {
+ "value" : "automatic"
+ },
+ {
+ "appearance" : "dark",
+ "value" : "automatic"
+ }
+ ],
+ "groups" : [
+ {
+ "blur-material" : null,
+ "layers" : [
+ {
+ "glass" : true,
+ "image-name" : "macos-comp-key.svg",
+ "name" : "key",
+ "position" : {
+ "scale" : 9.5,
+ "translation-in-points" : [
+ 0,
+ 0
+ ]
+ }
+ }
+ ],
+ "lighting" : "individual",
+ "shadow" : {
+ "kind" : "neutral",
+ "opacity" : 0.5
+ },
+ "specular" : true,
+ "translucency" : {
+ "enabled" : true,
+ "value" : 0.3
+ }
+ },
+ {
+ "blur-material" : null,
+ "layers" : [
+ {
+ "glass" : true,
+ "image-name" : "macos-comp-bg-green.svg",
+ "name" : "bg-green",
+ "position" : {
+ "scale" : 9.5,
+ "translation-in-points" : [
+ 0,
+ 0
+ ]
+ }
+ }
+ ],
+ "shadow" : {
+ "kind" : "neutral",
+ "opacity" : 0.5
+ },
+ "specular" : true,
+ "translucency" : {
+ "enabled" : true,
+ "value" : 0.5
+ }
+ },
+ {
+ "blur-material" : 0.5,
+ "hidden" : false,
+ "layers" : [
+ {
+ "glass" : true,
+ "image-name" : "macos-comp-rim.svg",
+ "name" : "rim",
+ "position" : {
+ "scale" : 9.5,
+ "translation-in-points" : [
+ 0,
+ 0
+ ]
+ }
+ }
+ ],
+ "shadow" : {
+ "kind" : "neutral",
+ "opacity" : 0.7
+ },
+ "specular" : true,
+ "translucency" : {
+ "enabled" : true,
+ "value" : 0.2
+ }
+ }
+ ],
+ "supported-platforms" : {
+ "circles" : [
+ "watchOS"
+ ],
+ "squares" : "shared"
+ }
+}
\ No newline at end of file