From e6cd1630b20fd985dc9ad0d6101f543bab434caa Mon Sep 17 00:00:00 2001 From: Jon Kinney Date: Thu, 23 Apr 2026 13:55:06 -0500 Subject: [PATCH] bundle Adwaita symbolic icons in gresource On macOS the Adwaita icon theme is not installed by default, so symbolic icons (edit-copy, auth-fingerprint, network-wired, dialog-warning, etc.) render as the "image-missing" placeholder. Bundle the symbolic SVGs used by the GTK frontend into the embedded gresource so the app is self-contained and doesn't depend on any system-installed icon theme. The existing `IconTheme::add_resource_path("/de/feschber/LanMouse/icons")` call already tells GTK to search this prefix, so no code changes are needed. Icons are sourced from Adwaita and placed under the standard `scalable/{actions,devices,places,status}/` hicolor layout. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../scalable/actions/edit-copy-symbolic.svg | 4 ++++ .../scalable/actions/edit-delete-symbolic.svg | 4 ++++ .../scalable/actions/emblem-ok-symbolic.svg | 4 ++++ .../scalable/actions/list-add-symbolic.svg | 4 ++++ .../actions/object-rotate-right-symbolic.svg | 4 ++++ .../actions/object-select-symbolic.svg | 4 ++++ .../scalable/actions/open-menu-symbolic.svg | 8 ++++++++ .../scalable/actions/process-stop-symbolic.svg | 4 ++++ .../devices/auth-fingerprint-symbolic.svg | 4 ++++ .../devices/network-wired-symbolic.svg | 4 ++++ .../scalable/places/user-trash-symbolic.svg | 8 ++++++++ .../status/dialog-warning-symbolic.svg | 4 ++++ .../network-wired-disconnected-symbolic.svg | 7 +++++++ .../resources/resources.gresource.xml | 18 ++++++++++++++++++ 14 files changed, 81 insertions(+) create mode 100644 lan-mouse-gtk/resources/icons/scalable/actions/edit-copy-symbolic.svg create mode 100644 lan-mouse-gtk/resources/icons/scalable/actions/edit-delete-symbolic.svg create mode 100644 lan-mouse-gtk/resources/icons/scalable/actions/emblem-ok-symbolic.svg create mode 100644 lan-mouse-gtk/resources/icons/scalable/actions/list-add-symbolic.svg create mode 100644 lan-mouse-gtk/resources/icons/scalable/actions/object-rotate-right-symbolic.svg create mode 100644 lan-mouse-gtk/resources/icons/scalable/actions/object-select-symbolic.svg create mode 100644 lan-mouse-gtk/resources/icons/scalable/actions/open-menu-symbolic.svg create mode 100644 lan-mouse-gtk/resources/icons/scalable/actions/process-stop-symbolic.svg create mode 100644 lan-mouse-gtk/resources/icons/scalable/devices/auth-fingerprint-symbolic.svg create mode 100644 lan-mouse-gtk/resources/icons/scalable/devices/network-wired-symbolic.svg create mode 100644 lan-mouse-gtk/resources/icons/scalable/places/user-trash-symbolic.svg create mode 100644 lan-mouse-gtk/resources/icons/scalable/status/dialog-warning-symbolic.svg create mode 100644 lan-mouse-gtk/resources/icons/scalable/status/network-wired-disconnected-symbolic.svg diff --git a/lan-mouse-gtk/resources/icons/scalable/actions/edit-copy-symbolic.svg b/lan-mouse-gtk/resources/icons/scalable/actions/edit-copy-symbolic.svg new file mode 100644 index 0000000..5964403 --- /dev/null +++ b/lan-mouse-gtk/resources/icons/scalable/actions/edit-copy-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/lan-mouse-gtk/resources/icons/scalable/actions/edit-delete-symbolic.svg b/lan-mouse-gtk/resources/icons/scalable/actions/edit-delete-symbolic.svg new file mode 100644 index 0000000..4131277 --- /dev/null +++ b/lan-mouse-gtk/resources/icons/scalable/actions/edit-delete-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/lan-mouse-gtk/resources/icons/scalable/actions/emblem-ok-symbolic.svg b/lan-mouse-gtk/resources/icons/scalable/actions/emblem-ok-symbolic.svg new file mode 100644 index 0000000..7a9551f --- /dev/null +++ b/lan-mouse-gtk/resources/icons/scalable/actions/emblem-ok-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/lan-mouse-gtk/resources/icons/scalable/actions/list-add-symbolic.svg b/lan-mouse-gtk/resources/icons/scalable/actions/list-add-symbolic.svg new file mode 100644 index 0000000..cf68622 --- /dev/null +++ b/lan-mouse-gtk/resources/icons/scalable/actions/list-add-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/lan-mouse-gtk/resources/icons/scalable/actions/object-rotate-right-symbolic.svg b/lan-mouse-gtk/resources/icons/scalable/actions/object-rotate-right-symbolic.svg new file mode 100644 index 0000000..2794d53 --- /dev/null +++ b/lan-mouse-gtk/resources/icons/scalable/actions/object-rotate-right-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/lan-mouse-gtk/resources/icons/scalable/actions/object-select-symbolic.svg b/lan-mouse-gtk/resources/icons/scalable/actions/object-select-symbolic.svg new file mode 100644 index 0000000..7a9551f --- /dev/null +++ b/lan-mouse-gtk/resources/icons/scalable/actions/object-select-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/lan-mouse-gtk/resources/icons/scalable/actions/open-menu-symbolic.svg b/lan-mouse-gtk/resources/icons/scalable/actions/open-menu-symbolic.svg new file mode 100644 index 0000000..7f44743 --- /dev/null +++ b/lan-mouse-gtk/resources/icons/scalable/actions/open-menu-symbolic.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/lan-mouse-gtk/resources/icons/scalable/actions/process-stop-symbolic.svg b/lan-mouse-gtk/resources/icons/scalable/actions/process-stop-symbolic.svg new file mode 100644 index 0000000..19b9537 --- /dev/null +++ b/lan-mouse-gtk/resources/icons/scalable/actions/process-stop-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/lan-mouse-gtk/resources/icons/scalable/devices/auth-fingerprint-symbolic.svg b/lan-mouse-gtk/resources/icons/scalable/devices/auth-fingerprint-symbolic.svg new file mode 100644 index 0000000..f64af0a --- /dev/null +++ b/lan-mouse-gtk/resources/icons/scalable/devices/auth-fingerprint-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/lan-mouse-gtk/resources/icons/scalable/devices/network-wired-symbolic.svg b/lan-mouse-gtk/resources/icons/scalable/devices/network-wired-symbolic.svg new file mode 100644 index 0000000..166b48f --- /dev/null +++ b/lan-mouse-gtk/resources/icons/scalable/devices/network-wired-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/lan-mouse-gtk/resources/icons/scalable/places/user-trash-symbolic.svg b/lan-mouse-gtk/resources/icons/scalable/places/user-trash-symbolic.svg new file mode 100644 index 0000000..2e20f9c --- /dev/null +++ b/lan-mouse-gtk/resources/icons/scalable/places/user-trash-symbolic.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/lan-mouse-gtk/resources/icons/scalable/status/dialog-warning-symbolic.svg b/lan-mouse-gtk/resources/icons/scalable/status/dialog-warning-symbolic.svg new file mode 100644 index 0000000..0b8cbe5 --- /dev/null +++ b/lan-mouse-gtk/resources/icons/scalable/status/dialog-warning-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/lan-mouse-gtk/resources/icons/scalable/status/network-wired-disconnected-symbolic.svg b/lan-mouse-gtk/resources/icons/scalable/status/network-wired-disconnected-symbolic.svg new file mode 100644 index 0000000..df1f039 --- /dev/null +++ b/lan-mouse-gtk/resources/icons/scalable/status/network-wired-disconnected-symbolic.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/lan-mouse-gtk/resources/resources.gresource.xml b/lan-mouse-gtk/resources/resources.gresource.xml index c94be6b..d382074 100644 --- a/lan-mouse-gtk/resources/resources.gresource.xml +++ b/lan-mouse-gtk/resources/resources.gresource.xml @@ -9,5 +9,23 @@ de.feschber.LanMouse.svg + + icons/scalable/actions/edit-copy-symbolic.svg + icons/scalable/actions/edit-delete-symbolic.svg + icons/scalable/actions/emblem-ok-symbolic.svg + icons/scalable/actions/list-add-symbolic.svg + icons/scalable/actions/object-rotate-right-symbolic.svg + icons/scalable/actions/object-select-symbolic.svg + icons/scalable/actions/open-menu-symbolic.svg + icons/scalable/actions/process-stop-symbolic.svg + icons/scalable/devices/auth-fingerprint-symbolic.svg + icons/scalable/devices/network-wired-symbolic.svg + icons/scalable/places/user-trash-symbolic.svg + icons/scalable/status/dialog-warning-symbolic.svg + icons/scalable/status/network-wired-disconnected-symbolic.svg