Commit Graph
648 Commits
Author SHA1 Message Date
outfoxxed 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
outfoxxed 27f97c3283 wayland/toplevel: refactor toplevel output tracking to its own file 2025-06-24 19:38:34 -07:00
outfoxxed 20c3da01f1 io/fileview: null watcher ptr after deletion to avoid UAF
Fixes #69
2025-06-21 12:57:15 -07:00
outfoxxed 8be18c05ed hyprland/ipc: expose HyprlandToplevel jsons 2025-06-20 21:31:44 -07:00
outfoxxed 98d09b5a36 io/process: add Process.exec() 2025-06-20 20:32:42 -07:00
outfoxxed 8fc3e1cb6e docs: include HyprlandToplevel in module file 2025-06-20 19:06:59 -07:00
outfoxxed 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
outfoxxed 02362c3e94 services/pipewire: add missing ; after Q_ENUM for docgen 2025-06-20 02:53:30 -07:00
outfoxxed 3d3b7f1c05 wayland/lock: avoid creating lock surfaces for the fallback screen
Fixes #61
2025-06-19 14:54:52 -07:00
outfoxxed 79b2204af8 io/socketserver: correctly order startup/teardown across generations
Fixes #60
2025-06-19 13:50:47 -07:00
outfoxxed 95d0af8113 services/pipewire: update volume props from device for device nodes
Yet another device node edge case. In addition to only writing via
a pw_device when present, now we only read from one as well.

This fixes missing state changes not conveyed by the pw_node.

Fixes #35
2025-06-19 05:12:24 -07:00
outfoxxed 579d589290 core/popupanchor: ensure item-derived rect is at least 1x1 pixels 2025-06-18 13:41:14 -07:00
outfoxxed d9164578a2 core/window: add title property to floating windows 2025-06-15 03:12:51 -07:00
outfoxxed 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
outfoxxed 0499518143 core/qmlglobal: add execDetached functions for spawning processes 2025-06-15 02:52:16 -07:00
outfoxxed 0140356d99 core/qmlglobal!: rename shellRoot to configDir + add configPath 2025-06-14 14:45:04 -07:00
outfoxxed 71fe3d9165 x11/panelwindow: do not look up engine generation in ~XPanelWindow()
Looking up engine generation in the destructor causes occasional
crashes. This commit caches it to prevent that from happening.
2025-06-13 20:12:32 -07:00
outfoxxed 517143adf9 all: fix new lints 2025-06-12 17:01:13 -07:00
outfoxxed 703a378908 core: change version number 2025-06-11 14:26:41 -07:00
outfoxxed 09981a0498 core/log: print path to detailed log instead of text log on launch 2025-06-11 14:04:11 -07:00
outfoxxed 2a8479d635 core/generation: use deleteLater() to delete file watchers
Should fix crashes similar to those in FileView.
2025-06-11 13:47:30 -07:00
outfoxxed 2b01a75679 io/process: add StdioCollector data stream parser 2025-06-09 22:29:02 -07:00
outfoxxed 0224fa942b io/fileview: use deleteLater() to delete file watchers
Fixes crashes when writing a file while watching it.
2025-06-09 21:45:42 -07:00
outfoxxed dcd9e3aed8 hyprland/ipc: implement toplevel address association 2025-06-09 14:45:21 -07:00
nydragon ee570ec623 services/pipewire: expose node type 2025-06-07 03:26:55 -07:00
outfoxxed 6b3d64e32a widgets/wrapper: use top/bottom margins in implicitHeight not l/r
oops
2025-06-06 21:20:03 -07:00
outfoxxed 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
outfoxxed d1df932d60 core/popupanchor: add margins property 2025-05-30 00:33:07 -07:00
outfoxxed ef077ddd24 core/panelwindow: move Margins to types.hpp 2025-05-30 00:33:00 -07:00
outfoxxed 2773e5468f core/process: ignore environment changes made by the Env pragma
This pragma ends up used to set things like QQC theme which
shouldn't be cascaded into child processes.
2025-05-29 23:30:55 -07:00
outfoxxed 4a0f6382b0 core/window: expose coordinate mapping functions on QsWindow 2025-05-29 22:42:14 -07:00
outfoxxed 6d42d26c79 core/popupanchor: add item-relative anchor rect support 2025-05-29 20:07:00 -07:00
outfoxxed adcef7fc30 core/popupwindow: wait for polish to reposition 2025-05-29 16:17:15 -07:00
outfoxxed b67f92bc13 all: use BINDABLE only with trivial setters
Fixes various bugs caused by the QML engine bypassing setters
when BINDABLE is specified (even if the bindable is const).
Also restructures all properties using BINDABLE to have
a default READ and WRITE to ensure this doesn't happen again.
2025-05-29 16:08:39 -07:00
outfoxxed 2e3c15f7a1 wayland/layershell: use bindable implicit size in exclusive zone calc
Fixes #42
2025-05-28 02:07:21 -07:00
outfoxxed 5ae8e4901a core/window: move implicit width/height to bindable properties 2025-05-28 02:07:21 -07:00
outfoxxed cb195d4b2a launch: look for configs in all XDG config dirs 2025-05-27 16:43:09 -07:00
outfoxxed b898592db7 core: don't show " at " in qml warnings if object name is empty 2025-05-26 17:44:45 -07:00
outfoxxed ee31e5d226 ui/reload: use monospace font for error message 2025-05-26 04:45:54 -07:00
outfoxxed ec433d1a70 core: improve log format for QML errors and warnings 2025-05-26 03:35:52 -07:00
outfoxxed 4472b27039 core/reloader: watch new files detected in failed reloads 2025-05-26 02:28:01 -07:00
outfoxxed e931b85464 core/window: add min/max size to FloatingWindow 2025-05-25 23:24:59 -07:00
outfoxxed 05ed9ff74c wayland/screencopy: add constrained implicitSize for ScreencopyView 2025-05-25 21:00:20 -07:00
outfoxxed 7390ae28e4 widgets/cliprect: override parent's implicit size instead of wrapper
Adding implicitSize to margin wrappers broke implicit sizing
of ClippingWrapperRectangle.
2025-05-25 21:00:20 -07:00
outfoxxed 73e673ea1c widgets/cliprect: set default background color to white
Matches Rectangle.
2025-05-25 18:02:07 -07:00
outfoxxed 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
outfoxxed bf235d3d4d wayland/layershell: ensure bridge is nulled on layer destruction
Fixes rare race condition crashes.
2025-05-25 16:11:57 -07:00
outfoxxed 2bcd9e07fd widgets/wrapper: default resizeChild to true
Better reflects how wrapper types are used 99% of the time.
2025-05-25 18:12:09 -07:00
outfoxxed 428aec950e widgets/wrapper: set WrapperRectangle border.width to 0
Works around the implicit 1px border applied to Rectangles
when border is accessed, and works around QTBUG-137166.
2025-05-25 18:12:09 -07:00