Commit graph

152 commits

Author SHA1 Message Date
4d8055f1cd
build: fix PostReloadHook resolution in LSP 2025-07-15 19:03:27 -07:00
5706c09e6f
core/window: clean up window interface property proxies 2025-07-15 14:06:26 -07:00
479ff58f84
wayland/layershell: support opposite-to-exclusion edge margins 2025-07-13 17:08:12 -07:00
3b4ebc5f16
wayland/layershell: support auto exclusive zone without constraint 2025-07-13 17:02:18 -07:00
5703fbae21
wayland/lock: handle null window in configure()
Has caused a crash.
2025-07-10 04:01:00 -07:00
3d594e16dd
core/log: track default logging categories
Fixes a bug in fb37be7 which ignored default logging categories due to
skipping QLoggingRegistry's filter.
2025-07-08 13:49:06 -07:00
9708d8212a
core/reloader: trigger onPostReload if launched post-reload
This is similar to the check in Reloadable, and fixes a number of hard
to debug issues with Process, IpcHandler, NotificationServer, and
GlobalShortcut not working depending on where you put them in a QML file.
2025-07-04 16:02:14 -07:00
1d02292fbf
hyprland/ipc: actually set lastIpcObject 2025-06-27 04:09:14 -07:00
d949f91347
wayland/screencopy: apply output transform to wlr screencopy
Note that this only fixes output copies, and not toplevel copies.
Toplevel copies are harder because a toplevel can be on more than
one output. Hopefully we'll all be using image-copy-capture before
this one comes up.

Fixes #75
2025-06-25 12:34:00 -07:00
27f97c3283
wayland/toplevel: refactor toplevel output tracking to its own file 2025-06-24 19:38:34 -07:00
8be18c05ed
hyprland/ipc: expose HyprlandToplevel jsons 2025-06-20 21:31:44 -07:00
8fc3e1cb6e
docs: include HyprlandToplevel in module file 2025-06-20 19:06:59 -07:00
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