davc0n
02d7badd15
workspaces: refactor class member vars ( #10167 )
2025-04-25 02:37:12 +02:00
davc0n
0e80ecc534
layers: refactor class member vars ( #10149 )
...
* layers: refactor class member vars
* popups: rename m_WLSurface to m_wlSurface
2025-04-24 20:49:49 +02:00
M Matthew Hydock
be6268a7ec
groupbar: Add options for setting group bar title font weight (and indicator gap) ( #9617 )
2025-04-24 20:48:08 +02:00
WhySoBad
a9549dbca0
protocols: add Hyprland toplevel mapping implementation ( #9775 )
2025-04-24 18:10:57 +02:00
Vaxry
b06fbdb743
dwindle: use idealIgnoreReserved for moveWindowTo bbs
...
fixes #10005
2025-04-23 22:31:14 +01:00
davc0n
241a4935a2
compositor: refactor class member vars ( #10141 )
2025-04-22 15:23:29 +02:00
Vaxry
a4f7d7c594
protocols: add xdg_toplevel_tag_v1 support
...
Adds a new windowrule to target windows by xdgTag, xdgtag:
2025-04-21 22:30:27 +01:00
nyx
55e953b383
InputManager: add nofollowmouse ( #9994 )
...
* InputManager: add nofollowmouse
with this, focus_follows_mouse=1 acts like focus_follows_mouse=2 on the specific windows defined by the user
* e
* e
biggest e of all time
2025-04-21 20:48:27 +02:00
nyx
d29723cb76
keybinds: allow executing binds not bound to a key ( #10102 )
2025-04-21 20:47:14 +02:00
davc0n
400dd16072
debug: refactor class member vars ( #10130 )
2025-04-21 20:42:02 +02:00
Andrei V
a3b96961a2
tablet: naive window refocusing ( #10110 )
...
Signed-off-by: Andrei V <andrei@ptaxa.net>
2025-04-21 00:32:31 +02:00
davc0n
4d14bcb02f
config: Refactor class member vars ( #10124 )
...
* Refactor config classes vars
* Fix clang format errors
2025-04-20 20:39:33 +02:00
syuzuki
867bc86089
compositor: fix getMonitorInDirection skipping active monitor ( #10114 )
2025-04-20 04:22:21 +02:00
Bruno Krügel
f48ee7a3d1
protocols: ensure PointerConstraints activation occurs only after attched to InputManager ( #10096 )
2025-04-19 01:16:30 +02:00
fazzi
51afc2c291
ctm: enable fade animation on nvidia driver versions 575 and above ( #10095 )
...
* ctm: enable fade animation on nvidia driver versions 575 and above
* format if statement without braces; handle potential throw when checking for nvidia version file
2025-04-18 21:44:54 +02:00
Lee Bousfield
7631d4c73f
render, helpers: Call OpenGL destroyMonitorResources on disconnect ( #10111 )
...
* render, helpers: Call OpenGL destroyMonitorResources on disconnect
* helpers: Add opengl null check
2025-04-18 17:37:51 +02:00
nyx
225e13c3cc
InputManager: add config option to disable keybinds per device ( #10064 )
2025-04-17 02:19:10 +02:00
Lee Bousfield
3fa6320a39
desktop: Damage subsurface when position changes ( #10094 )
2025-04-16 17:49:01 +02:00
Vaxry
1ae7e2164c
xcursormgr: include <variant>
...
ref #10093
2025-04-16 13:49:41 +01:00
Vaxry
877fb5b93a
time: move to stl's clocks and move timer
2025-04-16 01:37:48 +01:00
Ikalco
0e521788bc
core: wait for dmabuf readiness ( #9806 )
...
* add doOnReadable to event loop manager
* move syncTimeline addWaiter to doOnReadable
* wait on dmabuf buffers to be readable
* don't over synchronize in scanout, also give present feedback on same buffer commit
2025-04-16 01:02:31 +02:00
MightyPlaza
ffd6cf65e4
windowrules: allow incrementing window props ( #9566 )
2025-04-16 01:00:40 +02:00
Nathan Ollerenshaw
533bc5115e
monitors: fix disconnected monitors are reconnected to an empty workspace ( #9874 )
...
---------
Co-authored-by: nyx <nnyyxxxx@protonmail.com>
2025-04-14 11:07:53 +02:00
psyvern
99ab3e19d9
framebuffer: Fix framebuffer size check ( #10068 )
2025-04-13 22:40:15 +02:00
Vaxry
f4e19d3f1e
layerSurface: warp position and size before taking a snapshot ( #10054 )
2025-04-13 17:56:20 +02:00
nyx
06469b3391
IHyprLayout: center floating window at cursor when picked up from fullscreen ( #10063 )
2025-04-13 17:32:53 +02:00
nyx
303a10d27c
IHyprLayout: respect minimum window size ( #10017 )
...
* IHyprLayout: respect minimum window size
this prevents window warping, before we were not respecting the minimum size which caused the window to move suddenly, even though it would be sized to its minimum size.
2025-04-13 01:03:03 +02:00
rszyma
4d85e7996d
dwindle: ignore fullscreen window for positioning when use_active_for_splits=false ( #9838 )
...
* fix(dwindle): ignore fullscreen window for positioning when use_active_for_splits=false
* rename NON_FULLSCREEN -> SKIP_FULLSCREEN_PRIORITY
2025-04-13 00:58:38 +02:00
Ikalco
2da4f427ea
compositor/surface: fix surface opaque and input regions not being updated ( #10055 )
2025-04-12 18:58:29 +02:00
Vaxry
a17cea8b8c
asyncDialogBox: fix missing pid
...
fixes #10056
2025-04-12 17:47:22 +01:00
alaricljs
6538970087
binds: add drag_threshold for click/drag isolation ( #9839 )
...
---------
Co-authored-by: Leeman <lstrout@enlj.com>
2025-04-12 16:43:13 +02:00
Lee Bousfield
0399e64274
screencopy: Handle explicit sync failure ( #10050 )
2025-04-12 16:38:46 +02:00
Vaxry
382f0f23f1
pass: revert "remove renderer finalDamage since it's unused ( #9996 )" ( #10039 )
...
This reverts commit 0a7e2cb152 .
2025-04-11 00:34:50 +02:00
Virt
d775686380
input: add warp_on_toggle_special ( #9945 )
2025-04-10 14:54:24 +02:00
Ikalco
0dc531c4a7
core: fix crash in data device on shutdown ( #9997 )
2025-04-09 18:08:42 +02:00
Ikalco
0a7e2cb152
pass: remove renderer finalDamage since it's unused ( #9996 )
2025-04-09 17:50:06 +02:00
Vaxry
4f991610d0
watchdog: remove watchdog
...
it has been unused for a while now
2025-04-09 01:48:21 +01:00
nyx
ea852965ff
xdg-shell: fix some null refs ( #9992 )
2025-04-08 19:43:15 +02:00
Vaxry
260d8e1f71
Permission Manager: add permission management for screencopy ( #9930 )
2025-04-08 19:39:53 +02:00
nyx
642f394eb3
xwayland: sync primary selection with wayland ( #9952 )
2025-04-08 17:36:29 +02:00
Vaxry
b15c2bfff6
CursorManager: Store cursor pixel data retrieved from X/HC as a copy ( #9986 )
...
Instead of storing pointers as refs (which could randomly get invalid very easily) copy the data.
2025-04-07 21:08:16 +02:00
Ikalco
da86db43d4
core: refactor and improve surface commit ( #9805 )
...
* make CHLBufferReference not a SP anymore
* copy over release and acquire points in CHLBufferReference
* use CHLBufferReference in screencopy and toplevel export
TODO: use CHLBufferReference in direct scanout properly
the only problem is the scanout buffer release timing,
specifically the onBackendRelease mechanism
* cleanup SSurfaceState and surface pending commit tracking
* move surface code from DRMSyncobj, and move acquire to SSurfaceState
* use queue for comitted pending surface states like proto says
"The content update is placed in a queue until it becomes active." - wl_surface::commit
* drop, not release, prev buffer if 2nd buffer wl_surface.attach is sent
"A wl_buffer that has been attached and then replaced by another attach instead of committed will not receive a release event, and is not used by the compositor." - wl_surface::attach
2025-04-07 21:03:27 +02:00
Vaxry
70ae99f521
input/layers: Fix exclusive LS focus / refocus after unmap ( #9984 )
2025-04-07 20:52:11 +02:00
Jan Beich
a8eda7f978
helpers: add missing include for BSDs after 3c128679ee ( #9982 )
...
src/helpers/AsyncDialogBox.cpp:47:23: error: use of undeclared identifier 'read'
47 | while ((ret = read(m_pipeReadFd.get(), buf.data(), 1023)) > 0) {
| ^
src/helpers/AsyncDialogBox.cpp:83:9: error: use of undeclared identifier 'pipe'
83 | if (pipe(outPipe)) {
| ^
src/helpers/AsyncDialogBox.cpp:110:5: error: use of undeclared identifier 'close'
110 | close(outPipe[1]);
| ^
2025-04-07 20:36:01 +02:00
kerty0
8a8f394da7
swipe: fix swiping onto a new workspace bound to another monitor ( #8176 ) ( #9927 )
...
The previous code didn't check if the chosen new workspace was bound to another monitor, causing buggy behavior where workspace was simultaneously open and not.
The fix simply uses `r+1` for new workspace selection.
Also, the previous code would select rightmost workspace + 1, creating large gaps in workspace IDs in some scenarios. Example (`()` and `[]` indicate workspaces on different monitors):
`(1), 2, 3, 4, 5, 6, 7, 8, 9, [10]`
Swipe right on `()` monitor would create:
`(1), 2, 3, 4, 5, 6, 7, 8, 9, [10], (11)`
But with this commit:
`(1), (2), 3, 4, 5, 6, 7, 8, 9, [10]`
2025-04-07 14:46:31 +02:00
Virt
51838fb5f5
layout: properly track floating window position ( #9937 )
2025-04-06 23:41:27 +02:00
Vaxry
85f874d10f
swipe: fix prev workspace remembering
...
fixes #9904
2025-04-06 22:35:26 +01:00
nyx
9b3925009a
DataDevice: position icon at cursor hotspot ( #9895 )
...
* DataDevice: position icon at cursor hotspot
ref: https://wayland.app/protocols/wayland#wl_data_device:request:start_drag
2025-04-06 23:24:14 +02:00
Vaxry
3c128679ee
helpers: Add an async dialog box impl ( #9919 )
...
Adds an async dialog box, way safer than our previous local solution for ANR
2025-04-06 17:31:58 +02:00
Vaxry
e96b8ce4cc
window: send fractional scale on updateScaleTransform
...
fixes #9889
2025-04-06 00:30:13 +01:00