summaryrefslogtreecommitdiff
path: root/src/managers/KeybindManager.hpp
Commit message (Collapse)AuthorAgeFilesLines
...
* input: Introduce basic hyprland HID classesVaxry2024-05-031-1/+2
| | | | | | Implements an intermediary HID class for mice, keyboards and touch devices, removing the old structs from WLClasses.hpp Yes, virtual ones are duplicated a bit, but will likely be de-duped once wlr_input_device is not used anymore.
* internal: fix a few asan reported leaks on exit of hyprland (#5852)Tom Englund2024-05-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | * notifications: free cairo images on destruction asan reports a leak on exit if we dont free the image we created in the draw function. add a destructor and free images on exit. * compositor: destroy wlroots types on exit there are a few types not being destroyed on exit and causing a leak on exit in wlroots reported by asan, add those. * cursormgr: ensure we destroy cursor mgr on exit add a destructor and call wlr_xcursor_manager_destroy on the manager on destruction, leak reported by asan. * keybindmgr: free state and keymap add missing keymap_unref on creation, and add a destructor and free the state on exit. leak reported by asan. * skeyboard: add destructor and free state free the state on destruction of keyboard, reported as leak by asan
* internal: Window storage rework - part 1 (#5762)Vaxry2024-04-271-3/+3
| | | | | | | | | | | | | | | | | * Window storage rework - part 1 * format * remove useless include * fix pch * format * fix crash in dwindle * fix vram leak * prefer .expired() for bool checks
* shortcuts-inhibitor: move to new implVaxry2024-04-251-1/+0
|
* config: Expand on window matching (#5518)SoSeDiK2024-04-211-1/+4
| | | | | * Expand on window matching * Requested changes
* workspacerules: add back on-created-empty functionality (#5452)staz2024-04-061-0/+1
| | | | | | | | | | | | | | | * workspacerules: add back on-created-empty functionality * clang format * workspacerules: spawn on-created-empty window while initializing CWorkspace * clang format * configManager: fix typo --------- Co-authored-by: Your Name <you@example.com>
* keybinds: fix spammy warningVaxry2024-04-041-2/+0
|
* keybinds: add Dispatchers for "force float" and "force tiling" (non-toggle) ↵djvs2024-03-171-0/+4
| | | | | | | | | (#5137) --------- Co-authored-by: djvs <djvs@users.noreply.github.com>
* keybinds: track submap at press for keypressesVaxry2024-03-091-0/+1
| | | | fixes #5037
* keybinds: Add the 'catchall' keyword that matches all keys (#4930)Tobias Zimmermann2024-03-031-1/+8
| | | | | | | | | | | | | | | | * Add the 'catchall' keyword that matches all keys This keyword can be used to define arbitrary keybinds. The only special behavior that it exhibits is that it matches every key, including modifier keys. Any flags still apply normally. This commit also fixes an issue that keys bound via the code:KEYCODE format were not unbound correctly. * Disallow catchall keybinds outside of submaps A catchall keybind outside a submap would prevent essentially all key events from going through to applications and would be difficult to remove again.
* wayland: implement keyboard_shortcuts_inhibit_v1Vaxry2024-02-271-0/+1
| | | | fixes #4568
* dwindle: add swapsplit dispatcher (#4702)Niklas Haas2024-02-141-0/+1
| | | | | | This is distinct from `swapwindow` in that it allows swapping the entire tree node with its neighbour. Fixes: https://github.com/hyprwm/Hyprland/issues/4701
* keybinds: Add dispatcher for xmonad/qtile-style workspace switching (#4439)virchau132024-01-151-0/+1
| | | | | | | | | | | | | | | * feat: implement xmonad/qtile-style workspace switching Implements the focusWorkspaceOnCurrentMonitor dispatcher and function, which implements XMonad/Qtile-style workspace switching. When called, focusWorkspaceOnCurrentMonitor will: 1. Send the requested workspace to the current monitor, 2. If the workspace was previously active on a different monitor, replace it with the workspace that was previously active on the current monitor, 3. Focus the workspace on the current monitor. * fix: address PR comments
* keybinds: fix tracking of sent key statesvaxerski2024-01-101-0/+1
|
* keybinds: fix keys getting stuck + minor refactor & optimizations to keybind ↵rszyma2024-01-011-23/+30
| | | | handling (#4304)
* style/ci: apply clang-format and verify it in ci (#4039)François Conzelmann2023-12-061-2/+1
| | | | | * style: apply clang-format * ci: add new clang-format job to CI
* binds: add ignoreMods flagVaxry2023-10-171-1/+3
|
* windowrules: add rule `group` to map windows grouped (#3279)memchr2023-09-221-0/+1
| | | | | * windows: add rule group to map windows grouped * group rule: use `invade` to force open a window in a locked group
* keybinds: implement pushactivetobottom dispacher (#3217)alaricljs2023-09-211-0/+1
| | | Co-authored-by: Leeman <lstrout@enlj.com>
* layout: add direction parameter to onWindowCreated and friends (#3269)memchr2023-09-131-1/+1
| | | | | | | | | | | | | | | | | | * feat(layout): add direction parameter to onWindowCreated and friends In addition: - Implement directional moveWindowOutOfGroup for `movewindoworgroup` when using dwindle layout. (augmentation of #3006) - Replace `DWindleLayout::OneTimeFocus` with `IHyprLayout::eDirection`. - Slight formatting change (clang-format). * fix: nullptr dereference in dwindle window creation * refactor: generalized eDirection * refactor: eliminate DIRECTION_NONE * Update IHyprLayout.hpp
* feat: add a new movewindoworgroup dispatcher (#3006)memchr2023-09-101-2/+5
|
* keybinds: track pressed special bindsvaxerski2023-09-101-0/+1
| | | | Ignore mods only if we're processing a special bind, and only if it's pressed. Otherwise we might shadow normal key releases via ignoring mods. Fixes #3240
* refactor: replace lambdas with CKeybindManager::switchToWindow (#3229)memchr2023-09-101-0/+1
| | | | | | | moves `switchToWindow` lambdas to a single private method `CKeybindManager::switchToWindow()`. fixes #3227, as a by-product of the mouse motion simulation at the end of `CKeybindManager::switchToWindow()`.
* keybinds: fixup release conditionsvaxerski2023-08-301-2/+0
| | | | honestly I already forgot why the m_vHeldBack vec existed. Seems useless and annoying. Fixes #3113
* input: add transparent bindsvaxerski2023-08-251-1/+2
| | | | | adds a new flag for binds to be transparent (non-shadowable) fixes #3058
* keybinds: add movegroupwindowvaxerski2023-07-131-1/+3
|
* Implement pass binds (#2503)outfoxxed2023-06-141-10/+11
| | | | | | | | | | * Implement pass binds Pass binds run the associated dispatcher but do not prevent windows from receiving the bind. * Fix pass binds not working properly with release binds * Rename `pass` to `nonConsuming`
* feat: add lockactivegroup dispatcher (#2478)memchr2023-06-091-0/+1
| | | | | | | | | | | | | | | | | * feat: add lockactivegroup dispatcher The `lockactivewindow` dispatcher takes `lock`, `toggle` or `unlock` as arguments. When a group is locked, no window or group can be added to it, nor can it be added to another group, but the `moveintogroup` and `moveoutofgroup` dispatches are not affected. Implementation details: the lock is implement via `SGroupData.locked` flag (defaults to false). The flag is only relevant to the group head, and upon the group head's succession, the flag will be passed down to the new head. Meanwhile, the old head's flag will be set to false. The flag is set to false when a group is dismissed. New condition checks have been added to the dwindle and master layout to check if target group is unlocked (and if the source is also a group and unlocked) before adding windows to the target group. * refactor: `lockactivegroup dispatcher code ordering
* Added moveCursor dispatcher (#2100)mekb2023-04-231-0/+1
| | | | | * Added moveCursor dispatcher * fix error message for moveCursor
* Implement window move (#2018)Hilmar Wiegand2023-04-101-3/+3
|
* Allow movefocus for empty workspaces (#2011)Hilmar Wiegand2023-04-101-0/+2
| | | | | | | | | | | * Allow switching to empty workspaces using movefocus * Allow switching to other workspaces when no windows are focused * Implement review feedback * Add option to disable focus fallback * Remove unnecessary braces
* GlobalShortcuts protocol impl (#1886)Vaxry2023-04-091-0/+1
| | | | | | | Implements the `hyprland-global-shortcuts-v1` protocol --------- Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
* Plugin System (#1590)Vaxry2023-02-271-0/+1
| | | | | --------- Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
* Added moveoutofgroup dispatchervaxerski2023-02-261-0/+1
|
* Added moveintogroup dispatchervaxerski2023-02-261-1/+3
|
* added a lockgroups dispatchervaxerski2023-02-211-2/+4
|
* Added execrvaxerski2023-02-191-45/+47
|
* Resize on border (#1347)Ching Pei Yang2023-02-181-0/+1
|
* focusCurrentOrLast dispatcher (#1545)nub2023-02-141-0/+1
|
* feat: add focus to urgent or last window (#1402)Cyril Levis2023-01-211-0/+1
| | | | | | | * feat: add focus to urgent or last window * Rename dispatcher Co-authored-by: Maxim Baz <git@maximbaz.com>
* Add "on" and "off" for the bind of switch (#1342)riChar2023-01-081-0/+2
|
* feat: dispatcher, add workspace renaming (#1336)Cyril Levis2023-01-081-0/+1
| | | | | * feat: dispatcher, add workspace renaming Co-authored-by: vaxerski <vaxry@vaxry.net>
* added hyprctl bindsvaxerski2023-01-061-1/+2
|
* added fakefullscreenvaxerski2023-01-011-2/+2
|
* touch up the clang format and format all filesvaxerski2022-12-201-40/+40
|
* Added clang format (#1239)Vaxry2022-12-161-81/+82
| | | * clang-format stuff and format files
* use spawn in config execvaxerski2022-11-101-0/+2
|
* Dispatcher to center floating window (#961)abbadanor2022-11-071-0/+1
| | | | Co-authored-by: Adam Nord <adam.nord@abbgymnasiet.se> Co-authored-by: vaxerski <vaxry@vaxry.net>
* added bringactivetotop dispatchervaxerski2022-10-141-0/+1
|
* Add switch device handling and bindsvaxerski2022-10-041-0/+1
|