summaryrefslogtreecommitdiff
path: root/src/events/Windows.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* internal: Make static analysis more happy (#8767)Ikalco2024-12-191-1/+1
| | | | | | | | | * make functions used in 1 file static * fix invalid substr param -1 * give default initializer to borderGradier * move RASSERT from printf to std::print
* internal: remove dead code (#8748)Ikalco2024-12-171-9/+0
|
* core: Optimize window/layer rule application and scanning (#8735)Vaxry2024-12-161-221/+259
| | | Optimizes window and layer rule parsing and later usage.
* core: Add clang-tidy (#8664)Vaxry2024-12-071-3/+3
| | | | | This adds a .clang-tidy file for us. It's not a strict requirement to be compliant, but I tuned it to be alright.
* core: workspace-related function cleanup / refactorVaxry2024-11-221-5/+7
| | | | CCompositor is massive, and has a lot of functions that could be better optimized if in CWorkspace
* windows/xdg: minor cleanup of min/max size calculationsVaxry2024-11-171-4/+4
| | | | fixes #8495
* workspacerules: Do not check 'on-created-empty' if using a workspace ↵staz2024-11-161-1/+1
| | | | windowrule (#8486)
* internal: check size limit in layouts (#8298)MightyPlaza2024-10-301-23/+13
| | | | | | | | | | | modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/helpers/MiscFunctions.cpp modified: src/helpers/MiscFunctions.hpp modified: src/layout/DwindleLayout.cpp modified: src/layout/IHyprLayout.cpp modified: src/layout/MasterLayout.cpp modified: src/macros.hpp
* core: move internal structures to monitor pointers (#8266)Vaxry2024-10-271-17/+17
|
* groups: fix swallowing (#8223)Aqa-Ib2024-10-271-16/+16
| | | | | | | | | | | | | * fix swallowing for groups * remove unnecessary check * clang-format * clarify comment * make variables consistent * make aditional variables consistent
* renderer: fix floating window damage (#8182)Ikalco2024-10-211-2/+2
|
* internal: Move CMonitor to SP (#8178)Vaxry2024-10-191-3/+3
| | | | | * move monitors to sp * XD
* window: guard PMONITOR in commit listenerVaxry2024-10-191-1/+3
| | | | ref #8170
* windowrules: allow specifying max size in size window rule (#8021)MightyPlaza2024-10-171-13/+27
| | | | | | | * allow specifying max size in size window rule modified: src/events/Windows.cpp * clean up modified: src/events/Windows.cpp
* input: Fix VRR for constrained cursors (#6877)UjinT342024-10-121-3/+16
|
* internal: use clampWindowSize to unify min/maxsize handling (#8014)MightyPlaza2024-10-071-20/+2
| | | | | modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp
* layout: add auto_group to control default grouping (#7883)Aqa-Ib2024-10-021-1/+1
|
* windows: support size with pseudo tiledVaxry2024-09-081-3/+32
| | | | fixes #7690
* window/xwayland: minor property cleanupVaxry2024-08-301-4/+4
| | | | fixes #6921
* misc: constify the remaining for loops (#7534)Tom Englund2024-08-261-2/+2
| | | now we roll loops at blazing constified speed.
* core: add option to control which window to focus on close (#7368)ParaN3xus2024-08-211-1/+6
|
* internal: introduce new types to avoid unsigned int rollover and signed int ↵Tom Englund2024-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | 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
* internal: fix fullscreen typos (#7134)MightyPlaza2024-08-011-2/+2
| | | | modified: src/events/Windows.cpp modified: src/layout/DwindleLayout.cpp
* core/surface/buffer: Buffer lock/release fixes (#7110)Vaxry2024-07-311-1/+1
|
* internal: refactor fullscreen states (#7104)MightyPlaza2024-07-311-47/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* input: unify removing currentlyDraggedWindow (#7071)MightyPlaza2024-07-271-0/+3
| | | | | | | | modified: src/desktop/Window.cpp modified: src/events/Windows.cpp modified: src/layout/IHyprLayout.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/KeybindManager.hpp modified: src/managers/input/InputManager.cpp
* protocols: move screencopy and toplevel export to hyprwayland-scanner (#7065)Ikalco2024-07-271-1/+2
| | | | | * move screencopy and toplevel export to hyprwayland-scanner * oops
* window: drop ack requirement for applying pending reported sizeVaxry2024-07-231-6/+1
| | | | fixes #6533
* config: add option to exit window while retaining fullscreen (#516) (#6880)Khiet Tam Nguyen2024-07-151-1/+9
| | | | | * feat: saving fullscreen mode and state for restoring later * style: no p-prefix, capitalised constants
* window: override noMaximize if new window takes over fullscreen (#6812) (#6870)Khiet Tam Nguyen2024-07-131-2/+4
|
* core: Improve handling of window properties (#6776)MightyPlaza2024-07-111-15/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add mWindowProperties modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp * support int values modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp * create m_sWindowData modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/IHyprLayout.cpp modified: src/layout/MasterLayout.cpp modified: src/managers/AnimationManager.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/XWaylandManager.cpp modified: src/render/OpenGL.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprBorderDecoration.cpp modified: src/render/decorations/CHyprDropShadowDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * simplify some properties modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/managers/KeybindManager.cpp * store multiple values in CWindowOverridableVar modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/IHyprLayout.cpp modified: src/managers/AnimationManager.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/XWaylandManager.cpp modified: src/render/OpenGL.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprBorderDecoration.cpp modified: src/render/decorations/CHyprDropShadowDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * clean up 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/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/IHyprLayout.cpp modified: src/layout/IHyprLayout.hpp modified: src/layout/MasterLayout.cpp modified: src/managers/KeybindManager.cpp * use SET_PROP priority for exec rules modified: src/config/ConfigManager.hpp modified: src/desktop/Window.cpp * add default value modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/IHyprLayout.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/XWaylandManager.cpp modified: src/render/OpenGL.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprBorderDecoration.cpp modified: src/render/decorations/CHyprDropShadowDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp * add setprop toggle modified: src/config/ConfigManager.hpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp * add setprop toggle modified: src/debug/HyprCtl.cpp * make window rules functional modified: src/config/ConfigManager.cpp modified: src/desktop/Window.cpp * minor fixes modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.hpp * properly clean layout data modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/DwindleLayout.cpp modified: src/layout/IHyprLayout.cpp modified: src/layout/IHyprLayout.hpp modified: src/layout/MasterLayout.cpp * remove newline modified: src/events/Windows.cpp * fixes modified: src/config/ConfigManager.hpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp * use CamelCase modified: src/Compositor.cpp modified: src/debug/HyprCtl.cpp modified: src/desktop/Window.cpp modified: src/desktop/Window.hpp modified: src/events/Windows.cpp modified: src/layout/IHyprLayout.cpp modified: src/managers/AnimationManager.cpp modified: src/managers/KeybindManager.cpp modified: src/managers/XWaylandManager.cpp modified: src/render/OpenGL.cpp modified: src/render/Renderer.cpp modified: src/render/decorations/CHyprBorderDecoration.cpp modified: src/render/decorations/CHyprDropShadowDecoration.cpp modified: src/render/decorations/CHyprGroupBarDecoration.cpp
* core: add ability to select previous workspace per monitor (#6598)Alexander2024-06-221-2/+1
| | | Co-authored-by: Крылов Александр <aleksandr.krylov@hyperus.team>
* window: improve swallowing functionalityVaxry2024-06-151-62/+7
| | | | | | cleanups, fixes, etc. ref #6095
* window: use effective damage for tearing re-schedulesVaxry2024-06-141-1/+1
| | | | fixes #6377
* core: move to hyprutils for utils (#6385)Vaxry2024-06-111-2/+5
| | | | | | | | | | | | | * core: move to hyprutils for utils Nix: add hyprutils dep * Meson: add hyprutils dep * flake.lock: update --------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
* wayland/core: move to new impl (#6268)Vaxry2024-06-081-12/+12
| | | | | * wayland/core/dmabuf: move to new impl it's the final countdown
* windows: make new_window_takes_over_fullscreen use the new window's ↵Connor Wong2024-05-271-5/+5
| | | | | | | workspace (#6263) * fix new_window_takes_over_fullscreen behavior * missed a few things
* xwayland: move to hyprland impl (#6086)Vaxry2024-05-251-256/+14
|
* xdg-shell: move to new implVaxry2024-05-141-145/+30
|
* wl_seat: move to hyprland implVaxry2024-05-141-1/+2
|
* xwayland: Remove delta for real position with xwayland zero scaling (#6057)Daniil2024-05-141-2/+0
|
* layer-shell: move to new implVaxry2024-05-091-1/+2
| | | | Also bumps the hw-s dep
* cursor: move to a hyprland implVaxry2024-05-091-3/+3
| | | | | | | This moves wlr_cursor to a completely new impl mostly under CPointerManager Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
* windows: Revert "window: set config only when both props end anims" (#5904)outfoxxed2024-05-061-3/+3
| | | | | This reverts commit 7617c03dfd0073654ca8c4d9a6f5db278d14cd28, fixing a bug that caused the bottom right corner of windows to animate oddly.
* internal: new shared_ptr and weak_ptr implementation (#5883)Vaxry2024-05-051-2/+2
| | | | | | | | | | | 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.
* input: Introduce basic hyprland HID classesVaxry2024-05-031-1/+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.
* internal: store matched windowrules and emit eventVaxry2024-05-021-4/+4
| | | | new event for plugins, windowUpdateRules
* socket2: fix empty activewindowv2 eventsVaxry2024-05-011-1/+1
| | | | fixes #5827
* xdg-activation: move to new implVaxry2024-04-291-16/+0
|