summaryrefslogtreecommitdiff
path: root/src/managers/KeybindManager.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* wlr-output-power: move to new implVaxry2024-04-291-0/+2
|
* internal: Window storage rework - part 1 (#5762)Vaxry2024-04-271-104/+110
| | | | | | | | | | | | | | | | | * 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-7/+4
|
* tokens: add more modes to initial_workspace_trackingVaxry2024-04-241-2/+3
| | | | | | 1 is single-shot, 2 is persistent fixes #5732
* tokens: fix initial workspace token ignoring specialVaxry2024-04-241-1/+4
| | | | ref #5726
* windows: add misc:initial_workspace_trackingVaxry2024-04-231-1/+25
| | | | | | By default enabled, will track the initial opened workspace of a window spawned for 2 minutes or until it's moved to a different workspace. For example: you run a launcher and open an app on workspace 1, but quickly switch to workspace 2. The app will now open on workspace 1 regardless of your switch.
* keybinds: clear repeat source on mouse inputsVaxry2024-04-211-12/+18
| | | | fixes #5671
* HookSystem: improve callback safetyVaxry2024-04-201-1/+1
|
* windows: recalculate monitor after updating windows (#5647)Sungyoon Cho2024-04-191-0/+2
| | | | Recalculate monitor after updating windows, so layout render doesn't get overridden.
* keybindmgr: add optional `silent` suffix to `movewindow`. (#5597)Maarten de Vries2024-04-171-7/+15
| | | | | | With the `silent` suffix, the focus remains on the current position in the layout or the current monitor, instead of following the moved window. When combined with `movewindow mon:X`, this this allows you to get the same behavior as xmonad's `windowToScreen` command.
* keybindmgr: fix workspace_back_and_forth (#5585)go0d1uck2024-04-141-1/+1
|
* workspace: update windows when selector match could change (#5533)Sungyoon Cho2024-04-101-9/+10
| | | | | | | * workspace: update windows when group updates * workspace: update windows when floating toggle * workspace: update windows when stop dragging window by mouse
* keybinds: fix spammy warningVaxry2024-04-041-13/+13
|
* Workspace/core: Refactor workspace storage (#5380)Vaxry2024-04-021-31/+31
| | | | | * refactor workspaces to use ptrs * clang-format
* dispatchers: open special ws on active monitor instead of mouse monitor (#5330)thejch2024-03-301-4/+1
|
* keybinds: add binds:disable_keybind_grabbingVaxry2024-03-291-1/+3
| | | | fixes #5273
* keybinds: Fix exit trigger by moving it to monitor.frame (#5240)dmayle2024-03-251-1/+1
|
* config/workspace: added workspace selectorsVaxry2024-03-191-1/+3
|
* socket2: add pin eventVaxry2024-03-181-0/+3
| | | | fixes #4778
* keybinds: add Dispatchers for "force float" and "force tiling" (non-toggle) ↵djvs2024-03-171-1/+18
| | | | | | | | | (#5137) --------- Co-authored-by: djvs <djvs@users.noreply.github.com>
* master: Fix master layout window focus and scroll (#5074)thejch2024-03-131-1/+5
| | | | | | | | | | | * fix master switch window scrolling * fix some more dispatchers and remove some duplicate code * refactor and remove duplicate code * fix focusmonitor: https://github.com/hyprwm/Hyprland/issues/5006#issuecomment-1986977255 * change check
* keybinds: Fix typo (#5081)Ikko Eltociear Ashimine2024-03-121-1/+1
| | | minor fix
* core: Fix typo and check grandchild PID in spawn() (#5070)Lucas Reis2024-03-111-2/+2
|
* deps: update wlrootsVaxry2024-03-091-8/+8
|
* keybinds: track submap at press for keypressesVaxry2024-03-091-1/+3
| | | | fixes #5037
* keybinds: Allow fullscreen/maximize in special workspace (#4921)thejch2024-03-041-3/+0
| | | | | | | | | | | | | | | * allow fullscreen/maximize in special workspace * remove duplicate code * hide top layer * fix special fullscreen deco * edit * fix fade top layer when toggle special * remove double render
* keybinds: Better handling of workspace_back_and_forth (#4952)Tom Benham2024-03-041-11/+24
| | | | | | | | | | | * Removed redundant boolean condition * Better handling of workspace_back_and_forth when using focusworkspaceoncurrentmonitor dispatcher * Fixed config acquisition --------- Co-authored-by: Tom Benham <tom.benham@quadrille.fr>
* config: improve config value infrastructureVaxry2024-03-031-62/+63
|
* keybinds: Add the 'catchall' keyword that matches all keys (#4930)Tobias Zimmermann2024-03-031-11/+5
| | | | | | | | | | | | | | | | * 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.
* animations: Refactor AnimatedVariable (#4911)GartoxFR2024-03-021-26/+26
| | | | | | | | | | | | | | | | | | | | | | | * animation: Refactor AnimatedVariable This commit decomposes the AnimatedVariable class into a base class with the common attribute to all variable types and a templated derived type containing strongly typed info on the type being animated. Access to the typed version is perfomed using the visitor pattern. A utility is provided to build a visitor on the fly using lambdas. Adding a new type to be animated should just be a matter of adding the typed in the list defined by the ANIMABLE_TYPES macro The size of the commit is justified by the API change in the AnimatedVariable class. No more vec(), fl() or col() method but a unified value() method. * animation: Remove visitor pattern * animation: Fix coding style * animation: Fix coding style
* keybinds: unconstrain mouse on focusmonitor and cyclenext (#4863)JManch2024-02-281-9/+4
|
* config: Add option to resolve keybinds by sym instead of code (#4851)Tobias Zimmermann2024-02-271-1/+1
| | | | | | | | | | | | | | This commit adds the new configuration option 'resolve_binds_by_sym' which can be set globally or per-device. It is off by default, which preserves the current behavior. This setting only affects the behavior of keybinds that are defined via key symbols, not those defined via keycode. Binds defined by symbols currently activate if the keycode pressed would generate the specified symbol on the first layout specified in the input section. If enabled, keys pressed on the relevant device will instead match keybinds by the symbols they produce with their current layout. Closes #1881.
* wayland: implement keyboard_shortcuts_inhibit_v1Vaxry2024-02-271-0/+9
| | | | fixes #4568
* input: Map touch devices and tablets bound to an output (#3544)Philip Damianik2024-02-271-1/+1
| | | | | | | | | | | * Map bound touch devices and tablets to an output * Add "[[Auto]]" default option for auto detecting outputs for touch inputs * Bind new monitors to configured touch and tablet devices * Use Monitor::matchesStaticSelector in CConfigManager::getMonitorRuleFor * Use Monitor::matchesStaticSelector in CCompositor::getMonitorFromString
* keybinds: fix movewindoworgroup onto empy workspace on next monitor (#4486)Bernd Müller2024-02-261-1/+5
| | | | | | | | | * fix: movewindoworgroup when no window or group is in desired direction, e.g. move window onto empty workspace on next monitor * fix: movewindoworgroup when no window or group is in desired direction, e.g. move window onto empty workspace on next monitor * reset flake.nix * add: changes mentioned in review of #4486
* keybinds: focus floating on top of fsVaxry2024-02-261-7/+16
|
* keybinds: fix focuswindow for fullscreen (#4840)shezdy2024-02-261-6/+20
| | | | | | | | | * focuswindow fix * fix format --------- Co-authored-by: ddmetz <77217897+ddmetz@users.noreply.github.com>
* keybinds: fix keys without keysyms triggering random binds (#4739)rszyma2024-02-191-1/+13
|
* Migrate the config to hyprlang (#4656)Vaxry2024-02-181-46/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Migrate to hyprlang * pop up errors * fix swapped args * Meson & Nix: build with hyprlang * CI: add hyprlang to setup action * add infra for plugin stuff * fix hyprctl getoption * fix hyprctl getoption with json * format * fix post parse logic * fix autogen config * oops missed exec-once * fmt * fix ws rules * require 0.3.0 for hyprlang * nix: flaek * minor type fixes * fix cfg usages in swipe * use cvarlist for ws rules * fix throw in addPluginConfigVar * Nix: update hyprlang * minor fixes * fix disableLogs * mention hyprlang docs * bump hyprlang dep in cmake * Meson: bump min hyprlang version Nix: update hyprlang * minor fix * Nix: update meson patch --------- Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
* keybinds: Add an option to pass a window argument to moveoutofgroup (#4724)Federico Maria Morrone2024-02-171-3/+8
| | | | | * keybinds: allow passing window to moveoutofgroup * keybinds: cleaner handling of certain args
* dispatchers: add Fullscreen without sending fullscreen to application (#4720)epicgamer2567052024-02-171-0/+3
| | | | | | | | | | | * Add extra option to fullscreen * Remove useless branch fixes #1817 --------- Co-authored-by: matteo bob <matteo4375@gmail.com>
* dwindle: add swapsplit dispatcher (#4702)Niklas Haas2024-02-141-0/+16
| | | | | | 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: Fix focus not moving along when moving workspace (#4660)Sefa Eyeoglu2024-02-091-2/+6
| | | | | --------- Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
* keybinds: focusWorkspaceOnCurrentMonitor: use focused monitor instead (#4625)Epilepsy Gatherings2024-02-051-1/+1
|
* input: focus window on mouse down on decoration (#4514)MightyPlaza2024-02-041-4/+5
| | | Also unifies vectorToWindow funcs
* keybinds: fix ignoremods with releaseVaxry2024-02-021-1/+1
|
* monitor: wrap usage of wlr_output_stateVaxry2024-01-281-2/+2
| | | | | | for better control and convenience in usage. fixes #4546
* deps: update wlrootsVaxry2024-01-271-2/+2
| | | | drops requirement for WLR_DRM_NO_ATOMIC provided kernel >= 6.8
* keybinds: avoid duplicated held keys, only use last, remove allvaxerski2024-01-191-2/+0
| | | | ref #4471
* core: improve cleanup logicvaxerski2024-01-191-1/+1
|