Commit graph

626 commits

Author SHA1 Message Date
Nj0be
ba24547d3d
dispatchers: add set, unset and toggle to fullscreen (#11893)
Add set, unset and toggle to fullscreen
2025-10-08 11:07:55 +01:00
rfresh2
73f06434a4
keybinds: fix repeat and long press keybinds release (#11863) 2025-10-06 21:10:56 +02:00
Nikolai Nechaev
29b103c376
exec: Spawn processes as direct children (#11735)
* exec: Spawn processes as direct children

Spawn processes as children rather than grandchildren.
This way, spawned processes may track Hyprland's state
by watching their parent, either directly or indirectly
(e.g., Linux's `PR_SET_PDEATH_SIG`).

Fixes #11728

* tests/exec: Add the test on process spawning

Add a test that ensures that:
- A spawned process remains a direct child of Hyprland;
- Upon termination, the process does not become a zombie.
2025-09-23 19:32:48 +02:00
0xFMD
797bfe905e
dispatchers: fix movecursor not updating client pos (#11672) 2025-09-11 21:52:30 +02:00
usering-around
38169c8fdd
input: support xkb v2 format (#11482) 2025-09-11 19:42:20 +02:00
0xFMD
5bb8adbc32
dispatchers: allow window address in swapwindow (#11518) 2025-08-31 18:14:39 +02:00
Vaxry
81bf4eccba
input: Add fully configurable trackpad gestures (#11490)
Adds configurable trackpad gestures
2025-08-28 11:20:29 +02:00
Hleb Shauchenka
fdf1612f0f
windowrules: Add novrr dynamic window rule (#11370) 2025-08-22 10:48:42 +01:00
Vaxry
251288ec59
renderer: add dpms animations (#11452) 2025-08-17 08:37:13 +01:00
60d769a899 internal: unify VT getting 2025-08-14 17:13:23 +02:00
Kamikadze
beee22a95e
refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
Vaxry
2859f1b795
keybinds: use the triggering keyboard for repeat timings (#11309) 2025-08-05 15:54:55 +02:00
JS Deck
2be309de1d
virtualkeyboard: Add options to skip releasing pressed keys on close and to skip sharing key states (#11214) 2025-08-04 21:29:39 +02:00
xqso
5c8d675eed
ci: correct tar command for xz compression & fix typos (#11213) 2025-07-25 17:19:23 +02:00
fd0c1f2ab4
keybinds: do not reset scroll timer on not passed
avoids endless lockups
2025-07-25 14:59:00 +02:00
MightyPlaza
d4de69381e
internal: set value and goal for window size and position on setGroupCurrent (#11120) 2025-07-20 17:00:17 +02:00
littleblack111
b5c0d0b8aa
keybinds: add an option to respect gaps out for floating to movewindow (#9360) 2025-06-03 19:48:56 +01:00
Kamikadze
69c2b2926e
internal: refactor to use empty() (#10599) 2025-05-31 19:49:50 +01:00
Kamikadze
9190443d95
refactor: use std::ranges whenever possible (#10584) 2025-05-30 14:25:59 +01:00
MightyPlaza
fa1e343b04
compositor: set fullscreenstate on movetoworkspace (#10303)
modified:   src/managers/KeybindManager.cpp
2025-05-08 18:29:47 +02:00
77ecf09506
internal: fix name confusion in SAlphaValue
fixes #10251
2025-05-02 16:29:15 +01:00
davc0n
ce821294e2
managers: refactor class member vars (#10242) 2025-05-02 17:07:20 +02:00
davc0n
5b3e489108
inputs: refactor class member vars (#10230) 2025-05-01 23:57:11 +02:00
davc0n
50e1bec85f
helpers: refactor class member vars (#10218) 2025-04-30 23:45:20 +02:00
davc0n
e9c3fcbb64
devices: refactor class member vars (#10206) 2025-04-29 19:51:07 +02:00
b10a43dabc
windowrules: add noclosefor
fixes #10027
2025-04-29 18:14:02 +01:00
davc0n
2118440488
windows: refactor class member vars (#10168) 2025-04-28 22:25:22 +02:00
f5c5cfa960
keybindmgr: fixup bindn regression
fixes #10195
2025-04-28 00:18:51 +01:00
davc0n
02d7badd15
workspaces: refactor class member vars (#10167) 2025-04-25 02:37:12 +02:00
davc0n
241a4935a2
compositor: refactor class member vars (#10141) 2025-04-22 15:23:29 +02:00
nyx
d29723cb76
keybinds: allow executing binds not bound to a key (#10102) 2025-04-21 20:47:14 +02:00
davc0n
4d14bcb02f
config: Refactor class member vars (#10124)
* Refactor config classes vars

* Fix clang format errors
2025-04-20 20:39:33 +02:00
nyx
225e13c3cc
InputManager: add config option to disable keybinds per device (#10064) 2025-04-17 02:19:10 +02:00
MightyPlaza
ffd6cf65e4
windowrules: allow incrementing window props (#9566) 2025-04-16 01:00:40 +02:00
alaricljs
6538970087
binds: add drag_threshold for click/drag isolation (#9839)
---------

Co-authored-by: Leeman <lstrout@enlj.com>
2025-04-12 16:43:13 +02:00
Virt
d775686380
input: add warp_on_toggle_special (#9945) 2025-04-10 14:54:24 +02:00
LeviVanDerMaas
05eb0aa43d
workspaces: Add binds:hide_special_on_workspace_change (#9728) 2025-03-30 03:11:39 +02:00
nyx
f7ba86d1f3
keybinds: add sendkeystate dispatcher (#9599) 2025-03-25 00:59:13 +01:00
MightyPlaza
e4af4b5e2e
core: update decorations on lockgroups (#9573)
modified:   src/managers/KeybindManager.cpp
2025-03-10 18:40:46 +01:00
nyx
7753e8ea68
keybinds): prevent crash when executing movewindoworgroup (#9551) 2025-03-06 23:08:57 +01:00
3a21dd84b3 core: cleanup some smart pointer usage 2025-03-02 02:19:35 +00:00
2c78867a98 core: cleanup window properties
they don't need to be in CConfigManager, and belong to window instead
2025-03-02 02:13:37 +00:00
littleblack111
2e81648980
internal: use isNumber from hyprutils (#9467) 2025-02-23 18:35:29 +01:00
andrewandreii
94a30889a7
keybinds: fix some errors not returning a failure (#9416) 2025-02-15 20:04:02 +01:00
nyx
7a6fde8414
internal: redirect exec'd app output to /dev/null (#9411) 2025-02-15 14:51:17 +01:00
Maximilian Seidler
ff9e059de6
window: move size reporting to animation begin callback (#9298)
* window: fix resizes with an update callback

* window: fixup sendWindowSize

Remove the size argument from sendWindowSize, since it is now a member of the Window class
and we don't want any mismatches between m_vRealSize and what we report.

Remove sendWindowSize from mapWindow, since we shouldn't need it.

* window: sendWindowSize on animation begin

* window: move most calls to sendWindowSize to the animation begin
callback

* window: remove sendWindowSize in unmanaged if not fullscreen
2025-02-06 11:21:04 +00:00
Tom Benham
84c9baecc6
keybinds: Added toggleswallow dispatcher (#5548)
* Added `toggleswallow` dispatcher

* clang-format

* Removed brackets for 1-line if
2025-02-05 09:56:41 +00:00
Alexander
708d166360
dispatchers: add cyclenext hist option (#9055) 2025-02-03 02:34:30 +01:00
Alexander
70d94fec13
refactor: clang-tidy in compositor (#9241)
Co-authored-by: Alexandr Krylov <t@ruenya.nix>
2025-02-02 18:34:26 +01:00
Tom Englund
32c0fa2f2f
core: begin using CFileDescriptor from hyprutils (#9122)
* config: make fd use CFileDescriptor

make use of the new hyprutils CFileDescriptor instead of manual FD
handling.

* hyprctl: make fd use CFileDescriptor

make use of the new hyprutils CFileDescriptor instead of manual FD
handling.

* ikeyboard: make fd use CFileDescriptor

make use of the new CFileDescriptor instead of manual FD handling, also
in sendKeymap remove dead code, it already early returns if keyboard
isnt valid, and dont try to close the FD that ikeyboard owns.

* core: make SHMFile functions use CFileDescriptor

make SHMFile misc functions use CFileDescriptor and its associated usage
in dmabuf and keyboard.

* core: make explicit sync use CFileDescriptor

begin using CFileDescriptor in explicit sync and its timelines and
eglsync usage in opengl, there is still a bit left with manual handling
that requires future aquamarine change aswell.

* eventmgr: make fd and sockets use CFileDescriptor

make use of the hyprutils CFileDescriptor instead of manual FD and
socket handling and closing.

* eventloopmgr: make timerfd use CFileDescriptor

make the timerfd use CFileDescriptor instead of manual fd handling

* opengl: make gbm fd use CFileDescriptor

make the gbm rendernode fd use CFileDescriptor instead of manual fd
handling

* core: make selection source/offer use CFileDescriptor

make data selection source and offers use CFileDescriptor and its
associated use in xwm and protocols

* protocols: convert protocols fd to CFileDescriptor

make most fd handling use CFileDescriptor in protocols

* shm: make SHMPool use CfileDescriptor

make SHMPool use CFileDescriptor instead of manual fd handling.

* opengl: duplicate fd with CFileDescriptor

duplicate fenceFD with CFileDescriptor duplicate instead.

* xwayland: make sockets and fds use CFileDescriptor

instead of manual opening/closing make sockets and fds use
CFileDescriptor

* keybindmgr: make sockets and fds use CFileDescriptor

make sockets and fds use CFileDescriptor instead of manual handling.
2025-01-30 11:30:12 +00:00