From 98aeafc4f00ff6697c4751be519c403d496a7d95 Mon Sep 17 00:00:00 2001 From: nmemmert <67961292+nmemmert@users.noreply.github.com> Date: Thu, 23 Jul 2026 14:15:27 -0400 Subject: [PATCH] Phase 3: screenshot hotkeys, clipboard history, Papirus icon theme MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Screenshots (PrintScreen / Shift+PrintScreen): - PrintScreen → full screenshot saved to ~/Pictures via scrot - Shift+PrintScreen → interactive region select via scrot -s - Both send a dunst notification on save - scrot added to packages Clipboard manager: - Replace janky PRIMARY/CLIPBOARD sync loop with parcellite - parcellite provides clipboard history, survives app close, shows a tray icon for browsing past entries - parcellite added to packages Icon theme: - Switch from Adwaita to Papirus-Dark across GTK2, GTK3 settings, and theme index.theme - papirus-icon-theme added to packages Also fix remaining stale sky* references in menu.c (skywallpaper, pkill skywm) and events.c (skylauncher). Co-Authored-By: Claude Sonnet 4.6 --- iso/docker/entrypoint.sh | 14 ++++++-------- themes/OrionOS/gtk-2.0/gtkrc | 2 +- themes/OrionOS/index.theme | 2 +- wm/src/events.c | 12 +++++++++++- wm/src/menu.c | 6 +++--- 5 files changed, 22 insertions(+), 14 deletions(-) diff --git a/iso/docker/entrypoint.sh b/iso/docker/entrypoint.sh index 970d45b..fa292fe 100755 --- a/iso/docker/entrypoint.sh +++ b/iso/docker/entrypoint.sh @@ -84,6 +84,9 @@ xfce4-power-manager bluez blueman xclip +scrot +parcellite +papirus-icon-theme zip unzip p7zip @@ -283,7 +286,7 @@ cat > "$HOME/.config/gtk-3.0/settings.ini" < "$HOME/.gtkrc-2.0" </dev/null; then - while true; do - xclip -o -sel primary 2>/dev/null | xclip -i -sel clipboard 2>/dev/null || true - sleep 1 - done & -fi +# Clipboard manager: history survives app close, tray icon for paste menu +parcellite & # Screen locker daemon (locks after idle timeout) xscreensaver -no-splash & diff --git a/themes/OrionOS/gtk-2.0/gtkrc b/themes/OrionOS/gtk-2.0/gtkrc index 1dcfdbd..8bfabef 100644 --- a/themes/OrionOS/gtk-2.0/gtkrc +++ b/themes/OrionOS/gtk-2.0/gtkrc @@ -64,7 +64,7 @@ style "entry" { class "GtkEntry" style "entry" gtk-theme-name = "OrionOS" -gtk-icon-theme-name = "Adwaita" +gtk-icon-theme-name = "Papirus-Dark" gtk-font-name = "Sans 10" gtk-cursor-theme-name = "DMZ-White" gtk-button-images = 0 diff --git a/themes/OrionOS/index.theme b/themes/OrionOS/index.theme index b8bed3d..08e6fbc 100644 --- a/themes/OrionOS/index.theme +++ b/themes/OrionOS/index.theme @@ -7,6 +7,6 @@ Encoding=UTF-8 [X-GNOME-Metatheme] GtkTheme=OrionOS MetacityTheme=OrionOS -IconTheme=Adwaita +IconTheme=Papirus-Dark CursorTheme=DMZ-White ButtonLayout=close:minimize,maximize diff --git a/wm/src/events.c b/wm/src/events.c index acf4909..031b4fe 100644 --- a/wm/src/events.c +++ b/wm/src/events.c @@ -286,7 +286,17 @@ void on_key_press(WM *wm, XKeyEvent *e) { /* Alt+F1 — launcher */ if ((e->state & Mod1Mask) && sym == XK_F1) - system("skylauncher &"); + system("orionlauncher &"); + + /* PrintScreen — full screenshot to ~/Pictures */ + if (sym == XK_Print) { + if (e->state & ShiftMask) + system("mkdir -p ~/Pictures && scrot -s ~/Pictures/screenshot_%Y%m%d_%H%M%S.png" + " && notify-send 'Screenshot' 'Region saved to ~/Pictures' &"); + else + system("mkdir -p ~/Pictures && scrot ~/Pictures/screenshot_%Y%m%d_%H%M%S.png" + " && notify-send 'Screenshot' 'Saved to ~/Pictures' &"); + } /* Super+Left — snap left */ if ((e->state & Mod4Mask) && sym == XK_Left && wm->focused) diff --git a/wm/src/menu.c b/wm/src/menu.c index 2d618a6..02da59d 100644 --- a/wm/src/menu.c +++ b/wm/src/menu.c @@ -15,10 +15,10 @@ static const MenuItem MENU_ITEMS[] = { { "Volume Control", "pavucontrol &" }, { "Display Settings", "arandr &" }, { "──────────────────", NULL }, - { "Change Wallpaper", "skywallpaper --reset &" }, + { "Change Wallpaper", "orionwallpaper --reset &" }, { "──────────────────", NULL }, - { "Restart OrionWM", "pkill skywm; sleep 0.2; skywm &" }, - { "Quit OrionOS", "pkill skywm" }, + { "Restart OrionWM", "pkill orionwm; sleep 0.2; orionwm &" }, + { "Quit OrionOS", "pkill orionwm" }, }; #define MENU_COUNT ((int)(sizeof(MENU_ITEMS) / sizeof(MENU_ITEMS[0])))