Commit graph

140 commits

Author SHA1 Message Date
c17ea54371
wayland/lock: check for protocol availability before use
Fixes #66
2025-06-20 16:37:22 -07:00
Maeeen
362c8e1b69
hyprland/ipc: expose Hyprland toplevels 2025-06-20 04:09:37 -07:00
3d3b7f1c05
wayland/lock: avoid creating lock surfaces for the fallback screen
Fixes #61
2025-06-19 14:54:52 -07:00
20322484b9
wayland/layershell: fix bridge destructor use after free on reload
Under some conditions, Qt will recreate the layer surface. The layer
surface destructor tries to destroy the bridge, but doesn't actually
need to because the bridge is a child of the QWindow owning the layer,
meaning not destroying it is actually completely fine.
2025-06-15 02:52:16 -07:00
517143adf9
all: fix new lints 2025-06-12 17:01:13 -07:00
dcd9e3aed8
hyprland/ipc: implement toplevel address association 2025-06-09 14:45:21 -07:00
aa547bad84
wayland/popupanchor: consider window size in anchor dirty state
With nonstandard edges or gravity, the compositor might not reposition
a popup when its size changes, and its unclear if its supposed to.
2025-05-30 02:55:34 -07:00
d1df932d60
core/popupanchor: add margins property 2025-05-30 00:33:07 -07:00
ef077ddd24
core/panelwindow: move Margins to types.hpp 2025-05-30 00:33:00 -07:00
6d42d26c79
core/popupanchor: add item-relative anchor rect support 2025-05-29 20:07:00 -07:00
2e3c15f7a1
wayland/layershell: use bindable implicit size in exclusive zone calc
Fixes #42
2025-05-28 02:07:21 -07:00
05ed9ff74c
wayland/screencopy: add constrained implicitSize for ScreencopyView 2025-05-25 21:00:20 -07:00
abd9a3c5f8
wayland/screencopy: use all dmabuf planes and modifiers in egl image
Fixes black texture on nvidia
2025-05-25 17:47:58 -07:00
bf235d3d4d
wayland/layershell: ensure bridge is nulled on layer destruction
Fixes rare race condition crashes.
2025-05-25 16:11:57 -07:00
2e33ef5b7f
hyprland/ipc: track workspace fullscreen state 2025-05-19 00:01:04 -07:00
edfc4c681c
wayland/layershell: ensure exclusive zone is updated on zone/mode chg 2025-05-18 23:15:52 -07:00
644254d9ec
wayland/toplevel: expose visible outputs 2025-05-18 23:13:17 -07:00
48a56381a6
hyprland/focus_grab: prevent grab object leak on activate 2025-05-14 17:07:14 -07:00
4ae0eae3da
wayland/toplevel: add close() request
Closes #37
2025-05-13 18:59:51 -07:00
e0cff677a5
wayland/layershell: refactor layer shell surface integration
In addition to the much needed cleanup:

- The bridge/extension type is now directly tied to the QWindow
instead of the WlrLayershell object, and is much smaller.
- Layer requests are now comitted via polish instead of for each
change individually.
2025-05-13 14:56:49 -07:00
6a8284dae3
core/window: add implicit size properties to window types 2025-05-12 19:42:46 -07:00
67524f9d8e
wayland/lock: fix protocol errors with Qt 6.9.0
QWaylandWindow::initWindow now forces a null surface commit which is
illegal. This change swaps the surface out for a dummy during
initWindow.
2025-04-26 16:19:07 -07:00
4ea77a8eb6
wayland: update QWaylandShellSurface impls to use updateExposure()
For Qt 6.9.0
2025-03-27 15:57:57 -07:00
d6a4ebc742
hyprland/ipc: provide default sorting for workspaces 2025-03-27 14:39:27 -07:00
392f56c40e
hyprland/ipc: further cleanup + add Hyprland.focusedWorkspace 2025-03-27 00:25:21 -07:00
8f11d60999
hyprland/ipc: make monitor bindable + fix property errors 2025-03-26 22:14:35 -07:00
62ccab5d30
hyprland/ipc: expose active and focused properties + activate() 2025-03-26 03:11:36 -07:00
3b2d84caf0
hyprland/ipc: convert to bindable properties 2025-03-21 02:46:09 -07:00
burein-ita
9534778a78 wayland/screencopy: Add missing include needed for musl
Musl stdlib does not include sys/types.h resulting in undefined dev_t.
2025-02-28 19:37:19 -06:00
aeb347ba91
wayland/toplevel: add pending state for outputs entered before qscreen init
Fixes a crash in sway, and potentially other compositors, when a
toplevel enters an output before Qt has created a QScreen for it.
2025-01-31 23:54:11 -08:00
c3ed3b0ee2
hyprland/ipc: fix nullptr workspace read in log line 2025-01-31 23:28:49 -08:00
fb343ab639
hyprland/ipc: prefer ID based workspace lookups to name based ones
Should (hopefully) reduce race condition issues.
2025-01-27 22:19:28 -08:00
d3b1a65911
hyprland/ipc: reduce impact of racing workspace queries 2025-01-27 21:13:53 -08:00
b289bfa504
hyprland/surface: add visibleMask 2025-01-23 14:00:16 -08:00
c6791cf1f2
core/window: fix screen assignments being completely broken 2025-01-22 20:13:29 -08:00
3c7dfcb220
hyprland/ipc: handle renameworkspace 2025-01-22 04:16:08 -08:00
b336129c34
core/window: add QsWindow.devicePixelRatio 2025-01-22 03:33:46 -08:00
bc73d35d03
wayland/screencopy: fix ScreencopyContext leak in ScreencopyView
Also caused an FD leak.
2025-01-20 15:53:04 -08:00
6464ead0f1
core/window: move input mask handling + commit scheduling to polish 2025-01-20 01:14:28 -08:00
d6b58521e9
core!: fix typo in ShellScreen.primaryOrientation 2025-01-19 01:00:03 -08:00
d195ca7680
wayland/screencopy: fix UAF in dmabuf modifier collection
The QList optimization the code was for no longer exists.
2025-01-15 03:24:19 -08:00
ca79715cce
wayland/screencopy: log more information during buffer creation 2025-01-15 02:52:08 -08:00
cd429142a4
wayland/screencopy: add screencopy 2025-01-14 05:08:07 -08:00
918dd2392d
build/wayland: do not link to a target in wl_proto 2025-01-11 23:59:19 -08:00
2c411fce5a
all: fix new lints 2025-01-07 03:11:19 -08:00
af86d5fd19
hyprland/surface: remove debug print 2025-01-05 23:53:03 -08:00
f3b7171b25
core/window: allow explicit surface format selection 2025-01-04 03:04:41 -08:00
3a40174ed6
hyprland/surface: add hyprland surface opacity support 2025-01-01 17:45:23 -08:00
e3d003e7ab
core/popupanchor: emit anchoring() before checking anchor props 2024-11-24 13:22:10 -08:00
6f9993394a
hyprland/ipc: pad event argument list to given count
Fixes crash when assuming more arguments than given will be available,
and trailing ",".
2024-11-24 13:21:09 -08:00