Commit Graph

99 Commits

Author SHA1 Message Date
Vaxry a0b675ec9e binds: add ignoreMods flag 2023-10-17 20:10:07 +01:00
memchr 1357b66091
windowrules: add rule `group` to map windows grouped (#3279)
* windows: add rule group to map windows grouped

* group rule: use `invade` to force open a window in a locked group
2023-09-22 00:42:00 +01:00
alaricljs e4ddfcfa0c
keybinds: implement pushactivetobottom dispacher (#3217)
Co-authored-by: Leeman <lstrout@enlj.com>
2023-09-21 22:18:26 +01:00
memchr 6b1ac659e0
layout: add direction parameter to onWindowCreated and friends (#3269)
* 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
2023-09-13 11:13:29 +01:00
memchr ac2f1a9c30
feat: add a new movewindoworgroup dispatcher (#3006) 2023-09-10 23:29:10 +01:00
vaxerski dcb909df04 keybinds: track pressed special binds
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
2023-09-10 16:27:14 +01:00
memchr f7f70c9e72
refactor: replace lambdas with CKeybindManager::switchToWindow (#3229)
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()`.
2023-09-10 12:51:27 +01:00
vaxerski 9c4f776757 keybinds: fixup release conditions
honestly I already forgot why the m_vHeldBack vec existed. Seems useless and annoying. Fixes #3113
2023-08-30 23:23:35 +02:00
vaxerski 6a5a5ed11e input: add transparent binds
adds a new flag for binds to be transparent (non-shadowable)
fixes #3058
2023-08-25 12:35:24 +02:00
vaxerski 9f7382bca4 keybinds: add movegroupwindow 2023-07-13 17:55:25 +02:00
outfoxxed f0e4f6622e
Implement pass binds (#2503)
* 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`
2023-06-14 13:08:56 +02:00
memchr bca3068db2
feat: add lockactivegroup dispatcher (#2478)
* 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
2023-06-09 23:44:18 +02:00
mekb fbcbe947da
Added moveCursor dispatcher (#2100)
* Added moveCursor dispatcher

* fix error message for moveCursor
2023-04-23 19:50:53 +01:00
Hilmar Wiegand 7b43f9f056
Implement window move (#2018) 2023-04-10 20:07:49 +01:00
Hilmar Wiegand 6a4bda60f2
Allow movefocus for empty workspaces (#2011)
* 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
2023-04-10 14:40:03 +01:00
Vaxry 046ad79d11
GlobalShortcuts protocol impl (#1886)
Implements the `hyprland-global-shortcuts-v1` protocol

---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-04-09 13:48:20 +01:00
Vaxry 8b81f41e52
Plugin System (#1590)
---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2023-02-27 12:32:38 +00:00
vaxerski 18ed73f091 Added moveoutofgroup dispatcher 2023-02-26 13:55:35 +00:00
vaxerski 55b412e0f4 Added moveintogroup dispatcher 2023-02-26 13:52:11 +00:00
Vaxry a66ef50469 added a lockgroups dispatcher 2023-02-21 12:13:41 +00:00
vaxerski 6e16627cbc Added execr 2023-02-19 13:59:47 +00:00
Ching Pei Yang c92e0c05e4
Resize on border (#1347) 2023-02-18 22:35:31 +00:00
nub 98c95aa34d
focusCurrentOrLast dispatcher (#1545) 2023-02-14 00:46:58 +00:00
Cyril Levis fcbfd19393
feat: add focus to urgent or last window (#1402)
* feat: add focus to urgent or last window

* Rename dispatcher

Co-authored-by: Maxim Baz <git@maximbaz.com>
2023-01-21 11:18:55 +01:00
riChar e5dcbf73d8
Add "on" and "off" for the bind of switch (#1342) 2023-01-08 16:35:24 +01:00
Cyril Levis 3173fbdc4a
feat: dispatcher, add workspace renaming (#1336)
* feat: dispatcher, add workspace renaming

Co-authored-by: vaxerski <vaxry@vaxry.net>
2023-01-08 14:19:18 +01:00
Vaxry 98ce867104 added hyprctl binds 2023-01-06 14:32:25 +01:00
Vaxry cb4f748226 added fakefullscreen 2023-01-01 16:54:13 +01:00
vaxerski 4fd90144d1 touch up the clang format and format all files 2022-12-20 02:18:47 +00:00
Vaxry 98a4fa2b0d
Added clang format (#1239)
* clang-format stuff and format files
2022-12-16 17:17:31 +00:00
Vaxry 153c99217d use spawn in config exec 2022-11-10 13:50:16 +00:00
abbadanor 1a55fb4170
Dispatcher to center floating window (#961)
Co-authored-by: Adam Nord <adam.nord@abbgymnasiet.se>
Co-authored-by: vaxerski <vaxry@vaxry.net>
2022-11-07 12:16:30 +00:00
Vaxry a7bdfc06ca added bringactivetotop dispatcher 2022-10-14 14:22:31 +01:00
vaxerski 0d702b556d Add switch device handling and binds 2022-10-04 20:07:21 +01:00
Felix Dick bf3f519eb7 Remove trailing whitespace. 2022-09-25 20:07:48 +02:00
Vaxry 8b11a2e1b1 minor mouse bind handling fixes 2022-09-20 22:23:02 +01:00
Vaxry b82621c4ec fix mouse binds being stuck 2022-09-20 10:02:20 +01:00
Vaxry c24b45671a mouse binds overhaul 2022-09-19 19:04:48 +01:00
vaxerski d94fe3d063 added window pinning 2022-09-10 13:11:02 +02:00
vaxerski 1cf46fd6a2 added closewindow dispatcher 2022-08-30 21:35:27 +02:00
vaxerski c757fa54e1 Allow passing the mouse as well in `pass` 2022-08-28 17:01:48 +02:00
vaxerski 8122505825 pass press and release events separately 2022-08-27 19:29:28 +02:00
vaxerski e327b0a835 added a swapactiveworkspaces dispatcher 2022-08-25 21:25:28 +02:00
vaxerski 9c3aeda9f9 added swapnext 2022-08-24 21:40:36 +02:00
vaxerski 0f63077a07 use a custom translation state in keybinds 2022-08-21 16:43:22 +02:00
Vaxry b0b3a5af10 added resizewindowpixel and movewindowpixel 2022-08-15 15:59:07 +02:00
vaxerski a1d1ec4c46 added misc:mouse_move_enables_dpms 2022-07-31 15:46:42 +02:00
vaxerski 2e3d42a9a9 added a dpms dispatcher 2022-07-30 23:51:13 +02:00
vaxerski 9dd17a4be6 Added toggleopaque dispatcher 2022-07-28 12:07:41 +02:00
vaxerski 3904351678 Added layoutmsg and some master layout msgs 2022-07-28 12:00:10 +02:00