9a9c605250
core: hash scanned files and don't trigger a reload if matching
...
Nix builds often trip QFileSystemWatcher, causing random reloads.
2026-03-11 21:52:13 -07:00
bd62179277
all: retry incomplete socket reads
...
Fixes greetd and hyprland ipc sockets reads being incomplete and
breaking said integrations on slow machines.
2026-03-10 00:54:45 -07:00
c030300191
core/desktopentry: preserve desktop action order
2026-03-06 01:40:02 -08:00
cdde4c63f4
crash: switch to cpptrace from breakpad
2026-03-02 19:35:38 -08:00
bbedward
36517a2c10
services/pipewire: manage default objs using normal qt properties
...
Fixes use after free bugs due to pointer mismatches in destructors.
Drops SimpleObjectHandle.
2026-02-23 23:17:42 -08:00
e7cd1e9982
core: add env and isEnvSet functions to pragma context
2026-02-21 21:11:45 -08:00
395a1301a8
core: add hasThemeIcon mapping
2026-02-08 01:26:08 -08:00
bbedward
7a427ce197
core: fix inverted inHeader condition in preprocesso
2026-01-17 17:30:40 -05:00
5eb6f51f4a
core: add preprocessor for versioning
2026-01-17 03:14:30 -08:00
783b97152a
build: update CI, nix checkouts, lints
2026-01-13 23:20:55 -08:00
de1bfe028d
core/popupwindow: clean up popup lifecycle and window init
...
- Makes popup lifecycle less complex
- Creates all QWindows lazily
- May break live reloading of open popups to some degree
2026-01-13 01:21:08 -08:00
bcc3d4265e
core: switch to custom incubation controller
...
This change requires more QtPrivate usage but eliminates generation or
cleanup related window incubation controller bugs. Additionally it
enables async loads prior to rendering windows.
2026-01-10 13:22:50 -08:00
8d19beb69e
core/log: copy early logs with sendfile/readwrite again
...
copy_file_range does not work across devices and memfds count as a
separate device.
2026-01-08 02:35:08 -08:00
molyuu
6742148cf4
all: initial support for freebsd
...
- Use `copy_file_range(2)` over `sendfile(2)` which has wider
compatibility.
- Special case pam on freebsd and document `configDirectory`
incompatibility.
- Disable jemalloc for FreeBSD by default as it is the system allocator.
- Disable breakpad by default on FreeBSD as breakpad is not supported.
2026-01-06 01:50:58 -08:00
cameron
1ddb355121
core/icon: add searching custom file paths
2025-11-17 22:16:14 -08:00
fdbb86a06a
core/model: fix recursion in emptyInstance
2025-11-15 17:41:54 -08:00
0a7dcf30ea
build: update clang tooling and reformat
2025-11-15 04:43:27 -08:00
1552aca3df
build: fix new clang-tidy lints
2025-11-15 04:29:12 -08:00
fc704e6b5d
core: reference scanned paths by QDir over QString
...
Fixes a bug introduced in 3e2ce40 where a directory imported with a
"../name" path import would be passed to scanDir as ending in '/' which
created an invalid duplicate scan entry.
2025-10-31 00:56:30 -07:00
bbedward
1b147a2c78
core/desktopentry: handle string escape sequences
2025-10-28 02:20:28 -07:00
3e2ce40b18
core: reference configs by absolute instead of canonical paths
2025-10-18 14:22:26 -07:00
00858812f2
core/command: filter instance selection by current display
2025-10-12 17:33:21 -07:00
1e8cc2e78d
core: add CacheDir pragma
...
Closes #293
2025-10-12 00:14:36 -07:00
bbedward
3e32ae595f
core/desktopentry: don't match keys with wrong modifier or country
2025-10-09 01:12:48 -07:00
bbedward
2eacb713b9
core/desktopentry: mask entries with priority less than hidden entry
2025-10-09 01:11:50 -07:00
c5c438f1cd
all: fix gcc warnings and lints
2025-10-04 13:43:41 -07:00
1d94144976
all: fix lints
2025-09-28 23:56:32 -07:00
e9a574d919
core: derive incubation controllers from tracked windows list
...
Replaces the attempts to track incubation controllers directly with a
list of all known windows, then pulls the first usable incubation
controller when an assignment is requested.
This should finally fix incubation controller related use after free crashes.
2025-09-19 02:15:51 -07:00
bbedward
59f5744f30
core/desktopentry: watch for changes and rescan entries
2025-09-16 22:55:49 -07:00
Derock
f7597cdae2
core/log: fix nullptr crash in ThreadLogging
2025-08-27 20:44:39 -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
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
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
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
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
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
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
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
d7079b7524
core: allow qml scanner to detect namespaced and versioned imports
2025-07-10 04:28:05 -07:00