Commit graph

619 commits

Author SHA1 Message Date
outfoxxed
0c9c5be8dd
core/region: use QList over QQmlListProperty for child regions 2025-07-12 22:02:31 -07:00
outfoxxed
49a3752b9d
core: correctly deregister QML incubators on destruction
Previously we'd try to cast the QObject* sender from
QObject::destroyed to a QQmlIncubationController*. This will always
return nullptr because C++ destructors change the type of the object
and the QQmlIncubationController destructor has already run at this
point. We now store controllers as QObject*s.

Fixes #108
2025-07-11 00:38:58 -07:00
outfoxxed
026aac3756
build: add icon and desktop file 2025-07-10 21:57:10 -07:00
outfoxxed
d7079b7524
core: allow qml scanner to detect namespaced and versioned imports 2025-07-10 04:28:05 -07:00
outfoxxed
6f774af11e
core/colorquant: print image source url vs pointer on err 2025-07-10 04:05:16 -07:00
outfoxxed
5703fbae21
wayland/lock: handle null window in configure()
Has caused a crash.
2025-07-10 04:01:00 -07:00
outfoxxed
07ea4de248
io/ipchandler: add registry logs 2025-07-10 03:50:11 -07:00
outfoxxed
2629e211fa
crash: initialize QApplication after logging to run cat filter 2025-07-10 03:40:55 -07:00
outfoxxed
b4c62b8ff9
core: only log warn+ from quickshell.paths 2025-07-10 03:40:30 -07:00
outfoxxed
1af08c0c52
core: only call QmlScanner::scanDir() on directories
Removes a bogus warning message.
2025-07-10 03:12:43 -07:00
outfoxxed
4b35d7b51b
core: support qs. imports 2025-07-10 01:50:53 -07:00
outfoxxed
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
outfoxxed
5d7e07508a
bluetooth: fix defaultAdapter reactivity
Fixes #100
2025-07-07 02:21:50 -07:00
outfoxxed
87d99b866f
services/pipewire: destroy bound audio object when node is destroyed
Fixes a leak and prevents a UAF via device volume signals
derefing the freed node.

Fixes #91
2025-07-04 20:29:50 -07:00
outfoxxed
7eff415b25
core/qmlglobal: re-add shellRoot as a deprecated property 2025-07-04 20:06:22 -07:00
outfoxxed
3cc7ced3a0
core/window: fix QsWindow being null for WlrLayershell 2025-07-04 17:58:55 -07:00
outfoxxed
fb37be7611
core/log: ignore on-disk logging configs for quickshell* rules.
Fixes fedora hiding all command output by default.
2025-07-04 16:43:01 -07:00
outfoxxed
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
outfoxxed
0e6518a706
core/command: improve dead instance selection
Prints dead instances if they exist, as well as allowing dead instance
selection for a substring if no live instances exist.
2025-07-02 22:47:19 -07:00
outfoxxed
86591f122d
io/process: mask the "QProcess destroyed for running process" warn 2025-07-02 20:16:47 -07:00
outfoxxed
f681e2016f
bluetooth: add bluetooth integration
Missing support for things that require an agent, but has most basics.

Closes #17
2025-07-01 00:25:16 -07:00
outfoxxed
1d02292fbf
hyprland/ipc: actually set lastIpcObject 2025-06-27 04:09:14 -07:00
outfoxxed
f842b84a5a
widgets/wrapper: round child position when centering
Fixes misalignment when resizeChild is false and wrapper width is odd.
2025-06-26 12:43:59 -07:00
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
c115df8d34
docs: mention github mirror in README 2025-06-20 03:34:05 -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
9a30333405
build: clarify shared libraries 2025-06-15 23:00:56 -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
05b5eccf2e
build: update build guide, nix and guix packages 2025-06-12 12:59:36 -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