summaryrefslogtreecommitdiff
path: root/src/managers/KeybindManager.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* keybinds: Add dispatcher for xmonad/qtile-style workspace switching (#4439)virchau132024-01-151-58/+101
| | | | | | | | | | | | | | | * 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-20/+25
|
* keybinds: Refocus only if the silently moved window had the focus (#4328)dranull2024-01-021-4/+6
|
* keybinds: fix keys getting stuck + minor refactor & optimizations to keybind ↵rszyma2024-01-011-49/+111
| | | | handling (#4304)
* input: Ignore some input events when focus is on a layer surface (#4306)dranull2024-01-011-4/+6
| | | | | * No motion events with focus on LS on workspace change * Don't check scroll events on decorations with focus on LS
* deco: fix missing border on togglefloating (#4305)MightyPlaza2023-12-301-0/+1
| | | modified: src/managers/KeybindManager.cpp
* internal: Unify input handling on decorations (#4280)dranull2023-12-281-11/+2
| | | | | | | * Unify input handling on decorations * Make input methods private * Optional data
* dispatchers: add tiled/floating to cyclenextvaxerski2023-12-241-3/+11
|
* internal: fix interactions with fakefullscreen (#4113)François Conzelmann2023-12-111-2/+1
| | | | | - In a maximized window, unstuck fakefullscreen from on state - In a fakefullscreen window, going in and out of fullscreen state keep the fakefullscreen state rendered
* README: add note about hyprpm + clang-formatVaxry2023-12-071-3/+3
|
* keybinds: check for null last monitor in changeworkspace (#4077)ddmetz2023-12-071-0/+4
|
* managers: fix debug log using printf format (#4007)François Conzelmann2023-11-301-2/+2
| | | | Some debug messages where using printf format style to print variable content instead of std::format format.
* monitor: remove comma from monitor description (#3996)François Conzelmann2023-11-301-1/+1
| | | | | | this allows for monitor specific rules to work on monitor with comma on their description fixes #2457
* exec: remove redundant environment variables from spawn (#3923)thejch2023-11-241-5/+0
|
* internal: Allow floating windows on special (#3872)Vaxry2023-11-181-6/+2
| | | | | | | * allow floating on special * fix mistake * fix clipbox
* keybinds: Close special workspace after moving windows out of it (#3649)thejch2023-11-151-0/+5
| | | | | * use old monitor * use pMonitor for for special workspace
* internal: make getPlusMinusKeywordResult return optionalVaxry2023-11-121-17/+9
|
* internal: replace INT_MAX with WORKSPACE_INVALIDVaxry2023-11-121-6/+6
|
* decorations: Decoration Positioner (#3800)Vaxry2023-11-111-4/+4
|
* binds: add movefocus_cycles_fullscreenVaxry2023-11-041-2/+3
| | | | fixes #3738
* Decos: Window decoration flags, shadow improvements (#3739)Vaxry2023-11-041-1/+1
|
* input: handle mouse on decorations (#3560)MightyPlaza2023-10-291-15/+12
|
* workspacerules: Add new optional "default command" for auto-launching apps ↵Brenno Lemos2023-10-221-0/+2
| | | | on new workspaces (#3559)
* hooksystem: add callbackinfo struct and cancellable eventsVaxry2023-10-211-1/+1
|
* binds: add ignoreMods flagVaxry2023-10-171-1/+2
|
* cleanup: Replace find() with C++20 starts_with(), ends_with() and contains() ↵Philip Damianik2023-10-151-6/+6
| | | | | | | (#3572) * Replace find() with C++20 starts_with() and ends_with() * Replace find() with C++20 contains()
* groups: ensure consistency in dispatcher behavior with global group lock (#3531)memchr2023-10-111-2/+16
|
* groups: create group and groupbar config sections (#3522)MightyPlaza2023-10-101-3/+2
| | | | | | | | | | | | | | | | | | | | * config: create group section modified: src/Compositor.cpp modified: src/config/ConfigManager.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/MasterLayout.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/input/InputManager.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * separate group border and groupbar colors modified: src/Compositor.cpp modified: src/config/ConfigManager.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * add new line modified: config/ConfigManager.cpp
* dispatchers: Add option to center the cursor on the focused window when ↵Philip Damianik2023-10-101-3/+8
| | | | | | | | | | | switching workspaces (#3528) * Add option for centering on workspace when switching workspace * Add option for centering on workspace when switching workspace --------- Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
* dispatchers: fix extra monitor offset when snapping floating (#3520)MightyPlaza2023-10-081-6/+6
| | | modified: src/managers/KeybindManager.cpp
* dispatchers: support number as arg in changegroupactive (#3329)memchr2023-09-231-0/+12
|
* windowrules: add rule `group` to map windows grouped (#3279)memchr2023-09-221-64/+36
| | | | | * 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-1/+27
| | | Co-authored-by: Leeman <lstrout@enlj.com>
* logging: implement std::formatter for some types (#3380)memchr2023-09-201-0/+1
|
* keybinds: focus last window on workspace change to another monvaxerski2023-09-181-1/+4
|
* socket2: emit lockgroups event (#3317)memchr2023-09-151-0/+2
|
* keybinds: warp cursor to correct window in moveWindowOutOfGroup (#3290)memchr2023-09-131-1/+1
|
* keybinds: avoid onWindowRemoved & onWindowCreated when group has one member ↵memchr2023-09-131-6/+10
| | | | | | (#3286) Make moveWindowOutOfGroup behave like toggleGroup on a group with single member, this prevents the window from moving around rabidly.
* keybinds: simulate movement on empty focus after workspace changevaxerski2023-09-131-1/+4
|
* input: don't refocus on switched workspace on the same monitorvaxerski2023-09-131-8/+4
|
* layout: add direction parameter to onWindowCreated and friends (#3269)memchr2023-09-131-6/+17
| | | | | | | | | | | | | | | | | | * 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
* keybinds: unify changeworkspace dispatcher (#3250)memchr2023-09-111-59/+26
| | | | | | | | | | | * refactor: changeworkspace dispatcher * refactor: remove redundant focusWindow calls * refactor(changeworkspace): warp cursor to middle of last focused window * refactor: use rememberPrevWorkspace * Fix: `CWorkspace::rememberPreWorkspace` condition is illogical
* refactor: fix missed middle() call in CKeybindManagervaxerski2023-09-111-1/+1
|
* keybinds: movewindow to screen edge for floating windows (#3245)alaricljs2023-09-111-0/+18
| | | | | | | | | | | | * movewindow to screen edge for floating windows * review changes * constify vars --------- Co-authored-by: Leeman <lstrout@enlj.com> Co-authored-by: vaxerski <vaxry@vaxry.net>
* refactor: utilize 'middle()' method for window/montior center (#3253)memchr2023-09-111-12/+7
|
* feat: add a new movewindoworgroup dispatcher (#3006)memchr2023-09-101-20/+101
|
* keybinds: ignore conditions on special releasevaxerski2023-09-101-2/+3
| | | | while the previous commit ignores mods, we also need to ignore other conditions to avoid dangling presses
* keybinds: track pressed special bindsvaxerski2023-09-101-1/+14
| | | | 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
* keybinds: ignore mods on release of special bindsvaxerski2023-09-101-3/+6
| | | | fixes #3208
* refactor: replace lambdas with CKeybindManager::switchToWindow (#3229)memchr2023-09-101-94/+35
| | | | | | | 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()`.