summaryrefslogtreecommitdiff
path: root/src/managers
Commit message (Collapse)AuthorAgeFilesLines
...
* eventLoop: various eventloopmgr fixes (#13091)Tom Englund2026-01-271-12/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * eventloopmgr: use unordered_map for readableWaiters use an unordered_map with the raw ptr as key, avoids any risk of dangling ptrs. * eventloopmgr: read the timerfd fd the manpage for timerfd_create and read states this. timefd_create creates a new timer object, and returns a file descriptor that can be used to read the number of expirations that have occurred. The FD becomes readable when the timer expires. read removes the “readable” state from the FD. so most likely it has somewhat worked because of the scheduleRecalc() function. * eventloopmgr: avoid unneeded std::function copy move the idle functions instead of copying. * eventloopmgr: remove event source before calling fn if fn causes a dispatch/reentry its gonna cause UB inside libwayland itself, remove the event source before calling the fn() avoids that entirerly. even if a new dispatch occurs. * eventloopmgr: check if timer fd is readable check if timerfd is readable before calling read on it, so we dont end up blocking on an accident, log an error if its not readable. * eventloopmgr: revert unordered_map change my mistake, the address wasnt changing on reallocations of the heap object. the only issue i was triggering was the reentry path in fn()
* desktop/windowRule: allow expression in min_size/max_size (#12977)Florent Charpentier2026-01-211-3/+13
|
* desktop: restore invisible floating window alpha/opacity when focused over ↵Naufal Hisyam Muzakki2026-01-212-0/+9
| | | | fullscreen (#12994)
* animation: reset tick state on session activation (#13024)William Wernert2026-01-212-0/+8
| | | | | | | | | After suspend/wake, the animation tick timer state (m_lastTickValid, m_tickScheduled) could be stale, causing framerate drops when blur is enabled. This was introduced in 2b0fd417 which changed the animation tick timing mechanism. Reset the tick state when the session becomes active to ensure a clean state for the animation system.
* pointermgr: remove onRenderBufferDestroy (#13008)Tom Englund2026-01-181-4/+3
| | | | | set the damage to cursor plane size instead of INT16_MAX and remove onRenderbufferDestroy, renderbuffer already have a listener that destroys when buffer is destroyed.
* anr: remove window on closewindow (#13007)Tom Englund2026-01-171-1/+2
| | | | m_data was never cleaned and continously built up the m_data, remove the entry on closeWindow.
* core: optimize some common branchesVaxry2026-01-161-2/+2
|
* animationMgr: avoid uaf in ::tick() if handleUpdate destroys AVVaxry2026-01-081-0/+3
| | | | ref https://github.com/hyprwm/Hyprland/discussions/12840
* anr: open anr dialog on parent's workspace (#12509)EvilLary2026-01-061-14/+18
|
* input/TI: avoid UAF in destroyVaxry2026-01-052-14/+14
|
* protocolMgr: remove IME / virtual input protocols from sandbox whitelistVaxry2026-01-051-3/+0
|
* eventLoop: remove failed readable waitersVaxry2026-01-052-0/+12
|
* core/xwaylandmgr: fix min/max clamp potentially crashingVaxry2026-01-021-1/+1
|
* input/ti: avoid sending events to inactive TIsVaxry2026-01-013-0/+10
| | | | ref https://github.com/hyprwm/Hyprland/discussions/12105
* input: guard null `view()` when processing mouse down (#12772)skrmc2025-12-311-2/+4
|
* desktopAnimationMgr: fix slide directionVaxry2025-12-301-26/+22
| | | | ref https://github.com/hyprwm/Hyprland/discussions/12744
* keybinds: add inhibiting gestures under shortcut inhibitors (#12692)ArchSav2025-12-302-7/+23
|
* keybinds: simulate mouse movement after bringing active window to top (#12703)Aditya Singh2025-12-271-0/+2
| | | Fixes https://github.com/hyprwm/Hyprland/discussions/12702
* render/cm: various updates, remove old protocols (#12693)UjinT342025-12-271-12/+2
| | | | | | | | | | | | | * fix named primaries * default to gamma22 * mark mastering primaries as supported * remove xx-cm and frog support * immutable primaries and image descriptions * clang-format
* rules/windowRuleApplicator: fix min/max size effects (#12491)Vaxry2025-12-272-2/+10
| | | fixes #12412
* keybinds: fix multikey binds breaking after scroll wheel events (#12638)Mr. Goferito2025-12-261-10/+16
|
* input: fix pending perm keyboards being enabledVaxry2025-12-261-0/+5
| | | | fixes #12359
* keybindmgr: fix focusCurrentOrLastVaxry2025-12-231-2/+6
|
* Desktop/history: Move history to desktop (#12676)Vaxry2025-12-203-28/+17
|
* animationmgr: avoid possible uaf in handling anim updatesVaxry2025-12-201-24/+28
|
* tablet: added option to hide cursor (#12525)fuyu1472025-12-193-2/+9
|
* debug: move to hyprutils' logger (#12673)Vaxry2025-12-1827-292/+294
|
* desktop/layer: store aboveFs property and use thatVaxry2025-12-162-18/+27
|
* input: simplify mouseMoveUnified a tadVaxry2025-12-161-12/+8
|
* input: cleanup sendMotionEventsToFocused()Vaxry2025-12-161-7/+20
|
* animation: migrate PHLANIMVAR from SP to UP (#12486)Maximilian Seidler2025-12-142-8/+5
|
* anr: don't create for anr dialogs (#12601)Luke Barkess2025-12-142-4/+9
|
* compositor: dont try to focus unmapped window (#12629)Tom Englund2025-12-111-1/+1
| | | | | | | | | | | | * compositor: dont try to focus unmapped window if lastwindow is unmapped it hits getWindowInDirection and nullptr derefs window->m_workspace. and coredumps. triggered by dual monitor and one client on each surface with a combination of animation and killactive / movefocus keybind. * keybindmgr: use newly added aliveAndVisible() use newly added aliveAndVisible() over visible()
* desktop/view: use aliveAndVisible for most things (#12631)Vaxry2025-12-111-4/+4
|
* desktop: cleanup, unify desktop elements as views (#12563)Vaxry2025-12-0822-121/+132
|
* keybinds: fix previous workspace remembering (#12399)Nikolai Nechaev2025-12-052-8/+6
| | | | | | | | | * swipe: Fix previous workspace remembering in workspace gesture Fixes a bug that previous workspace does not exist after swiping to a workspace * tests: Test that `workspace previous` works after workspace gesture * moveActiveToWorkspace: remember previous workspace unconditionally
* dispatcher: include mirrors of monitor in dpms (#12552)EvilLary2025-12-051-1/+3
| | | | | * dispatcher/dpms: include mirrors * use m_realMonitors instead
* desktop: rewrite reserved area handling + improve tests (#12383)Vaxry2025-12-052-13/+10
|
* pointer: apply locked pointer workaround only on xwayland (#12402)Hleb Shauchenka2025-12-041-1/+4
|
* welcome: init welcome manager (#12409)Vaxry2025-12-022-0/+47
| | | | | --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* protocols/cursor-shape: impl version 2 (#12270)Honkazel2025-11-302-1/+5
|
* keybinds: restore pointer warp on switchVaxry2025-11-271-1/+1
| | | | ref https://github.com/hyprwm/Hyprland/pull/12033#pullrequestreview-3516413924
* compositor: Configurable behavior when window to be focused conflicts with ↵Nikolai Nechaev2025-11-2518-221/+193
| | | | | | | | | | fullscreen (#12033) Renames `misc:new_window_takes_over_fullscreen` into `misc:on_focus_under_fullscreen` and implements the following behavior: - By default, when a tiling window is being focused on a workspace where a fullscreen/maximized window exists, respect the `misc:on_focus_under_fullscreen` config variable.
* animation: improve animations on multi refresh rate monitors (#12418)bea4dev2025-11-232-22/+31
|
* hyprctl: fix no_vrr prop ref (#12410)Hleb Shauchenka2025-11-201-1/+1
|
* windowrules: fix group rule recalcs (#12403)Vaxry2025-11-201-3/+2
|
* windowrules: rewrite completely (#12269)Vaxry2025-11-177-87/+165
| | | | | | | Reworks the window rule syntax completely --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* cursor: fix m_cursorSurfaceInfo not being updated while a cursor override is ↵Giacomo Zama2025-11-161-6/+6
| | | | set (#12327)
* i18n: init localization for ANR, Permissions and Notifications (#12316)Vaxry2025-11-163-45/+51
| | | | | | | | Adds localization support for en, it, pl and jp --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net> Co-authored-by: Aaron Blasko <blaskoazzolaaaron@gmail.com>
* cursor: ensure cursor reset on changed window states (#12301)Alexandru Spînu2025-11-151-0/+7
|