MightyPlaza
e989a0bcff
internal: refactor fullscreen states ( #7104 )
...
* 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
2024-07-31 19:55:52 +02:00
Vaxry
cc7c117fe7
output: minor tearing fixes
2024-07-30 15:50:14 +02:00
Vaxry
1c221240d0
output: submit damage to kms
2024-07-30 15:46:41 +02:00
Vaxry
f3a9f9ec45
pointer: use preMonitorCommit for resetting render state
...
in DS preRender is not called
2024-07-30 15:32:42 +02:00
Ikalco
e8374e0792
debug: get rid of useless 1s in logs ( #6969 )
...
* get rid of 1s in logs lol
* replace WLR with AQ in logs
2024-07-22 18:06:11 +02:00
Vaxry
016da234d0
Core: Move to aquamarine ( #6608 )
...
Moves Hyprland from wlroots to aquamarine for the backend.
---------
Signed-off-by: Vaxry <vaxry@vaxry.net>
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
Co-authored-by: vaxerski <vaxerski@users.noreply.github.com>
Co-authored-by: UjinT34 <41110182+UjinT34@users.noreply.github.com>
Co-authored-by: Tom Englund <tomenglund26@gmail.com>
Co-authored-by: Ikalco <73481042+ikalco@users.noreply.github.com>
Co-authored-by: diniamo <diniamo53@gmail.com>
2024-07-21 13:09:54 +02:00
Vaxry
13bc7e1e14
style: fix clang-format
2024-07-13 12:36:35 +02:00
Virt
22138ac259
workspaces: don't try to reopen special workspaces ( #6802 )
2024-07-07 21:27:18 +02:00
Tom Englund
ac11771348
core: fix a few ubsan issues reported at exit of hyprland ( #6699 )
...
* watchdog: dont detach and cause race condition
instead of detaching and causing a race condition on destruction where
the thread is alive and watchdog has been destroyed, check if its
joinable and join it on destruction.
causes heap use after free on exit of compositor.
* render: add checks for compositor shutting down
avoid member call on null pointer, if the g_pHyprRenderer is destroyed
we can call the member makeEGLCurrent on it, causes undefined behaviour
on destruction of the compositor/hyprrenderer.
found with ubsan.
2024-06-28 22:24:32 +02:00
Vaxry
1d70962892
core: move to steady_clock where applicable
...
avoid issues when system clock gets desynchronized or changed
2024-06-25 16:05:47 +02:00
Alexander
7f09646ab8
core: add ability to select previous workspace per monitor ( #6598 )
...
Co-authored-by: Крылов Александр <aleksandr.krylov@hyperus.team>
2024-06-22 23:52:42 +02:00
Vaxry
8cf2ca1966
math: include cstring for memset
...
fixup name too
2024-06-21 19:20:15 +02:00
Vaxry
fabc30df52
format: include macros for unreachable
2024-06-20 00:15:24 +02:00
Vaxry
def5fcb212
damageRing: move to hyprland impl
...
A small wlroots utility we were still using.
2024-06-19 18:25:25 +02:00
Lucas Reis
20a465f69d
pointer: use software rendering when monitor is mirrored ( #6587 )
...
* pointer_manager: add lock/unlock software wrappers that receive the raw pointer
* monitor: lock/unlock software pointer rendering when adding/removing mirrored screens
* use relative path in includes
2024-06-19 16:24:28 +02:00
Vaxry
fb15b7aa2a
core: Move to hyprutils for Math
...
Moves CRegion, CBox and Vector2D over to hyprutils.
Requires hyprutils>=0.1.4
2024-06-19 16:20:15 +02:00
Tom Englund
28ce0e0f80
misc: a few compiler level performance optimisations ( #6559 )
...
* window: use const references instead of copies
use const references instead of wasteful copies and make the = operator
check for self assignment and return early. also use const in all the
other operators.
* listener: pass std::function as const reference
instead of copies pass the std::functions as const references.
* config: dont unnecessarily convert to c_str
getHyprlangConfigValuePtr wants an std::string and we already have an
std::string, dont convert it to a c_str only for it to be converted back
to an std::string.
* buffer: pass attributes as const reference
pass attributes as const reference instead of copies.
2024-06-17 17:37:36 +02:00
Vaxry
1360677478
subcompositor/renderer: fixup handling of subsurfaces below the main one
...
some apps (notably vlc 4) place a subsurface below the main surface (which is kinda cursed) but we have to accomodate for that
2024-06-17 12:42:39 +02:00
Vaxry
2f278dc883
egl: fixup format modifier lookups with implicit modifiers
...
ref #6485
2024-06-14 21:59:21 +02:00
Vaxry
12ce06f39b
format: fix flipped r/b channels on legacy_renderer
...
We don't wanna use an extension, but for gles2 there is no other option.
fixes #6465
2024-06-14 19:10:12 +02:00
UjinT34
a9d53a2252
vrr: add option to fix mouse breaking vrr ( #6483 )
...
* option to fix mouse breaking vrr
* skip damage on mouse move
* remove this-> & cleanup
* add cursor:min_refresh_rate to avoid cursor freezing
* run clang-format
---------
Co-authored-by: UjinT34 <ujin@uvpn.ru>
2024-06-14 13:45:32 +02:00
phonetic112
8055b1c00a
misc: Fix build warnings ( #6486 )
2024-06-13 23:23:23 +02:00
Jan Beich
4842eb83b4
helpers: make shm_open() portable after 8bcccf9f0f ( #6471 )
...
https://pubs.opengroup.org/onlinepubs/9699919799/functions/shm_open.html
https://man.freebsd.org/shm_open/2
https://www.man7.org/linux/man-pages/man3/shm_open.3.html
2024-06-13 14:20:14 +02:00
Vaxry
a9d7befc36
formats: fixup for legacy_renderer builds
2024-06-12 23:29:24 +02:00
Vaxry
8c64a4bad7
core: move to hyprutils for utils ( #6385 )
...
* 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>
2024-06-11 17:17:45 +02:00
Vaxry
1423707dbe
output: remove wl_output globals for mirrored displays
...
ref #6387
2024-06-10 00:06:42 +02:00
Mykola Perehudov
bf75723f27
helpers: fix misuse of syscalls in sd namespace ( #6379 )
2024-06-09 09:43:39 +02:00
memchr
7789caad39
build: include missing header: "debug/Log.hpp" in Format.cpp ( #6365 )
2024-06-08 16:25:01 +02:00
Vaxry
6967a31450
wayland/core: move to new impl ( #6268 )
...
* wayland/core/dmabuf: move to new impl
it's the final countdown
2024-06-08 10:07:59 +02:00
giskard
ebf258788e
config: add tag dispacther and window rule ( #6211 )
2024-05-28 23:37:24 +02:00
Vaxry
addd3e7f1a
xwayland: move to hyprland impl ( #6086 )
2024-05-25 22:43:51 +02:00
vaxerski
6d67b84469
monitor: avoid UB on undefined auto dir
...
ref #6217
2024-05-24 20:56:53 +02:00
System64
255272ea18
debug: Add ARM GPU info ( #6212 )
...
Added a simple way to get basic info about the GPU on ARM based systems
2024-05-23 18:04:39 +02:00
Vaxry
9eec4cb670
sysd: add missing header
...
ref #6094
2024-05-15 23:01:50 +01:00
JManch
a8522db683
keybinds: fix empty on monitor for new workspaces ( #6089 )
2024-05-15 21:03:51 +01:00
Vaxry
7eeee2c94e
wl-data-device: move to hyprland impl
2024-05-14 23:13:35 +01:00
Vaxry
121d3a7213
wl_seat: move to hyprland impl
2024-05-14 23:02:24 +01:00
Vaxry
38911d6df4
box: fix noNegativeSize
2024-05-10 12:59:01 +01:00
Vaxry
a7e23d2f1e
presentation-time: move to new impl
2024-05-10 02:38:54 +01:00
Vaxry
b0861b6709
config: move various cursor-related vars to cursor:
2024-05-09 22:25:20 +01:00
Vaxry
635a02d83f
layer-shell: move to new impl
...
Also bumps the hw-s dep
2024-05-09 22:02:18 +01:00
Vaxry
84e8d1810d
Tablet: move to new impl
...
Ring and strip are not implemented. Will I implement this? God fucking knows. Nobody seems to have that anyways.
2024-05-09 13:37:39 +01:00
Vaxry
ed411f53bd
cursor: move to a hyprland impl
...
This moves wlr_cursor to a completely new impl mostly under
CPointerManager
Also adds beginSimple to OpenGL for simple render passes (e.g. cursor)
2024-05-09 13:37:39 +01:00
William Gray
36d32973dd
keybinds: add empty on monitor and next empty flags ( #5936 )
...
* empty on monitor
* add flag for next empty
* clang-format changes
* next also uses m_pLastMonitor
2024-05-08 13:30:20 +01:00
Username404-59
57a12476de
internal: Add missing errno.h include to SdDaemon.cpp ( #5938 )
...
Fixes clang
2024-05-07 23:13:58 +01:00
Vaxry
0c446ec5f4
memory: fix SP/WP hierarchy templates
2024-05-06 21:36:31 +01:00
Vaxry
1ed1ce9506
internal: new shared_ptr and weak_ptr implementation ( #5883 )
...
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.
2024-05-05 17:16:00 +01:00
Vaxry
1237732b97
input: Introduce basic hyprland HID classes
...
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.
2024-05-03 22:40:27 +01:00
William Gray
1d2acbe193
config: add absolute monitor workspace selectors ( #5848 )
...
* add absolute monitor workspace selectors
* implement absolute for `r`
* format code
2024-05-03 18:38:00 +01:00
Vaxry
8a2269272b
output-management: move to new impl
2024-05-03 18:08:04 +01:00