diff --git a/.DirIcon b/.DirIcon deleted file mode 100644 index dfcab71..0000000 Binary files a/.DirIcon and /dev/null differ diff --git a/assets/background.png b/assets/background.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0001.png b/assets/boot/my-custom-logo/animation-0001.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0002.png b/assets/boot/my-custom-logo/animation-0002.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0003.png b/assets/boot/my-custom-logo/animation-0003.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0004.png b/assets/boot/my-custom-logo/animation-0004.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0005.png b/assets/boot/my-custom-logo/animation-0005.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0006.png b/assets/boot/my-custom-logo/animation-0006.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0007.png b/assets/boot/my-custom-logo/animation-0007.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0008.png b/assets/boot/my-custom-logo/animation-0008.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0009.png b/assets/boot/my-custom-logo/animation-0009.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0010.png b/assets/boot/my-custom-logo/animation-0010.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0011.png b/assets/boot/my-custom-logo/animation-0011.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0012.png b/assets/boot/my-custom-logo/animation-0012.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0013.png b/assets/boot/my-custom-logo/animation-0013.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0014.png b/assets/boot/my-custom-logo/animation-0014.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0015.png b/assets/boot/my-custom-logo/animation-0015.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0016.png b/assets/boot/my-custom-logo/animation-0016.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0017.png b/assets/boot/my-custom-logo/animation-0017.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0018.png b/assets/boot/my-custom-logo/animation-0018.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0019.png b/assets/boot/my-custom-logo/animation-0019.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0020.png b/assets/boot/my-custom-logo/animation-0020.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0021.png b/assets/boot/my-custom-logo/animation-0021.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0022.png b/assets/boot/my-custom-logo/animation-0022.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0023.png b/assets/boot/my-custom-logo/animation-0023.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0024.png b/assets/boot/my-custom-logo/animation-0024.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0025.png b/assets/boot/my-custom-logo/animation-0025.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0026.png b/assets/boot/my-custom-logo/animation-0026.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0027.png b/assets/boot/my-custom-logo/animation-0027.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0028.png b/assets/boot/my-custom-logo/animation-0028.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0029.png b/assets/boot/my-custom-logo/animation-0029.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0030.png b/assets/boot/my-custom-logo/animation-0030.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0031.png b/assets/boot/my-custom-logo/animation-0031.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0032.png b/assets/boot/my-custom-logo/animation-0032.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0033.png b/assets/boot/my-custom-logo/animation-0033.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0034.png b/assets/boot/my-custom-logo/animation-0034.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0035.png b/assets/boot/my-custom-logo/animation-0035.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/animation-0036.png b/assets/boot/my-custom-logo/animation-0036.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/bgrt-fallback.png b/assets/boot/my-custom-logo/bgrt-fallback.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/bullet.png b/assets/boot/my-custom-logo/bullet.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/capslock.png b/assets/boot/my-custom-logo/capslock.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/entry.png b/assets/boot/my-custom-logo/entry.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/keyboard.png b/assets/boot/my-custom-logo/keyboard.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/keymap-render.png b/assets/boot/my-custom-logo/keymap-render.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/lock.png b/assets/boot/my-custom-logo/lock.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/my-custom-logo.plymouth b/assets/boot/my-custom-logo/my-custom-logo.plymouth old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0001.png b/assets/boot/my-custom-logo/throbber-0001.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0002.png b/assets/boot/my-custom-logo/throbber-0002.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0003.png b/assets/boot/my-custom-logo/throbber-0003.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0004.png b/assets/boot/my-custom-logo/throbber-0004.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0005.png b/assets/boot/my-custom-logo/throbber-0005.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0006.png b/assets/boot/my-custom-logo/throbber-0006.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0007.png b/assets/boot/my-custom-logo/throbber-0007.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0008.png b/assets/boot/my-custom-logo/throbber-0008.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0009.png b/assets/boot/my-custom-logo/throbber-0009.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0010.png b/assets/boot/my-custom-logo/throbber-0010.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0011.png b/assets/boot/my-custom-logo/throbber-0011.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0012.png b/assets/boot/my-custom-logo/throbber-0012.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0013.png b/assets/boot/my-custom-logo/throbber-0013.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0014.png b/assets/boot/my-custom-logo/throbber-0014.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0015.png b/assets/boot/my-custom-logo/throbber-0015.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0016.png b/assets/boot/my-custom-logo/throbber-0016.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0017.png b/assets/boot/my-custom-logo/throbber-0017.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0018.png b/assets/boot/my-custom-logo/throbber-0018.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0019.png b/assets/boot/my-custom-logo/throbber-0019.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0020.png b/assets/boot/my-custom-logo/throbber-0020.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0021.png b/assets/boot/my-custom-logo/throbber-0021.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0022.png b/assets/boot/my-custom-logo/throbber-0022.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0023.png b/assets/boot/my-custom-logo/throbber-0023.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0024.png b/assets/boot/my-custom-logo/throbber-0024.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0025.png b/assets/boot/my-custom-logo/throbber-0025.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0026.png b/assets/boot/my-custom-logo/throbber-0026.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0027.png b/assets/boot/my-custom-logo/throbber-0027.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0028.png b/assets/boot/my-custom-logo/throbber-0028.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0029.png b/assets/boot/my-custom-logo/throbber-0029.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/throbber-0030.png b/assets/boot/my-custom-logo/throbber-0030.png old mode 100644 new mode 100755 diff --git a/assets/boot/my-custom-logo/watermark.png b/assets/boot/my-custom-logo/watermark.png old mode 100644 new mode 100755 diff --git a/assets/gitnexus-logo.svg b/assets/gitnexus-logo.svg new file mode 100644 index 0000000..ca49156 --- /dev/null +++ b/assets/gitnexus-logo.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/assets/n-folder.png b/assets/n-folder.png index dfcab71..b4cea46 100644 Binary files a/assets/n-folder.png and b/assets/n-folder.png differ diff --git a/assets/n-small.png b/assets/n-small.png old mode 100644 new mode 100755 diff --git a/assets/nexus-folder-app.png b/assets/nexus-folder-app.png new file mode 100644 index 0000000..239f381 Binary files /dev/null and b/assets/nexus-folder-app.png differ diff --git a/assets/nexus-terminal.svg b/assets/nexus-terminal-blank.svg old mode 100644 new mode 100755 similarity index 100% rename from assets/nexus-terminal.svg rename to assets/nexus-terminal-blank.svg diff --git a/assets/nexus-terminal.png b/assets/nexus-terminal-draft.png old mode 100644 new mode 100755 similarity index 100% rename from assets/nexus-terminal.png rename to assets/nexus-terminal-draft.png diff --git a/assets/nexus-terminal-naked.png b/assets/nexus-terminal-naked.png new file mode 100644 index 0000000..dc9c154 Binary files /dev/null and b/assets/nexus-terminal-naked.png differ diff --git a/assets/themes/NexusOS-icons/scalable/apps/utilities-terminal.png b/assets/nexus-terminal-ring.png similarity index 100% rename from assets/themes/NexusOS-icons/scalable/apps/utilities-terminal.png rename to assets/nexus-terminal-ring.png diff --git a/assets/notes/MEMORY.md b/assets/notes/MEMORY.md new file mode 120000 index 0000000..36d5e77 --- /dev/null +++ b/assets/notes/MEMORY.md @@ -0,0 +1 @@ +../../../.claude/projects/-home-jon-nexus-core/memory/MEMORY.md \ No newline at end of file diff --git a/assets/notes/README.md b/assets/notes/README.md new file mode 100755 index 0000000..716563d --- /dev/null +++ b/assets/notes/README.md @@ -0,0 +1,12 @@ +# assets/notes + +In-repo snapshot of the project's working notes (Claude Code memory). + +**Canonical source:** `~/.claude/projects/-home-jon-nexus-core/memory/` +The files here are a committed copy so the notes travel with the repo and survive +a fresh machine. They are **not** read by any code at runtime — purely reference. + +`MEMORY.md` is the index; the other `*.md` files are one note each. + +If the two locations drift, the `~/.claude/.../memory/` copy is authoritative — +re-sync from there, not the other way around. diff --git a/assets/notes/code-widget-lifecycle.md b/assets/notes/code-widget-lifecycle.md new file mode 120000 index 0000000..bb0c656 --- /dev/null +++ b/assets/notes/code-widget-lifecycle.md @@ -0,0 +1 @@ +../../../.claude/projects/-home-jon-nexus-core/memory/code-widget-lifecycle.md \ No newline at end of file diff --git a/assets/notes/cross-machine-sync-constraint.md b/assets/notes/cross-machine-sync-constraint.md new file mode 120000 index 0000000..b84750b --- /dev/null +++ b/assets/notes/cross-machine-sync-constraint.md @@ -0,0 +1 @@ +../../../.claude/projects/-home-jon-nexus-core/memory/cross-machine-sync-constraint.md \ No newline at end of file diff --git a/assets/notes/fusion360_linux_proton.md b/assets/notes/fusion360_linux_proton.md new file mode 120000 index 0000000..0f40571 --- /dev/null +++ b/assets/notes/fusion360_linux_proton.md @@ -0,0 +1 @@ +../../../.claude/projects/-home-jon-nexus-core/memory/fusion360_linux_proton.md \ No newline at end of file diff --git a/assets/notes/multimonitor_primary_follow.md b/assets/notes/multimonitor_primary_follow.md new file mode 120000 index 0000000..ab2534f --- /dev/null +++ b/assets/notes/multimonitor_primary_follow.md @@ -0,0 +1 @@ +../../../.claude/projects/-home-jon-nexus-core/memory/multimonitor_primary_follow.md \ No newline at end of file diff --git a/assets/notes/nexusos_desktop_theme.md b/assets/notes/nexusos_desktop_theme.md new file mode 120000 index 0000000..bd8e415 --- /dev/null +++ b/assets/notes/nexusos_desktop_theme.md @@ -0,0 +1 @@ +../../../.claude/projects/-home-jon-nexus-core/memory/nexusos_desktop_theme.md \ No newline at end of file diff --git a/assets/notes/nexusos_distro_identity_wine.md b/assets/notes/nexusos_distro_identity_wine.md new file mode 120000 index 0000000..b206da6 --- /dev/null +++ b/assets/notes/nexusos_distro_identity_wine.md @@ -0,0 +1 @@ +../../../.claude/projects/-home-jon-nexus-core/memory/nexusos_distro_identity_wine.md \ No newline at end of file diff --git a/assets/notes/nexusos_genmon_applet_pattern.md b/assets/notes/nexusos_genmon_applet_pattern.md new file mode 120000 index 0000000..21accb8 --- /dev/null +++ b/assets/notes/nexusos_genmon_applet_pattern.md @@ -0,0 +1 @@ +../../../.claude/projects/-home-jon-nexus-core/memory/nexusos_genmon_applet_pattern.md \ No newline at end of file diff --git a/assets/notes/nexusos_icon_branding_pipeline.md b/assets/notes/nexusos_icon_branding_pipeline.md new file mode 120000 index 0000000..473afff --- /dev/null +++ b/assets/notes/nexusos_icon_branding_pipeline.md @@ -0,0 +1 @@ +../../../.claude/projects/-home-jon-nexus-core/memory/nexusos_icon_branding_pipeline.md \ No newline at end of file diff --git a/assets/notes/user_desktop_env.md b/assets/notes/user_desktop_env.md new file mode 120000 index 0000000..dcacd7e --- /dev/null +++ b/assets/notes/user_desktop_env.md @@ -0,0 +1 @@ +../../../.claude/projects/-home-jon-nexus-core/memory/user_desktop_env.md \ No newline at end of file diff --git a/assets/notes/user_no_git.md b/assets/notes/user_no_git.md new file mode 120000 index 0000000..38142fa --- /dev/null +++ b/assets/notes/user_no_git.md @@ -0,0 +1 @@ +../../../.claude/projects/-home-jon-nexus-core/memory/user_no_git.md \ No newline at end of file diff --git a/assets/panel-icons/audio-volume-high.png b/assets/panel-icons/audio-volume-high.png new file mode 100755 index 0000000..495c963 Binary files /dev/null and b/assets/panel-icons/audio-volume-high.png differ diff --git a/assets/panel-icons/audio-volume-low.png b/assets/panel-icons/audio-volume-low.png new file mode 100755 index 0000000..fdd681e Binary files /dev/null and b/assets/panel-icons/audio-volume-low.png differ diff --git a/assets/panel-icons/audio-volume-medium.png b/assets/panel-icons/audio-volume-medium.png new file mode 100755 index 0000000..3e2914d Binary files /dev/null and b/assets/panel-icons/audio-volume-medium.png differ diff --git a/assets/panel-icons/audio-volume-muted.png b/assets/panel-icons/audio-volume-muted.png new file mode 100755 index 0000000..53266f0 Binary files /dev/null and b/assets/panel-icons/audio-volume-muted.png differ diff --git a/assets/panel-icons/bluetooth-active.png b/assets/panel-icons/bluetooth-active.png new file mode 100755 index 0000000..1d054f9 Binary files /dev/null and b/assets/panel-icons/bluetooth-active.png differ diff --git a/assets/panel-icons/bluetooth-disabled.png b/assets/panel-icons/bluetooth-disabled.png new file mode 100755 index 0000000..2bfddb1 Binary files /dev/null and b/assets/panel-icons/bluetooth-disabled.png differ diff --git a/assets/panel-icons/bluetooth-online.png b/assets/panel-icons/bluetooth-online.png new file mode 100755 index 0000000..70a741e Binary files /dev/null and b/assets/panel-icons/bluetooth-online.png differ diff --git a/assets/panel-icons/bluetooth-paired.png b/assets/panel-icons/bluetooth-paired.png new file mode 100755 index 0000000..4341d6c Binary files /dev/null and b/assets/panel-icons/bluetooth-paired.png differ diff --git a/assets/panel-icons/network-offline.png b/assets/panel-icons/network-offline.png new file mode 100755 index 0000000..3f97c32 Binary files /dev/null and b/assets/panel-icons/network-offline.png differ diff --git a/assets/panel-icons/network-wired.png b/assets/panel-icons/network-wired.png new file mode 100755 index 0000000..4bedd5a Binary files /dev/null and b/assets/panel-icons/network-wired.png differ diff --git a/assets/panel-icons/network-wireless-signal-excellent.png b/assets/panel-icons/network-wireless-signal-excellent.png new file mode 100755 index 0000000..91b22d9 Binary files /dev/null and b/assets/panel-icons/network-wireless-signal-excellent.png differ diff --git a/assets/panel-icons/network-wireless-signal-good.png b/assets/panel-icons/network-wireless-signal-good.png new file mode 100755 index 0000000..2c735e0 Binary files /dev/null and b/assets/panel-icons/network-wireless-signal-good.png differ diff --git a/assets/panel-icons/network-wireless-signal-none.png b/assets/panel-icons/network-wireless-signal-none.png new file mode 100755 index 0000000..8a5a579 Binary files /dev/null and b/assets/panel-icons/network-wireless-signal-none.png differ diff --git a/assets/panel-icons/network-wireless-signal-ok.png b/assets/panel-icons/network-wireless-signal-ok.png new file mode 100755 index 0000000..29f095a Binary files /dev/null and b/assets/panel-icons/network-wireless-signal-ok.png differ diff --git a/assets/panel-icons/network-wireless-signal-weak.png b/assets/panel-icons/network-wireless-signal-weak.png new file mode 100755 index 0000000..ce82778 Binary files /dev/null and b/assets/panel-icons/network-wireless-signal-weak.png differ diff --git a/assets/panel-icons/nexus-off.png b/assets/panel-icons/nexus-off.png new file mode 100644 index 0000000..fde6fc9 Binary files /dev/null and b/assets/panel-icons/nexus-off.png differ diff --git a/assets/panel-icons/nexus-on.png b/assets/panel-icons/nexus-on.png new file mode 100644 index 0000000..6bd2ca2 Binary files /dev/null and b/assets/panel-icons/nexus-on.png differ diff --git a/assets/panel-icons/nexus-partial.png b/assets/panel-icons/nexus-partial.png new file mode 100644 index 0000000..2b1d244 Binary files /dev/null and b/assets/panel-icons/nexus-partial.png differ diff --git a/assets/promethean-terminal.png b/assets/promethean-terminal.png new file mode 100644 index 0000000..61c6079 Binary files /dev/null and b/assets/promethean-terminal.png differ diff --git a/assets/themes/CREDITS.md b/assets/themes/CREDITS.md old mode 100644 new mode 100755 diff --git a/assets/themes/KDE/aurorae/NexusOS/NexusOSrc b/assets/themes/KDE/aurorae/NexusOS/NexusOSrc new file mode 100755 index 0000000..f552dad --- /dev/null +++ b/assets/themes/KDE/aurorae/NexusOS/NexusOSrc @@ -0,0 +1,30 @@ +[General] +TitleAlignment=Left +TitleEdgeTop=0 +TitleEdgeBottom=0 +TitleEdgeLeft=12 +TitleEdgeRight=8 +TitleBorderLeft=0 +TitleBorderRight=0 +TitleHeight=30 +BorderLeft=1 +BorderRight=1 +BorderBottom=5 +BorderTop=0 +ButtonWidth=32 +ButtonSize=32 +ButtonSpacing=8 +ButtonMarginTop=0 +ExplicitButtonSpacer=0 +PaddingTop=0 +PaddingBottom=0 +PaddingRight=0 +PaddingLeft=0 +ActiveTextColor=#f2f2f2 +ActiveTextShadowColor=0,0,0,0 +InactiveTextColor=#6e7173 +InactiveTextShadowColor=0,0,0,0 +Shadow=false +ShadowColor=0,0,0,180 +ShadowStrength=100 +Animation=0 diff --git a/assets/themes/KDE/aurorae/NexusOS/alldesktops.svg b/assets/themes/KDE/aurorae/NexusOS/alldesktops.svg new file mode 100755 index 0000000..6786a6c --- /dev/null +++ b/assets/themes/KDE/aurorae/NexusOS/alldesktops.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/themes/KDE/aurorae/NexusOS/close.svg b/assets/themes/KDE/aurorae/NexusOS/close.svg new file mode 100755 index 0000000..1313b7e --- /dev/null +++ b/assets/themes/KDE/aurorae/NexusOS/close.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/assets/themes/KDE/aurorae/NexusOS/decoration.svg b/assets/themes/KDE/aurorae/NexusOS/decoration.svg new file mode 100755 index 0000000..01a78b1 --- /dev/null +++ b/assets/themes/KDE/aurorae/NexusOS/decoration.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/themes/KDE/aurorae/NexusOS/keepabove.svg b/assets/themes/KDE/aurorae/NexusOS/keepabove.svg new file mode 100755 index 0000000..a772438 --- /dev/null +++ b/assets/themes/KDE/aurorae/NexusOS/keepabove.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/assets/themes/KDE/aurorae/NexusOS/keepbelow.svg b/assets/themes/KDE/aurorae/NexusOS/keepbelow.svg new file mode 100755 index 0000000..fc8032d --- /dev/null +++ b/assets/themes/KDE/aurorae/NexusOS/keepbelow.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/assets/themes/KDE/aurorae/NexusOS/maximize.svg b/assets/themes/KDE/aurorae/NexusOS/maximize.svg new file mode 100755 index 0000000..2c8d255 --- /dev/null +++ b/assets/themes/KDE/aurorae/NexusOS/maximize.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/assets/themes/KDE/aurorae/NexusOS/metadata.desktop b/assets/themes/KDE/aurorae/NexusOS/metadata.desktop new file mode 100755 index 0000000..92ed21f --- /dev/null +++ b/assets/themes/KDE/aurorae/NexusOS/metadata.desktop @@ -0,0 +1,18 @@ +[Desktop Entry] +Name=NexusOS +Comment=Flat dark-purple window decoration, lime-green focus accent +Type=Service +X-KDE-ServiceTypes=org.kde.kwin.decoration + +[KWin] +Type=Aurorae + +X-KDE-PluginInfo-Author=Jon +X-KDE-PluginInfo-Email= +X-KDE-PluginInfo-Name=NexusOS +X-KDE-PluginInfo-Version=1.0 +X-KDE-PluginInfo-Website= +X-KDE-PluginInfo-Category= +X-KDE-PluginInfo-Depends= +X-KDE-PluginInfo-License=GPL +X-KDE-PluginInfo-EnabledByDefault=false diff --git a/assets/themes/KDE/aurorae/NexusOS/minimize.svg b/assets/themes/KDE/aurorae/NexusOS/minimize.svg new file mode 100755 index 0000000..b4a8754 --- /dev/null +++ b/assets/themes/KDE/aurorae/NexusOS/minimize.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/assets/themes/KDE/aurorae/NexusOS/restore.svg b/assets/themes/KDE/aurorae/NexusOS/restore.svg new file mode 100755 index 0000000..27f72c0 --- /dev/null +++ b/assets/themes/KDE/aurorae/NexusOS/restore.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/assets/themes/KDE/aurorae/NexusOS/shade.svg b/assets/themes/KDE/aurorae/NexusOS/shade.svg new file mode 100755 index 0000000..bb4e7df --- /dev/null +++ b/assets/themes/KDE/aurorae/NexusOS/shade.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/themes/KDE/generate_plasma_colors.py b/assets/themes/KDE/generate_plasma_colors.py new file mode 100755 index 0000000..1871513 --- /dev/null +++ b/assets/themes/KDE/generate_plasma_colors.py @@ -0,0 +1,138 @@ +#!/usr/bin/env python3 +"""Generate NexusOS.colors (KDE KColorScheme format) from _palette.py. + +Run from anywhere: + python3 assets/themes/KDE/generate_plasma_colors.py + +Writes to assets/themes/KDE/plasma/NexusOS/NexusOS.colors (relative to repo root). +""" +import os +import sys + +# Resolve repo root relative to this script's location +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) +REPO_ROOT = os.path.abspath(os.path.join(SCRIPT_DIR, "../../..")) +sys.path.insert(0, os.path.join(REPO_ROOT, "assets/themes")) + +import _palette as p # noqa: E402 + +OUT = os.path.join(SCRIPT_DIR, "plasma/NexusOS/NexusOS.colors") + + +def rgb(hexstr): + h = hexstr.lstrip("#") + return f"{int(h[0:2],16)},{int(h[2:4],16)},{int(h[4:6],16)}" + + +def section(name, bg_normal, bg_alt, fg_normal, fg_inactive, fg_active, + fg_link, fg_visited, fg_neg, fg_neutral, fg_pos, + deco_focus, deco_hover): + return f"""[Colors:{name}] +BackgroundNormal={rgb(bg_normal)} +BackgroundAlternate={rgb(bg_alt)} +ForegroundNormal={rgb(fg_normal)} +ForegroundInactive={rgb(fg_inactive)} +ForegroundActive={rgb(fg_active)} +ForegroundLink={rgb(fg_link)} +ForegroundVisited={rgb(fg_visited)} +ForegroundNegative={rgb(fg_neg)} +ForegroundNeutral={rgb(fg_neutral)} +ForegroundPositive={rgb(fg_pos)} +DecorationFocus={rgb(deco_focus)} +DecorationHover={rgb(deco_hover)} +""" + + +SHARED = dict( + fg_normal = "#" + p.TEXT_PRIMARY, + fg_inactive = "#" + p.TEXT_SECONDARY, + fg_active = "#" + p.BRAND_GREEN, + fg_link = "#" + p.BRAND_GREEN_LIGHT, + fg_visited = "#" + p.BRAND_PURPLE_LIGHT, + fg_neg = "#" + p.ERROR, + fg_neutral = "#" + p.WARNING, + fg_pos = "#" + p.SUCCESS, + deco_focus = "#" + p.BRAND_GREEN, + deco_hover = "#" + p.BRAND_PURPLE, +) + +content = f"""\ +[ColorEffects:Disabled] +Color=56,56,56 +ColorAmount=0 +ColorEffect=0 +ContrastAmount=0.1 +ContrastEffect=2 +IntensityAmount=0 +IntensityEffect=0 + +[ColorEffects:Inactive] +ChangeSelectionColor=true +Color=112,111,110 +ColorAmount=0.025 +ColorEffect=0 +ContrastAmount=0.1 +ContrastEffect=2 +Enable=false +IntensityAmount=0 +IntensityEffect=0 + +""" + section( + "Window", + bg_normal="#" + p.BASE_BG, + bg_alt ="#" + p.SURFACE_BG, + **SHARED, +) + section( + "View", + bg_normal="#" + p.BASE_BG, + bg_alt ="#" + p.SURFACE_BG, + **SHARED, +) + section( + "Button", + bg_normal="#" + p.SURFACE_BG_ALT, + bg_alt ="#" + p.BASE_BG, + **SHARED, +) + section( + "Selection", + bg_normal ="#" + p.BRAND_PURPLE, + bg_alt ="#" + p.BRAND_GREEN_DARK, + fg_normal ="#" + p.TEXT_ON_SELECTION, + fg_inactive="#" + p.TEXT_ON_SELECTION, + fg_active ="#" + p.BRAND_GREEN, + fg_link ="#" + p.BRAND_GREEN_LIGHT, + fg_visited="#" + p.BRAND_PURPLE_LIGHT, + fg_neg ="#" + p.ERROR, + fg_neutral="#" + p.WARNING, + fg_pos ="#" + p.SUCCESS, + deco_focus="#" + p.BRAND_GREEN, + deco_hover="#" + p.BRAND_PURPLE, +) + section( + "Tooltip", + bg_normal="#" + p.OVERLAY_BG, + bg_alt ="#" + p.BORDER_STRONG, + **SHARED, +) + section( + "Complementary", + bg_normal="#" + p.SURFACE_BG_ALT, + bg_alt ="#" + p.OVERLAY_BG, + **SHARED, +) + section( + "Header", + bg_normal="#" + p.BASE_BG, + bg_alt ="#" + p.SURFACE_BG_ALT, + **SHARED, +) + f"""\ +[General] +ColorScheme=NexusOS +Name=NexusOS +shadeSortColumn=true + +[KDE] +contrast=4 +""" + +os.makedirs(os.path.dirname(OUT), exist_ok=True) +with open(OUT, "w") as f: + f.write(content) + +print(f"Written: {OUT}") diff --git a/assets/themes/KDE/install-plasma.sh b/assets/themes/KDE/install-plasma.sh new file mode 100755 index 0000000..454a959 --- /dev/null +++ b/assets/themes/KDE/install-plasma.sh @@ -0,0 +1,145 @@ +#!/usr/bin/env bash +# NexusOS KDE Plasma theme installer — idempotent, safe to re-run. +# Equivalent of assets/themes/install-theme.sh but for KDE. +# +# Usage: +# assets/themes/KDE/install-plasma.sh [--no-sddm] +# +# --no-sddm skip the SDDM step (requires sudo) — useful for live testing +set -euo pipefail + +KDE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +REPO="$(cd "$KDE/../../.." && pwd)" + +NO_SDDM=0 +for arg in "$@"; do + [[ "$arg" == "--no-sddm" ]] && NO_SDDM=1 +done + +echo "NexusOS KDE installer — repo: $REPO" + +# ── 1. Create target directories ──────────────────────────────────────── +mkdir -p \ + ~/.local/share/aurorae/themes \ + ~/.local/share/plasma/desktoptheme \ + ~/.local/share/color-schemes \ + ~/.local/share/konsole \ + ~/.local/share/kscreenlocker/themes \ + ~/.config/Kvantum + +# ── 2. Symlink theme directories (update automatically on git pull) ────── +ln -sfn "$KDE/aurorae/NexusOS" ~/.local/share/aurorae/themes/NexusOS +ln -sfn "$KDE/plasma/NexusOS" ~/.local/share/plasma/desktoptheme/NexusOS +ln -sfn "$KDE/kscreenlocker/NexusOS" ~/.local/share/kscreenlocker/themes/NexusOS +ln -sfn "$KDE/kvantum/NexusOS" ~/.config/Kvantum/NexusOS + +echo " [ok] theme symlinks" + +# ── 3. Copy files that need to be in specific locations (not symlinks) ─── +cp -f "$KDE/plasma/NexusOS/NexusOS.colors" ~/.local/share/color-schemes/ +cp -f "$KDE/konsole/NexusOS.colorscheme" ~/.local/share/konsole/ +cp -f "$KDE/konsole/NexusOS-Promethean.colorscheme" ~/.local/share/konsole/ +cp -f "$KDE/konsole/Promethean.profile" ~/.local/share/konsole/ + +echo " [ok] color scheme + konsole files" + +# ── 4. KDE color scheme ────────────────────────────────────────────────── +if command -v plasma-apply-colorscheme &>/dev/null; then + plasma-apply-colorscheme NexusOS 2>/dev/null && echo " [ok] color scheme applied" +else + echo " [skip] plasma-apply-colorscheme not found — apply color scheme manually" +fi + +# ── 5. Kvantum ─────────────────────────────────────────────────────────── +if command -v kvantummanager &>/dev/null; then + kvantummanager --set NexusOS 2>/dev/null && echo " [ok] Kvantum set to NexusOS" +else + echo " [skip] kvantummanager not found — install qt5-style-kvantum and run: kvantummanager --set NexusOS" +fi + +# ── 6. KWin Aurorae decoration ─────────────────────────────────────────── +if command -v kwriteconfig5 &>/dev/null; then + kwriteconfig5 --file kwinrc \ + --group "org.kde.kdecoration2" --key library "org.kde.kwin.aurorae" + kwriteconfig5 --file kwinrc \ + --group "org.kde.kdecoration2" --key theme "__aurorae__svg__NexusOS" + # Buttons on the right: minimize, maximize, close (I=minimize, A=maximize, X=close) + kwriteconfig5 --file kwinrc \ + --group "org.kde.kdecoration2" --key ButtonsOnLeft "" + kwriteconfig5 --file kwinrc \ + --group "org.kde.kdecoration2" --key ButtonsOnRight "IAX" + echo " [ok] KWin decoration: Aurorae NexusOS, buttons right" +else + echo " [skip] kwriteconfig5 not found — configure KWin decoration manually" +fi + +# ── 7. Plasma shell theme ──────────────────────────────────────────────── +if command -v plasma-apply-desktoptheme &>/dev/null; then + plasma-apply-desktoptheme NexusOS 2>/dev/null && echo " [ok] Plasma shell theme: NexusOS" +else + echo " [skip] plasma-apply-desktoptheme not found — apply desktop theme manually" +fi + +# ── 8. kscreenlocker ───────────────────────────────────────────────────── +if command -v kwriteconfig5 &>/dev/null; then + kwriteconfig5 --file kscreenlockerrc --group Greeter --key Theme NexusOS + echo " [ok] kscreenlocker theme: NexusOS" +fi + +# ── 9. GTK apps under Plasma ───────────────────────────────────────────── +if command -v kwriteconfig5 &>/dev/null; then + kwriteconfig5 --file kdeglobals --group KDE --key widgetStyle "kvantum-dark" + kwriteconfig5 --file kdeglobals --group Icons --key Theme NexusOS + kwriteconfig5 --file kdeglobals --group General \ + --key font "Ubuntu,10,-1,5,50,0,0,0,0,0" + echo " [ok] kdeglobals: Kvantum style, NexusOS icons, Ubuntu 10" +fi +if command -v gsettings &>/dev/null; then + gsettings set org.gnome.desktop.interface gtk-theme NexusOS 2>/dev/null || true + gsettings set org.gnome.desktop.interface icon-theme NexusOS 2>/dev/null || true + echo " [ok] gsettings: GTK theme + icons = NexusOS" +fi + +# ── 10. SDDM login theme ───────────────────────────────────────────────── +if [[ $NO_SDDM -eq 0 ]]; then + echo " Deploying SDDM theme + KDE session entry (requires sudo)..." + sudo cp -r "$KDE/sddm/NexusOS-QML" /usr/share/sddm/themes/ + sudo cp "$REPO/management/sessions/nexusos-kde.desktop" /usr/share/xsessions/ + if command -v kwriteconfig5 &>/dev/null; then + sudo kwriteconfig5 --file /etc/sddm.conf --group Theme --key Current NexusOS-QML + else + # Fallback: write the INI directly + sudo bash -c 'printf "[Theme]\nCurrent=NexusOS-QML\n" > /etc/sddm.conf.d/nexusos.conf' + fi + echo " [ok] SDDM theme: NexusOS-QML" + echo " [ok] KDE session: NexusOS-KDE added to /usr/share/xsessions/" +else + echo " [skip] SDDM (--no-sddm passed)" +fi + +# ── 11. Promethean Terminal desktop launcher ────────────────────────────── +DESKTOP_SRC="$REPO/bin/promethean/promethean-terminal.desktop" +DESKTOP_DEST="$HOME/.local/share/applications/promethean-terminal.desktop" +if [[ -f "$DESKTOP_SRC" ]]; then + cp -f "$DESKTOP_SRC" "$DESKTOP_DEST" + echo " [ok] Promethean Terminal launcher updated" +fi + +# ── 12. Apply live changes (if Plasma is running) ──────────────────────── +if qdbus org.kde.KWin /KWin reconfigure 2>/dev/null; then + echo " [ok] KWin reconfigured" + # Restart plasmashell to pick up new shell theme + if command -v kquitapp5 &>/dev/null && command -v kstart5 &>/dev/null; then + kquitapp5 plasmashell 2>/dev/null + sleep 1 + kstart5 plasmashell & + echo " [ok] plasmashell restarted" + fi +fi + +echo "" +echo "NexusOS KDE theme installed. On first KDE session:" +echo " 1. System Settings → Appearance → verify all components show NexusOS" +echo " 2. Panel: right-click → Edit Panel to adjust height/position" +echo " 3. Konsole: Settings → Edit Profile → select Promethean (for Promethean Terminal)" +echo " 4. Test lock screen: Meta+L" diff --git a/assets/themes/KDE/konsole/NexusOS-Promethean.colorscheme b/assets/themes/KDE/konsole/NexusOS-Promethean.colorscheme new file mode 100755 index 0000000..c43aca7 --- /dev/null +++ b/assets/themes/KDE/konsole/NexusOS-Promethean.colorscheme @@ -0,0 +1,94 @@ +[General] +Description=NexusOS Promethean +Opacity=1 +Wallpaper= + +[Background] +Color=26,0,48 + +[BackgroundFaint] +Color=13,0,16 + +[BackgroundIntense] +Color=61,0,96 + +[Foreground] +Color=204,204,204 + +[ForegroundFaint] +Color=140,140,140 + +[ForegroundIntense] +Color=230,230,230 + +[Color0] +Color=26,0,48 + +[Color0Faint] +Color=13,0,24 + +[Color0Intense] +Color=61,0,96 + +[Color1] +Color=218,68,83 + +[Color1Faint] +Color=160,50,60 + +[Color1Intense] +Color=235,100,110 + +[Color2] +Color=39,174,96 + +[Color2Faint] +Color=28,128,70 + +[Color2Intense] +Color=80,200,120 + +[Color3] +Color=246,116,0 + +[Color3Faint] +Color=180,85,0 + +[Color3Intense] +Color=255,160,50 + +[Color4] +Color=136,0,143 + +[Color4Faint] +Color=94,0,100 + +[Color4Intense] +Color=176,64,192 + +[Color5] +Color=176,64,192 + +[Color5Faint] +Color=120,40,135 + +[Color5Intense] +Color=210,110,225 + +[Color6] +Color=140,198,63 + +[Color6Faint] +Color=100,145,45 + +[Color6Intense] +Color=184,227,115 + +[Color7] +Color=204,204,204 + +[Color7Faint] +Color=150,150,150 + +[Color7Intense] +Color=230,230,230 diff --git a/assets/themes/KDE/konsole/NexusOS.colorscheme b/assets/themes/KDE/konsole/NexusOS.colorscheme new file mode 100755 index 0000000..6a761dd --- /dev/null +++ b/assets/themes/KDE/konsole/NexusOS.colorscheme @@ -0,0 +1,94 @@ +[General] +Description=NexusOS +Opacity=1 +Wallpaper= + +[Background] +Color=30,21,38 + +[BackgroundFaint] +Color=31,34,37 + +[BackgroundIntense] +Color=46,50,54 + +[Foreground] +Color=242,242,242 + +[ForegroundFaint] +Color=168,168,168 + +[ForegroundIntense] +Color=255,255,255 + +[Color0] +Color=31,34,37 + +[Color0Faint] +Color=20,20,25 + +[Color0Intense] +Color=58,61,65 + +[Color1] +Color=218,68,83 + +[Color1Faint] +Color=160,50,60 + +[Color1Intense] +Color=235,100,110 + +[Color2] +Color=39,174,96 + +[Color2Faint] +Color=28,128,70 + +[Color2Intense] +Color=80,200,120 + +[Color3] +Color=246,116,0 + +[Color3Faint] +Color=180,85,0 + +[Color3Intense] +Color=255,160,50 + +[Color4] +Color=136,0,143 + +[Color4Faint] +Color=94,0,100 + +[Color4Intense] +Color=162,50,168 + +[Color5] +Color=162,50,168 + +[Color5Faint] +Color=110,30,115 + +[Color5Intense] +Color=200,100,210 + +[Color6] +Color=140,198,63 + +[Color6Faint] +Color=100,145,45 + +[Color6Intense] +Color=184,227,115 + +[Color7] +Color=168,168,168 + +[Color7Faint] +Color=110,113,115 + +[Color7Intense] +Color=242,242,242 diff --git a/assets/themes/KDE/konsole/Promethean.profile b/assets/themes/KDE/konsole/Promethean.profile new file mode 100755 index 0000000..a4b993e --- /dev/null +++ b/assets/themes/KDE/konsole/Promethean.profile @@ -0,0 +1,36 @@ +[Appearance] +ColorScheme=NexusOS-Promethean +Font=Monospace,12,-1,5,50,0,0,0,0,0 +LineSpacing=1 +UseFontLineCharacters=false + +[Cursor Options] +CursorShape=0 +CustomCursorColor=#b040c0 +UseCustomCursorColor=true + +[General] +Command=/bin/bash --rcfile /home/jon/nexus-core/.promethean_bashrc -i +Name=Promethean +Parent=FALLBACK/ +TerminalCenter=false +TerminalColumns=110 +TerminalRows=30 + +[Interaction Options] +AutoCopySelectedText=false +UnderlineFilesEnabled=false + +[Scrolling] +HistoryMode=2 +HistorySize=5000 +ScrollBarPosition=2 + +[Terminal Features] +BidiRenderingEnabled=true +BlinkingCursorEnabled=true +BlinkingTextEnabled=true +UrlHintsModifiers=0 + +[Window] +RememberWindowSize=true diff --git a/assets/themes/KDE/kscreenlocker/NexusOS/assets/background.svg b/assets/themes/KDE/kscreenlocker/NexusOS/assets/background.svg new file mode 100755 index 0000000..395f6f9 --- /dev/null +++ b/assets/themes/KDE/kscreenlocker/NexusOS/assets/background.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/themes/KDE/kscreenlocker/NexusOS/assets/logo.png b/assets/themes/KDE/kscreenlocker/NexusOS/assets/logo.png new file mode 100755 index 0000000..c96bb05 Binary files /dev/null and b/assets/themes/KDE/kscreenlocker/NexusOS/assets/logo.png differ diff --git a/assets/themes/KDE/kscreenlocker/NexusOS/contents/config/main.xml b/assets/themes/KDE/kscreenlocker/NexusOS/contents/config/main.xml new file mode 100755 index 0000000..6747792 --- /dev/null +++ b/assets/themes/KDE/kscreenlocker/NexusOS/contents/config/main.xml @@ -0,0 +1,9 @@ + + + + + + diff --git a/assets/themes/KDE/kscreenlocker/NexusOS/contents/ui/LockScreenUi.qml b/assets/themes/KDE/kscreenlocker/NexusOS/contents/ui/LockScreenUi.qml new file mode 100755 index 0000000..7d130a5 --- /dev/null +++ b/assets/themes/KDE/kscreenlocker/NexusOS/contents/ui/LockScreenUi.qml @@ -0,0 +1,268 @@ +import QtQuick 2.15 +import QtQuick.Controls 2.15 +import org.kde.plasma.core 2.0 as PlasmaCore + +/* + * NexusOS kscreenlocker theme. + * Mirrors the SDDM NexusOS-QML aesthetic: logo upper-center, + * clock/date bottom-center, centered password box. + * + * kscreenlocker API differences from SDDM: + * - authenticator.tryUnlock(password) instead of sddm.login(...) + * - authenticator.failed / authenticator.succeeded signals + * - No session selector, no power buttons + * - walletModel, userModel available but not mandatory + */ + +Rectangle { + id: root + + // kscreenlocker injects these from the surrounding PlasmaShell context + property bool locked: true + + readonly property color accentColor: "#8cc63f" // brand_green + readonly property color bgDark: "#1e1526" // base_bg + readonly property color textPrimary: "#f2f2f2" + readonly property color textMuted: "#a8a8a8" + readonly property color fieldBg: "#1f2225" // surface_bg + readonly property color fieldBorder: "#4d3461" // menu_border + readonly property color errorColor: "#da4453" + + anchors.fill: parent + color: bgDark + + // ── Background image (reuses SDDM background asset) ──────────────── + Image { + anchors.fill: parent + source: Qt.resolvedUrl("../../assets/background.svg") + fillMode: Image.PreserveAspectCrop + smooth: true + asynchronous: false + } + + Rectangle { + anchors.fill: parent + color: "#000000" + opacity: 0.30 + } + + // ── Logo area ─────────────────────────────────────────────────────── + Item { + id: logoArea + width: 100 + height: 100 + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: parent.top + anchors.topMargin: parent.height * 0.10 + + Rectangle { + anchors.centerIn: parent + width: parent.width * 1.6 + height: parent.height * 1.6 + radius: width / 2 + color: accentColor + opacity: 0.06 + } + + Image { + anchors.fill: parent + source: Qt.resolvedUrl("../../assets/logo.png") + sourceSize: Qt.size(200, 200) + smooth: true + } + } + + Text { + text: "NexusOS" + color: textPrimary + font.family: "Sans" + font.pixelSize: 26 + font.letterSpacing: 6 + font.weight: Font.Light + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: logoArea.bottom + anchors.topMargin: 14 + } + + // ── Password box ──────────────────────────────────────────────────── + Rectangle { + id: loginBox + width: 340 + height: loginColumn.height + 56 + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + color: Qt.rgba(30/255, 21/255, 38/255, 0.80) + radius: 12 + border.color: fieldBorder + border.width: 1 + + SequentialAnimation { + id: shakeAnim + NumberAnimation { target: loginBox; property: "x"; to: loginBox.x - 10; duration: 50 } + NumberAnimation { target: loginBox; property: "x"; to: loginBox.x + 10; duration: 50 } + NumberAnimation { target: loginBox; property: "x"; to: loginBox.x - 6; duration: 50 } + NumberAnimation { target: loginBox; property: "x"; to: loginBox.x + 6; duration: 50 } + NumberAnimation { target: loginBox; property: "x"; to: loginBox.x; duration: 40 } + } + + Column { + id: loginColumn + anchors.left: parent.left + anchors.right: parent.right + anchors.top: parent.top + anchors.margins: 28 + spacing: 12 + + // Username label (read-only; kscreenlocker always locks current session) + Text { + width: parent.width + text: kscreenlocker_userName || userModel.data(userModel.index(0, 0), Qt.DisplayRole) || "" + color: textPrimary + font.pixelSize: 14 + font.weight: Font.Medium + horizontalAlignment: Text.AlignHCenter + elide: Text.ElideRight + } + + // Password field + Rectangle { + width: parent.width + height: 44 + color: fieldBg + radius: 6 + border.color: passwordInput.activeFocus ? accentColor : fieldBorder + border.width: 1 + + TextInput { + id: passwordInput + anchors.fill: parent + anchors.leftMargin: 14 + anchors.rightMargin: 14 + verticalAlignment: TextInput.AlignVCenter + color: textPrimary + font.pixelSize: 14 + echoMode: TextInput.Password + focus: true + clip: true + + Keys.onReturnPressed: authenticator.tryUnlock(passwordInput.text) + Keys.onEnterPressed: authenticator.tryUnlock(passwordInput.text) + } + + Text { + anchors.verticalCenter: parent.verticalCenter + anchors.left: parent.left + anchors.leftMargin: 14 + text: "Password" + color: textMuted + font.pixelSize: 14 + visible: passwordInput.text.length === 0 && !passwordInput.activeFocus + } + } + + // Error message + Text { + id: errorMsg + width: parent.width + text: "" + color: errorColor + font.pixelSize: 12 + horizontalAlignment: Text.AlignHCenter + wrapMode: Text.WordWrap + visible: text !== "" + } + + // Unlock button + Rectangle { + id: unlockButton + width: parent.width + height: 44 + radius: 6 + color: unlockMouse.pressed + ? Qt.darker(accentColor, 1.3) + : unlockMouse.containsMouse + ? Qt.lighter(accentColor, 1.15) + : accentColor + + Behavior on color { ColorAnimation { duration: 150 } } + + Text { + anchors.centerIn: parent + text: "UNLOCK" + color: "#0a0a00" // text_on_accent + font.pixelSize: 14 + font.letterSpacing: 3 + font.weight: Font.DemiBold + } + + MouseArea { + id: unlockMouse + anchors.fill: parent + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: authenticator.tryUnlock(passwordInput.text) + } + } + } + } + + // ── Authenticator connections ─────────────────────────────────────── + Connections { + target: authenticator + + function onFailed() { + errorMsg.text = "Incorrect password — try again." + passwordInput.text = "" + passwordInput.forceActiveFocus() + shakeAnim.start() + } + + function onSucceeded() { + errorMsg.text = "" + } + + function onGraceLockedChanged() {} + function onMessage(msg) {} + function onError(err) { + errorMsg.text = err + } + } + + // ── Clock / date (bottom) ─────────────────────────────────────────── + Column { + anchors.horizontalCenter: parent.horizontalCenter + anchors.bottom: parent.bottom + anchors.bottomMargin: parent.height * 0.05 + spacing: 2 + + Text { + id: clockText + anchors.horizontalCenter: parent.horizontalCenter + color: textPrimary + font.family: "Sans" + font.pixelSize: 42 + font.weight: Font.Thin + } + + Text { + id: dateText + anchors.horizontalCenter: parent.horizontalCenter + color: textMuted + font.family: "Sans" + font.pixelSize: 14 + font.letterSpacing: 2 + } + + Timer { + interval: 1000 + running: true + repeat: true + triggeredOnStart: true + onTriggered: { + var d = new Date() + clockText.text = Qt.formatTime(d, "hh:mm") + dateText.text = Qt.formatDate(d, "dddd, MMMM d") + } + } + } +} diff --git a/assets/themes/KDE/kscreenlocker/NexusOS/metadata.desktop b/assets/themes/KDE/kscreenlocker/NexusOS/metadata.desktop new file mode 100755 index 0000000..1109447 --- /dev/null +++ b/assets/themes/KDE/kscreenlocker/NexusOS/metadata.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=NexusOS +Comment=NexusOS lock screen — dark purple, lime-green accents +Type=Service +X-KDE-ServiceTypes=org.kde.kscreenlocker.Greeter + +[ScreenLocker] +Name=NexusOS +Description=NexusOS lock screen — dark purple, lime-green accents +MainScript=contents/ui/LockScreenUi.qml diff --git a/assets/themes/KDE/kvantum/NexusOS/NexusOS.kvconfig b/assets/themes/KDE/kvantum/NexusOS/NexusOS.kvconfig new file mode 100755 index 0000000..8f44e00 --- /dev/null +++ b/assets/themes/KDE/kvantum/NexusOS/NexusOS.kvconfig @@ -0,0 +1,397 @@ +[%GradualConfiguration] +# Toolbar / menubar gradient — flat: both ends same color +left.header.color=#2a2e32 +right.header.color=#2a2e32 +header.text.color=#f2f2f2 +header.text.shadow.color=0,0,0,0 +left.dock.header.color=#1e1526 +right.dock.header.color=#1e1526 +dock.header.text.color=#f2f2f2 +dock.header.text.shadow.color=0,0,0,0 + +[%ThemeHacks] +transparent.menus=false +transparent.tooltips=false +blurring=false +composite=false + +[General] +author=NexusOS +comment=Flat dark purple theme, lime-green accents, purple selections +x11drag=all +double.click.exception= +group.label.boldFont=false +menubar.mouse.tracking=true +toolbutton.style=0 +dialog.button.layout=0 +splitter.width=4 +scroll.arrows=false +scroll.min.extent=36 +tooltip.delay=500 +tooltip.count=1 +vertical.center.dialogs=true +inline.spin.indicators=true +transient.scrollbar=false +submenu.overlap=3 +submenu.delay=250 +shadow.spread=0 +shadow.x.offset=0 +shadow.y.offset=0 +focus.rect.color=#8cc63f +reduce.window.opacity=0 +reduce.menu.opacity=0 +small.icon.size=16 +large.icon.size=32 +button.icon.size=16 +toolbar.icon.size=16 + +[PanelButtonCommand] +inherits=PanelButtonTool +frame=false +interior=true +interior.element=button +interior.x.padding=8 +interior.y.padding=4 +indicator.size=0 +text.shadow=0 +text.margin=1 +text.bold=false +min.height=26 +min.width=60 + +[PanelButtonTool] +frame=false +interior=true +interior.element=toolbutton +interior.x.padding=6 +interior.y.padding=3 +indicator.size=0 +text.shadow=0 +text.margin=0 +text.bold=false +min.height=22 +min.width=0 + +[ToolbarButton] +inherits=PanelButtonTool + +[Dock] +frame=false +interior=true +interior.element=dock + +[DockTitle] +frame=false +interior=false +indicator.element=arrow +text.margin=3 +text.shadow=0 + +[TitleBar] +frame=false +interior=true +interior.element=titlebar +indicator.element=button +min.height=30 +text.margin=4 +text.shadow=0 +text.bold=false + +[GroupBox] +frame=true +frame.element=groupbox +frame.top=6 +frame.bottom=2 +frame.left=2 +frame.right=2 +interior=false +text.margin=4 +text.shadow=0 +text.bold=false +text.italic=false + +[LineEdit] +frame=false +interior=true +interior.element=lineedit +interior.x.padding=8 +interior.y.padding=4 +min.height=26 +min.width=0 + +[DropDownButton] +frame=false +interior=true +interior.element=button +indicator.element=arrow-down +indicator.size=10 + +[ToolboxTab] +frame=false +interior=true +interior.element=tab +text.margin=4 +text.shadow=0 +text.bold=false + +[Tab] +frame=false +interior=true +interior.element=tab +interior.x.padding=10 +interior.y.padding=4 +indicator.element=tab-close +indicator.size=12 +text.shadow=0 +text.margin=2 +min.height=26 +min.width=60 + +[TabFrame] +frame=false +interior=true +interior.element=tabframe +frame.top=0 +frame.bottom=0 +frame.left=0 +frame.right=0 + +[TreeExpander] +frame=false +interior=false +indicator.element=arrow +indicator.size=10 + +[HeaderSection] +frame=false +interior=true +interior.element=header +interior.x.padding=6 +interior.y.padding=3 +indicator.element=arrow +indicator.size=10 +text.shadow=0 +min.height=24 + +[SizeGrip] +frame=false +interior=false +indicator.element=sizegrip +indicator.size=14 + +[Splitter] +frame=false +interior=true +interior.element=splitter +min.height=4 +min.width=4 + +[Slider] +frame=false +interior=true +interior.element=slider +indicator.element=slider-handle +indicator.size=16 +min.height=4 +min.width=4 + +[SliderCursorFlat] +frame=false +interior=true +interior.element=slider-handle +min.height=16 +min.width=16 + +[ProgressbarContents] +frame=false +interior=true +interior.element=progressbar-fill + +[Progressbar] +frame=false +interior=true +interior.element=progressbar +indicator.size=0 +text.shadow=0 +min.height=6 +min.width=0 + +[ItemView] +frame=false +interior=true +interior.element=itemview +interior.x.padding=4 +interior.y.padding=2 + +[Toolbar] +frame=false +interior=true +interior.element=toolbar +interior.x.padding=2 +interior.y.padding=2 +indicator.element=toolbar-handle +indicator.size=8 + +[ScrollbarSlider] +frame=false +interior=true +interior.element=scrollbar-slider +min.height=36 +min.width=8 + +[ScrollbarGroove] +frame=false +interior=true +interior.element=scrollbar-groove + +[Scrollbar] +frame=false +interior=true +interior.element=scrollbar-groove +indicator.element=arrow +indicator.size=0 +min.height=8 +min.width=8 + +[ScrollArrow] +frame=false +interior=false +indicator.element=arrow +indicator.size=8 +min.height=0 +min.width=0 + +[CheckBox] +frame=false +interior=true +interior.element=checkbox +indicator.element=checkbox-indicator +indicator.size=14 +text.shadow=0 +text.margin=3 +min.height=16 +min.width=16 + +[RadioButton] +frame=false +interior=true +interior.element=radiobutton +indicator.element=radiobutton-indicator +indicator.size=8 +text.shadow=0 +text.margin=3 +min.height=16 +min.width=16 + +[Separator] +frame=false +interior=true +interior.element=separator +min.height=1 +min.width=1 + +[ComboBox] +frame=false +interior=true +interior.element=combobox +interior.x.padding=8 +interior.y.padding=4 +indicator.element=arrow-down +indicator.size=10 +min.height=26 +min.width=0 + +[SpinBox] +frame=false +interior=true +interior.element=spinbox +interior.x.padding=6 +interior.y.padding=3 +indicator.element=arrow +indicator.size=10 +min.height=26 +min.width=0 + +[Frame] +frame=true +frame.element=frame +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 +interior=false + +[MenuItem] +frame=false +interior=true +interior.element=menuitem +interior.x.padding=6 +interior.y.padding=1 +indicator.element=menuitem-arrow +indicator.size=10 +text.shadow=0 +min.height=22 + +[Menu] +frame=false +interior=true +interior.element=menu +interior.x.padding=0 +interior.y.padding=2 +text.shadow=0 +min.height=0 +min.width=0 + +[Menubar] +frame=false +interior=true +interior.element=menubar +text.shadow=0 + +[MenubarItem] +frame=false +interior=true +interior.element=menubaritem +interior.x.padding=10 +interior.y.padding=4 +text.shadow=0 + +[ToolTip] +frame=false +interior=true +interior.element=tooltip +interior.x.padding=8 +interior.y.padding=4 +text.shadow=0 +min.height=0 +min.width=0 + +[StatusBar] +frame=false +interior=true +interior.element=statusbar + +[Window] +frame=false +interior=true +interior.element=window +interior.x.padding=0 +interior.y.padding=0 + +[Dialog] +frame=false +interior=true +interior.element=window + +[MessageBox] +inherits=Dialog +text.bold=false + +[GenericFrame] +frame=true +frame.element=frame +frame.top=1 +frame.bottom=1 +frame.left=1 +frame.right=1 +interior=false diff --git a/assets/themes/KDE/kvantum/NexusOS/NexusOS.svg b/assets/themes/KDE/kvantum/NexusOS/NexusOS.svg new file mode 100755 index 0000000..0c7a5d2 --- /dev/null +++ b/assets/themes/KDE/kvantum/NexusOS/NexusOS.svg @@ -0,0 +1,619 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/themes/KDE/plasma/NexusOS/NexusOS.colors b/assets/themes/KDE/plasma/NexusOS/NexusOS.colors new file mode 100755 index 0000000..1d7b77c --- /dev/null +++ b/assets/themes/KDE/plasma/NexusOS/NexusOS.colors @@ -0,0 +1,118 @@ +[ColorEffects:Disabled] +Color=56,56,56 +ColorAmount=0 +ColorEffect=0 +ContrastAmount=0.1 +ContrastEffect=2 +IntensityAmount=0 +IntensityEffect=0 + +[ColorEffects:Inactive] +ChangeSelectionColor=true +Color=112,111,110 +ColorAmount=0.025 +ColorEffect=0 +ContrastAmount=0.1 +ContrastEffect=2 +Enable=false +IntensityAmount=0 +IntensityEffect=0 + +[Colors:Window] +BackgroundNormal=30,21,38 +BackgroundAlternate=31,34,37 +ForegroundNormal=242,242,242 +ForegroundInactive=168,168,168 +ForegroundActive=140,198,63 +ForegroundLink=184,227,115 +ForegroundVisited=162,50,168 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundPositive=39,174,96 +DecorationFocus=140,198,63 +DecorationHover=136,0,143 +[Colors:View] +BackgroundNormal=30,21,38 +BackgroundAlternate=31,34,37 +ForegroundNormal=242,242,242 +ForegroundInactive=168,168,168 +ForegroundActive=140,198,63 +ForegroundLink=184,227,115 +ForegroundVisited=162,50,168 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundPositive=39,174,96 +DecorationFocus=140,198,63 +DecorationHover=136,0,143 +[Colors:Button] +BackgroundNormal=42,46,50 +BackgroundAlternate=30,21,38 +ForegroundNormal=242,242,242 +ForegroundInactive=168,168,168 +ForegroundActive=140,198,63 +ForegroundLink=184,227,115 +ForegroundVisited=162,50,168 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundPositive=39,174,96 +DecorationFocus=140,198,63 +DecorationHover=136,0,143 +[Colors:Selection] +BackgroundNormal=136,0,143 +BackgroundAlternate=107,166,42 +ForegroundNormal=255,255,255 +ForegroundInactive=255,255,255 +ForegroundActive=140,198,63 +ForegroundLink=184,227,115 +ForegroundVisited=162,50,168 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundPositive=39,174,96 +DecorationFocus=140,198,63 +DecorationHover=136,0,143 +[Colors:Tooltip] +BackgroundNormal=46,50,54 +BackgroundAlternate=58,61,65 +ForegroundNormal=242,242,242 +ForegroundInactive=168,168,168 +ForegroundActive=140,198,63 +ForegroundLink=184,227,115 +ForegroundVisited=162,50,168 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundPositive=39,174,96 +DecorationFocus=140,198,63 +DecorationHover=136,0,143 +[Colors:Complementary] +BackgroundNormal=42,46,50 +BackgroundAlternate=46,50,54 +ForegroundNormal=242,242,242 +ForegroundInactive=168,168,168 +ForegroundActive=140,198,63 +ForegroundLink=184,227,115 +ForegroundVisited=162,50,168 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundPositive=39,174,96 +DecorationFocus=140,198,63 +DecorationHover=136,0,143 +[Colors:Header] +BackgroundNormal=30,21,38 +BackgroundAlternate=42,46,50 +ForegroundNormal=242,242,242 +ForegroundInactive=168,168,168 +ForegroundActive=140,198,63 +ForegroundLink=184,227,115 +ForegroundVisited=162,50,168 +ForegroundNegative=218,68,83 +ForegroundNeutral=246,116,0 +ForegroundPositive=39,174,96 +DecorationFocus=140,198,63 +DecorationHover=136,0,143 +[General] +ColorScheme=NexusOS +Name=NexusOS +shadeSortColumn=true + +[KDE] +contrast=4 diff --git a/assets/themes/KDE/plasma/NexusOS/colors b/assets/themes/KDE/plasma/NexusOS/colors new file mode 100755 index 0000000..f7ff83a --- /dev/null +++ b/assets/themes/KDE/plasma/NexusOS/colors @@ -0,0 +1,53 @@ +[Colors:Window] +BackgroundNormal=30,21,38 +BackgroundAlternate=31,34,37 +ForegroundNormal=242,242,242 +ForegroundInactive=168,168,168 +ForegroundActive=140,198,63 +DecorationFocus=140,198,63 +DecorationHover=136,0,143 + +[Colors:Button] +BackgroundNormal=42,46,50 +BackgroundAlternate=30,21,38 +ForegroundNormal=242,242,242 +ForegroundInactive=168,168,168 +ForegroundActive=140,198,63 +DecorationFocus=140,198,63 +DecorationHover=136,0,143 + +[Colors:View] +BackgroundNormal=30,21,38 +BackgroundAlternate=31,34,37 +ForegroundNormal=242,242,242 +ForegroundInactive=168,168,168 +ForegroundActive=140,198,63 +DecorationFocus=140,198,63 +DecorationHover=136,0,143 + +[Colors:Selection] +BackgroundNormal=136,0,143 +BackgroundAlternate=107,166,42 +ForegroundNormal=255,255,255 +ForegroundInactive=255,255,255 +ForegroundActive=140,198,63 +DecorationFocus=140,198,63 +DecorationHover=136,0,143 + +[Colors:Tooltip] +BackgroundNormal=46,50,54 +BackgroundAlternate=58,61,65 +ForegroundNormal=242,242,242 +ForegroundInactive=168,168,168 +ForegroundActive=140,198,63 +DecorationFocus=140,198,63 +DecorationHover=136,0,143 + +[Colors:Complementary] +BackgroundNormal=42,46,50 +BackgroundAlternate=46,50,54 +ForegroundNormal=242,242,242 +ForegroundInactive=168,168,168 +ForegroundActive=140,198,63 +DecorationFocus=140,198,63 +DecorationHover=136,0,143 diff --git a/assets/themes/KDE/plasma/NexusOS/metadata.desktop b/assets/themes/KDE/plasma/NexusOS/metadata.desktop new file mode 100755 index 0000000..e9d00b8 --- /dev/null +++ b/assets/themes/KDE/plasma/NexusOS/metadata.desktop @@ -0,0 +1,16 @@ +[Desktop Entry] +Name=NexusOS +Comment=Dark purple Plasma shell theme, lime-green accents +Type=Service + +[KPackageStructure] +X-KDE-ServiceTypes=Plasma/Theme + +X-KDE-PluginInfo-Author=Jon +X-KDE-PluginInfo-Email= +X-KDE-PluginInfo-Name=NexusOS +X-KDE-PluginInfo-Version=1.0 +X-KDE-PluginInfo-Website= +X-KDE-PluginInfo-Category= +X-KDE-PluginInfo-License=GPL +X-KDE-PluginInfo-EnabledByDefault=false diff --git a/assets/themes/KDE/plasma/NexusOS/opaque/widgets/panel-background.svg b/assets/themes/KDE/plasma/NexusOS/opaque/widgets/panel-background.svg new file mode 100755 index 0000000..2c360c5 --- /dev/null +++ b/assets/themes/KDE/plasma/NexusOS/opaque/widgets/panel-background.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/themes/KDE/plasma/NexusOS/widgets/background.svg b/assets/themes/KDE/plasma/NexusOS/widgets/background.svg new file mode 100755 index 0000000..04dbe18 --- /dev/null +++ b/assets/themes/KDE/plasma/NexusOS/widgets/background.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/themes/KDE/plasma/NexusOS/widgets/button.svg b/assets/themes/KDE/plasma/NexusOS/widgets/button.svg new file mode 100755 index 0000000..af5f63b --- /dev/null +++ b/assets/themes/KDE/plasma/NexusOS/widgets/button.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/assets/themes/KDE/plasma/NexusOS/widgets/panel-background.svg b/assets/themes/KDE/plasma/NexusOS/widgets/panel-background.svg new file mode 100755 index 0000000..c48eb7b --- /dev/null +++ b/assets/themes/KDE/plasma/NexusOS/widgets/panel-background.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/themes/KDE/plasma/NexusOS/widgets/plasmoidheading.svg b/assets/themes/KDE/plasma/NexusOS/widgets/plasmoidheading.svg new file mode 100755 index 0000000..28a3f8e --- /dev/null +++ b/assets/themes/KDE/plasma/NexusOS/widgets/plasmoidheading.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + diff --git a/assets/themes/KDE/plasma/NexusOS/widgets/tooltip.svg b/assets/themes/KDE/plasma/NexusOS/widgets/tooltip.svg new file mode 100755 index 0000000..7e925b4 --- /dev/null +++ b/assets/themes/KDE/plasma/NexusOS/widgets/tooltip.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/themes/KDE/sddm/NexusOS-QML/Main.qml b/assets/themes/KDE/sddm/NexusOS-QML/Main.qml new file mode 100755 index 0000000..e8b5ed7 --- /dev/null +++ b/assets/themes/KDE/sddm/NexusOS-QML/Main.qml @@ -0,0 +1,397 @@ +import QtQuick 2.0 +import SddmComponents 2.0 + +Rectangle { + id: root + width: 1920 + height: 1200 + + readonly property color accentColor: "#8cc63f" // brand_green + readonly property color bgDark: "#1e1526" // base_bg + readonly property color textPrimary: "#f2f2f2" // text_primary + readonly property color textMuted: "#a8a8a8" // text_secondary + readonly property color fieldBg: "#1f2225" // surface_bg + readonly property color fieldBorder: "#4d3461" // menu_border (purple tint) + readonly property color errorColor: "#da4453" // error_color + + property int sessionIndex: sessionModel.lastIndex + + Connections { + target: sddm + onLoginFailed: { + errorMsg.text = "Login failed — check your credentials." + passwordInput.text = "" + passwordInput.focus = true + shakeAnim.start() + } + onLoginSucceeded: { + errorMsg.text = "" + } + } + + Image { + anchors.fill: parent + source: "assets/background.svg" + fillMode: Image.PreserveAspectCrop + smooth: true + asynchronous: false + } + + Rectangle { + anchors.fill: parent + color: "#000000" + opacity: 0.25 + } + + Item { + id: logoArea + width: 120 + height: 120 + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: parent.top + anchors.topMargin: parent.height * 0.10 + + Rectangle { + anchors.centerIn: parent + width: parent.width * 1.6 + height: parent.height * 1.6 + radius: width / 2 + color: accentColor + opacity: 0.06 + } + + Image { + id: logo + anchors.fill: parent + source: "assets/logo.png" + sourceSize: Qt.size(200, 200) + smooth: true + } + } + + Text { + id: brandLabel + text: "NexusOS" + color: textPrimary + font.family: "Sans" + font.pixelSize: 28 + font.letterSpacing: 6 + font.weight: Font.Light + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: logoArea.bottom + anchors.topMargin: 16 + } + + Rectangle { + id: loginBox + width: 360 + height: loginColumn.height + 60 + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: brandLabel.bottom + anchors.topMargin: parent.height * 0.08 + color: Qt.rgba(15/255, 22/255, 38/255, 0.75) + radius: 12 + border.color: fieldBorder + border.width: 1 + + SequentialAnimation { + id: shakeAnim + NumberAnimation { target: loginBox; property: "x"; to: loginBox.x - 10; duration: 50 } + NumberAnimation { target: loginBox; property: "x"; to: loginBox.x + 10; duration: 50 } + NumberAnimation { target: loginBox; property: "x"; to: loginBox.x - 6; duration: 50 } + NumberAnimation { target: loginBox; property: "x"; to: loginBox.x + 6; duration: 50 } + NumberAnimation { target: loginBox; property: "x"; to: loginBox.x; duration: 40 } + } + + Column { + id: loginColumn + anchors.left: parent.left + anchors.right: parent.right + anchors.top: parent.top + anchors.margins: 30 + spacing: 14 + + Rectangle { + id: sessionBox + width: parent.width + height: 40 + color: fieldBg + radius: 6 + border.color: sessionDropdown.visible ? accentColor : fieldBorder + border.width: 1 + + Text { + anchors.verticalCenter: parent.verticalCenter + anchors.left: parent.left + anchors.leftMargin: 14 + anchors.right: sessionArrow.left + anchors.rightMargin: 8 + text: sessionModel.data(sessionModel.index(sessionIndex, 0), Qt.DisplayRole) || "Session" + color: textPrimary + font.pixelSize: 13 + elide: Text.ElideRight + } + + Text { + id: sessionArrow + anchors.verticalCenter: parent.verticalCenter + anchors.right: parent.right + anchors.rightMargin: 14 + text: sessionDropdown.visible ? "▲" : "▼" + color: textMuted + font.pixelSize: 10 + } + + MouseArea { + anchors.fill: parent + cursorShape: Qt.PointingHandCursor + onClicked: { + if (!sessionDropdown.visible) { + var pos = sessionBox.mapToItem(root, 0, sessionBox.height) + sessionDropdown.x = pos.x + sessionDropdown.y = pos.y + 2 + sessionDropdown.width = sessionBox.width + } + sessionDropdown.visible = !sessionDropdown.visible + } + } + } + + Rectangle { + width: parent.width + height: 44 + color: fieldBg + radius: 6 + border.color: usernameInput.activeFocus ? accentColor : fieldBorder + border.width: 1 + + TextInput { + id: usernameInput + anchors.fill: parent + anchors.leftMargin: 14 + anchors.rightMargin: 14 + verticalAlignment: TextInput.AlignVCenter + color: textPrimary + font.pixelSize: 14 + clip: true + text: userModel.lastUser + + Keys.onTabPressed: passwordInput.forceActiveFocus() + Keys.onReturnPressed: sddm.login(usernameInput.text, passwordInput.text, sessionIndex) + } + + Text { + anchors.verticalCenter: parent.verticalCenter + anchors.left: parent.left + anchors.leftMargin: 14 + text: "Username" + color: textMuted + font.pixelSize: 14 + visible: usernameInput.text.length === 0 && !usernameInput.activeFocus + } + } + + Rectangle { + width: parent.width + height: 44 + color: fieldBg + radius: 6 + border.color: passwordInput.activeFocus ? accentColor : fieldBorder + border.width: 1 + + TextInput { + id: passwordInput + anchors.fill: parent + anchors.leftMargin: 14 + anchors.rightMargin: 14 + verticalAlignment: TextInput.AlignVCenter + color: textPrimary + font.pixelSize: 14 + echoMode: TextInput.Password + clip: true + focus: true + + Keys.onReturnPressed: sddm.login(usernameInput.text, passwordInput.text, sessionIndex) + } + + Text { + anchors.verticalCenter: parent.verticalCenter + anchors.left: parent.left + anchors.leftMargin: 14 + text: "Password" + color: textMuted + font.pixelSize: 14 + visible: passwordInput.text.length === 0 && !passwordInput.activeFocus + } + } + + Text { + id: errorMsg + width: parent.width + text: "" + color: errorColor + font.pixelSize: 12 + horizontalAlignment: Text.AlignHCenter + wrapMode: Text.WordWrap + visible: text !== "" + } + + Rectangle { + id: loginButton + width: parent.width + height: 44 + radius: 6 + color: loginMouse.pressed + ? Qt.darker(accentColor, 1.3) + : loginMouse.containsMouse + ? Qt.lighter(accentColor, 1.15) + : accentColor + + Behavior on color { ColorAnimation { duration: 150 } } + + Text { + anchors.centerIn: parent + text: "LOGIN" + color: "#0a0a00" // text_on_accent (dark on lime green) + font.pixelSize: 14 + font.letterSpacing: 3 + font.weight: Font.DemiBold + } + + MouseArea { + id: loginMouse + anchors.fill: parent + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: sddm.login(usernameInput.text, passwordInput.text, sessionIndex) + } + } + + Item { + width: parent.width + height: 30 + + Row { + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + spacing: 30 + + Text { + text: "⏻ Shutdown" + color: textMuted + font.pixelSize: 12 + opacity: shutdownMouse.containsMouse ? 1.0 : 0.7 + Behavior on opacity { NumberAnimation { duration: 120 } } + + MouseArea { + id: shutdownMouse + anchors.fill: parent + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: sddm.powerOff() + } + } + + Text { + text: "↻ Reboot" + color: textMuted + font.pixelSize: 12 + opacity: rebootMouse.containsMouse ? 1.0 : 0.7 + Behavior on opacity { NumberAnimation { duration: 120 } } + + MouseArea { + id: rebootMouse + anchors.fill: parent + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: sddm.reboot() + } + } + } + } + } + } + + Rectangle { + id: sessionDropdown + visible: false + z: 999 + color: fieldBg + radius: 6 + border.color: fieldBorder + border.width: 1 + height: sessionList.contentHeight + clip: true + + ListView { + id: sessionList + anchors.fill: parent + model: sessionModel + interactive: false + + delegate: Rectangle { + width: sessionList.width + height: 36 + color: sessionItemMouse.containsMouse ? Qt.lighter(fieldBg, 1.4) : "transparent" + radius: 4 + + Text { + anchors.verticalCenter: parent.verticalCenter + anchors.left: parent.left + anchors.leftMargin: 14 + text: model.name || "" + color: index === sessionIndex ? accentColor : textPrimary + font.pixelSize: 13 + } + + MouseArea { + id: sessionItemMouse + anchors.fill: parent + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + onClicked: { + sessionIndex = index + sessionDropdown.visible = false + } + } + } + } + } + + Column { + anchors.horizontalCenter: parent.horizontalCenter + anchors.bottom: parent.bottom + anchors.bottomMargin: parent.height * 0.05 + spacing: 2 + + Text { + id: clockText + anchors.horizontalCenter: parent.horizontalCenter + color: textPrimary + font.family: "Sans" + font.pixelSize: 42 + font.weight: Font.Thin + } + + Text { + id: dateText + anchors.horizontalCenter: parent.horizontalCenter + color: textMuted + font.family: "Sans" + font.pixelSize: 14 + font.letterSpacing: 2 + } + + Timer { + interval: 1000 + running: true + repeat: true + triggeredOnStart: true + onTriggered: { + var d = new Date() + clockText.text = Qt.formatTime(d, "hh:mm") + dateText.text = Qt.formatDate(d, "dddd, MMMM d") + } + } + } +} diff --git a/assets/themes/KDE/sddm/NexusOS-QML/assets/background.svg b/assets/themes/KDE/sddm/NexusOS-QML/assets/background.svg new file mode 100755 index 0000000..395f6f9 --- /dev/null +++ b/assets/themes/KDE/sddm/NexusOS-QML/assets/background.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/themes/KDE/sddm/NexusOS-QML/assets/logo.png b/assets/themes/KDE/sddm/NexusOS-QML/assets/logo.png new file mode 100755 index 0000000..c96bb05 Binary files /dev/null and b/assets/themes/KDE/sddm/NexusOS-QML/assets/logo.png differ diff --git a/assets/themes/KDE/sddm/NexusOS-QML/metadata.desktop b/assets/themes/KDE/sddm/NexusOS-QML/metadata.desktop new file mode 100755 index 0000000..f4aa5a1 --- /dev/null +++ b/assets/themes/KDE/sddm/NexusOS-QML/metadata.desktop @@ -0,0 +1,10 @@ +[SddmGreeterTheme] +Name=NexusOS-QML +Description=Dark brushed-metal lockscreen theme with flat N logo, upper-center branding, and centered login box. +Author=Jon +Version=1.0 +Website= +Screenshot= +MainScript=Main.qml +ConfigFile=theme.conf +TranslationsDirectory= diff --git a/assets/themes/KDE/sddm/NexusOS-QML/theme.conf b/assets/themes/KDE/sddm/NexusOS-QML/theme.conf new file mode 100755 index 0000000..115bc41 --- /dev/null +++ b/assets/themes/KDE/sddm/NexusOS-QML/theme.conf @@ -0,0 +1,16 @@ +[General] +# ── NexusOS-QML Theme Configuration ── + +background=assets/background.svg +logo=assets/logo.png + +# Color palette +accentColor=#8cc63f +bgDark=#1e1526 +textPrimary=#f2f2f2 +textMuted=#a8a8a8 +fieldBg=#1f2225 +fieldBorder=#4d3461 +errorColor=#da4453 + +type=color diff --git a/assets/themes/LICENSE b/assets/themes/LICENSE old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-gtk2-src/build.py b/assets/themes/NexusOS-gtk2-src/build.py old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_backup/folder-nexus-core-original/128.png b/assets/themes/NexusOS-icons-src/_backup/folder-nexus-core-original/128.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_backup/folder-nexus-core-original/16.png b/assets/themes/NexusOS-icons-src/_backup/folder-nexus-core-original/16.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_backup/folder-nexus-core-original/22.png b/assets/themes/NexusOS-icons-src/_backup/folder-nexus-core-original/22.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_backup/folder-nexus-core-original/24.png b/assets/themes/NexusOS-icons-src/_backup/folder-nexus-core-original/24.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_backup/folder-nexus-core-original/32.png b/assets/themes/NexusOS-icons-src/_backup/folder-nexus-core-original/32.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_backup/folder-nexus-core-original/48.png b/assets/themes/NexusOS-icons-src/_backup/folder-nexus-core-original/48.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_backup/folder-nexus-core-original/64.png b/assets/themes/NexusOS-icons-src/_backup/folder-nexus-core-original/64.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_previews/folder-128.png b/assets/themes/NexusOS-icons-src/_previews/folder-128.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_previews/folder-documents-128.png b/assets/themes/NexusOS-icons-src/_previews/folder-documents-128.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_previews/folder-download-128.png b/assets/themes/NexusOS-icons-src/_previews/folder-download-128.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_previews/folder-drag-accept-128.png b/assets/themes/NexusOS-icons-src/_previews/folder-drag-accept-128.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_previews/folder-home-128.png b/assets/themes/NexusOS-icons-src/_previews/folder-home-128.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_previews/folder-music-128.png b/assets/themes/NexusOS-icons-src/_previews/folder-music-128.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_previews/folder-nexus-core-128.png b/assets/themes/NexusOS-icons-src/_previews/folder-nexus-core-128.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_previews/folder-open-128.png b/assets/themes/NexusOS-icons-src/_previews/folder-open-128.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_previews/folder-pictures-128.png b/assets/themes/NexusOS-icons-src/_previews/folder-pictures-128.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_previews/folder-publicshare-128.png b/assets/themes/NexusOS-icons-src/_previews/folder-publicshare-128.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_previews/folder-recent-128.png b/assets/themes/NexusOS-icons-src/_previews/folder-recent-128.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_previews/folder-remote-128.png b/assets/themes/NexusOS-icons-src/_previews/folder-remote-128.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_previews/folder-saved-search-128.png b/assets/themes/NexusOS-icons-src/_previews/folder-saved-search-128.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_previews/folder-templates-128.png b/assets/themes/NexusOS-icons-src/_previews/folder-templates-128.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/_previews/folder-videos-128.png b/assets/themes/NexusOS-icons-src/_previews/folder-videos-128.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/actions/applications-development.svg b/assets/themes/NexusOS-icons-src/actions/applications-development.svg new file mode 100644 index 0000000..880eee0 --- /dev/null +++ b/assets/themes/NexusOS-icons-src/actions/applications-development.svg @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/assets/themes/NexusOS-icons-src/actions/applications-games.svg b/assets/themes/NexusOS-icons-src/actions/applications-games.svg new file mode 100644 index 0000000..c676a9c --- /dev/null +++ b/assets/themes/NexusOS-icons-src/actions/applications-games.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/themes/NexusOS-icons-src/actions/applications-graphics.svg b/assets/themes/NexusOS-icons-src/actions/applications-graphics.svg new file mode 100644 index 0000000..4218480 --- /dev/null +++ b/assets/themes/NexusOS-icons-src/actions/applications-graphics.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/assets/themes/NexusOS-icons-src/actions/applications-internet.svg b/assets/themes/NexusOS-icons-src/actions/applications-internet.svg new file mode 100644 index 0000000..7fa26a6 --- /dev/null +++ b/assets/themes/NexusOS-icons-src/actions/applications-internet.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/assets/themes/NexusOS-icons-src/actions/applications-multimedia.svg b/assets/themes/NexusOS-icons-src/actions/applications-multimedia.svg new file mode 100644 index 0000000..98ecd0d --- /dev/null +++ b/assets/themes/NexusOS-icons-src/actions/applications-multimedia.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/themes/NexusOS-icons-src/actions/applications-office.svg b/assets/themes/NexusOS-icons-src/actions/applications-office.svg new file mode 100644 index 0000000..56f157e --- /dev/null +++ b/assets/themes/NexusOS-icons-src/actions/applications-office.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/themes/NexusOS-icons-src/actions/applications-science.svg b/assets/themes/NexusOS-icons-src/actions/applications-science.svg new file mode 100644 index 0000000..d89eb36 --- /dev/null +++ b/assets/themes/NexusOS-icons-src/actions/applications-science.svg @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/assets/themes/NexusOS-icons-src/actions/applications-system.svg b/assets/themes/NexusOS-icons-src/actions/applications-system.svg new file mode 100644 index 0000000..60125e4 --- /dev/null +++ b/assets/themes/NexusOS-icons-src/actions/applications-system.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/assets/themes/NexusOS-icons-src/actions/applications-utilities.svg b/assets/themes/NexusOS-icons-src/actions/applications-utilities.svg new file mode 100644 index 0000000..02e9ebc --- /dev/null +++ b/assets/themes/NexusOS-icons-src/actions/applications-utilities.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/themes/NexusOS-icons-src/actions/preferences-desktop.svg b/assets/themes/NexusOS-icons-src/actions/preferences-desktop.svg new file mode 100755 index 0000000..d7d0503 --- /dev/null +++ b/assets/themes/NexusOS-icons-src/actions/preferences-desktop.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/assets/themes/NexusOS-icons-src/actions/system-hibernate.svg b/assets/themes/NexusOS-icons-src/actions/system-hibernate.svg new file mode 100755 index 0000000..aaa5b4a --- /dev/null +++ b/assets/themes/NexusOS-icons-src/actions/system-hibernate.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/assets/themes/NexusOS-icons-src/actions/system-lock-screen.svg b/assets/themes/NexusOS-icons-src/actions/system-lock-screen.svg new file mode 100755 index 0000000..6aa1edc --- /dev/null +++ b/assets/themes/NexusOS-icons-src/actions/system-lock-screen.svg @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/assets/themes/NexusOS-icons-src/actions/system-log-out.svg b/assets/themes/NexusOS-icons-src/actions/system-log-out.svg new file mode 100755 index 0000000..6796f44 --- /dev/null +++ b/assets/themes/NexusOS-icons-src/actions/system-log-out.svg @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/assets/themes/NexusOS-icons-src/actions/system-reboot.svg b/assets/themes/NexusOS-icons-src/actions/system-reboot.svg new file mode 100755 index 0000000..9fee993 --- /dev/null +++ b/assets/themes/NexusOS-icons-src/actions/system-reboot.svg @@ -0,0 +1,8 @@ + + + + + + + diff --git a/assets/themes/NexusOS-icons-src/actions/system-shutdown.svg b/assets/themes/NexusOS-icons-src/actions/system-shutdown.svg new file mode 100755 index 0000000..0e5bc8f --- /dev/null +++ b/assets/themes/NexusOS-icons-src/actions/system-shutdown.svg @@ -0,0 +1,8 @@ + + + + + + + diff --git a/assets/themes/NexusOS-icons-src/actions/system-suspend.svg b/assets/themes/NexusOS-icons-src/actions/system-suspend.svg new file mode 100755 index 0000000..ea8ae40 --- /dev/null +++ b/assets/themes/NexusOS-icons-src/actions/system-suspend.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/assets/themes/NexusOS-icons-src/actions/system-switch-user.svg b/assets/themes/NexusOS-icons-src/actions/system-switch-user.svg new file mode 100755 index 0000000..c161ff5 --- /dev/null +++ b/assets/themes/NexusOS-icons-src/actions/system-switch-user.svg @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/assets/themes/NexusOS-icons-src/build.py b/assets/themes/NexusOS-icons-src/build.py old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/build_actions.py b/assets/themes/NexusOS-icons-src/build_actions.py new file mode 100755 index 0000000..1fbc260 --- /dev/null +++ b/assets/themes/NexusOS-icons-src/build_actions.py @@ -0,0 +1,278 @@ +#!/usr/bin/env python3 +""" +NexusOS action-icon generator. + +Builds the icons the XFCE logoff dialog (xfce4-session-logout) and the +Whisker menu command buttons request — shutdown / reboot / log-out / +suspend / hibernate / switch-user / lock-screen / settings — in the +NexusOS palette (white glyph on a deep-purple disc with a lime ring). + +Emits one SVG per icon into actions/, rasterizes to +~/.icons/NexusOS//actions/.png at 16/22/24/32/48/64/128, +then writes the alias copies (xfsm-*, system-suspend-hibernate, and the +settings-manager app-icon names that Whisker's Settings button uses). + +Run: python3 build_actions.py # SVGs + PNGs + aliases + python3 build_actions.py --svg-only # just rewrite SVGs +""" + +from pathlib import Path +import shutil +import subprocess +import sys + +ROOT = Path(__file__).resolve().parent +ACTIONS = ROOT / "actions" +ICONS_OUT = Path.home() / ".icons" / "NexusOS" +SIZES = [16, 22, 24, 32, 48, 64, 128] + +# ── colors (mirror gtk-3.0/colors.css) ──────────────────────────────── +BODY = "#5e0066" # brand_purple_dark — disc fill +RING = "#8cc63f" # brand_green — disc ring +GLYPH = "#f2f2f2" # text_primary — glyph + +# ── master: purple disc + lime ring, viewBox 0 0 128 128 ────────────── +# Glyph area: a ~70px box centered on (64, 64). +DISC = f' \n' + + +def _gear_glyph() -> str: + """Settings cog: 8 teeth on a white disc with a punched centre hole.""" + teeth = "".join( + f' \n' + for k in range(8) + ) + return ( + " \n" + + teeth + + f' \n' + + f' \n' + ) + + +# ── glyph fragments — white, centered on (64, 64) ───────────────────── +GLYPHS = { + "system-shutdown": f"""\ + + + +""", + + "system-reboot": f"""\ + + + +""", + + "system-log-out": f"""\ + + + + + +""", + + "system-suspend": f"""\ + + +""", + + "system-hibernate": f"""\ + + + +""", + + "system-switch-user": f"""\ + + + + + +""", + + "system-lock-screen": f"""\ + + + + + +""", + + "preferences-desktop": _gear_glyph(), + + # ── Whisker menu application-category glyphs ────────────────────── + "applications-internet": f"""\ + + + + + +""", + + "applications-development": f"""\ + + + + +""", + + "applications-multimedia": f"""\ + + +""", + + "applications-office": f"""\ + + + + + + +""", + + "applications-graphics": f"""\ + + + + +""", + + "applications-system": f"""\ + + + + + +""", + + "applications-utilities": f"""\ + + + + + + +""", + + "applications-games": f"""\ + + + + + + +""", + + "applications-science": f"""\ + + + + +""", +} + +# Extra filenames that render the same art (XFCE's xfsm-* lookup names, +# the hybrid-sleep alias, and the Whisker command-button names). +ALIASES = { + "xfsm-logout": "system-log-out", + "xfsm-reboot": "system-reboot", + "xfsm-shutdown": "system-shutdown", + "xfsm-suspend": "system-suspend", + "xfsm-hibernate": "system-hibernate", + "xfsm-switch-user": "system-switch-user", + "system-suspend-hibernate": "system-suspend", + "xfsm-lock": "system-lock-screen", + "preferences-system": "preferences-desktop", + "org.xfce.settings.manager": "preferences-desktop", + "xfce4-settings-manager": "preferences-desktop", + # XFCE's "Accessories" menu uses xfce-accessories.directory + # (Icon=applications-accessories), NOT the freedesktop Utility name, so + # it needs the same wrench/tools badge as applications-utilities. + "applications-accessories": "applications-utilities", +} + + +def svg_for(glyph: str) -> str: + return ( + '\n' + '\n' + f"{DISC}{glyph}\n" + ) + + +def write_svgs() -> list[str]: + ACTIONS.mkdir(parents=True, exist_ok=True) + for name, glyph in GLYPHS.items(): + (ACTIONS / f"{name}.svg").write_text(svg_for(glyph)) + return list(GLYPHS) + + +def render_pngs(names: list[str]) -> None: + for name in names: + svg = ACTIONS / f"{name}.svg" + for size in SIZES: + out_dir = ICONS_OUT / f"{size}x{size}" / "actions" + out_dir.mkdir(parents=True, exist_ok=True) + out = out_dir / f"{name}.png" + subprocess.run( + [ + "inkscape", + str(svg), + "--export-type=png", + f"--export-filename={out}", + f"--export-width={size}", + f"--export-height={size}", + ], + check=True, + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + ) + print(f" rendered {name} @ {size}") + + +def write_aliases() -> None: + for alias, src in ALIASES.items(): + for size in SIZES: + d = ICONS_OUT / f"{size}x{size}" / "actions" + src_png = d / f"{src}.png" + if src_png.exists(): + shutil.copy2(src_png, d / f"{alias}.png") + print(f" alias {alias} -> {src}") + + +def main() -> None: + svg_only = "--svg-only" in sys.argv + names = write_svgs() + print(f"Wrote {len(names)} SVGs into {ACTIONS}") + if svg_only: + return + render_pngs(names) + write_aliases() + subprocess.run( + ["gtk-update-icon-cache", "-f", str(ICONS_OUT)], + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + ) + print("\nDone. Reload: xfdesktop --reload & xfce4-panel -r") + + +if __name__ == "__main__": + main() diff --git a/assets/themes/NexusOS-icons-src/build_battery.py b/assets/themes/NexusOS-icons-src/build_battery.py new file mode 100755 index 0000000..75bb69f --- /dev/null +++ b/assets/themes/NexusOS-icons-src/build_battery.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python3 +""" +NexusOS battery-icon recolorizer. + +xfce4-power-manager draws the panel battery from the icon theme's +`battery-*-charging-symbolic` icons. Papirus-Dark (which NexusOS +inherits from) paints the charging bolt/fill in its own material green +(#4caf50). This script copies every charging battery symbolic icon into +the NexusOS theme with that green swapped for brand_green (#8cc63f), so +the charging indicator matches the rest of the NexusOS accent. + +Only the green is touched — the gray battery body (#dfdfdf) is left +alone (it already reads fine on the dark panel). Symlinked aliases +(good/low/medium/caution/empty-charging) are resolved and written as +real recolored files so every requested name overrides Papirus. + +Run: python3 build_battery.py +Then: gtk-update-icon-cache -f -t ../NexusOS-icons + xfce4-panel -r # reload panel to pick up new icons +""" + +from pathlib import Path + +ROOT = Path(__file__).resolve().parent +OUT = ROOT.parent / "NexusOS-icons" / "scalable" / "status" +SRC = Path("/usr/share/icons/Papirus-Dark/symbolic/status") + +PAPIRUS_GREEN = "#4caf50" +NEXUS_GREEN = "#8cc63f" # brand_green + + +def main() -> None: + OUT.mkdir(parents=True, exist_ok=True) + # Every charging battery symbolic icon (charged-100 has no green, so + # the replace is a harmless no-op there; we copy it too for a + # consistent battery set under the NexusOS theme). + sources = sorted(SRC.glob("battery-*charg*-symbolic.svg")) + written = 0 + for src in sources: + # read_text follows symlinks, so alias names get the real content + content = src.read_text() + if PAPIRUS_GREEN not in content: + # charged/full icons with no green — skip; let them fall + # through to Papirus unchanged. + continue + recolored = content.replace(PAPIRUS_GREEN, NEXUS_GREEN) + (OUT / src.name).write_text(recolored) + written += 1 + print(f"Recolored {written} charging battery icons " + f"({PAPIRUS_GREEN} -> {NEXUS_GREEN}) into {OUT}") + + +if __name__ == "__main__": + main() diff --git a/assets/themes/NexusOS-icons-src/build_icons.py b/assets/themes/NexusOS-icons-src/build_icons.py old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/build_status.py b/assets/themes/NexusOS-icons-src/build_status.py new file mode 100755 index 0000000..f268a71 --- /dev/null +++ b/assets/themes/NexusOS-icons-src/build_status.py @@ -0,0 +1,398 @@ +#!/usr/bin/env python3 +""" +NexusOS network status icons generator. + +Generates flat symbolic-style SVGs for nm-tray and any other Qt/GTK app +that requests network-* status icons. Output goes to +scalable/status/ of the NexusOS-icons theme. + +Design language: + * 16×16 viewBox, scalable SVG (no rasterization needed — Qt5 + GTK3 + both handle SVG fine in scalable/ dirs) + * Light off-white stroke for base shape (wifi fan, ethernet plug, + globe) — readable on the dark NexusOS surfaces + * Lime brand accent for connected / active states + * Purple lock for encryption + * Red for error, orange for acquiring / no-route + +Run: python3 build_status.py +""" + +from pathlib import Path +import math + +ROOT = Path(__file__).resolve().parent +OUT = ROOT.parent / "NexusOS-icons" / "scalable" / "status" + +# Palette — mirrors gtk-3.0/colors.css. +BASE = "#f2f2f2" # text_primary +MUTED = "#6e7173" # text_disabled +GOOD = "#8cc63f" # brand_green +LOCK = "#f2f2f2" # text_primary (white) — neutral attribute indicator + # while green is reserved for active signal strength. +ERROR = "#da4453" # error_color +WARN = "#f67400" # warning_color + +SW = 1.6 +# Wifi fan arc geometry: half-angle from vertical. Smaller half-angle ⇒ +# narrower sweep but allows bigger radius (taller fan) before endpoints +# run off the sides at 16x16. 40° (80° total sweep) is a sweet spot. +ARC_HALF_ANGLE = 40 +S_ARC = math.sin(math.radians(ARC_HALF_ANGLE)) # x offset coefficient +C_ARC = math.cos(math.radians(ARC_HALF_ANGLE)) # y offset coefficient + + +def svg(body: str) -> str: + return ( + '\n' + + body.rstrip() + + "\n\n" + ) + + +# ── wifi fan ──────────────────────────────────────────────────────── +# Fan sits low in the viewBox with arcs reaching almost the top edge so +# the rendered icon matches the height of neighboring tray icons (shield, +# bluetooth, etc.). Outermost r=11.5 with the narrower 80° arc sweep +# keeps endpoints inside x=[0.61, 15.39] — fits with stroke-cap margin. +WIFI_CX, WIFI_CY = 8, 13.0 +WIFI_R = [3.0, 5.5, 8.5, 11.5] +DOT_R = 1.3 + + +def _arc(r: float, color: str, opacity: float = 1.0) -> str: + x0 = WIFI_CX - r * S_ARC + x1 = WIFI_CX + r * S_ARC + y = WIFI_CY - r * C_ARC + return ( + f' ' + ) + + +def wifi_fan(level: int, active_color: str = GOOD) -> str: + """level 0 (none) .. 4 (excellent). Filled arcs use brand_green by + default so signal strength reads as the primary visual element.""" + parts = [] + for i, r in enumerate(WIFI_R): + if i < level: + parts.append(_arc(r, active_color, 1.0)) + else: + parts.append(_arc(r, MUTED, 0.35)) + if level > 0: + parts.append( + f' ' + ) + else: + parts.append( + f' ' + ) + return "\n".join(parts) + + +# ── ethernet plug (RJ45) ──────────────────────────────────────────── +# Sized to fill ~75% of the viewBox vertically (y=2→14) and horizontally +# (x=2→14) so the rendered icon matches the height of neighboring tray +# icons (shield, notification, bluetooth) instead of looking like a tiny +# crate in the middle of the slot. +def ethernet_plug(color: str = GOOD, opacity: float = 1.0) -> str: + return ( + f' \n' + # Pentagonal RJ45 outline + ' \n' + # Three pins, spread wider to match the bigger body + ' \n' + ' \n' + ' \n' + " " + ) + + +# ── globe (generic network) ───────────────────────────────────────── +def globe(color: str = BASE, opacity: float = 1.0) -> str: + return ( + f' \n' + ' \n' + ' \n' + ' \n' + " " + ) + + +# ── key (vpn) ─────────────────────────────────────────────────────── +def vpn_key(color: str = GOOD, opacity: float = 1.0) -> str: + """Horizontal key: round bow on the left, shaft to the right with + two teeth hanging down. Stroke-only so it doesn't visually dominate + the way the filled globe did.""" + return ( + f' \n' + # Bow (handle) — outline circle on the left + ' \n' + # Shaft + ' \n' + # Two teeth pointing down + ' \n' + " " + ) + + +# ── state overlays / badges ───────────────────────────────────────── +# nm-tray's MultiIconDelegate stacks state icons on top of the signal- +# level base, so each overlay icon is *just the badge* — no wifi fan, +# no globe. That way stacking signal-good + encrypted gives fan + lock +# instead of fan + fan + lock, and adding -disconnected on top of an +# unsaved network adds a single X instead of another fan. + +def standalone_lock(color: str = LOCK) -> str: + """Centered padlock filling most of the 16x16 box. This is the icon + nm-tray actually loads for encryption — it requests `security-high` + / `security-high-symbolic` (NOT `network-wireless-encrypted`) and + overlays it on top of a `network-wireless-signal-*` base via its + MultiIconDelegate, scaling our full-size lock into a corner badge. + + Keyhole detail intentionally omitted: at the corner-badge render + size nm-tray uses, it's invisible anyway, and a dark keyhole on a + white body reads as visual noise rather than as a lock detail.""" + return ( + # Body: 8.5w x 6h, centered horizontally, sitting low + f' \n' + # Shackle: pronounced U above the body + f' ' + ) + + +def badge_lock() -> str: + """Lock badge: body 4.4w × 3.8h + shackle 3w × 2h on top, lower-right + corner. Made deliberately larger and with a thicker shackle stroke + than a typical badge — at 16-24px render, a small thin-stroke lock + blurs into a shield-like rounded shape. The big-shackle proportions + here keep the lock recognizable down to ~18px icon size.""" + return ( + ' \n' + f' \n' + f' \n' + " " + ) + + +def badge_x(color: str = ERROR) -> str: + return ( + f' \n' + ' \n' + ' \n' + " " + ) + + +def badge_dots(color: str = WARN) -> str: + return ( + f' \n' + ' \n' + ' \n' + ' \n' + " " + ) + + +def badge_excl(color: str = ERROR) -> str: + return ( + f' \n' + ' \n' + ' \n' + " " + ) + + +def badge_slash(color: str = MUTED) -> str: + return ( + f' ' + ) + + +def badge_arrow_up(color: str = GOOD) -> str: + return ( + f' ' + ) + + +def badge_arrow_down(color: str = GOOD) -> str: + return ( + f' ' + ) + + +# ── icon catalog ──────────────────────────────────────────────────── +def cell_tech(label: str) -> str: + """Wifi fan + tiny generation-tech label (2G/3G/4G/5G/E/G/H/U/1x).""" + return svg( + wifi_fan(3) + "\n" + f' {label}' + ) + + +ICONS = { + # wireless signal levels + "network-wireless-signal-none": svg(wifi_fan(0)), + "network-wireless-signal-weak": svg(wifi_fan(1)), + "network-wireless-signal-ok": svg(wifi_fan(2)), + "network-wireless-signal-good": svg(wifi_fan(3)), + "network-wireless-signal-excellent": svg(wifi_fan(4)), + + # wireless — nm-tray picks one icon per row, so each name is a + # self-contained composite (signal-level fan + state badge if any). + "network-wireless": svg(wifi_fan(3)), + "network-wireless-connected": svg(wifi_fan(4, GOOD)), + # Disconnected: faded-empty fan. NO X badge — nm-tray overlays this + # on top of saved-network rows, so an X here would visually pile up + # with the encrypted-lock overlay. The dim level-0 fan already reads + # as "no signal/disconnected" without the extra badge. + "network-wireless-disconnected": svg(wifi_fan(0)), + "network-wireless-disabled": svg(wifi_fan(0) + "\n" + badge_slash()), + "network-wireless-acquiring": svg(wifi_fan(2) + "\n" + badge_dots()), + "network-wireless-error": svg(wifi_fan(2) + "\n" + badge_excl()), + "network-wireless-no-route": svg(wifi_fan(3) + "\n" + badge_excl(WARN)), + "network-wireless-offline": svg(wifi_fan(0)), + "network-wireless-encrypted": svg(wifi_fan(3) + "\n" + badge_lock()), + "network-wireless-hotspot": svg(wifi_fan(4, GOOD) + "\n" + badge_dots(GOOD)), + "network-wireless-hardware-disabled": svg(wifi_fan(0) + "\n" + badge_slash(ERROR)), + + # wired + "network-wired": svg(ethernet_plug()), + "network-wired-disconnected": svg(ethernet_plug(MUTED, 0.55) + "\n" + badge_x()), + "network-wired-acquiring": svg(ethernet_plug() + "\n" + badge_dots()), + "network-wired-error": svg(ethernet_plug() + "\n" + badge_excl()), + "network-wired-no-route": svg(ethernet_plug() + "\n" + badge_excl(WARN)), + "network-wired-offline": svg(ethernet_plug(MUTED, 0.55)), + + # vpn — green key. Stroke-only so it doesn't dominate the menu row. + "network-vpn": svg(vpn_key()), + "network-vpn-connected": svg(vpn_key()), + "network-vpn-acquiring": svg(vpn_key() + "\n" + badge_dots()), + "network-vpn-disconnected": svg(vpn_key(MUTED, 0.55) + "\n" + badge_x()), + "network-vpn-error": svg(vpn_key(ERROR)), + "network-vpn-no-route": svg(vpn_key() + "\n" + badge_excl(WARN)), + "network-vpn-offline": svg(vpn_key(MUTED, 0.55)), + + # generic + "network-error": svg(globe() + "\n" + badge_excl()), + "network-idle": svg(globe()), + "network-offline": svg(globe(MUTED, 0.55) + "\n" + badge_slash()), + "network-no-route": svg(globe() + "\n" + badge_excl(WARN)), + "network-acquiring": svg(globe() + "\n" + badge_dots()), + "network-transmit": svg(globe() + "\n" + badge_arrow_up()), + "network-receive": svg(globe() + "\n" + badge_arrow_down()), + "network-transmit-receive": svg(globe() + "\n" + badge_arrow_up() + "\n" + badge_arrow_down()), + + # cellular — same fan, with state badges + "network-cellular-signal-none": svg(wifi_fan(0)), + "network-cellular-signal-weak": svg(wifi_fan(1)), + "network-cellular-signal-ok": svg(wifi_fan(2)), + "network-cellular-signal-good": svg(wifi_fan(3)), + "network-cellular-signal-excellent": svg(wifi_fan(4)), + "network-cellular-acquiring": svg(wifi_fan(2) + "\n" + badge_dots()), + "network-cellular-connected": svg(wifi_fan(4, GOOD)), + "network-cellular-disabled": svg(wifi_fan(0) + "\n" + badge_slash()), + "network-cellular-disconnected": svg(wifi_fan(0) + "\n" + badge_x()), + "network-cellular-error": svg(wifi_fan(2) + "\n" + badge_excl()), + "network-cellular-hardware-disabled": svg(wifi_fan(0) + "\n" + badge_slash(ERROR)), + "network-cellular-no-route": svg(wifi_fan(3) + "\n" + badge_excl(WARN)), + "network-cellular-offline": svg(wifi_fan(0)), + + # security indicators — nm-tray's actual encryption overlay icon + "security-high": svg(standalone_lock()), + "security-high-symbolic": svg(standalone_lock()), + "security-medium": svg(standalone_lock(WARN)), + "security-medium-symbolic": svg(standalone_lock(WARN)), + "security-low": svg(standalone_lock(ERROR)), + "security-low-symbolic": svg(standalone_lock(ERROR)), + + # cellular generation-tech labels + "network-cellular-2g": cell_tech("2G"), + "network-cellular-3g": cell_tech("3G"), + "network-cellular-4g": cell_tech("4G"), + "network-cellular-5g": cell_tech("5G"), + "network-cellular-edge": cell_tech("E"), + "network-cellular-gprs": cell_tech("G"), + "network-cellular-cdma-1x": cell_tech("1x"), + "network-cellular-hspa": cell_tech("H"), + "network-cellular-umts": cell_tech("U"), +} + + +# ── genmon panel applet PNGs ───────────────────────────────────────── +# bin/panel/network-applet.sh (the XFCE genmon network applet) loads PNGs +# directly from assets/panel-icons/ by path — it does NOT go through the +# icon theme. Rasterize the relevant status icons there too so the applet +# stays in sync with the canonical SVG design above (otherwise the PNGs +# drift into a different look, e.g. solid filled cones vs. arc bars). +PANEL_PNG_DIR = ROOT.parent.parent / "panel-icons" # assets/panel-icons +PANEL_PNG_SIZE = 22 +PANEL_PNG_NAMES = [ + "network-wireless-signal-none", + "network-wireless-signal-weak", + "network-wireless-signal-ok", + "network-wireless-signal-good", + "network-wireless-signal-excellent", + "network-wired", + "network-offline", +] + + +def _rasterize_panel_pngs() -> int: + import subprocess + if not PANEL_PNG_DIR.is_dir(): + return 0 + n = 0 + for name in PANEL_PNG_NAMES: + svg_path = OUT / f"{name}.svg" + if not svg_path.exists(): + continue + subprocess.run( + ["inkscape", str(svg_path), "--export-type=png", + f"--export-filename={PANEL_PNG_DIR / (name + '.png')}", + f"--export-width={PANEL_PNG_SIZE}", + f"--export-height={PANEL_PNG_SIZE}", + "--export-background-opacity=0"], + check=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, + ) + n += 1 + return n + + +def main() -> None: + OUT.mkdir(parents=True, exist_ok=True) + # Sweep any leftover Papirus fallback symlinks from the same dir. + cleaned = 0 + for entry in OUT.iterdir(): + if entry.is_symlink(): + entry.unlink() + cleaned += 1 + for name, body in ICONS.items(): + (OUT / f"{name}.svg").write_text(body) + print(f"Cleared {cleaned} symlinks, wrote {len(ICONS)} SVGs to {OUT}") + n = _rasterize_panel_pngs() + print(f"Rasterized {n} genmon panel PNGs to {PANEL_PNG_DIR}") + + +if __name__ == "__main__": + main() diff --git a/assets/themes/NexusOS-icons-src/nexus-underlay-ring.svg b/assets/themes/NexusOS-icons-src/nexus-underlay-ring.svg new file mode 100644 index 0000000..7222fc9 --- /dev/null +++ b/assets/themes/NexusOS-icons-src/nexus-underlay-ring.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/themes/NexusOS-icons-src/nexus-underlay.svg b/assets/themes/NexusOS-icons-src/nexus-underlay.svg new file mode 100644 index 0000000..e3646de --- /dev/null +++ b/assets/themes/NexusOS-icons-src/nexus-underlay.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/assets/themes/NexusOS-icons-src/places/folder-documents.svg b/assets/themes/NexusOS-icons-src/places/folder-documents.svg old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/places/folder-download.svg b/assets/themes/NexusOS-icons-src/places/folder-download.svg old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/places/folder-drag-accept.svg b/assets/themes/NexusOS-icons-src/places/folder-drag-accept.svg old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/places/folder-home.svg b/assets/themes/NexusOS-icons-src/places/folder-home.svg old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/places/folder-music.svg b/assets/themes/NexusOS-icons-src/places/folder-music.svg old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/places/folder-nexus-core.svg b/assets/themes/NexusOS-icons-src/places/folder-nexus-core.svg old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/places/folder-open.svg b/assets/themes/NexusOS-icons-src/places/folder-open.svg old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/places/folder-pictures.svg b/assets/themes/NexusOS-icons-src/places/folder-pictures.svg old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/places/folder-publicshare.svg b/assets/themes/NexusOS-icons-src/places/folder-publicshare.svg old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/places/folder-recent.svg b/assets/themes/NexusOS-icons-src/places/folder-recent.svg old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/places/folder-remote.svg b/assets/themes/NexusOS-icons-src/places/folder-remote.svg old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/places/folder-saved-search.svg b/assets/themes/NexusOS-icons-src/places/folder-saved-search.svg old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/places/folder-templates.svg b/assets/themes/NexusOS-icons-src/places/folder-templates.svg old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/places/folder-videos.svg b/assets/themes/NexusOS-icons-src/places/folder-videos.svg old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons-src/places/folder.svg b/assets/themes/NexusOS-icons-src/places/folder.svg old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/128x128/apps/com.visualstudio.code.png b/assets/themes/NexusOS-icons/128x128/apps/com.visualstudio.code.png new file mode 100644 index 0000000..cf0ad9d Binary files /dev/null and b/assets/themes/NexusOS-icons/128x128/apps/com.visualstudio.code.png differ diff --git a/assets/themes/NexusOS-icons/128x128/apps/microsoft-edge.png b/assets/themes/NexusOS-icons/128x128/apps/microsoft-edge.png new file mode 100644 index 0000000..3b1c52b Binary files /dev/null and b/assets/themes/NexusOS-icons/128x128/apps/microsoft-edge.png differ diff --git a/assets/themes/NexusOS-icons/128x128/apps/nexusos-logo.png b/assets/themes/NexusOS-icons/128x128/apps/nexusos-logo.png old mode 100644 new mode 100755 index c96bb05..baf2050 Binary files a/assets/themes/NexusOS-icons/128x128/apps/nexusos-logo.png and b/assets/themes/NexusOS-icons/128x128/apps/nexusos-logo.png differ diff --git a/assets/themes/NexusOS-icons/128x128/apps/utilities-terminal.png b/assets/themes/NexusOS-icons/128x128/apps/utilities-terminal.png deleted file mode 100644 index def29dd..0000000 Binary files a/assets/themes/NexusOS-icons/128x128/apps/utilities-terminal.png and /dev/null differ diff --git a/assets/themes/NexusOS-icons/128x128/places/folder-documents.png b/assets/themes/NexusOS-icons/128x128/places/folder-documents.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/128x128/places/folder-download.png b/assets/themes/NexusOS-icons/128x128/places/folder-download.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/128x128/places/folder-drag-accept.png b/assets/themes/NexusOS-icons/128x128/places/folder-drag-accept.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/128x128/places/folder-home.png b/assets/themes/NexusOS-icons/128x128/places/folder-home.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/128x128/places/folder-music.png b/assets/themes/NexusOS-icons/128x128/places/folder-music.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/128x128/places/folder-nexus-core.png b/assets/themes/NexusOS-icons/128x128/places/folder-nexus-core.png index 79a5b02..9b68987 100644 Binary files a/assets/themes/NexusOS-icons/128x128/places/folder-nexus-core.png and b/assets/themes/NexusOS-icons/128x128/places/folder-nexus-core.png differ diff --git a/assets/themes/NexusOS-icons/128x128/places/folder-open.png b/assets/themes/NexusOS-icons/128x128/places/folder-open.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/128x128/places/folder-pictures.png b/assets/themes/NexusOS-icons/128x128/places/folder-pictures.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/128x128/places/folder-publicshare.png b/assets/themes/NexusOS-icons/128x128/places/folder-publicshare.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/128x128/places/folder-recent.png b/assets/themes/NexusOS-icons/128x128/places/folder-recent.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/128x128/places/folder-remote.png b/assets/themes/NexusOS-icons/128x128/places/folder-remote.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/128x128/places/folder-saved-search.png b/assets/themes/NexusOS-icons/128x128/places/folder-saved-search.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/128x128/places/folder-templates.png b/assets/themes/NexusOS-icons/128x128/places/folder-templates.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/128x128/places/folder-videos.png b/assets/themes/NexusOS-icons/128x128/places/folder-videos.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/128x128/places/folder.png b/assets/themes/NexusOS-icons/128x128/places/folder.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/16x16/apps/com.visualstudio.code.png b/assets/themes/NexusOS-icons/16x16/apps/com.visualstudio.code.png new file mode 100644 index 0000000..9c90355 Binary files /dev/null and b/assets/themes/NexusOS-icons/16x16/apps/com.visualstudio.code.png differ diff --git a/assets/themes/NexusOS-icons/16x16/apps/microsoft-edge.png b/assets/themes/NexusOS-icons/16x16/apps/microsoft-edge.png new file mode 100644 index 0000000..3e68a44 Binary files /dev/null and b/assets/themes/NexusOS-icons/16x16/apps/microsoft-edge.png differ diff --git a/assets/themes/NexusOS-icons/16x16/apps/nexusos-logo.png b/assets/themes/NexusOS-icons/16x16/apps/nexusos-logo.png old mode 100644 new mode 100755 index c96bb05..b3ef393 Binary files a/assets/themes/NexusOS-icons/16x16/apps/nexusos-logo.png and b/assets/themes/NexusOS-icons/16x16/apps/nexusos-logo.png differ diff --git a/assets/themes/NexusOS-icons/16x16/apps/utilities-terminal.png b/assets/themes/NexusOS-icons/16x16/apps/utilities-terminal.png deleted file mode 100644 index 8b7b259..0000000 Binary files a/assets/themes/NexusOS-icons/16x16/apps/utilities-terminal.png and /dev/null differ diff --git a/assets/themes/NexusOS-icons/16x16/places/folder-documents.png b/assets/themes/NexusOS-icons/16x16/places/folder-documents.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/16x16/places/folder-download.png b/assets/themes/NexusOS-icons/16x16/places/folder-download.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/16x16/places/folder-drag-accept.png b/assets/themes/NexusOS-icons/16x16/places/folder-drag-accept.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/16x16/places/folder-home.png b/assets/themes/NexusOS-icons/16x16/places/folder-home.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/16x16/places/folder-music.png b/assets/themes/NexusOS-icons/16x16/places/folder-music.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/16x16/places/folder-nexus-core.png b/assets/themes/NexusOS-icons/16x16/places/folder-nexus-core.png index 626d329..7e56f97 100644 Binary files a/assets/themes/NexusOS-icons/16x16/places/folder-nexus-core.png and b/assets/themes/NexusOS-icons/16x16/places/folder-nexus-core.png differ diff --git a/assets/themes/NexusOS-icons/16x16/places/folder-open.png b/assets/themes/NexusOS-icons/16x16/places/folder-open.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/16x16/places/folder-pictures.png b/assets/themes/NexusOS-icons/16x16/places/folder-pictures.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/16x16/places/folder-publicshare.png b/assets/themes/NexusOS-icons/16x16/places/folder-publicshare.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/16x16/places/folder-recent.png b/assets/themes/NexusOS-icons/16x16/places/folder-recent.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/16x16/places/folder-remote.png b/assets/themes/NexusOS-icons/16x16/places/folder-remote.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/16x16/places/folder-saved-search.png b/assets/themes/NexusOS-icons/16x16/places/folder-saved-search.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/16x16/places/folder-templates.png b/assets/themes/NexusOS-icons/16x16/places/folder-templates.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/16x16/places/folder-videos.png b/assets/themes/NexusOS-icons/16x16/places/folder-videos.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/16x16/places/folder.png b/assets/themes/NexusOS-icons/16x16/places/folder.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/22x22/apps/com.visualstudio.code.png b/assets/themes/NexusOS-icons/22x22/apps/com.visualstudio.code.png new file mode 100644 index 0000000..896eff4 Binary files /dev/null and b/assets/themes/NexusOS-icons/22x22/apps/com.visualstudio.code.png differ diff --git a/assets/themes/NexusOS-icons/22x22/apps/microsoft-edge.png b/assets/themes/NexusOS-icons/22x22/apps/microsoft-edge.png new file mode 100644 index 0000000..f7b5d72 Binary files /dev/null and b/assets/themes/NexusOS-icons/22x22/apps/microsoft-edge.png differ diff --git a/assets/themes/NexusOS-icons/22x22/apps/nexusos-logo.png b/assets/themes/NexusOS-icons/22x22/apps/nexusos-logo.png old mode 100644 new mode 100755 index c96bb05..67057f5 Binary files a/assets/themes/NexusOS-icons/22x22/apps/nexusos-logo.png and b/assets/themes/NexusOS-icons/22x22/apps/nexusos-logo.png differ diff --git a/assets/themes/NexusOS-icons/22x22/apps/utilities-terminal.png b/assets/themes/NexusOS-icons/22x22/apps/utilities-terminal.png deleted file mode 100644 index 11279ba..0000000 Binary files a/assets/themes/NexusOS-icons/22x22/apps/utilities-terminal.png and /dev/null differ diff --git a/assets/themes/NexusOS-icons/22x22/places/folder-documents.png b/assets/themes/NexusOS-icons/22x22/places/folder-documents.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/22x22/places/folder-download.png b/assets/themes/NexusOS-icons/22x22/places/folder-download.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/22x22/places/folder-drag-accept.png b/assets/themes/NexusOS-icons/22x22/places/folder-drag-accept.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/22x22/places/folder-home.png b/assets/themes/NexusOS-icons/22x22/places/folder-home.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/22x22/places/folder-music.png b/assets/themes/NexusOS-icons/22x22/places/folder-music.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/22x22/places/folder-nexus-core.png b/assets/themes/NexusOS-icons/22x22/places/folder-nexus-core.png index ac68825..76b46a9 100644 Binary files a/assets/themes/NexusOS-icons/22x22/places/folder-nexus-core.png and b/assets/themes/NexusOS-icons/22x22/places/folder-nexus-core.png differ diff --git a/assets/themes/NexusOS-icons/22x22/places/folder-open.png b/assets/themes/NexusOS-icons/22x22/places/folder-open.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/22x22/places/folder-pictures.png b/assets/themes/NexusOS-icons/22x22/places/folder-pictures.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/22x22/places/folder-publicshare.png b/assets/themes/NexusOS-icons/22x22/places/folder-publicshare.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/22x22/places/folder-recent.png b/assets/themes/NexusOS-icons/22x22/places/folder-recent.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/22x22/places/folder-remote.png b/assets/themes/NexusOS-icons/22x22/places/folder-remote.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/22x22/places/folder-saved-search.png b/assets/themes/NexusOS-icons/22x22/places/folder-saved-search.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/22x22/places/folder-templates.png b/assets/themes/NexusOS-icons/22x22/places/folder-templates.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/22x22/places/folder-videos.png b/assets/themes/NexusOS-icons/22x22/places/folder-videos.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/22x22/places/folder.png b/assets/themes/NexusOS-icons/22x22/places/folder.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/24x24/apps/com.visualstudio.code.png b/assets/themes/NexusOS-icons/24x24/apps/com.visualstudio.code.png new file mode 100644 index 0000000..6245110 Binary files /dev/null and b/assets/themes/NexusOS-icons/24x24/apps/com.visualstudio.code.png differ diff --git a/assets/themes/NexusOS-icons/24x24/apps/microsoft-edge.png b/assets/themes/NexusOS-icons/24x24/apps/microsoft-edge.png new file mode 100644 index 0000000..b6f6c07 Binary files /dev/null and b/assets/themes/NexusOS-icons/24x24/apps/microsoft-edge.png differ diff --git a/assets/themes/NexusOS-icons/24x24/apps/nexusos-logo.png b/assets/themes/NexusOS-icons/24x24/apps/nexusos-logo.png old mode 100644 new mode 100755 index c96bb05..90b8440 Binary files a/assets/themes/NexusOS-icons/24x24/apps/nexusos-logo.png and b/assets/themes/NexusOS-icons/24x24/apps/nexusos-logo.png differ diff --git a/assets/themes/NexusOS-icons/24x24/apps/utilities-terminal.png b/assets/themes/NexusOS-icons/24x24/apps/utilities-terminal.png deleted file mode 100644 index 63f83c8..0000000 Binary files a/assets/themes/NexusOS-icons/24x24/apps/utilities-terminal.png and /dev/null differ diff --git a/assets/themes/NexusOS-icons/24x24/places/folder-documents.png b/assets/themes/NexusOS-icons/24x24/places/folder-documents.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/24x24/places/folder-download.png b/assets/themes/NexusOS-icons/24x24/places/folder-download.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/24x24/places/folder-drag-accept.png b/assets/themes/NexusOS-icons/24x24/places/folder-drag-accept.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/24x24/places/folder-home.png b/assets/themes/NexusOS-icons/24x24/places/folder-home.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/24x24/places/folder-music.png b/assets/themes/NexusOS-icons/24x24/places/folder-music.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/24x24/places/folder-nexus-core.png b/assets/themes/NexusOS-icons/24x24/places/folder-nexus-core.png index e5a5824..333480a 100644 Binary files a/assets/themes/NexusOS-icons/24x24/places/folder-nexus-core.png and b/assets/themes/NexusOS-icons/24x24/places/folder-nexus-core.png differ diff --git a/assets/themes/NexusOS-icons/24x24/places/folder-open.png b/assets/themes/NexusOS-icons/24x24/places/folder-open.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/24x24/places/folder-pictures.png b/assets/themes/NexusOS-icons/24x24/places/folder-pictures.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/24x24/places/folder-publicshare.png b/assets/themes/NexusOS-icons/24x24/places/folder-publicshare.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/24x24/places/folder-recent.png b/assets/themes/NexusOS-icons/24x24/places/folder-recent.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/24x24/places/folder-remote.png b/assets/themes/NexusOS-icons/24x24/places/folder-remote.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/24x24/places/folder-saved-search.png b/assets/themes/NexusOS-icons/24x24/places/folder-saved-search.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/24x24/places/folder-templates.png b/assets/themes/NexusOS-icons/24x24/places/folder-templates.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/24x24/places/folder-videos.png b/assets/themes/NexusOS-icons/24x24/places/folder-videos.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/24x24/places/folder.png b/assets/themes/NexusOS-icons/24x24/places/folder.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/32x32/apps/com.visualstudio.code.png b/assets/themes/NexusOS-icons/32x32/apps/com.visualstudio.code.png new file mode 100644 index 0000000..1f3a90b Binary files /dev/null and b/assets/themes/NexusOS-icons/32x32/apps/com.visualstudio.code.png differ diff --git a/assets/themes/NexusOS-icons/32x32/apps/microsoft-edge.png b/assets/themes/NexusOS-icons/32x32/apps/microsoft-edge.png new file mode 100644 index 0000000..bcea0be Binary files /dev/null and b/assets/themes/NexusOS-icons/32x32/apps/microsoft-edge.png differ diff --git a/assets/themes/NexusOS-icons/32x32/apps/nexusos-logo.png b/assets/themes/NexusOS-icons/32x32/apps/nexusos-logo.png old mode 100644 new mode 100755 index c96bb05..59bce6c Binary files a/assets/themes/NexusOS-icons/32x32/apps/nexusos-logo.png and b/assets/themes/NexusOS-icons/32x32/apps/nexusos-logo.png differ diff --git a/assets/themes/NexusOS-icons/32x32/apps/utilities-terminal.png b/assets/themes/NexusOS-icons/32x32/apps/utilities-terminal.png deleted file mode 100644 index 178f800..0000000 Binary files a/assets/themes/NexusOS-icons/32x32/apps/utilities-terminal.png and /dev/null differ diff --git a/assets/themes/NexusOS-icons/32x32/places/folder-documents.png b/assets/themes/NexusOS-icons/32x32/places/folder-documents.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/32x32/places/folder-download.png b/assets/themes/NexusOS-icons/32x32/places/folder-download.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/32x32/places/folder-drag-accept.png b/assets/themes/NexusOS-icons/32x32/places/folder-drag-accept.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/32x32/places/folder-home.png b/assets/themes/NexusOS-icons/32x32/places/folder-home.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/32x32/places/folder-music.png b/assets/themes/NexusOS-icons/32x32/places/folder-music.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/32x32/places/folder-nexus-core.png b/assets/themes/NexusOS-icons/32x32/places/folder-nexus-core.png index 6a20755..b938707 100644 Binary files a/assets/themes/NexusOS-icons/32x32/places/folder-nexus-core.png and b/assets/themes/NexusOS-icons/32x32/places/folder-nexus-core.png differ diff --git a/assets/themes/NexusOS-icons/32x32/places/folder-open.png b/assets/themes/NexusOS-icons/32x32/places/folder-open.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/32x32/places/folder-pictures.png b/assets/themes/NexusOS-icons/32x32/places/folder-pictures.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/32x32/places/folder-publicshare.png b/assets/themes/NexusOS-icons/32x32/places/folder-publicshare.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/32x32/places/folder-recent.png b/assets/themes/NexusOS-icons/32x32/places/folder-recent.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/32x32/places/folder-remote.png b/assets/themes/NexusOS-icons/32x32/places/folder-remote.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/32x32/places/folder-saved-search.png b/assets/themes/NexusOS-icons/32x32/places/folder-saved-search.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/32x32/places/folder-templates.png b/assets/themes/NexusOS-icons/32x32/places/folder-templates.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/32x32/places/folder-videos.png b/assets/themes/NexusOS-icons/32x32/places/folder-videos.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/32x32/places/folder.png b/assets/themes/NexusOS-icons/32x32/places/folder.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/48x48/apps/com.visualstudio.code.png b/assets/themes/NexusOS-icons/48x48/apps/com.visualstudio.code.png new file mode 100644 index 0000000..5d1d790 Binary files /dev/null and b/assets/themes/NexusOS-icons/48x48/apps/com.visualstudio.code.png differ diff --git a/assets/themes/NexusOS-icons/48x48/apps/microsoft-edge.png b/assets/themes/NexusOS-icons/48x48/apps/microsoft-edge.png new file mode 100644 index 0000000..e399431 Binary files /dev/null and b/assets/themes/NexusOS-icons/48x48/apps/microsoft-edge.png differ diff --git a/assets/themes/NexusOS-icons/48x48/apps/nexusos-logo.png b/assets/themes/NexusOS-icons/48x48/apps/nexusos-logo.png old mode 100644 new mode 100755 index c96bb05..ca5b2ab Binary files a/assets/themes/NexusOS-icons/48x48/apps/nexusos-logo.png and b/assets/themes/NexusOS-icons/48x48/apps/nexusos-logo.png differ diff --git a/assets/themes/NexusOS-icons/48x48/apps/utilities-terminal.png b/assets/themes/NexusOS-icons/48x48/apps/utilities-terminal.png deleted file mode 100644 index a7a4039..0000000 Binary files a/assets/themes/NexusOS-icons/48x48/apps/utilities-terminal.png and /dev/null differ diff --git a/assets/themes/NexusOS-icons/48x48/places/folder-documents.png b/assets/themes/NexusOS-icons/48x48/places/folder-documents.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/48x48/places/folder-download.png b/assets/themes/NexusOS-icons/48x48/places/folder-download.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/48x48/places/folder-drag-accept.png b/assets/themes/NexusOS-icons/48x48/places/folder-drag-accept.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/48x48/places/folder-home.png b/assets/themes/NexusOS-icons/48x48/places/folder-home.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/48x48/places/folder-music.png b/assets/themes/NexusOS-icons/48x48/places/folder-music.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/48x48/places/folder-nexus-core.png b/assets/themes/NexusOS-icons/48x48/places/folder-nexus-core.png index 98916cc..745561f 100644 Binary files a/assets/themes/NexusOS-icons/48x48/places/folder-nexus-core.png and b/assets/themes/NexusOS-icons/48x48/places/folder-nexus-core.png differ diff --git a/assets/themes/NexusOS-icons/48x48/places/folder-open.png b/assets/themes/NexusOS-icons/48x48/places/folder-open.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/48x48/places/folder-pictures.png b/assets/themes/NexusOS-icons/48x48/places/folder-pictures.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/48x48/places/folder-publicshare.png b/assets/themes/NexusOS-icons/48x48/places/folder-publicshare.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/48x48/places/folder-recent.png b/assets/themes/NexusOS-icons/48x48/places/folder-recent.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/48x48/places/folder-remote.png b/assets/themes/NexusOS-icons/48x48/places/folder-remote.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/48x48/places/folder-saved-search.png b/assets/themes/NexusOS-icons/48x48/places/folder-saved-search.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/48x48/places/folder-templates.png b/assets/themes/NexusOS-icons/48x48/places/folder-templates.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/48x48/places/folder-videos.png b/assets/themes/NexusOS-icons/48x48/places/folder-videos.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/48x48/places/folder.png b/assets/themes/NexusOS-icons/48x48/places/folder.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/64x64/apps/com.visualstudio.code.png b/assets/themes/NexusOS-icons/64x64/apps/com.visualstudio.code.png new file mode 100644 index 0000000..97ab954 Binary files /dev/null and b/assets/themes/NexusOS-icons/64x64/apps/com.visualstudio.code.png differ diff --git a/assets/themes/NexusOS-icons/64x64/apps/microsoft-edge.png b/assets/themes/NexusOS-icons/64x64/apps/microsoft-edge.png new file mode 100644 index 0000000..7981afd Binary files /dev/null and b/assets/themes/NexusOS-icons/64x64/apps/microsoft-edge.png differ diff --git a/assets/themes/NexusOS-icons/64x64/apps/nexusos-logo.png b/assets/themes/NexusOS-icons/64x64/apps/nexusos-logo.png old mode 100644 new mode 100755 index c96bb05..d961a6e Binary files a/assets/themes/NexusOS-icons/64x64/apps/nexusos-logo.png and b/assets/themes/NexusOS-icons/64x64/apps/nexusos-logo.png differ diff --git a/assets/themes/NexusOS-icons/64x64/apps/utilities-terminal.png b/assets/themes/NexusOS-icons/64x64/apps/utilities-terminal.png deleted file mode 100644 index e139c9f..0000000 Binary files a/assets/themes/NexusOS-icons/64x64/apps/utilities-terminal.png and /dev/null differ diff --git a/assets/themes/NexusOS-icons/64x64/places/folder-documents.png b/assets/themes/NexusOS-icons/64x64/places/folder-documents.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/64x64/places/folder-download.png b/assets/themes/NexusOS-icons/64x64/places/folder-download.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/64x64/places/folder-drag-accept.png b/assets/themes/NexusOS-icons/64x64/places/folder-drag-accept.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/64x64/places/folder-home.png b/assets/themes/NexusOS-icons/64x64/places/folder-home.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/64x64/places/folder-music.png b/assets/themes/NexusOS-icons/64x64/places/folder-music.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/64x64/places/folder-nexus-core.png b/assets/themes/NexusOS-icons/64x64/places/folder-nexus-core.png index a15d279..caff89c 100644 Binary files a/assets/themes/NexusOS-icons/64x64/places/folder-nexus-core.png and b/assets/themes/NexusOS-icons/64x64/places/folder-nexus-core.png differ diff --git a/assets/themes/NexusOS-icons/64x64/places/folder-open.png b/assets/themes/NexusOS-icons/64x64/places/folder-open.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/64x64/places/folder-pictures.png b/assets/themes/NexusOS-icons/64x64/places/folder-pictures.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/64x64/places/folder-publicshare.png b/assets/themes/NexusOS-icons/64x64/places/folder-publicshare.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/64x64/places/folder-recent.png b/assets/themes/NexusOS-icons/64x64/places/folder-recent.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/64x64/places/folder-remote.png b/assets/themes/NexusOS-icons/64x64/places/folder-remote.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/64x64/places/folder-saved-search.png b/assets/themes/NexusOS-icons/64x64/places/folder-saved-search.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/64x64/places/folder-templates.png b/assets/themes/NexusOS-icons/64x64/places/folder-templates.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/64x64/places/folder-videos.png b/assets/themes/NexusOS-icons/64x64/places/folder-videos.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/64x64/places/folder.png b/assets/themes/NexusOS-icons/64x64/places/folder.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS-icons/icon-theme.cache b/assets/themes/NexusOS-icons/icon-theme.cache index fcde1c8..fca834f 100644 Binary files a/assets/themes/NexusOS-icons/icon-theme.cache and b/assets/themes/NexusOS-icons/icon-theme.cache differ diff --git a/assets/themes/NexusOS-icons/index.theme b/assets/themes/NexusOS-icons/index.theme old mode 100644 new mode 100755 index dbee5c4..769fa0c --- a/assets/themes/NexusOS-icons/index.theme +++ b/assets/themes/NexusOS-icons/index.theme @@ -1,75 +1,702 @@ [Icon Theme] Name=NexusOS Comment=NexusOS accent icon theme -Inherits=Papirus-Dark -Directories=16x16/apps,22x22/apps,24x24/apps,32x32/apps,48x48/apps,64x64/apps,128x128/apps,16x16/places,22x22/places,24x24/places,32x32/places,48x48/places,64x64/places,128x128/places +Inherits=Papirus-Dark,hicolor +Directories=16x16/apps,22x22/apps,24x24/apps,32x32/apps,48x48/apps,64x64/apps,128x128/apps,16x16/places,22x22/places,24x24/places,32x32/places,48x48/places,64x64/places,128x128/places,16x16/actions,22x22/actions,24x24/actions,32x32/actions,48x48/actions,64x64/actions,128x128/actions,scalable/status,8x8/emblems,16x16/devices,16x16/emblems,16x16/emotes,16x16/mimetypes,16x16/panel,16x16/status,16x16@2x/actions,16x16@2x/apps,16x16@2x/devices,16x16@2x/emblems,16x16@2x/emotes,16x16@2x/mimetypes,16x16@2x/panel,16x16@2x/places,16x16@2x/status,18x18/actions,18x18@2x/actions,22x22/animations,22x22/devices,22x22/emblems,22x22/emotes,22x22/mimetypes,22x22/panel,22x22/status,22x22@2x/actions,22x22@2x/animations,22x22@2x/apps,22x22@2x/devices,22x22@2x/emblems,22x22@2x/emotes,22x22@2x/mimetypes,22x22@2x/panel,22x22@2x/places,22x22@2x/status,24x24/animations,24x24/devices,24x24/emblems,24x24/emotes,24x24/mimetypes,24x24/panel,24x24/status,24x24@2x/actions,24x24@2x/animations,24x24@2x/apps,24x24@2x/devices,24x24@2x/emblems,24x24@2x/emotes,24x24@2x/mimetypes,24x24@2x/panel,24x24@2x/places,24x24@2x/status,32x32/devices,32x32/emblems,32x32/emotes,32x32/mimetypes,32x32/status,32x32@2x/actions,32x32@2x/apps,32x32@2x/devices,32x32@2x/emblems,32x32@2x/emotes,32x32@2x/mimetypes,32x32@2x/places,32x32@2x/status,42x42/apps,48x48/devices,48x48/emblems,48x48/emotes,48x48/mimetypes,48x48/status,48x48@2x/actions,48x48@2x/apps,48x48@2x/devices,48x48@2x/emblems,48x48@2x/emotes,48x48@2x/mimetypes,48x48@2x/places,48x48@2x/status,64x64/devices,64x64/mimetypes,64x64@2x/apps,64x64@2x/devices,64x64@2x/mimetypes,64x64@2x/places,84x84/apps,96x96/apps,96x96/devices,96x96/mimetypes,96x96/places,128x128/devices,128x128/mimetypes,symbolic/actions,symbolic/apps,symbolic/devices,symbolic/emblems,symbolic/emotes,symbolic/mimetypes,symbolic/places,symbolic/status,symbolic/up-to-32 [16x16/apps] -Size=16 Context=Applications +Size=16 Type=Fixed [22x22/apps] -Size=22 Context=Applications +Size=22 Type=Fixed [24x24/apps] -Size=24 Context=Applications +Size=24 Type=Fixed [32x32/apps] -Size=32 Context=Applications +Size=32 Type=Fixed [48x48/apps] -Size=48 Context=Applications +Size=48 Type=Fixed [64x64/apps] -Size=64 Context=Applications +Size=64 Type=Fixed [128x128/apps] -Size=128 Context=Applications -Type=Fixed +Size=128 +MinSize=128 +MaxSize=512 +Type=Scalable [16x16/places] -Size=16 Context=Places +Size=16 Type=Fixed [22x22/places] -Size=22 Context=Places +Size=22 Type=Fixed [24x24/places] -Size=24 Context=Places +Size=24 Type=Fixed [32x32/places] -Size=32 Context=Places +Size=32 Type=Fixed [48x48/places] -Size=48 Context=Places +Size=48 Type=Fixed [64x64/places] -Size=64 Context=Places +Size=64 Type=Fixed [128x128/places] -Size=128 Context=Places +Size=128 +MinSize=128 +MaxSize=512 +Type=Scalable + +[16x16/actions] +Context=Actions +Size=16 Type=Fixed + +[22x22/actions] +Context=Actions +Size=22 +Type=Fixed + +[24x24/actions] +Context=Actions +Size=24 +Type=Fixed + +[32x32/actions] +Context=Actions +Size=32 +Type=Fixed + +[48x48/actions] +Context=Actions +Size=48 +Type=Fixed + +[64x64/actions] +Size=64 +Context=Actions +Type=Fixed + +[128x128/actions] +Size=128 +Context=Actions +Type=Fixed + +[scalable/status] +Size=16 +Context=Status +MinSize=8 +MaxSize=512 +Type=Scalable + +[8x8/emblems] +Context=Emblems +Size=8 +Type=Fixed + +[16x16/devices] +Context=Devices +Size=16 +Type=Fixed + +[16x16/emblems] +Context=Emblems +Size=16 +Type=Fixed + +[16x16/emotes] +Context=Emotes +Size=16 +Type=Fixed + +[16x16/mimetypes] +Context=MimeTypes +Size=16 +Type=Fixed + +[16x16/panel] +Context=Status +Size=16 +Type=Fixed + +[16x16/status] +Context=Status +Size=16 +Type=Fixed + +[16x16@2x/actions] +Context=Actions +Size=16 +Scale=2 +Type=Fixed + +[16x16@2x/apps] +Context=Applications +Size=16 +Scale=2 +Type=Fixed + +[16x16@2x/devices] +Context=Devices +Size=16 +Scale=2 +Type=Fixed + +[16x16@2x/emblems] +Context=Emblems +Size=16 +Scale=2 +Type=Fixed + +[16x16@2x/emotes] +Context=Emotes +Size=16 +Scale=2 +Type=Fixed + +[16x16@2x/mimetypes] +Context=MimeTypes +Size=16 +Scale=2 +Type=Fixed + +[16x16@2x/panel] +Context=Status +Size=16 +Scale=2 +Type=Fixed + +[16x16@2x/places] +Context=Places +Size=16 +Scale=2 +Type=Fixed + +[16x16@2x/status] +Context=Status +Size=16 +Scale=2 +Type=Fixed + +[18x18/actions] +Context=Actions +Size=18 +Type=Fixed + +[18x18@2x/actions] +Context=Actions +Size=18 +Scale=2 +Type=Fixed + +[22x22/animations] +Context=Animations +Size=22 +Type=Fixed + +[22x22/devices] +Context=Devices +Size=22 +Type=Fixed + +[22x22/emblems] +Context=Emblems +Size=22 +Type=Fixed + +[22x22/emotes] +Context=Emotes +Size=22 +Type=Fixed + +[22x22/mimetypes] +Context=MimeTypes +Size=22 +Type=Fixed + +[22x22/panel] +Context=Status +Size=22 +Type=Fixed + +[22x22/status] +Context=Status +Size=22 +Type=Fixed + +[22x22@2x/actions] +Context=Actions +Size=22 +Scale=2 +Type=Fixed + +[22x22@2x/animations] +Context=Animations +Size=22 +Scale=2 +Type=Fixed + +[22x22@2x/apps] +Context=Applications +Size=22 +Scale=2 +Type=Fixed + +[22x22@2x/devices] +Context=Devices +Size=22 +Scale=2 +Type=Fixed + +[22x22@2x/emblems] +Context=Emblems +Size=22 +Scale=2 +Type=Fixed + +[22x22@2x/emotes] +Context=Emotes +Size=22 +Scale=2 +Type=Fixed + +[22x22@2x/mimetypes] +Context=MimeTypes +Size=22 +Scale=2 +Type=Fixed + +[22x22@2x/panel] +Context=Status +Size=22 +Scale=2 +Type=Fixed + +[22x22@2x/places] +Context=Places +Size=22 +Scale=2 +Type=Fixed + +[22x22@2x/status] +Context=Status +Size=22 +Scale=2 +Type=Fixed + +[24x24/animations] +Context=Animations +Size=24 +Type=Fixed + +[24x24/devices] +Context=Devices +Size=24 +Type=Fixed + +[24x24/emblems] +Context=Emblems +Size=24 +Type=Fixed + +[24x24/emotes] +Context=Emotes +Size=24 +Type=Fixed + +[24x24/mimetypes] +Context=MimeTypes +Size=24 +Type=Fixed + +[24x24/panel] +Context=Status +Size=24 +Type=Fixed + +[24x24/status] +Context=Status +Size=24 +Type=Fixed + +[24x24@2x/actions] +Context=Actions +Size=24 +Scale=2 +Type=Fixed + +[24x24@2x/animations] +Context=Animations +Size=24 +Scale=2 +Type=Fixed + +[24x24@2x/apps] +Context=Applications +Size=24 +Scale=2 +Type=Fixed + +[24x24@2x/devices] +Context=Devices +Size=24 +Scale=2 +Type=Fixed + +[24x24@2x/emblems] +Context=Emblems +Size=24 +Scale=2 +Type=Fixed + +[24x24@2x/emotes] +Context=Emotes +Size=24 +Scale=2 +Type=Fixed + +[24x24@2x/mimetypes] +Context=MimeTypes +Size=24 +Scale=2 +Type=Fixed + +[24x24@2x/panel] +Context=Status +Size=24 +Scale=2 +Type=Fixed + +[24x24@2x/places] +Context=Places +Size=24 +Scale=2 +Type=Fixed + +[24x24@2x/status] +Context=Status +Size=24 +Scale=2 +Type=Fixed + +[32x32/devices] +Context=Devices +Size=32 +Type=Fixed + +[32x32/emblems] +Context=Emblems +Size=32 +Type=Fixed + +[32x32/emotes] +Context=Emotes +Size=32 +Type=Fixed + +[32x32/mimetypes] +Context=MimeTypes +Size=32 +Type=Fixed + +[32x32/status] +Context=Status +Size=32 +Type=Fixed + +[32x32@2x/actions] +Context=Actions +Size=32 +Scale=2 +Type=Fixed + +[32x32@2x/apps] +Context=Applications +Size=32 +Scale=2 +Type=Fixed + +[32x32@2x/devices] +Context=Devices +Size=32 +Scale=2 +Type=Fixed + +[32x32@2x/emblems] +Context=Emblems +Size=32 +Scale=2 +Type=Fixed + +[32x32@2x/emotes] +Context=Emotes +Size=32 +Scale=2 +Type=Fixed + +[32x32@2x/mimetypes] +Context=MimeTypes +Size=32 +Scale=2 +Type=Fixed + +[32x32@2x/places] +Context=Places +Size=32 +Scale=2 +Type=Fixed + +[32x32@2x/status] +Context=Status +Size=32 +Scale=2 +Type=Fixed + +[42x42/apps] +Context=Applications +Size=42 +Type=Fixed + +[48x48/devices] +Context=Devices +Size=48 +Type=Fixed + +[48x48/emblems] +Context=Emblems +Size=48 +Type=Fixed + +[48x48/emotes] +Context=Emotes +Size=48 +Type=Fixed + +[48x48/mimetypes] +Context=MimeTypes +Size=48 +Type=Fixed + +[48x48/status] +Context=Status +Size=48 +MinSize=48 +MaxSize=512 +Type=Scalable + +[48x48@2x/actions] +Context=Actions +Size=48 +Scale=2 +Type=Fixed + +[48x48@2x/apps] +Context=Applications +Size=48 +Scale=2 +Type=Fixed + +[48x48@2x/devices] +Context=Devices +Size=48 +Scale=2 +Type=Fixed + +[48x48@2x/emblems] +Context=Emblems +Size=48 +Scale=2 +Type=Fixed + +[48x48@2x/emotes] +Context=Emotes +Size=48 +Scale=2 +Type=Fixed + +[48x48@2x/mimetypes] +Context=MimeTypes +Size=48 +Scale=2 +Type=Fixed + +[48x48@2x/places] +Context=Places +Size=48 +Scale=2 +Type=Fixed + +[48x48@2x/status] +Context=Status +Size=48 +MinSize=48 +MaxSize=512 +Scale=2 +Type=Scalable + +[64x64/devices] +Context=Devices +Size=64 +Type=Fixed + +[64x64/mimetypes] +Context=MimeTypes +Size=64 +Type=Fixed + +[64x64@2x/apps] +Context=Applications +Size=64 +Scale=2 +Type=Fixed + +[64x64@2x/devices] +Context=Devices +Size=64 +Scale=2 +Type=Fixed + +[64x64@2x/mimetypes] +Context=MimeTypes +Size=64 +Scale=2 +Type=Fixed + +[64x64@2x/places] +Context=Places +Size=64 +Scale=2 +Type=Fixed + +[84x84/apps] +Context=Applications +Size=84 +Type=Fixed + +[96x96/apps] +Context=Applications +Size=96 +Type=Fixed + +[96x96/devices] +Context=Devices +Size=96 +Type=Fixed + +[96x96/mimetypes] +Context=MimeTypes +Size=96 +Type=Fixed + +[96x96/places] +Context=Places +Size=96 +Type=Fixed + +[128x128/devices] +Context=Devices +Size=128 +MinSize=128 +MaxSize=512 +Type=Scalable + +[128x128/mimetypes] +Context=MimeTypes +Size=128 +MinSize=128 +MaxSize=512 +Type=Scalable + +[symbolic/actions] +Context=Actions +Size=16 +MinSize=16 +MaxSize=512 +Type=Scalable + +[symbolic/apps] +Context=Applications +Size=16 +MinSize=16 +MaxSize=512 +Type=Scalable + +[symbolic/devices] +Context=Devices +Size=16 +MinSize=16 +MaxSize=512 +Type=Scalable + +[symbolic/emblems] +Context=Emblems +Size=16 +MinSize=16 +MaxSize=512 +Type=Scalable + +[symbolic/emotes] +Context=Emotes +Size=16 +MinSize=16 +MaxSize=512 +Type=Scalable + +[symbolic/mimetypes] +Context=MimeTypes +Size=16 +MinSize=16 +MaxSize=512 +Type=Scalable + +[symbolic/places] +Context=Places +Size=16 +MinSize=16 +MaxSize=512 +Type=Scalable + +[symbolic/status] +Context=Status +Size=16 +MinSize=16 +MaxSize=512 +Type=Scalable + +[symbolic/up-to-32] +Context=Status +Size=16 +MinSize=16 +MaxSize=32 +Type=Scalable diff --git a/assets/themes/NexusOS-xfwm4-src/build.py b/assets/themes/NexusOS-xfwm4-src/build.py old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/apps.rc b/assets/themes/NexusOS/gtk-2.0/apps.rc old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/arrow-down-insens.png b/assets/themes/NexusOS/gtk-2.0/assets/arrow-down-insens.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/arrow-down-prelight.png b/assets/themes/NexusOS/gtk-2.0/assets/arrow-down-prelight.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/arrow-down-small-insens.png b/assets/themes/NexusOS/gtk-2.0/assets/arrow-down-small-insens.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/arrow-down-small-prelight.png b/assets/themes/NexusOS/gtk-2.0/assets/arrow-down-small-prelight.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/arrow-down-small.png b/assets/themes/NexusOS/gtk-2.0/assets/arrow-down-small.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/arrow-down.png b/assets/themes/NexusOS/gtk-2.0/assets/arrow-down.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/arrow-left-insens.png b/assets/themes/NexusOS/gtk-2.0/assets/arrow-left-insens.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/arrow-left-prelight.png b/assets/themes/NexusOS/gtk-2.0/assets/arrow-left-prelight.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/arrow-left.png b/assets/themes/NexusOS/gtk-2.0/assets/arrow-left.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/arrow-right-insens.png b/assets/themes/NexusOS/gtk-2.0/assets/arrow-right-insens.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/arrow-right-prelight.png b/assets/themes/NexusOS/gtk-2.0/assets/arrow-right-prelight.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/arrow-right.png b/assets/themes/NexusOS/gtk-2.0/assets/arrow-right.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/arrow-up-insens.png b/assets/themes/NexusOS/gtk-2.0/assets/arrow-up-insens.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/arrow-up-prelight.png b/assets/themes/NexusOS/gtk-2.0/assets/arrow-up-prelight.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/arrow-up-small-insens.png b/assets/themes/NexusOS/gtk-2.0/assets/arrow-up-small-insens.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/arrow-up-small-prelight.png b/assets/themes/NexusOS/gtk-2.0/assets/arrow-up-small-prelight.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/arrow-up-small.png b/assets/themes/NexusOS/gtk-2.0/assets/arrow-up-small.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/arrow-up.png b/assets/themes/NexusOS/gtk-2.0/assets/arrow-up.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/border.png b/assets/themes/NexusOS/gtk-2.0/assets/border.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/button-active-hover.png b/assets/themes/NexusOS/gtk-2.0/assets/button-active-hover.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/button-active.png b/assets/themes/NexusOS/gtk-2.0/assets/button-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/button-hover.png b/assets/themes/NexusOS/gtk-2.0/assets/button-hover.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/button-insensitive.png b/assets/themes/NexusOS/gtk-2.0/assets/button-insensitive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/button.png b/assets/themes/NexusOS/gtk-2.0/assets/button.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/checkbox-checked-insensitive.png b/assets/themes/NexusOS/gtk-2.0/assets/checkbox-checked-insensitive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/checkbox-checked.png b/assets/themes/NexusOS/gtk-2.0/assets/checkbox-checked.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/checkbox-unchecked-insensitive.png b/assets/themes/NexusOS/gtk-2.0/assets/checkbox-unchecked-insensitive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/checkbox-unchecked.png b/assets/themes/NexusOS/gtk-2.0/assets/checkbox-unchecked.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-border-focus-rtl.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-border-focus-rtl.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-border-focus.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-border-focus.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-border-rtl.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-border-rtl.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-border.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-border.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-button-active-rtl.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-button-active-rtl.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-button-active.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-button-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-button-insensitive-rtl.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-button-insensitive-rtl.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-button-insensitive.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-button-insensitive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-button-rtl.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-button-rtl.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-button.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-button.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-focus-notebook-rtl.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-focus-notebook-rtl.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-focus-notebook.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-focus-notebook.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-focus-rtl.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-focus-rtl.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-focus.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-focus.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-insensitive-notebook-rtl.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-insensitive-notebook-rtl.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-insensitive-notebook.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-insensitive-notebook.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-insensitive-rtl.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-insensitive-rtl.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-insensitive.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-insensitive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-notebook-rtl.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-notebook-rtl.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-notebook.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-notebook.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-rtl.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry-rtl.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/combo-entry.png b/assets/themes/NexusOS/gtk-2.0/assets/combo-entry.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/down-background-disable-rtl.png b/assets/themes/NexusOS/gtk-2.0/assets/down-background-disable-rtl.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/down-background-disable.png b/assets/themes/NexusOS/gtk-2.0/assets/down-background-disable.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/down-background-rtl.png b/assets/themes/NexusOS/gtk-2.0/assets/down-background-rtl.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/down-background.png b/assets/themes/NexusOS/gtk-2.0/assets/down-background.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/entry-active-bg.png b/assets/themes/NexusOS/gtk-2.0/assets/entry-active-bg.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/entry-active-notebook.png b/assets/themes/NexusOS/gtk-2.0/assets/entry-active-notebook.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/entry-active-toolbar.png b/assets/themes/NexusOS/gtk-2.0/assets/entry-active-toolbar.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/entry-background-disabled.png b/assets/themes/NexusOS/gtk-2.0/assets/entry-background-disabled.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/entry-background.png b/assets/themes/NexusOS/gtk-2.0/assets/entry-background.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/entry-bg.png b/assets/themes/NexusOS/gtk-2.0/assets/entry-bg.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/entry-border-active-bg.png b/assets/themes/NexusOS/gtk-2.0/assets/entry-border-active-bg.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/entry-border-bg.png b/assets/themes/NexusOS/gtk-2.0/assets/entry-border-bg.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/entry-disabled-bg.png b/assets/themes/NexusOS/gtk-2.0/assets/entry-disabled-bg.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/entry-disabled-notebook.png b/assets/themes/NexusOS/gtk-2.0/assets/entry-disabled-notebook.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/entry-disabled-toolbar.png b/assets/themes/NexusOS/gtk-2.0/assets/entry-disabled-toolbar.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/entry-notebook.png b/assets/themes/NexusOS/gtk-2.0/assets/entry-notebook.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/entry-toolbar.png b/assets/themes/NexusOS/gtk-2.0/assets/entry-toolbar.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/focus-line.png b/assets/themes/NexusOS/gtk-2.0/assets/focus-line.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/frame-gap-end.png b/assets/themes/NexusOS/gtk-2.0/assets/frame-gap-end.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/frame-gap-start.png b/assets/themes/NexusOS/gtk-2.0/assets/frame-gap-start.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/frame.png b/assets/themes/NexusOS/gtk-2.0/assets/frame.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/handle-h.png b/assets/themes/NexusOS/gtk-2.0/assets/handle-h.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/handle-v.png b/assets/themes/NexusOS/gtk-2.0/assets/handle-v.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/inline-toolbar.png b/assets/themes/NexusOS/gtk-2.0/assets/inline-toolbar.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/line-h.png b/assets/themes/NexusOS/gtk-2.0/assets/line-h.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/line-v.png b/assets/themes/NexusOS/gtk-2.0/assets/line-v.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/menu-arrow-prelight.png b/assets/themes/NexusOS/gtk-2.0/assets/menu-arrow-prelight.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/menu-arrow.png b/assets/themes/NexusOS/gtk-2.0/assets/menu-arrow.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/menu-checkbox-checked-insensitive.png b/assets/themes/NexusOS/gtk-2.0/assets/menu-checkbox-checked-insensitive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/menu-checkbox-checked.png b/assets/themes/NexusOS/gtk-2.0/assets/menu-checkbox-checked.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/menu-checkbox-unchecked-insensitive.png b/assets/themes/NexusOS/gtk-2.0/assets/menu-checkbox-unchecked-insensitive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/menu-checkbox-unchecked.png b/assets/themes/NexusOS/gtk-2.0/assets/menu-checkbox-unchecked.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/menu-radio-checked-insensitive.png b/assets/themes/NexusOS/gtk-2.0/assets/menu-radio-checked-insensitive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/menu-radio-checked.png b/assets/themes/NexusOS/gtk-2.0/assets/menu-radio-checked.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/menu-radio-unchecked-insensitive.png b/assets/themes/NexusOS/gtk-2.0/assets/menu-radio-unchecked-insensitive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/menu-radio-unchecked.png b/assets/themes/NexusOS/gtk-2.0/assets/menu-radio-unchecked.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/menu-separator.png b/assets/themes/NexusOS/gtk-2.0/assets/menu-separator.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/menubar.png b/assets/themes/NexusOS/gtk-2.0/assets/menubar.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/menubar_button.png b/assets/themes/NexusOS/gtk-2.0/assets/menubar_button.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/menuitem.png b/assets/themes/NexusOS/gtk-2.0/assets/menuitem.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/minus.png b/assets/themes/NexusOS/gtk-2.0/assets/minus.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/notebook-gap-horiz.png b/assets/themes/NexusOS/gtk-2.0/assets/notebook-gap-horiz.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/notebook-gap-vert.png b/assets/themes/NexusOS/gtk-2.0/assets/notebook-gap-vert.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/notebook.png b/assets/themes/NexusOS/gtk-2.0/assets/notebook.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/null.png b/assets/themes/NexusOS/gtk-2.0/assets/null.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/pathbar_button_active.png b/assets/themes/NexusOS/gtk-2.0/assets/pathbar_button_active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/pathbar_button_prelight.png b/assets/themes/NexusOS/gtk-2.0/assets/pathbar_button_prelight.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/plus.png b/assets/themes/NexusOS/gtk-2.0/assets/plus.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/progressbar.png b/assets/themes/NexusOS/gtk-2.0/assets/progressbar.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/progressbar_v.png b/assets/themes/NexusOS/gtk-2.0/assets/progressbar_v.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/radio-checked-insensitive.png b/assets/themes/NexusOS/gtk-2.0/assets/radio-checked-insensitive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/radio-checked.png b/assets/themes/NexusOS/gtk-2.0/assets/radio-checked.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/radio-unchecked-insensitive.png b/assets/themes/NexusOS/gtk-2.0/assets/radio-unchecked-insensitive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/radio-unchecked.png b/assets/themes/NexusOS/gtk-2.0/assets/radio-unchecked.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/slider-horiz-active.png b/assets/themes/NexusOS/gtk-2.0/assets/slider-horiz-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/slider-horiz-insens.png b/assets/themes/NexusOS/gtk-2.0/assets/slider-horiz-insens.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/slider-horiz-prelight.png b/assets/themes/NexusOS/gtk-2.0/assets/slider-horiz-prelight.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/slider-horiz.png b/assets/themes/NexusOS/gtk-2.0/assets/slider-horiz.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/slider-insensitive.png b/assets/themes/NexusOS/gtk-2.0/assets/slider-insensitive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/slider-prelight.png b/assets/themes/NexusOS/gtk-2.0/assets/slider-prelight.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/slider-vert-active.png b/assets/themes/NexusOS/gtk-2.0/assets/slider-vert-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/slider-vert-insens.png b/assets/themes/NexusOS/gtk-2.0/assets/slider-vert-insens.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/slider-vert-prelight.png b/assets/themes/NexusOS/gtk-2.0/assets/slider-vert-prelight.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/slider-vert.png b/assets/themes/NexusOS/gtk-2.0/assets/slider-vert.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/slider.png b/assets/themes/NexusOS/gtk-2.0/assets/slider.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/tab-bottom-active.png b/assets/themes/NexusOS/gtk-2.0/assets/tab-bottom-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/tab-left-active.png b/assets/themes/NexusOS/gtk-2.0/assets/tab-left-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/tab-right-active.png b/assets/themes/NexusOS/gtk-2.0/assets/tab-right-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/tab-top-active.png b/assets/themes/NexusOS/gtk-2.0/assets/tab-top-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/toolbar-button-active-hover.png b/assets/themes/NexusOS/gtk-2.0/assets/toolbar-button-active-hover.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/toolbar-button-active.png b/assets/themes/NexusOS/gtk-2.0/assets/toolbar-button-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/toolbar.png b/assets/themes/NexusOS/gtk-2.0/assets/toolbar.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/tree_header.png b/assets/themes/NexusOS/gtk-2.0/assets/tree_header.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/trough-horizontal-active.png b/assets/themes/NexusOS/gtk-2.0/assets/trough-horizontal-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/trough-horizontal.png b/assets/themes/NexusOS/gtk-2.0/assets/trough-horizontal.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/trough-progressbar.png b/assets/themes/NexusOS/gtk-2.0/assets/trough-progressbar.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/trough-progressbar_v.png b/assets/themes/NexusOS/gtk-2.0/assets/trough-progressbar_v.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/trough-scrollbar-horiz.png b/assets/themes/NexusOS/gtk-2.0/assets/trough-scrollbar-horiz.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/trough-scrollbar-vert.png b/assets/themes/NexusOS/gtk-2.0/assets/trough-scrollbar-vert.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/trough-vertical-active.png b/assets/themes/NexusOS/gtk-2.0/assets/trough-vertical-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/trough-vertical.png b/assets/themes/NexusOS/gtk-2.0/assets/trough-vertical.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/up-background-disable-rtl.png b/assets/themes/NexusOS/gtk-2.0/assets/up-background-disable-rtl.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/up-background-disable.png b/assets/themes/NexusOS/gtk-2.0/assets/up-background-disable.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/up-background-rtl.png b/assets/themes/NexusOS/gtk-2.0/assets/up-background-rtl.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/assets/up-background.png b/assets/themes/NexusOS/gtk-2.0/assets/up-background.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/gtkrc b/assets/themes/NexusOS/gtk-2.0/gtkrc old mode 100644 new mode 100755 index d5c5ebb..0144af5 --- a/assets/themes/NexusOS/gtk-2.0/gtkrc +++ b/assets/themes/NexusOS/gtk-2.0/gtkrc @@ -12,7 +12,7 @@ gtk-color-scheme = "insensitive_button_fg_color: #565656" gtk-color-scheme = "notebook_bg: #242424" gtk-color-scheme = "dark_sidebar_bg: #3b3b3b" gtk-color-scheme = "link_color: #5294e2" -gtk-color-scheme = "menu_bg: #333333" +gtk-color-scheme = "menu_bg: #2a1d33" gtk-color-scheme = "menu_fg: #dedede" gtk-icon-sizes = "gtk-button=16,16" # This makes button icons smaller. diff --git a/assets/themes/NexusOS/gtk-2.0/main.rc b/assets/themes/NexusOS/gtk-2.0/main.rc old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/menubar-toolbar.rc b/assets/themes/NexusOS/gtk-2.0/menubar-toolbar.rc old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/panel.rc b/assets/themes/NexusOS/gtk-2.0/panel.rc old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-2.0/xfce-notify.rc b/assets/themes/NexusOS/gtk-2.0/xfce-notify.rc old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-3.0/buttons-entries.css b/assets/themes/NexusOS/gtk-3.0/buttons-entries.css old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-3.0/colors.css b/assets/themes/NexusOS/gtk-3.0/colors.css old mode 100644 new mode 100755 index 74e60ee..ea8cbce --- a/assets/themes/NexusOS/gtk-3.0/colors.css +++ b/assets/themes/NexusOS/gtk-3.0/colors.css @@ -12,7 +12,7 @@ @define-color brand_purple_dark #5e0066; /* ── Foundation (dark) ─────────────────────────────── */ -@define-color base_bg #16181a; /* deepest background */ +@define-color base_bg #1e1526; /* deepest background — dark purple */ @define-color surface_bg #1f2225; /* cards, popovers, entries */ @define-color surface_bg_alt #2a2e32; /* alt rows, headerbars */ @define-color overlay_bg #2e3236; /* tooltips, raised surfaces */ diff --git a/assets/themes/NexusOS/gtk-3.0/dialogs-infobars.css b/assets/themes/NexusOS/gtk-3.0/dialogs-infobars.css old mode 100644 new mode 100755 index 82fd921..cf44439 --- a/assets/themes/NexusOS/gtk-3.0/dialogs-infobars.css +++ b/assets/themes/NexusOS/gtk-3.0/dialogs-infobars.css @@ -290,6 +290,16 @@ frame > border, padding: 0; } +/* Breathing room so group content doesn't sit flush against the + frame border. XFCE settings dialogs indent frame content 12px on + the left (the HIG sub-section indent), so the left padding is + dropped to 0 and the right bumped to 12px to keep the gap even. + Scoped to real GtkFrames — not the broad .frame class, which also + lands on scrolledwindows. */ +frame > border { + padding: 6px 12px 6px 0; +} + frame > label, .frame > label { color: @text_secondary; diff --git a/assets/themes/NexusOS/gtk-3.0/gtk-dark.css b/assets/themes/NexusOS/gtk-3.0/gtk-dark.css old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-3.0/gtk.css b/assets/themes/NexusOS/gtk-3.0/gtk.css old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-3.0/headerbars.css b/assets/themes/NexusOS/gtk-3.0/headerbars.css old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-3.0/lists-sidebars.css b/assets/themes/NexusOS/gtk-3.0/lists-sidebars.css old mode 100644 new mode 100755 index 3d77fb4..99e4bfa --- a/assets/themes/NexusOS/gtk-3.0/lists-sidebars.css +++ b/assets/themes/NexusOS/gtk-3.0/lists-sidebars.css @@ -99,7 +99,7 @@ list.rich-list row:selected .subtitle { .sidebar, stacksidebar, stacksidebar.sidebar { - background-color: @surface_bg; + background-color: @base_bg; color: @text_primary; border-right: 1px solid @border; padding: 0; @@ -113,7 +113,7 @@ stacksidebar:dir(rtl) { .sidebar:backdrop, stacksidebar:backdrop { - background-color: @surface_bg; + background-color: @base_bg; color: @text_secondary; } @@ -162,7 +162,7 @@ stacksidebar list row:selected:hover { /* ── Places sidebar (file managers, GtkFileChooser) ──────── */ placessidebar { - background-color: @surface_bg; + background-color: @base_bg; color: @text_primary; } diff --git a/assets/themes/NexusOS/gtk-3.0/menus-popovers.css b/assets/themes/NexusOS/gtk-3.0/menus-popovers.css old mode 100644 new mode 100755 index 92c61b6..f7dcd27 --- a/assets/themes/NexusOS/gtk-3.0/menus-popovers.css +++ b/assets/themes/NexusOS/gtk-3.0/menus-popovers.css @@ -55,8 +55,8 @@ menu, menu menuitem, .menu menuitem, .context-menu menuitem { - padding: 2px 10px; - min-height: 10px; + padding: 1px 10px; + min-height: 0; color: @text_primary; background-color: transparent; text-shadow: none; @@ -64,13 +64,15 @@ menu menuitem, /* Normalize the optional menu icon (gtk-menu-images=true) so an icon'd row — e.g. xfdesktop's "Desktop Settings…" — is the same height as a - text-only row instead of being sized by the raw icon + GTK defaults. */ + text-only row instead of being sized by the raw icon + GTK defaults. + Kept tight because nm-applet's wifi list grows long and the menu is + bounded by screen height — every px per row matters. */ menu menuitem image, .menu menuitem image, .context-menu menuitem image { - min-width: 16px; - min-height: 16px; - margin: 0 8px 0 0; + min-width: 14px; + min-height: 14px; + margin: 0 6px 0 0; -gtk-icon-transform: scale(1); } @@ -79,7 +81,14 @@ menu menuitem box, .context-menu menuitem box { margin: 0; padding: 0; - border-spacing: 0; + /* border-spacing not valid in GTK3; gap managed by margin/padding above */ +} + +/* nm-applet wraps the Wi-Fi list in a GtkScrolledWindow inside the menu. + GTK caps it programmatically; min-height overrides that cap so all + networks are visible without scrolling. */ +menu scrolledwindow { + min-height: 800px; } menu menuitem:hover, diff --git a/assets/themes/NexusOS/gtk-3.0/notebooks.css b/assets/themes/NexusOS/gtk-3.0/notebooks.css old mode 100644 new mode 100755 index 6081125..56c9f6d --- a/assets/themes/NexusOS/gtk-3.0/notebooks.css +++ b/assets/themes/NexusOS/gtk-3.0/notebooks.css @@ -51,8 +51,8 @@ notebook > header > tabs > tab { background-color: transparent; background-image: none; color: @text_secondary; - padding: 8px 14px; - min-height: 28px; + padding: 4px 12px; + min-height: 20px; border: none; border-radius: 0; transition: background-color 120ms ease, diff --git a/assets/themes/NexusOS/gtk-3.0/polish.css b/assets/themes/NexusOS/gtk-3.0/polish.css old mode 100644 new mode 100755 index 3391175..8d1eae9 --- a/assets/themes/NexusOS/gtk-3.0/polish.css +++ b/assets/themes/NexusOS/gtk-3.0/polish.css @@ -13,7 +13,7 @@ combobox button { } combobox button.combo { - padding: 4px 10px; + padding: 2px 8px; border: 1px solid @border_strong; border-radius: 6px; } @@ -37,6 +37,7 @@ combobox arrow { color: @text_secondary; min-width: 12px; min-height: 12px; + margin-left: 6px; -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); } @@ -491,3 +492,78 @@ icon:disabled { -gtk-icon-effect: dim; opacity: 0.5; } + +/* ── Nemo file manager ───────────────────────────────────── */ +/* Compact the top toolbar and the bottom status bar. */ +.nemo-window .primary-toolbar, +.nemo-window statusbar { + padding-top: 0; + padding-bottom: 0; + min-height: 0; +} + +/* Slimmer buttons across the toolbar/statusbar chrome. */ +.nemo-window .primary-toolbar button, +.nemo-window statusbar button, +.nemo-window statusbar radiobutton { + min-height: 0; + padding-top: 3px; + padding-bottom: 3px; +} + +/* The zoom slider's tall padding inflates the bottom bar. */ +.nemo-window statusbar scale { + min-height: 0; + padding-top: 2px; + padding-bottom: 2px; +} + +/* The item/size readout sits in a plain GtkFrame — give it tight, + symmetric padding (the group-frame rule's asymmetric padding is + wrong for it and shoves the text off-centre) and a larger font. */ +.nemo-window statusbar frame > border { + padding: 1px 8px; +} + +.nemo-window statusbar label { + font-size: 11pt; +} + +/* ── Desktop icon labels (xfdesktop 4.20) ────────────────── + xfdesktop ships its own built-in CSS for the desktop icon + view. Its label rule is: + XfdesktopIconView.view.label { color: @theme_selected_fg_color; } + In our palette theme_selected_fg_color resolves to #0a0a00 + (text_on_accent — meant to sit on lime-green), so unselected + desktop labels render near-black and vanish on the dark + wallpaper. Override with the exact selectors xfdesktop uses + (CSS node name is the GType name "XfdesktopIconView", the + label is a ".view.label" sub-node) so the cascade wins. */ +XfdesktopIconView.view.label { + color: @text_primary; + background-color: transparent; + border-radius: 3px; + text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.9); +} + +/* Selected icon: purple chip behind the (white) label. */ +XfdesktopIconView.view.label:selected { + color: @selected_fg; + background-color: @selected_bg; + text-shadow: none; +} + +XfdesktopIconView.view.label:selected:backdrop { + background-color: alpha(@selected_bg, 0.5); +} + +/* Keyboard-cursor / active item tint. */ +XfdesktopIconView.view:active { + color: @selected_bg; +} + +/* Rubber-band marquee when drag-selecting icons. */ +XfdesktopIconView.rubberband { + border: 1px solid @selected_bg; + background-color: alpha(@selected_bg, 0.2); +} diff --git a/assets/themes/NexusOS/gtk-3.0/scrollbars-progress.css b/assets/themes/NexusOS/gtk-3.0/scrollbars-progress.css old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/gtk-3.0/toggles-sliders.css b/assets/themes/NexusOS/gtk-3.0/toggles-sliders.css old mode 100644 new mode 100755 index 7da4402..6cf0281 --- a/assets/themes/NexusOS/gtk-3.0/toggles-sliders.css +++ b/assets/themes/NexusOS/gtk-3.0/toggles-sliders.css @@ -207,6 +207,19 @@ radiobutton:disabled label { color: @text_disabled; } +/* Gap between the indicator and its label. Without this the label sits + flush against the box. first/last-child keeps it correct under RTL; + :only-child excludes indicator-only (label-less) check/radio buttons. */ +checkbutton check:first-child:not(:only-child), +radiobutton radio:first-child:not(:only-child) { + margin-right: 6px; +} + +checkbutton check:last-child:not(:only-child), +radiobutton radio:last-child:not(:only-child) { + margin-left: 6px; +} + /* ── Scale / slider (GtkScale) ───────────────────────────── */ scale { diff --git a/assets/themes/NexusOS/index.theme b/assets/themes/NexusOS/index.theme old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/bottom-active.png b/assets/themes/NexusOS/xfwm4/bottom-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/bottom-inactive.png b/assets/themes/NexusOS/xfwm4/bottom-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/bottom-left-active.png b/assets/themes/NexusOS/xfwm4/bottom-left-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/bottom-left-inactive.png b/assets/themes/NexusOS/xfwm4/bottom-left-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/bottom-right-active.png b/assets/themes/NexusOS/xfwm4/bottom-right-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/bottom-right-inactive.png b/assets/themes/NexusOS/xfwm4/bottom-right-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/close-active.png b/assets/themes/NexusOS/xfwm4/close-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/close-inactive.png b/assets/themes/NexusOS/xfwm4/close-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/close-prelight.png b/assets/themes/NexusOS/xfwm4/close-prelight.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/close-pressed.png b/assets/themes/NexusOS/xfwm4/close-pressed.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/hide-active.png b/assets/themes/NexusOS/xfwm4/hide-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/hide-inactive.png b/assets/themes/NexusOS/xfwm4/hide-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/hide-prelight.png b/assets/themes/NexusOS/xfwm4/hide-prelight.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/hide-pressed.png b/assets/themes/NexusOS/xfwm4/hide-pressed.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/left-active.png b/assets/themes/NexusOS/xfwm4/left-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/left-inactive.png b/assets/themes/NexusOS/xfwm4/left-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/maximize-active.png b/assets/themes/NexusOS/xfwm4/maximize-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/maximize-inactive.png b/assets/themes/NexusOS/xfwm4/maximize-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/maximize-prelight.png b/assets/themes/NexusOS/xfwm4/maximize-prelight.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/maximize-pressed.png b/assets/themes/NexusOS/xfwm4/maximize-pressed.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/maximize-toggled-active.png b/assets/themes/NexusOS/xfwm4/maximize-toggled-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/maximize-toggled-inactive.png b/assets/themes/NexusOS/xfwm4/maximize-toggled-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/maximize-toggled-prelight.png b/assets/themes/NexusOS/xfwm4/maximize-toggled-prelight.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/maximize-toggled-pressed.png b/assets/themes/NexusOS/xfwm4/maximize-toggled-pressed.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/menu-active.png b/assets/themes/NexusOS/xfwm4/menu-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/menu-inactive.png b/assets/themes/NexusOS/xfwm4/menu-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/menu-pressed.png b/assets/themes/NexusOS/xfwm4/menu-pressed.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/right-active.png b/assets/themes/NexusOS/xfwm4/right-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/right-inactive.png b/assets/themes/NexusOS/xfwm4/right-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/shade-active.png b/assets/themes/NexusOS/xfwm4/shade-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/shade-inactive.png b/assets/themes/NexusOS/xfwm4/shade-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/shade-pressed.png b/assets/themes/NexusOS/xfwm4/shade-pressed.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/stick-active.png b/assets/themes/NexusOS/xfwm4/stick-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/stick-inactive.png b/assets/themes/NexusOS/xfwm4/stick-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/stick-pressed.png b/assets/themes/NexusOS/xfwm4/stick-pressed.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/themerc b/assets/themes/NexusOS/xfwm4/themerc old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/title-1-active.png b/assets/themes/NexusOS/xfwm4/title-1-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/title-1-inactive.png b/assets/themes/NexusOS/xfwm4/title-1-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/title-2-active.png b/assets/themes/NexusOS/xfwm4/title-2-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/title-2-inactive.png b/assets/themes/NexusOS/xfwm4/title-2-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/title-3-active.png b/assets/themes/NexusOS/xfwm4/title-3-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/title-3-inactive.png b/assets/themes/NexusOS/xfwm4/title-3-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/title-4-active.png b/assets/themes/NexusOS/xfwm4/title-4-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/title-4-inactive.png b/assets/themes/NexusOS/xfwm4/title-4-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/title-5-active.png b/assets/themes/NexusOS/xfwm4/title-5-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/title-5-inactive.png b/assets/themes/NexusOS/xfwm4/title-5-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/top-left-active.png b/assets/themes/NexusOS/xfwm4/top-left-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/top-left-inactive.png b/assets/themes/NexusOS/xfwm4/top-left-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/top-right-active.png b/assets/themes/NexusOS/xfwm4/top-right-active.png old mode 100644 new mode 100755 diff --git a/assets/themes/NexusOS/xfwm4/top-right-inactive.png b/assets/themes/NexusOS/xfwm4/top-right-inactive.png old mode 100644 new mode 100755 diff --git a/assets/themes/README.md b/assets/themes/README.md old mode 100644 new mode 100755 index 7572e2d..723f52c --- a/assets/themes/README.md +++ b/assets/themes/README.md @@ -10,8 +10,8 @@ Lime-green + purple, dark, with tightened menus. | `NexusOS/` | GTK2/3 + xfwm4 theme. **GTK3 CSS in `NexusOS/gtk-3.0/` is hand-maintained** (no build step). | | `NexusOS/gtk-3.0/colors.css` | All color tokens. Edit colors here, not in the widget files. | | `NexusOS-icons/` | Icon theme (inherits `Papirus-Dark`). | -| `../../management/Mint-Y-Nexus/` | XFCE app-icon set. | | `_palette.py` + `*-src/build.py` | Regenerate gtk2 / icons / xfwm4 — **NOT gtk-3.0**. | +| `NexusOS-icons-src/build_actions.py` | Regenerate the `actions` icons (logoff dialog / Whisker session buttons). | | `install-theme.sh` | Idempotent restore of all the *wiring* (see below). | | `gtk3-user-overrides.css` | Symlinked to `~/.config/gtk-3.0/gtk.css`. | @@ -20,7 +20,7 @@ Lime-green + purple, dark, with tightened menus. The files above are just *source*. What makes the desktop use them lives outside this folder and is recreated by `install-theme.sh`: -- Symlinks: `~/.themes/NexusOS`, `~/.icons/NexusOS`, `~/.icons/Mint-Y-Nexus`, +- Symlinks: `~/.themes/NexusOS`, `~/.icons/NexusOS`, `~/.config/gtk-3.0/gtk.css`. - xfconf: `xsettings` (`/Net/ThemeName`, `/Net/IconThemeName`, `/Gtk/CursorThemeName`, `/Gtk/FontName`) and `xfwm4 /general/theme`. @@ -43,9 +43,10 @@ Some apps cache the theme at startup and need a full restart. ## Backup / restore - `bin/backup.sh` (run at home): snapshots live wiring into - `restore-snapshot/`, then lftp-mirrors the repo to the router. -- `bin/restore.sh` / `bin/restore-full.sh`: pull back, rebuild - venv/frontend, then auto-run `install-theme.sh`. + `restore-snapshot/`, then rsyncs the repo to the router. +- `bin/restore.sh`: pull back, rebuild venv/frontend, then auto-run + `install-theme.sh`. Use `bin/restore.sh --checksum` for a content-only + dry-run. - The repo is git-tracked; **`backup.sh` mirrors `.git` too**, so if a bulk `git add` is ever interrupted run `git gc --prune=now` before backing up (a killed `git add -A` once left 4 GB of loose objects). @@ -78,3 +79,100 @@ Some apps cache the theme at startup and need a full restart. 7. **`.gitignore` does not support trailing/inline comments.** A `Dir/ # note` line matches nothing — comments must be on their own line. (This once let a `git add` start ingesting the 28 GB venv.) + +--- + +## KDE Plasma migration (`KDE/`) + +All KDE Plasma theme assets live under `KDE/`. These are built to mirror the NexusOS +visual design — same palette, same flat aesthetic — in KDE-native formats. The GTK 3 +theme and icon theme carry over unchanged. + +``` +KDE/ + install-plasma.sh # idempotent installer (run once after switching) + generate_plasma_colors.py # regenerate NexusOS.colors from _palette.py + + plasma/NexusOS/ # Plasma shell theme (panel, widgets, tooltips) + NexusOS.colors # KDE color scheme — source of truth for Qt/KDE colors + colors # Plasma shell palette overrides + widgets/*.svg # 9-slice SVGs: panel-background, tooltip, button, etc. + opaque/widgets/ # compositor-off variants + + kvantum/NexusOS/ # Qt5/Qt6 app styling + NexusOS.kvconfig # widget geometry + element references + NexusOS.svg # flat SVG widget drawings + + aurorae/NexusOS/ # KWin window decoration + NexusOSrc # titlebar height, button layout, colors + decoration.svg # window frame (9-slice) + close/maximize/minimize/restore/alldesktops/keepabove/keepbelow/shade.svg + + sddm/NexusOS-QML/ # Login screen (already deployed; palette now aligned) + Main.qml # QML login UI — NexusOS purple/green palette + assets/background.svg assets/logo.png + + kscreenlocker/NexusOS/ # Runtime screen lock (Meta+L in KDE) + contents/ui/LockScreenUi.qml # matches SDDM aesthetic; kscreenlocker API + + konsole/ + NexusOS.colorscheme # general terminal colors + NexusOS-Promethean.colorscheme # deep purple — matches promethean-kitty.conf + Promethean.profile # Konsole profile: rcfile, cursor, color scheme +``` + +### What survives the switch unchanged + +| Asset | Status | +|---|---| +| `NexusOS/gtk-3.0/` (all CSS) | GTK apps on Plasma use it as-is | +| `NexusOS-icons/` | Freedesktop spec — works on any DE | +| `_palette.py` / `colors.css` | Source of truth; KDE palette generated from it | +| Plymouth boot splash | System-level; unaffected by DE switch | + +### Installing before the switch (XFCE) + +**Testable now:** +```bash +# Kvantum (Qt5 app styling — works on XFCE) +sudo apt install qt5-style-kvantum qt5-style-kvantum-themes +ln -sfn "$PWD/assets/themes/KDE/kvantum/NexusOS" ~/.config/Kvantum/NexusOS +kvantummanager --set NexusOS # then open any Qt5 app + +# Konsole colors (works on XFCE if konsole installed) +cp assets/themes/KDE/konsole/*.colorscheme assets/themes/KDE/konsole/Promethean.profile \ + ~/.local/share/konsole/ + +# SDDM palette (already live; installer will redeploy if needed) +``` + +**Needs KDE session:** Aurorae decoration, Plasma shell theme, kscreenlocker. + +### First boot into Plasma + +```bash +assets/themes/KDE/install-plasma.sh +``` + +Then in System Settings → Appearance verify: +- Global Theme: (manual if needed — set individual components below) +- Colors: NexusOS +- Application Style: Kvantum-dark +- Plasma Style: NexusOS +- Window Decorations: NexusOS +- Icons: NexusOS + +Test lock screen: **Meta+L** + +### Promethean Terminal on KDE + +`bin/promethean/promethean-terminal.desktop` now uses `konsole --profile Promethean`. +The Promethean Konsole profile configures the rcfile, deep-purple color scheme, +and `#b040c0` cursor. The kitty fallback line is commented out in the `.desktop`. + +### Palette alignment note + +The SDDM `NexusOS-QML` theme previously used a navy/cyan palette (`#0f1626` / `#00d4ff`). +It has been updated to the NexusOS palette (`#1e1526` / `#8cc63f`) for consistency. +The live SDDM at `/usr/share/sddm/themes/NexusOS-QML/` still has the old colors; +`install-plasma.sh` will replace it. diff --git a/assets/themes/_palette.py b/assets/themes/_palette.py old mode 100644 new mode 100755 index 143ad87..eba09ec --- a/assets/themes/_palette.py +++ b/assets/themes/_palette.py @@ -13,7 +13,7 @@ BRAND_PURPLE_LIGHT = "a232a8" BRAND_PURPLE_DARK = "5e0066" # Foundation -BASE_BG = "16181a" +BASE_BG = "1e1526" SURFACE_BG = "1f2225" SURFACE_BG_ALT = "2a2e32" OVERLAY_BG = "2e3236" diff --git a/assets/themes/gtk3-user-overrides.css b/assets/themes/gtk3-user-overrides.css old mode 100644 new mode 100755 diff --git a/assets/themes/install-theme.sh b/assets/themes/install-theme.sh index 6dfe370..5de40e1 100755 --- a/assets/themes/install-theme.sh +++ b/assets/themes/install-theme.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # install-theme.sh — restore the NexusOS desktop theme wiring. # -# The theme *assets* live in this repo (assets/themes/, management/Mint-Y-Nexus/). +# The theme *assets* live in this repo (assets/themes/). # This script recreates everything OUTSIDE the repo that makes the desktop # actually use them: symlinks, xfconf (xsettings + xfwm4), and the canonical # lines in the GTK 3/4 settings.ini files. @@ -75,7 +75,6 @@ echo "NexusOS theme — restoring wiring from $REPO" echo "[1/4] Symlinks" link "$REPO/assets/themes/NexusOS" "$HOME/.themes/NexusOS" link "$REPO/assets/themes/NexusOS-icons" "$HOME/.icons/NexusOS" -link "$REPO/management/Mint-Y-Nexus" "$HOME/.icons/Mint-Y-Nexus" link "$REPO/assets/themes/gtk3-user-overrides.css" "$HOME/.config/gtk-3.0/gtk.css" echo "[2/4] xfconf (xsettings + xfwm4)" @@ -95,22 +94,34 @@ for f in "$HOME/.config/gtk-3.0/settings.ini" "$HOME/.config/gtk-4.0/settings.in set_ini "$f" gtk-font-name "$FONT_NAME" done -echo "[4/4] Sanity" -for dir in /usr/share/icons ~/.icons ~/.local/share/icons; do - [[ -d "$dir/$CURSOR_THEME" ]] && { say "ok cursor '$CURSOR_THEME' found"; CUR_OK=1; break; } -done -[[ "${CUR_OK:-0}" == 1 ]] || say "WARN cursor theme '$CURSOR_THEME' not installed — will fall back" +echo "[4/4] Icon caches" +gtk-update-icon-cache -f -t "$HOME/.icons/NexusOS" 2>/dev/null \ + && say "ok NexusOS icon cache rebuilt" \ + || say "WARN NexusOS icon cache rebuild failed" INH="$(grep -i '^Inherits=' "$REPO/assets/themes/NexusOS-icons/index.theme" 2>/dev/null | cut -d= -f2)" if [[ -n "$INH" ]]; then INH_OK=0 for dir in /usr/share/icons ~/.icons ~/.local/share/icons; do - [[ -d "$dir/$INH" ]] && { INH_OK=1; break; } + [[ -d "$dir/$INH" ]] && { INH_OK=1; INH_DIR="$dir/$INH"; break; } done - [[ "$INH_OK" == 1 ]] \ - && say "ok icon fallback '$INH' found" \ - || say "WARN icon fallback '$INH' not installed — icons may be missing" + if [[ "$INH_OK" == 1 ]]; then + say "ok icon fallback '$INH' found" + if sudo -n gtk-update-icon-cache -f -t "$INH_DIR" 2>/dev/null; then + say "ok $INH icon cache rebuilt" + else + say "note $INH cache skipped (no passwordless sudo — run manually if needed)" + fi + else + say "WARN icon fallback '$INH' not installed — icons may be missing" + fi fi +echo "[5/5] Sanity" +for dir in /usr/share/icons ~/.icons ~/.local/share/icons; do + [[ -d "$dir/$CURSOR_THEME" ]] && { say "ok cursor '$CURSOR_THEME' found"; CUR_OK=1; break; } +done +[[ "${CUR_OK:-0}" == 1 ]] || say "WARN cursor theme '$CURSOR_THEME' not installed — will fall back" + if [[ "$RELOAD" == 1 ]] && command -v xfconf-query >/dev/null && [[ -n "${DISPLAY:-}" ]]; then xfconf-query -c xsettings -p /Net/ThemeName -s "Adwaita" 2>/dev/null || true xfconf-query -c xsettings -p /Net/ThemeName -s "$GTK_THEME" 2>/dev/null || true diff --git a/assets/themes/restore-snapshot/gtk-3.0-settings.ini b/assets/themes/restore-snapshot/gtk-3.0-settings.ini old mode 100644 new mode 100755 index dd2d180..2864a2f --- a/assets/themes/restore-snapshot/gtk-3.0-settings.ini +++ b/assets/themes/restore-snapshot/gtk-3.0-settings.ini @@ -3,12 +3,12 @@ gtk-application-prefer-dark-theme=true gtk-button-images=true gtk-cursor-theme-name=DMZ-White gtk-cursor-theme-size=24 -gtk-decoration-layout=icon:minimize,maximize,close +gtk-decoration-layout=close,minimize,maximize: gtk-enable-animations=true gtk-font-name=Ubuntu 10 gtk-icon-theme-name=NexusOS -gtk-menu-images=false -# gtk-modules=colorreload-gtk-module:window-decorations-gtk-module +gtk-menu-images=true +gtk-modules=colorreload-gtk-module gtk-primary-button-warps-slider=false gtk-theme-name=NexusOS gtk-toolbar-style=3 diff --git a/assets/themes/restore-snapshot/gtk-4.0-settings.ini b/assets/themes/restore-snapshot/gtk-4.0-settings.ini old mode 100644 new mode 100755 index 4dd0147..90b2453 --- a/assets/themes/restore-snapshot/gtk-4.0-settings.ini +++ b/assets/themes/restore-snapshot/gtk-4.0-settings.ini @@ -1,12 +1,12 @@ [Settings] gtk-application-prefer-dark-theme=true -gtk-theme-name=NexusOS gtk-cursor-theme-name=DMZ-White gtk-cursor-theme-size=24 -gtk-decoration-layout=icon:minimize,maximize,close +gtk-decoration-layout=close,minimize,maximize: gtk-enable-animations=true gtk-font-name=Ubuntu 10 gtk-icon-theme-name=NexusOS -gtk-modules=colorreload-gtk-module:window-decorations-gtk-module +gtk-modules=colorreload-gtk-module gtk-primary-button-warps-slider=false +gtk-theme-name=NexusOS gtk-xft-dpi=98304 diff --git a/assets/themes/restore-snapshot/xfconf.txt b/assets/themes/restore-snapshot/xfconf.txt old mode 100644 new mode 100755 index 10457a9..7693eb8 --- a/assets/themes/restore-snapshot/xfconf.txt +++ b/assets/themes/restore-snapshot/xfconf.txt @@ -1,4 +1,4 @@ -# NexusOS live desktop wiring — snapshot 2026-05-18T13:42:57-05:00 +# NexusOS live desktop wiring — snapshot 2026-06-26T18:32:17-05:00 # Reference only. Restore is done by assets/themes/install-theme.sh xsettings /Net/ThemeName = NexusOS xsettings /Net/IconThemeName = NexusOS