diff --git a/desktopenvs/hyprlua/astal-menu/style/style.css b/desktopenvs/hyprlua/astal-menu/style/style.css index a088a3c..3e92bf3 100644 --- a/desktopenvs/hyprlua/astal-menu/style/style.css +++ b/desktopenvs/hyprlua/astal-menu/style/style.css @@ -107,6 +107,14 @@ drawingarea { .quad-action:active, button:checked.quad-action { background: @accent; color: @bg; border-color: @accent; } +/* Columns count stepper value (between the − / + pills) */ +.stepper-value { + min-width: 34px; + font-weight: bold; + color: @accent; + font-feature-settings: "tnum"; +} + /* A MenuButton (the settings cog) wraps an inner `button` node that would render a * second ring inside the outer .quad-action pill — flatten it so only one border * shows. */ diff --git a/desktopenvs/hyprlua/astal-menu/ui/quadgrid.py b/desktopenvs/hyprlua/astal-menu/ui/quadgrid.py index 7eccdc6..90b707b 100644 --- a/desktopenvs/hyprlua/astal-menu/ui/quadgrid.py +++ b/desktopenvs/hyprlua/astal-menu/ui/quadgrid.py @@ -68,7 +68,8 @@ class QuadGrid(Gtk.Overlay): self._takeover_reveal.set_valign(Gtk.Align.FILL) self._takeover_holder = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self._takeover_holder.add_css_class("quad-expanded") - self._takeover_reveal.set_child(bordered(self._takeover_holder, radius=16, fill_bg=True)) + self._takeover_card = bordered(self._takeover_holder, radius=16, fill_bg=True) + self._takeover_reveal.set_child(self._takeover_card) self.add_overlay(self._takeover_reveal) self._takeover_reveal.set_visible(False) @@ -80,8 +81,9 @@ class QuadGrid(Gtk.Overlay): A Back row is prepended so the covered quads can be restored.""" header = Gtk.CenterBox() header.add_css_class("expanded-header") - back = Gtk.Button(label=" Back") + back = Gtk.Button(label="") # nf-fa-compress (unfullscreen) back.add_css_class("quad-action") + back.set_tooltip_text("Collapse") back.connect("clicked", lambda *_: on_back()) header.set_start_widget(back) self._takeover_holder.append(header) @@ -90,6 +92,9 @@ class QuadGrid(Gtk.Overlay): def show_takeover(self) -> None: self._takeover_reveal.set_visible(True) + self._takeover_card.add_css_class("quad-pop") # same bouncy scale as a quad + GLib.timeout_add(340, lambda: (self._takeover_card.remove_css_class("quad-pop"), + GLib.SOURCE_REMOVE)[1]) self._takeover_reveal.set_reveal_child(True) self.grid.add_css_class("dimmed") @@ -156,8 +161,9 @@ class QuadGrid(Gtk.Overlay): def _expanded_header(self, title: str) -> Gtk.Widget: header = Gtk.CenterBox() header.add_css_class("expanded-header") - back = Gtk.Button(label=" Back") # nf arrow + back = Gtk.Button(label="") # nf-fa-compress (unfullscreen) back.add_css_class("quad-action") + back.set_tooltip_text("Collapse") back.connect("clicked", lambda *_: self.request_collapse()) header.set_start_widget(back) lbl = Gtk.Label(label=title) diff --git a/desktopenvs/hyprlua/scripts/monitor-manager b/desktopenvs/hyprlua/scripts/monitor-manager index 75b8ec1..78e7a53 100755 --- a/desktopenvs/hyprlua/scripts/monitor-manager +++ b/desktopenvs/hyprlua/scripts/monitor-manager @@ -347,8 +347,20 @@ class App: def _init_colors(self): curses.start_color() curses.use_default_colors() - # 1 = selected (cyan bold) - curses.init_pair(1, curses.COLOR_CYAN, -1) + # Match the rest of the config (CyberQueer): accent red #E40046 for the + # selection, electric violet #5018dd for headers/help. Define them as true + # RGB when the terminal allows (kitty does); otherwise fall back to the + # nearest ANSI colour so the tool still works on a basic console. + accent, violet = curses.COLOR_CYAN, curses.COLOR_GREEN + if curses.COLORS >= 256 and curses.can_change_color(): + try: + curses.init_color(16, 894, 0, 275) # #E40046 + curses.init_color(17, 314, 94, 867) # #5018dd + accent, violet = 16, 17 + except curses.error: + pass + # 1 = selected (accent red, bold) + curses.init_pair(1, accent, -1) # 2 = normal (white) curses.init_pair(2, curses.COLOR_WHITE, -1) # 3 = mirror target (yellow) @@ -357,8 +369,8 @@ class App: curses.init_pair(4, curses.COLOR_BLACK + 8 if curses.COLORS >= 16 else curses.COLOR_WHITE, -1) # 5 = status bar (reversed) curses.init_pair(5, -1, -1) - # 6 = help (green) - curses.init_pair(6, curses.COLOR_GREEN, -1) + # 6 = help / headers (violet) + curses.init_pair(6, violet, -1) def _get_scale(self, pane_cols: int, pane_rows: int) -> float: """Return cached scale; recompute only on resize or when a monitor escapes the viewport.""" diff --git a/desktopenvs/hyprlua/scripts/timer-pick b/desktopenvs/hyprlua/scripts/timer-pick index 130fc61..2a86d5f 100755 --- a/desktopenvs/hyprlua/scripts/timer-pick +++ b/desktopenvs/hyprlua/scripts/timer-pick @@ -13,7 +13,9 @@ hide() { printf "${CSI}?25l"; } show() { printf "${CSI}?25h"; } b="${CSI}1m" ; d="${CSI}2m" ; r="${CSI}0m" -cy="${CSI}96m"; gn="${CSI}92m" +# CyberQueer accents to match the rest of the config: red #E40046, violet #5018dd +# (24-bit truecolor; kitty renders these exactly). +cy="${CSI}38;2;228;0;70m" ; gn="${CSI}38;2;80;24;221m" yl="${CSI}93m"; wh="${CSI}97m"; gy="${CSI}90m" rv="${CSI}7m"