summaryrefslogtreecommitdiff
path: root/src/managers
Commit message (Collapse)AuthorAgeFilesLines
...
* core: cleanup environment on exit (#5941)Ikalco2024-05-081-1/+5
|
* session-lock: don't allow events from rejected locksVaxry2024-05-071-0/+1
| | | | fixes #5913
* eventloop: don't call lost timersVaxry2024-05-072-1/+5
|
* ipc: add togglegroup, moveintogroup and moveoutofgroup events (#5866)VPavliashvili2024-05-071-0/+4
|
* keybinds: fix xkb keybind name to keysym comparison (#5917)Ikalco2024-05-071-5/+4
|
* keybinds: make the keybind manager check for session lock (#5894)Ikalco2024-05-051-0/+3
|
* internal: new shared_ptr and weak_ptr implementation (#5883)Vaxry2024-05-0520-105/+103
| | | | | | | | | | | moves std::shared_ptrs to a new implementation Advantages: - you can dereference a weak_ptr directly. This will obviously segfault on a nullptr deref if it's expired. - this is useful to avoid the .lock() hell where we are 100% sure the pointer _should_ be valid. (and if it isn't, it should throw.) - weak_ptrs are still valid while the SP is being destroyed. - reasoning: while an object (e.g. CWindow) is being destroyed, its `weak_ptr self` should be accessible (the sp is still alive, and so is CWindow), but it's not because by stl it's already expired (to prevent resurrection) - this impl solves it differently. w_p is expired, but can still be dereferenced and used. Creating `s_p`s is not possible anymore, though. - this is useful in destructors and callbacks.
* idle-inhibit: enable idle inhibitor if no hl surface is associated (#5882)Sungyoon Cho2024-05-052-5/+7
|
* protocols: add hyprland_focus_grab_v1 implementation (#5850)outfoxxed2024-05-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * protocols: add hyprland_focus_grab_v1 implementation * protocols/focus_grab: fix keyboard focus staying on unlisted windows When creating a focus grab with layershell surfaces, the last active toplevel kept keyboard focus. * protocols/focus_grab: fix formatting * protocols/focus_grab: try to pick surface for keyboard focus * focus_grab: update keyboard focus to match spec * Revert "protocols/focus_grab: try to pick surface for keyboard focus" This reverts commit 090358d0d19cc65208641eaefa0a905e99145730. * protocols/focus_grab: fix issues and match new spec * kde-server-decoration: move to new impl * protocols/focus_grab: review fixup * Update hyprland-protocols --------- Co-authored-by: Vaxry <vaxry@vaxry.net>
* kde-server-decoration: move to new implVaxry2024-05-051-23/+25
|
* idle-inhibit: fix and cleanup visibility logicVaxry2024-05-042-14/+21
| | | | fixes #5878
* input: ignore destroyed devices in static eventsVaxry2024-05-041-0/+12
| | | | fixes #5863
* input: Introduce basic hyprland HID classesVaxry2024-05-035-302/+231
| | | | | | Implements an intermediary HID class for mice, keyboards and touch devices, removing the old structs from WLClasses.hpp Yes, virtual ones are duplicated a bit, but will likely be de-duped once wlr_input_device is not used anymore.
* inputmgr: dont double free on hotplug (#5855)Tom Englund2024-05-032-1/+1
| | | | | | | | | | | | | | * inputmgr: dont double free on hotplug since we are also unrefing the state on hotplugging the keyboard set the state to nullptr so the destructor if case actually catches its been already freed. * keybindgmgr: dont double free on layout switching d5bf153 added keymap unref at the end of updateXKBTranslationState to not leak it when exiting, only it causes updateXKBTranslationState to double free when changing layouts. since its already freed. remove the unneeded extra xkb_keymap_unref.
* output-management: move to new implVaxry2024-05-031-0/+2
|
* internal: fix a few asan reported leaks on exit of hyprland (#5852)Tom Englund2024-05-034-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | * notifications: free cairo images on destruction asan reports a leak on exit if we dont free the image we created in the draw function. add a destructor and free images on exit. * compositor: destroy wlroots types on exit there are a few types not being destroyed on exit and causing a leak on exit in wlroots reported by asan, add those. * cursormgr: ensure we destroy cursor mgr on exit add a destructor and call wlr_xcursor_manager_destroy on the manager on destruction, leak reported by asan. * keybindmgr: free state and keymap add missing keymap_unref on creation, and add a destructor and free the state on exit. leak reported by asan. * skeyboard: add destructor and free state free the state on destruction of keyboard, reported as leak by asan
* virtual-pointer: move to new implVaxry2024-05-033-3/+40
|
* virtual-keyboard: destroy on vdestroy eventVaxry2024-05-031-0/+3
|
* virtual-keyboard: move to new implVaxry2024-05-033-14/+24
|
* cursor-shape: use - instead of _ in shapesVaxry2024-05-021-3/+3
| | | | ref #5824
* cursormgr: attempt using - instead of _ for failed cursors before fallbackVaxry2024-05-021-0/+8
| | | | web uses -, and thus some themes might use - too. Attempt replacing _ with - before assuming a shape is missing.
* ime-v2: move to new implVaxry2024-05-019-246/+135
|
* keybinds: check for special workspace equality before switchingVaxry2024-04-301-1/+2
| | | | fixes #5814
* session-lock: move to new implVaxry2024-04-304-130/+111
|
* layerSurface: refactor/move to a memory-safe implVaxry2024-04-304-21/+22
| | | | | Makes all the pointers smart to avoid memory issues Refactors layerSurface code to live inside desktop/layersurface
* ext-idle-notify: move to new implVaxry2024-04-295-18/+25
|
* xdg-activation: move to new implVaxry2024-04-291-0/+3
|
* wlr-output-power: move to new implVaxry2024-04-292-0/+5
|
* core: Move /tmp/hypr to $XDG_RUNTIME_DIR/hypr (#5788)Vaxry2024-04-281-1/+1
| | | | | | Moves the directory containing sockets and logs. Also restructures lockfiles a bit. For consumers, check if `$XDG_RUNTIME_DIR/hypr` exists. If so, use it. If not, use the old `/tmp/hypr`.
* tokenmgr: separate getRandomUUID from registerNewTokenVaxry2024-04-282-1/+8
|
* internal: Window storage rework - part 1 (#5762)Vaxry2024-04-2711-201/+210
| | | | | | | | | | | | | | | | | * Window storage rework - part 1 * format * remove useless include * fix pch * format * fix crash in dwindle * fix vram leak * prefer .expired() for bool checks
* pointer-constraints: move to new implVaxry2024-04-273-19/+34
|
* swipe: fix crashes with invalid distanceVaxry2024-04-262-28/+31
| | | | fixes #5758
* text-input-v3: move to new implVaxry2024-04-255-60/+94
|
* shortcuts-inhibitor: move to new implVaxry2024-04-253-8/+7
|
* wlr-foreign-toplevel: move to new implVaxry2024-04-252-14/+14
|
* idle-inhibit: Always recheck idle inhibitors on creation and deletion (#5738)zakk42232024-04-251-13/+12
| | | Formatting
* pointer-gestures: move to new implVaxry2024-04-243-11/+3
|
* cursormgr: fix misscaled cursors on fractionalVaxry2024-04-241-2/+4
|
* tokens: add more modes to initial_workspace_trackingVaxry2024-04-241-2/+3
| | | | | | 1 is single-shot, 2 is persistent fixes #5732
* ext-foreign-toplevel: add implementationVaxry2024-04-241-0/+3
|
* tokens: fix initial workspace token ignoring specialVaxry2024-04-241-1/+4
| | | | ref #5726
* input: fix active keyboard for seat after destroying one (#5725)drendog2024-04-231-10/+9
| | | | | * fix: manage active keyboard for seat after destroying one * chore: clang-format
* config: Add More Monitor 'Auto' Positions. (#5670)Gabriel Ford2024-04-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | * Reverse Window Positioning. * Cleanup old comments and logs. * Finish Splitting Left and Right offset. * Forgot to add Auto Left to ConfigManager * Fix problems with auto_left. * Nearly finish up and down. * Finish draft of all four dirs. Testing now. * Change Y value in moveTo for up and down. * Format, comment, and cleanup. * Address Vaxry's feedback. * Add check to see if auto position is first rule. * Run clang-format.
* windows: add misc:initial_workspace_trackingVaxry2024-04-231-1/+25
| | | | | | By default enabled, will track the initial opened workspace of a window spawned for 2 minutes or until it's moved to a different workspace. For example: you run a launcher and open an app on workspace 1, but quickly switch to workspace 2. The app will now open on workspace 1 regardless of your switch.
* managers: Add a TokenManagerVaxry2024-04-232-0/+79
|
* gamma-control: move to new implVaxry2024-04-221-0/+3
|
* alpha-modifier: add support for protocolVaxry2024-04-211-0/+3
|
* xdg-decoration: move to new implVaxry2024-04-211-0/+3
|
* relative-pointer: move to new implVaxry2024-04-212-10/+12
|