Commit Graph

3 Commits

Author SHA1 Message Date
Levi Neely afedc88ac9 Radial: add window/split radial on the middle mouse button
Second built-in radial 'window' bound to MiddleButton: Split Vertical/
Horizontal, Close Split, Close Others, Toggle Orientation, and a Focus
sub-branch (go_left/right/up/down/next/prev_split_view). Leaf ids are
Kate view-manager action objectNames, resolved via findActionByName.

Route a plain middle press (no left held) to the radial dispatch instead
of unconditionally consuming it: the left+middle Cut chord still fires
(left held), and the X11 middle-click primary paste is still suppressed
on release in both paths. Clear m_swallowMiddleRelease when a gesture
consumes the release.

Example config + builtinHasWindowRadialOnMiddleButton test updated.
2026-10-08 11:53:19 +02:00
Levi Neely caa1e911b8 Radial: add Go-to-File and Go-to-Symbol slices
Add ollie_goto_file and ollie_goto_symbol to the built-in radial's 'More'
branch, next to the command-palette escape hatch (panel-opening switchers
belong there, not the in-place top ring). onRadialActivated already
resolves both ids. Example config + a builtinDefaultHasLauncherSlices
test updated.
2026-10-08 10:43:56 +02:00
Levi Neely 219ad8e56c Radial: load user config from XDG, fall back to built-in
RadialConfig::load() reads $XDG_CONFIG_HOME/olliepalette/radials.json
when present and non-empty, else builtinDefault(); a broken/empty file
also falls back so the user is never left without radials. Add
userConfigPath() and loadFile(path,&error). setupRadials() now calls
load(). Example at docs/radials.example.json. 4 new tests.
2026-10-08 09:35:27 +02:00