summaryrefslogtreecommitdiff
path: root/src/managers/KeybindManager.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* keybinds: Do not suppress pass and mouse release (#3219)shadowmax312023-09-091-2/+2
|
* internal: Remove all `.c_str()` calls when using `std::vformat` (#3198)Philip Damianik2023-09-061-11/+9
| | | Signed-off-by: pdamianik <39028343+pdamianik@users.noreply.github.com>
* internal: Formatter rework (#3186)Vaxry2023-09-061-23/+23
|
* dwindle: add proper movement for window move bindsvaxerski2023-09-041-3/+3
| | | | ditches the "movewindow = swapwindow" mechanism. Fixes #2804
* refactor: replace manual iteration of CWindow with existing methods (#3147)memchr2023-09-041-4/+1
|
* socket2: added "activespecial" IPC event (#3163)MightyPlaza2023-09-041-29/+2
|
* keybinds: fixup global conditionsvaxerski2023-09-021-2/+2
|
* globalshortcuts: allow empty appidvaxerski2023-09-021-1/+1
|
* keybinds: set special monitor id before recalcvaxerski2023-09-011-2/+2
| | | | set special workspace's monitor ID before we call recalculateMonitor in toggleSpecialWorkspace. Fixes #1151
* keybinds: suppress up event if down was consumedvaxerski2023-09-011-5/+8
| | | | Fixes #3000
* internal: Unsafe state reworks (#3114)Vaxry2023-09-011-2/+1
|
* wlr-ext-workspace: remove protocol implvaxerski2023-09-011-6/+0
| | | | Various reasons: 1st, memory issues. 2nd, MR got closed (see https://gitlab.freedesktop.org/wlroots/wlr-protocols/-/merge_requests/35) 3rd, not needed anymore (waybar has its own hyprland/workspaces module)
* keybinds: fixup release conditionsvaxerski2023-08-301-9/+1
| | | | honestly I already forgot why the m_vHeldBack vec existed. Seems useless and annoying. Fixes #3113
* decos: groupbar mouse interaction (#3102)MightyPlaza2023-08-301-5/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * allow groupbar clicking modified: src/Window.cpp modified: src/Window.hpp modified: src/managers/input/InputManager.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.hpp * remove setting pos inside insertWindowToGroup() modified: src/Window.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/MasterLayout.cpp modified: src/managers/KeybindManager.cpp * add group window by index and group size functions modified: src/Window.cpp modified: src/Window.hpp modified: src/managers/input/InputManager.cpp * allow dragging into groupbar modified: src/Window.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/MasterLayout.cpp * allow dragging from groupbar modified: src/managers/KeybindManager.cpp * try groupbar clicking before border resize modified: src/managers/input/InputManager.cpp * block grabbing groupbar on floating (crash) remove later when crashing is fixed modified: src/managers/KeybindManager.cpp * remove redundant { } modified: src/layout/DwindleLayout.cpp modified: src/layout/MasterLayout.cpp * implement getWindowDecorationBox() modified: src/Window.cpp modified: src/Window.hpp 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/CHyprDropShadowDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp modified: src/render/decorations/IHyprWindowDecoration.cpp modified: src/render/decorations/IHyprWindowDecoration.hpp * fix crash when moveoutofgroup in floating windows also removes dragging from floating windows limitation modified: src/layout/IHyprLayout.cpp modified: src/managers/KeybindManager.cpp * use CRegion in getWindowDecorationBox() modified: src/helpers/Region.cpp modified: src/helpers/Region.hpp 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/IHyprWindowDecoration.cpp modified: src/render/decorations/IHyprWindowDecoration.hpp * add groupbar scrolling modified: src/config/ConfigManager.cpp modified: src/managers/input/InputManager.cpp * change name to getWindowDecorationRegion() 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/IHyprWindowDecoration.cpp modified: src/render/decorations/IHyprWindowDecoration.hpp * make dragging from group less hacky for floating modified: src/managers/KeybindManager.cpp
* internal: allow opening empty special workspacesvaxerski2023-08-251-8/+2
| | | | Fixes point 2 of #2596
* input: improved path handling; null check return value of fopen. (#3061)memchr2023-08-251-5/+4
|
* input: add transparent bindsvaxerski2023-08-251-8/+13
| | | | | adds a new flag for binds to be transparent (non-shadowable) fixes #3058
* internal: ioctl use /dev/tty instead of fd 0 for VT_GETSTATE (#2989)memchr2023-08-161-6/+11
| | | | | | | | | | | | | * fix: ioctl use /dev/tty instead of fd 0 for VT_GETSTATE ioctl VT_GETSTATE on stdin fails if it is not console, such as when using GDM. `/dev/tty` should be used instead. - `/dev/tty` is a synonym for the controlling terminal of a process, if there is one. --------- Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
* internal: Fix grouped windows not being properly focused on activation (#2925)UserSv42023-08-111-5/+0
| | | | | | | | | | | * Fix grouped windows not being properly focused on activation This bug could happen if you: 1. Open two Chromium windows in a single group 2. Open some tabs in both of the windows 3. Using tabs search (Ctrl+Shift+A) try to switch to a tab in the second window from the first one. When this happens any window focus would be lost (hyprctl activewindow starts to output "Invalid") and also the mouse cursor would become centered relatively to the second window. * Update Compositor.cpp
* rules: center window improvements (#2935)MightyPlaza2023-08-111-1/+5
| | | | | | | | | | | | | * center window improvements modified: src/config/ConfigManager.cpp modified: src/events/Windows.cpp modified: src/managers/KeybindManager.cpp * remove redundant line modified: src/events/Windows.cpp * simplify code modified: src/events/Windows.cpp modified: src/managers/KeybindManager.cpp
* keybinds: Keep aspect ratio (#2907)MightyPlaza2023-08-081-4/+10
|
* keybinds: Only call fclose() when we have a valid file. (#2908)Michael2023-08-081-2/+3
| | | Signed-off-by: Michael Pacheco <git@michaelpacheco.org>
* Close keymap files. Fixes #2904 (#2905)Michael2023-08-071-2/+4
| | | Signed-off-by: Michael Pacheco <git@michaelpacheco.org>
* keybinds: add toggle to dpmsvaxerski2023-07-301-0/+3
|
* keybinds: Make moveintogroup locking check configurable (#2796)memchr2023-07-241-2/+4
| | | | | * groups: revert to the old moveintogroup behaviour, ignore m_sGroupData.locked * groups: Make moveintogroup locking check configurable
* groups: add use_current_group_pos (#2759)MightyPlaza2023-07-201-5/+7
|
* keybinds: movegroupwindow-improvement (#2740)MightyPlaza2023-07-191-6/+7
| | | | | * movegroupwindow-improvement * use std::swap
* fix: handle window change directions in fullscreen (#2728)István Donkó2023-07-181-2/+5
|
* Make bind modmask case-insensitive (#2714)Lennard Hofmann2023-07-141-0/+1
|
* update groub decos (#2705)MightyPlaza2023-07-131-0/+1
|
* keybinds: add movegroupwindowvaxerski2023-07-131-0/+10
|
* Dwindle: Make resize more intuitive (#2681)Daniel Adolfsson2023-07-131-1/+1
| | | | | | | | | * improved resize * clang-format * rewrite * almost legacy behavior when using CORNER_NONE
* lockgroups fix (#2636)MightyPlaza2023-07-031-1/+2
|
* groupbar fixes (#2630)MightyPlaza2023-07-031-3/+12
| | | | | | | | | | | | | | Fixes multiple groupbar decoration issues: - togglegroup removes fullscreen to avoid to avoid weird state - fixes issue where a group had multiple windows with head = true - fixes issue where merging 2 groups would cause a window to have 2 groupbar decorations - fixes issue where merging a group with more than 1 window into another group would make windows have no groupbar decoration - fixes issue where ungrouping windows could just move them into another group on the same workspace --------- Co-authored-by: vaxerski <43317083+vaxerski@users.noreply.github.com>
* keybinds: remove old todovaxerski2023-06-211-1/+0
|
* internal: minor style fixesvaxerski2023-06-201-13/+10
|
* Implement pass binds (#2503)outfoxxed2023-06-141-1/+5
| | | | | | | | | | * 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 variable to customize locked group border color (#2507)memchr2023-06-131-0/+2
| | | | | added variables: - general:col.group_border_locked - general:col.group_border_locked_active
* feat: add lockactivegroup dispatcher (#2478)memchr2023-06-091-0/+18
| | | | | | | | | | | | | | | | | * 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
* input: update surface input on changeworkspacevaxerski2023-06-091-0/+3
|
* Make movetoworkspace register previous workspace (#2436)staz2023-06-051-3/+7
| | | | | * Make movetoworkspace register previous workspace * style: no braces + format with clang-format
* input: force focus on movefocusvaxerski2023-05-311-0/+2
|
* keybinds: fix tryMoveFocusToMonitor with specialvaxerski2023-05-291-5/+7
|
* focus: fix #1675 window not scrollable after movefocus (#2390)Jeremy Huang2023-05-291-0/+1
|
* focus: make cursor follow movewindow (#2374)Jeremy Huang2023-05-271-1/+1
|
* decos: recalc on addvaxerski2023-05-231-0/+4
|
* moveActiveToWorkspace: update last window of old wsvaxerski2023-05-221-7/+11
|
* don't swap workspaces if monitors are the same (#2322)Anthony Ruhier2023-05-171-1/+1
| | | | Return swapActiveWorkspaces early if MON1 and MON2 are equals, to avoid buggy behavior.
* internal: remove check for negative exact vector argsvaxerski2023-05-151-0/+6
|
* internal: fix -Wsign-compare and -Wunused-variable warningsvaxerski2023-05-021-2/+2
|