summaryrefslogtreecommitdiff
path: root/src/desktop/LayerSurface.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* layersurface: dont rollover on size_t (#7451)Tom Englund2024-08-211-2/+2
| | | unneded rollover on size_t if force equals -1
* internal: introduce new types to avoid unsigned int rollover and signed int ↵Tom Englund2024-08-081-2/+2
| | | | | | | | | | | | | | | | | | | | overflow (#7216) * framebuffer: avoid gluint overflow GLuint was being initialized to -1 and rolling over to unsigned int max, its defined behaviour but very unnecessery. add a bool and use it for checking if allocated or not. * opengl: avoid gluint rollover -1 rolls over to unsigned int max, use 0xFF instead. * core: big uint64_t to int type conversion there were a few uint64_t to int implicit conversions overflowing int and causing UB, make all monitor/workspaces/windows use the new typedefs. also fix the various related 64 to 32 implicit conversions going around found with -Wshorten-64-to-32
* window/ls: reset core signals after destroyVaxry2024-08-021-0/+5
| | | | fixes #7137
* core/surface/buffer: Buffer lock/release fixes (#7110)Vaxry2024-07-311-1/+1
|
* internal: refactor fullscreen states (#7104)MightyPlaza2024-07-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refactor fullscreen modified: src/Compositor.cpp modified: src/Compositor.hpp modified: src/config/ConfigManager.cpp modified: src/config/ConfigManager.hpp modified: src/debug/HyprCtl.cpp modified: src/desktop/LayerSurface.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/desktop/Workspace.cpp modified: src/desktop/Workspace.hpp modified: src/events/Windows.cpp modified: src/helpers/Monitor.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/DwindleLayout.hpp modified: src/layout/IHyprLayout.cpp modified: src/layout/IHyprLayout.hpp modified: src/layout/MasterLayout.cpp modified: src/layout/MasterLayout.hpp modified: src/managers/KeybindManager.cpp modified: src/managers/KeybindManager.hpp modified: src/managers/input/IdleInhibitor.cpp modified: src/managers/input/InputManager.cpp modified: src/managers/input/Swipe.cpp modified: src/protocols/ForeignToplevelWlr.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * clean up modified: src/config/ConfigManager.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.hpp modified: src/desktop/Workspace.cpp modified: src/events/Windows.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/input/Swipe.cpp * fix mapWindow fullscreen modified: src/events/Windows.cpp * fix typo modified: src/desktop/Workspace.cpp * add fullscreenstate modified: src/config/ConfigManager.cpp modified: src/events/Windows.cpp * change syncFullscreen to lower modified: src/config/ConfigManager.hpp * initialize fs state modified: src/desktop/Window.hpp
* layer-shell: avoid crashes on unmap (#7092)Virt2024-07-291-1/+1
|
* layersurface: null check for surface validity before unmap()vaxerski2024-07-281-2/+4
|
* layer-shell: properly map and unmap surface and propagate unmap eventsvaxerski2024-07-271-0/+4
|
* layersurface: fixup focus issues in onUnmapvaxerski2024-07-271-1/+4
| | | | fixes #6929
* debug: get rid of useless 1s in logs (#6969)Ikalco2024-07-221-3/+3
| | | | | * get rid of 1s in logs lol * replace WLR with AQ in logs
* core: Move to hyprutils for MathVaxry2024-06-191-2/+2
| | | | | | Moves CRegion, CBox and Vector2D over to hyprutils. Requires hyprutils>=0.1.4
* layerSurface: fix layer being refocused every commit with on_demand (#6487)outfoxxed2024-06-141-3/+2
| | | | | | | | | | | * layerSurface: fix layer being refocused every commit with on_demand Fixes #6477 The surface will now only receive focus when its keyboard interactivity is more than the previous keyboard interactivity in the order none -> on_demand -> exclusive. * layerSurface: only kb focus if becoming exclusive
* layershell: minor fixes to re-mapping of layersVaxry2024-06-121-2/+17
| | | | ref #2012
* layershell: Fix keyboard focus grabs (#4968) (#6394)outfoxxed2024-06-111-47/+40
|
* wayland/core: move to new impl (#6268)Vaxry2024-06-081-26/+31
| | | | | * wayland/core/dmabuf: move to new impl it's the final countdown
* seatmgr: Add a grab classVaxry2024-05-141-0/+2
|
* wl_seat: move to hyprland implVaxry2024-05-141-7/+6
|
* layersurface: avoid restack on identical layersVaxry2024-05-111-0/+2
| | | | ref #6014
* layersurface: fix invalid use of std::moveVaxry2024-05-111-1/+1
| | | | fixes #6014
* layersurface: reset popuphead after unmapVaxry2024-05-101-2/+2
| | | | fixes #5980
* layer-shell: move to new implVaxry2024-05-091-119/+37
| | | | Also bumps the hw-s dep
* internal: new shared_ptr and weak_ptr implementation (#5883)Vaxry2024-05-051-6/+6
| | | | | | | | | | | 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: fix and cleanup visibility logicVaxry2024-05-041-1/+1
| | | | fixes #5878
* input: Introduce basic hyprland HID classesVaxry2024-05-031-3/+3
| | | | | | 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.
* layerSurface: refactor/move to a memory-safe implVaxry2024-04-301-0/+589
Makes all the pointers smart to avoid memory issues Refactors layerSurface code to live inside desktop/layersurface