Keyboard-driven wifi panel
The wifi panel was a bar-widget xdg-popup which Hyprland doesn't grant keyboard focus to until the user clicks or hovers it — keys typed after a SUPER+CTRL+W summon went to whatever previously had focus. New shared Common.KeyboardPanel scaffolding: layer-shell PanelWindow with WlrKeyboardFocus.Exclusive (granted at map time, the protocol-level equivalent of focus-on-launch for xdg-toplevels), full-screen anchored with a Region mask that subtracts the bar strip so bar widgets stay clickable, MouseArea for outside-click dismissal, TransformWatcher for reactive anchor-position tracking. API is a subset of Common.PopupCard (no centerOnBar / triggerMode / containsMouse yet — adding when the other bar popups migrate). networkPanel.qml uses it. Adds full keyboard navigation: j/k or Up/Down — move selection Return/Space — connect (or disconnect if already connected) x — forget the highlighted network r — refresh scan Esc — close ListView (with positionViewAtIndex on currentIndex) replaces the Repeater+Column inside Flickable so the selected row stays visible as j/k walks past the cap. A 1.5s Timer re-polls detailsProc while open so the connection details (IP, gateway, signal) populate when routing actually comes up after a connect rather than waiting for re-summon. Rows: lock glyph on the right for protected-and-not-connected, X (forget) for connected — aligned to the same 22-wide column. Connect glyph in the passphrase prompt switched to a check, no separate cancel (Esc handles it). SUPER+CTRL+W in utilities.lua now toggles this panel via omarchy-shell-ipc instead of launching Impala. Right-click on the bar icon still launches Impala as a fallback for hidden SSIDs / enterprise auth / iwd edge cases.
This commit is contained in:
@@ -55,7 +55,7 @@ hl.bind("SUPER + CTRL + ALT + W", hl.dsp.exec_cmd("omarchy-notification-weather"
|
||||
|
||||
hl.bind("SUPER + CTRL + A", hl.dsp.exec_cmd("omarchy-launch-audio"), { description = "Audio controls" })
|
||||
hl.bind("SUPER + CTRL + B", hl.dsp.exec_cmd("omarchy-launch-bluetooth"), { description = "Bluetooth controls" })
|
||||
hl.bind("SUPER + CTRL + W", hl.dsp.exec_cmd("omarchy-launch-wifi"), { description = "Wifi controls" })
|
||||
hl.bind("SUPER + CTRL + W", hl.dsp.exec_cmd("omarchy-shell-ipc networkPanel toggle"), { description = "Wifi panel" })
|
||||
hl.bind("SUPER + CTRL + T", hl.dsp.exec_cmd("omarchy-launch-tui btop"), { description = "Activity" })
|
||||
|
||||
hl.bind("SUPER + CTRL + X", hl.dsp.exec_cmd("voxtype record toggle"), { description = "Toggle dictation" })
|
||||
|
||||
Reference in New Issue
Block a user