Add live wallpaper source folders and bundle preferences page icons

Live Wallpaper page gains a "Wallpaper Folders" list (mirroring the
static rotation one) plus an "Available Media" list of the videos/GIFs
found inside them to pick from, backed by a new live-wallpaper-folders
GSettings key and a generalized wallpaperSource.js extension scan.

The preferences page-switcher icons (General, Rotation, Live Wallpaper,
OLED Protection, About) were showing as broken-image placeholders since
they depended on exact symbolic icon names being present in the user's
system icon theme. Bundle a small set of custom SVG icons under icons/
and register them via Gtk.IconTheme.add_search_path so they always
resolve regardless of the system theme.
This commit is contained in:
Claude
2026-08-04 02:08:14 +00:00
parent bbd21c9e5a
commit f246d6a4fe
11 changed files with 199 additions and 40 deletions
+5
View File
@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<circle cx="8" cy="8" r="6.2" fill="none" stroke="#2e3436" stroke-width="1.3"/>
<circle cx="8" cy="4.9" r="0.95" fill="#2e3436"/>
<path d="M 8 7 L 8 11.4" fill="none" stroke="#2e3436" stroke-width="1.4" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 325 B

+10
View File
@@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" stroke="#2e3436" stroke-width="1.3" stroke-linecap="round">
<line x1="3.5" y1="2" x2="3.5" y2="14"/>
<line x1="8" y1="2" x2="8" y2="14"/>
<line x1="12.5" y1="2" x2="12.5" y2="14"/>
</g>
<circle cx="3.5" cy="5.5" r="1.7" fill="#2e3436"/>
<circle cx="8" cy="10.5" r="1.7" fill="#2e3436"/>
<circle cx="12.5" cy="7" r="1.7" fill="#2e3436"/>
</svg>

After

Width:  |  Height:  |  Size: 465 B

+4
View File
@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<rect x="1.5" y="3" width="13" height="10" rx="1.8" fill="none" stroke="#2e3436" stroke-width="1.3"/>
<path d="M 6.6 5.8 L 6.6 10.2 L 10.4 8 Z" fill="#2e3436"/>
</svg>

After

Width:  |  Height:  |  Size: 256 B

+5
View File
@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<path d="M 8 1.3 L 13.5 3.4 V 7.6 C 13.5 11.2 11.2 13.6 8 14.7 C 4.8 13.6 2.5 11.2 2.5 7.6 V 3.4 Z"
fill="none" stroke="#2e3436" stroke-width="1.3" stroke-linejoin="round"/>
<path d="M 5.6 8.1 L 7.3 9.8 L 10.6 6.2" fill="none" stroke="#2e3436" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 415 B

+6
View File
@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<path d="M 3.11 6.22 A 5.2 5.2 0 0 1 13.12 7.10" fill="none" stroke="#2e3436" stroke-width="1.4" stroke-linecap="round"/>
<path d="M 12.89 9.78 A 5.2 5.2 0 0 1 2.88 8.90" fill="none" stroke="#2e3436" stroke-width="1.4" stroke-linecap="round"/>
<path d="M 13.52,9.36 11.38,7.00 14.73,6.41 Z" fill="#2e3436"/>
<path d="M 2.48,6.64 4.62,9.00 1.27,9.59 Z" fill="#2e3436"/>
</svg>

After

Width:  |  Height:  |  Size: 468 B