aboutsummaryrefslogtreecommitdiffstats
path: root/keybinds/Keybinds.qml
AgeCommit message (Collapse)AuthorFilesLines
12 daysfix(keybinds): wrap long labels instead of eliding themDanilo M.1-1/+1
A label is the only place the reminder says what a bind does, so cutting it short loses the part that matters, as with the column moves' scrolling-layout note. A long one now takes a second line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
12 daysfeat(keybinds): draw the macropad beside the listDanilo M.1-64/+19
The pad glyph on each row was too small to read. The left fifth of the overlay now draws the pad at size, each key labelled with its plain action; hovering a key or an encoder lists everything it does, held keys and turn direction spelled out. padActions() in Binds.js inverts the grouped rows into that per-key list, and PAD's turn values became words for it. The panel is pinned at a fixed height: centred, it moved whenever the hovered key's list changed length. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
12 daysfeat(keybinds): show where a bind sits on the macropadDanilo M.1-1/+63
The macropad's firmware sends ordinary combos, so the overlay listed them as keyboard shortcuts nobody presses. A PAD table in Binds.js maps each combo to its key (1-12) or encoder (top or bottom, turned or pressed) and what is held with it, and the row draws the pad small with that key lit. The workspace row is built in a loop, as it is in keybindings.lua. Every entry was checked against hyprctl binds -j. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
12 daysfix(keybinds): fill columns top to bottomDanilo M.1-2/+9
Groups flowed left to right in rows, so each row was as tall as its longest group: short groups sat above empty space and the block ran past the top and bottom of the screen. Columns filled to the screen's height pack the groups and keep everything visible. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
12 daysfeat(keybinds): live keybind reminder overlayDanilo M.1-0/+164
Modelled on window-switcher: a Scope with a 1x1 keepalive PanelWindow plus a LazyLoader'd overlay, opened via IpcHandler (SUPER+k is bound in a different repo). hyprctl binds -j is asked fresh on every opening so the list matches whatever Hyprland has loaded, with Binds.group() from task 1 turning it into the grid's {name, rows} groups. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>