Commit graph

665 commits

Author SHA1 Message Date
a5431dd02d
version: bump to 0.2.0 2025-07-26 22:50:52 -07:00
f0d5f48a82
docs: add changelogs 2025-07-26 22:50:32 -07:00
1c026545e9
core/desktopentry: use this-> in heuristicLookup 2025-07-26 22:50:17 -07:00
0416032a7c
core/reloader: trigger postReload with a signal
A signal is now used over the previous tree-searching method as some
QML components such as Repeater fail to reparent created children to
themselves, which breaks the tree.
2025-07-26 17:52:06 -07:00
1644ed5e19
bluetooth: do not try to enable rfkilled devices
Bluez will not do this and reports a property change failure.
2025-07-26 17:02:35 -07:00
91c9db581e
wayland/screencopy: handle buffer creation failures 2025-07-26 00:48:21 -07:00
ab096b7e78
wayland/screencopy: reset buffer requests between frames
Prevents buffer requests from collecting a huge set of duplicate
dmabuf and shm formats.
2025-07-26 00:45:31 -07:00
448623de5a
service/notifications: use bytes over bits in pixmap rowstride check
Fixes incorrect rowstride warnings.
2025-07-25 22:08:15 -07:00
dfededc901
launch: ignore QT_STYLE_OVERRIDE and QT_QUICK_CONTROLS_STYLE
QT_STYLE_OVERRIDE often results in unexpected QML dependencies that
don't exist being required. QT_QUICK_CONTROLS_STYLE can vary across
systems and produce unexpected results.
2025-07-25 18:24:43 -07:00
4dad447570
docs: remove }; in headers + typo fixes
}; breaks the docgen regex
2025-07-24 17:15:03 -07:00
Karboggy
3bbf39c67e
core/reloader: fix file watcher compatibility with vscode 2025-07-24 15:42:58 -07:00
cameron
f90bef2d99 hyprland/workspace: Use name instead of id for activate 2025-07-24 15:40:54 +10:00
db77c71c21
wayland/layershell: use width over height in horizontal auto exclude
Fixes #135
2025-07-21 02:38:50 -07:00
fcffbbced8
core/desktopentry: lookup wm class in nodisplay entries 2025-07-19 14:26:18 -07:00
759bd721df
core/log: stop trying to store detailed logs after write fail
Not stopping will cause the logger's write buffer to fill until OOM if
writing fails.
2025-07-19 03:41:24 -07:00
63a6d27213
core/qmlglobal: configDir, configPath() -> shellDir, shellPath() 2025-07-19 02:58:55 -07:00
77de23bb71
core/desktopentry: add StartupWMClass and heuristicLookup 2025-07-18 22:32:48 -07:00
7b417bb808
build: add /lib/qt-6 to wrapped nix package
Fixes #130
2025-07-18 17:58:20 -07:00
Rexiel Scarlet
e55d519c28 build: split derivation for extensible wrapper 2025-07-18 15:25:46 +04:00
ecc4a1249d
all: mask various useless dbus errors 2025-07-18 04:14:58 -07:00
6572a7f61d
tooling: derive import paths from QML engine import paths
Due to distro patches and default locations, we can't correctly derive
it without calling the QQmlEngine function.
2025-07-18 00:33:58 -07:00
e885f4aec1
tooling: check if .qmlls.ini is a symlink in addition to exists
QFileInfo::exists() returns false on broken symlinks.
2025-07-18 00:07:25 -07:00
ipg0
115d6717a8
services/tray: use normal icon as fallback for attention custom icon
Signed-off-by: ipg0 <pyromancy00@gmail.com>
2025-07-17 22:27:46 +03:00
91dcb41d22
services/pipewire: destroy qml ifaces early to avoid user callbacks
Consumers of defaultAudio*Changed signals can run code between
safeDestroy being called and PwObjectIface destruction due to
signal connection order. This change destroys ifaces earlier so they
are nulled by the time a changed signal is fired from destruction,
preventing access between ~PwNode() and ~QObject() completion.

Fixes #116 #122 #124
2025-07-17 00:22:58 -07:00
201c559dcd
core: add Internal pragma 2025-07-16 20:13:59 -07:00
78e3874ac6
tooling: add per-shell tooling lock to prevent races 2025-07-16 17:47:28 -07:00
986749cdb9
tooling: add automatic QMLLS support for new imports and singletons 2025-07-16 14:35:46 -07:00
4d8055f1cd
build: fix PostReloadHook resolution in LSP 2025-07-15 19:03:27 -07:00
a45fc03c7d
service/tray: fix missing documentation for invokables
'};' prior to invokables caused the docgen regex to miss them
2025-07-15 15:58:56 -07:00
ipg0
c40074dd56
service/notifications: add inline-reply action support
Signed-off-by: ipg0 <pyromancy00@gmail.com>
2025-07-15 15:49:59 -07:00
3dfb7d8827
core/window: handle graphics context loss 2025-07-15 15:40:10 -07:00
a2146f6394
core/window: add closed() signal to all window types 2025-07-15 15:39:55 -07:00
5706c09e6f
core/window: clean up window interface property proxies 2025-07-15 14:06:26 -07:00
5ac9096c1c
Revert "core/region: use QList over QQmlListProperty for child regions"
This reverts commit 0c9c5be8dd.

Using QList breaks the default property usage.
2025-07-14 02:56:34 -07:00
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