summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* socket2: fix events being reordered (#5955)underengineering2024-05-101-4/+0
| | | | | | | | | | | | | | | | | | | * socket2: fix events being reordered * remove WL_EVENT_READABLE * initialize eventSource in SClient * add more logs oopsie * replace unordered_map with vector * fix reordering when socket becomes writable before queue is flushed * ignore EAGAIN when accepting connection * use g_pEventManager
* presentation-time: move to new implVaxry2024-05-101-2/+0
|
* config: move various cursor-related vars to cursor:Vaxry2024-05-091-2/+2
|
* core: drop unused protocol implsVaxry2024-05-091-6/+0
| | | | | | xdg_foreign is not used by hyprland wlr_export_dmabuf is old, broken and unused as well
* layer-shell: move to new implVaxry2024-05-091-46/+29
| | | | Also bumps the hw-s dep
* core: remove wayland sockets on exit (#5959)Ikalco2024-05-091-0/+4
|
* Tablet: move to new implVaxry2024-05-091-2/+0
| | | | Ring and strip are not implemented. Will I implement this? God fucking knows. Nobody seems to have that anyways.
* cursor: move to a hyprland implVaxry2024-05-091-66/+32
| | | | | | | This moves wlr_cursor to a completely new impl mostly under CPointerManager Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
* core: cleanup environment on exit (#5941)Ikalco2024-05-081-0/+24
|
* internal: new shared_ptr and weak_ptr implementation (#5883)Vaxry2024-05-051-5/+5
| | | | | | | | | | | 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.
* kde-server-decoration: move to new implVaxry2024-05-051-3/+0
|
* input: Introduce basic hyprland HID classesVaxry2024-05-031-4/+1
| | | | | | 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.
* output-management: move to new implVaxry2024-05-031-8/+0
|
* internal: fix a few asan reported leaks on exit of hyprland (#5852)Tom Englund2024-05-031-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | * 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-031-4/+0
|
* virtual-keyboard: move to new implVaxry2024-05-031-4/+0
|
* ime-v2: move to new implVaxry2024-05-011-4/+0
|
* socket2: fix empty activewindowv2 eventsVaxry2024-05-011-2/+2
| | | | fixes #5827
* session-lock: move to new implVaxry2024-04-301-4/+0
|
* layerSurface: refactor/move to a memory-safe implVaxry2024-04-301-41/+19
| | | | | 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-291-9/+0
|
* xdg-activation: move to new implVaxry2024-04-291-4/+0
|
* wlr-output-power: move to new implVaxry2024-04-291-4/+0
|
* core: Move /tmp/hypr to $XDG_RUNTIME_DIR/hypr (#5788)Vaxry2024-04-281-16/+28
| | | | | | 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`.
* compositor: more fs safety around tmp directoriesVaxry2024-04-281-2/+19
| | | | HIS now includes a random bit, and hyprland will bail if /tmp/hypr is not a directory or if /tmp/hypr/his exists
* core: prefer mkdir over create_directory and permissionsVaxry2024-04-281-7/+6
|
* CrashReporter: fix deadlocks by making it mostly async-signal-safe (#5771)virchau132024-04-271-0/+8
| | | | | `CrashReporter::createAndSaveCrash()` is not async-signal-safe, resulting in random deadlocks/double-crashes during Hyprland crashes. This changes the function to be (mostly) async-signal-safe.
* internal: Window storage rework - part 1 (#5762)Vaxry2024-04-271-147/+129
| | | | | | | | | | | | | | | | | * 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-271-4/+1
|
* text-input-v3: move to new implVaxry2024-04-251-4/+0
|
* config: Default unconfigured monitors to open to the right (#5741)eriedaberrie2024-04-251-19/+23
| | | | | * config: default unconfigured monitors to open to the right * monitor: improve logging for auto positioning
* shortcuts-inhibitor: move to new implVaxry2024-04-251-4/+0
|
* wlr-foreign-toplevel: move to new implVaxry2024-04-251-36/+0
|
* pointer-gestures: move to new implVaxry2024-04-241-2/+0
|
* compositor: properly update workspace in moveWindowToWorkspaceSafeVaxry2024-04-231-4/+2
| | | | fixes #5714
* config: Add More Monitor 'Auto' Positions. (#5670)Gabriel Ford2024-04-231-12/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* managers: Add a TokenManagerVaxry2024-04-231-0/+4
|
* core: add libinput backend support for headless session (#5699)PostCyberPunk2024-04-221-1/+1
|
* gamma-control: move to new implVaxry2024-04-221-4/+0
|
* xdg-decoration: move to new implVaxry2024-04-211-3/+0
|
* relative-pointer: move to new implVaxry2024-04-211-2/+0
|
* idle-inhibit: move to new implVaxry2024-04-211-4/+0
|
* config: Expand on window matching (#5518)SoSeDiK2024-04-211-2/+25
| | | | | * Expand on window matching * Requested changes
* cursor-shape: move to new implVaxry2024-04-211-7/+3
|
* core: remove libsystemd dependency (#5660)Yaroslav2024-04-201-5/+5
| | | | | | | | | | | | | | | | * remove libsystemd dependency as per Lennart Poettering's advice: https://github.com/systemd/systemd/issues/32028#issuecomment-2031366922 * fix naming for systemd helper functions * rename vars according to code style * Nix: update meson patch --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* Fractional-scale: move to new implVaxry2024-04-201-1/+2
|
* tearing-control: hyprland impl (#5655)Vaxry2024-04-191-4/+2
| | | | | * tearing: hl impl * format
* workspace: Add 'v' flag for workspace selector that counts only visible ↵zakk42232024-04-191-7/+18
| | | | | | | | | windows (#5628) * Add 'v' flag for workspace selector: counts only visible windows * extra commit because I'm dumb * guard
* core: Fix double special workspace (#5574)thejch2024-04-131-1/+4
| | | | | | | * fix double special name * fix special on another monitor * remove extra stuff
* workspace: update windows when selector match could change (#5533)Sungyoon Cho2024-04-101-0/+12
| | | | | | | * workspace: update windows when group updates * workspace: update windows when floating toggle * workspace: update windows when stop dragging window by mouse