Commit graph

631 commits

Author SHA1 Message Date
05fbead660
x11/panelwindow: calc screen geom with exclusions of other panels
Fixes a typo in 9604302 which calculated panel stack offsets from the
current panel instead of others in the stack.
2025-07-13 22:54:20 -07:00
478aa2bda1
core/window: run polish in onExposed instead of polishItems
Fixes hyprland visible regions created before window expose.
2025-07-13 22:27:44 -07:00
cee1f5837e
service/mpris: make lengthSupported bindable and notify for changes
Fixes #109
2025-07-13 20:32:51 -07:00
71334bfcaf
core/desktopentry: expose exec command and use execDetached on call 2025-07-13 20:05:54 -07:00
de25787451
io/process: null stdio channels in detached processes 2025-07-13 20:05:54 -07:00
b011cd9d33
core/window: set FloatingWindow default max size to QWINDOWSIZE_MAX
Was previously zero, which will shrink the window to 1px depending on
the display server.
2025-07-13 20:05:53 -07:00
1e1ba93713
core/window: add manual PanelWindow tester 2025-07-13 18:35:41 -07:00
59d29bb254
x11/panelwindow: use Qt window default screen if none is provided
Fixes panels not updating geometry or attachments under X if a screen
was not explicitly provided by the user.
2025-07-13 18:30:48 -07:00
9604302415
x11/panelwindow: convert to bindable properties 2025-07-13 17:50:17 -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
bb206e3a19
core/window: run window-level polish along with item polish
Fixes input masks not updating after a reload.
2025-07-12 22:02:33 -07:00
0c9c5be8dd
core/region: use QList over QQmlListProperty for child regions 2025-07-12 22:02:31 -07:00
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
026aac3756
build: add icon and desktop file 2025-07-10 21:57:10 -07:00
d7079b7524
core: allow qml scanner to detect namespaced and versioned imports 2025-07-10 04:28:05 -07:00
6f774af11e
core/colorquant: print image source url vs pointer on err 2025-07-10 04:05:16 -07:00
5703fbae21
wayland/lock: handle null window in configure()
Has caused a crash.
2025-07-10 04:01:00 -07:00
07ea4de248
io/ipchandler: add registry logs 2025-07-10 03:50:11 -07:00
2629e211fa
crash: initialize QApplication after logging to run cat filter 2025-07-10 03:40:55 -07:00
b4c62b8ff9
core: only log warn+ from quickshell.paths 2025-07-10 03:40:30 -07:00
1af08c0c52
core: only call QmlScanner::scanDir() on directories
Removes a bogus warning message.
2025-07-10 03:12:43 -07:00
4b35d7b51b
core: support qs. imports 2025-07-10 01:50:53 -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
5d7e07508a
bluetooth: fix defaultAdapter reactivity
Fixes #100
2025-07-07 02:21:50 -07:00
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
7eff415b25
core/qmlglobal: re-add shellRoot as a deprecated property 2025-07-04 20:06:22 -07:00
3cc7ced3a0
core/window: fix QsWindow being null for WlrLayershell 2025-07-04 17:58:55 -07:00
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
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
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
86591f122d
io/process: mask the "QProcess destroyed for running process" warn 2025-07-02 20:16:47 -07:00
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
1d02292fbf
hyprland/ipc: actually set lastIpcObject 2025-06-27 04:09:14 -07:00
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
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
20c3da01f1
io/fileview: null watcher ptr after deletion to avoid UAF
Fixes #69
2025-06-21 12:57:15 -07:00
8be18c05ed
hyprland/ipc: expose HyprlandToplevel jsons 2025-06-20 21:31:44 -07:00
98d09b5a36
io/process: add Process.exec() 2025-06-20 20:32:42 -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
c115df8d34
docs: mention github mirror in README 2025-06-20 03:34:05 -07:00
02362c3e94
services/pipewire: add missing ; after Q_ENUM for docgen 2025-06-20 02:53:30 -07:00
3d3b7f1c05
wayland/lock: avoid creating lock surfaces for the fallback screen
Fixes #61
2025-06-19 14:54:52 -07:00
79b2204af8
io/socketserver: correctly order startup/teardown across generations
Fixes #60
2025-06-19 13:50:47 -07:00
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
579d589290
core/popupanchor: ensure item-derived rect is at least 1x1 pixels 2025-06-18 13:41:14 -07:00
9a30333405
build: clarify shared libraries 2025-06-15 23:00:56 -07:00