Commit graph

269 commits

Author SHA1 Message Date
2 * r + 2 * t
129b063381 refactor: move inline getter impls to cpp file 2026-04-12 22:38:36 +10:00
2 * r + 2 * t
e16a70bee7 fix: don't sync global props
Prevents warning on syncs as well
2026-04-12 22:26:30 +10:00
2 * r + 2 * t
1385ca15de feat: add warning on global options using per-mon confs 2026-04-12 22:19:46 +10:00
2 * r + 2 * t
f1fb68c721 feat: add auto save on option changes 2026-04-12 03:58:35 +10:00
2 * r + 2 * t
dd15b1d80e refactor: static -> anonymous namespace 2026-04-12 03:54:01 +10:00
2 * r + 2 * t
644e70679b refactor: move attached types to own files 2026-04-12 03:52:51 +10:00
2 * r + 2 * t
41ba4f6271 feat: add per monitor enabled prop
Enabled prop should be used in favour of general.excludedScreens. The
latter has been removed
2026-04-12 03:39:58 +10:00
2 * r + 2 * t
bea72b4a64 feat: emit signals on startup
Except loaded signal
2026-04-12 03:20:25 +10:00
2 * r + 2 * t
5a13cc22f6 feat: add unknown option toasts 2026-04-12 03:14:04 +10:00
2 * r + 2 * t
ee9dce0268 fix: propagate per monitor overlay signals to main 2026-04-12 03:01:58 +10:00
2 * r + 2 * t
ef00097a51 feat: improve error toasts 2026-04-12 02:46:42 +10:00
2 * r + 2 * t
3e1b235a75 feat: watch parent dirs recursively for changes 2026-04-12 02:41:42 +10:00
2 * r + 2 * t
b987a39d79 feat: debounce reloads 2026-04-12 02:33:29 +10:00
2 * r + 2 * t
1ad6f657ae fix: don't emit until final retry
Also more descriptive error messages
2026-04-12 02:30:33 +10:00
2 * r + 2 * t
72e0a218fd refactor: move file logic to RootConfig + to own file 2026-04-12 02:07:00 +10:00
2 * r + 2 * t
697784abce fix: remove key from loaded keys on sync
A sync goes through the property setter, which sets the key as loaded.
But a sync is not considered an explicit set, so unset it after
2026-04-12 01:20:40 +10:00
2 * r + 2 * t
9b1b33a388 feat: remove file prefix on signals 2026-04-12 01:19:48 +10:00
2 * r + 2 * t
746d1af826 feat: allow resetting options
Also make options changed programmatically (from QML, etc) mark
themselves as loaded
2026-04-12 00:00:56 +10:00
2 * r + 2 * t
93b5fb5f4f feat: make all configs sparse 2026-04-11 23:53:36 +10:00
2 * r + 2 * t
9be9ec10a6 fix: per monitor configs
Use c++ singleton pattern for monitor manager and bind appearance tokens
properly
Also use scoped properties on ContentWindow
2026-04-11 23:44:13 +10:00
2 * r + 2 * t
f65723ad71 feat: never destroy config singletons
There are lots of issues with it, so instead give ownership to C++ and
don't destroy on reloads (this does mean it does not reload, but it
doesn't need to anyways)
2026-04-11 22:11:30 +10:00
2 * r + 2 * t
9cf3ad4094 fix: broken config uses + move gif speed adjustments to Config.general 2026-04-11 21:54:27 +10:00
2 * r + 2 * t
ba95924578 fix: dashboard showXXX confs in the wrong file 2026-04-11 21:44:03 +10:00
2 * r + 2 * t
180120801a feat: add proper anim tokens to Tokens 2026-04-11 21:33:18 +10:00
2 * r + 2 * t
2b2d5a4873 feat: move size tokens to subobject 2026-04-11 21:22:58 +10:00
2 * r + 2 * t
0429650a6e feat: Tokens attached object points to Config.appearance 2026-04-11 21:16:35 +10:00
2 * r + 2 * t
324acb492a fix: ensure singletons exist when evaluating attached props 2026-04-11 21:08:09 +10:00
2 * r + 2 * t
4f2b90147e fix: signal and emit macros -> keywords
Only the ones inside macros are unable to use the keywords
2026-04-11 20:16:37 +10:00
2 * r + 2 * t
d5d6f70f52 feat: add load/save + fail signals 2026-04-11 20:10:27 +10:00
2 * r + 2 * t
e283ee2a9f fix: fully qualify Q_PROPERTY types 2026-04-11 19:49:05 +10:00
2 * r + 2 * t
8f51502f91 fix: use qobject parent 2026-04-11 19:44:22 +10:00
2 * r + 2 * t
edf6184c81 fix: retry reading file before warn
Some programs will not write to the file atomically, causing us to read
a malformed JSON while the write is in progress. Add a retry system to
avoid false warnings.
2026-04-11 19:16:44 +10:00
2 * r + 2 * t
a53aff357a feat: expose default configs to qml 2026-04-11 18:58:45 +10:00
2 * r + 2 * t
08cc492698 fix: ensure tokens are not bound multiple times 2026-04-11 18:36:29 +10:00
2 * r + 2 * t
f15b234753 fix: create tokens singleton when global config is created
GlobalConfig depends on TokenConfig to forward properties
2026-04-11 18:35:05 +10:00
2 * r + 2 * t
9a8c5ec7f9 feat: add debug logging 2026-04-11 18:15:59 +10:00
2 * r + 2 * t
71f27bb45f feat: add per monitor configs
Per monitor configs go in a separate file in the monitor dir, e.g.
`monitors/<MONITOR_NAME>/shell.json`
2026-04-11 18:09:21 +10:00
2 * r + 2 * t
a932a68a40 feat: add config scope 2026-04-11 15:40:19 +10:00
2 * r + 2 * t
9f8fd7d660 feat: make tokens separate singleton 2026-04-11 15:36:18 +10:00
2 * r + 2 * t
f4b851b5b3 feat: advanced -> tokens 2026-04-11 15:09:59 +10:00
2 * r + 2 * t
4ff97c8306 fix: crash/block on qml engine reload 2026-04-11 03:27:19 +10:00
2 * r + 2 * t
ff1bde855e fix: expose config types to qml properly 2026-04-11 03:07:48 +10:00
2 * r + 2 * t
f7aec30ad2 fix: use private constructor for singleton 2026-04-11 02:52:17 +10:00
2 * r + 2 * t
8d73d6037d fix: move scale back to normal config 2026-04-11 02:38:03 +10:00
2 * r + 2 * t
d530e209b3 feat: add c++ settings 2026-04-11 02:18:55 +10:00
2 * r + 2 * t
0844013ca7 feat: animate delegates in from visual position
Instead of suddenly appearing, create them at their visual position then
animate them to the layout pos
2026-04-10 02:36:56 +10:00
2 * r + 2 * t
c629eaaa08 fix: don't add delegate to layout until ready delay finish
Also disable y anim if not ready
2026-04-10 01:38:12 +10:00
2 * r + 2 * t
e234990c52 fix: don't play add/remove anim on old delegates 2026-04-10 01:25:09 +10:00
2 * r + 2 * t
b0aeee8b80 fix: allow viewport to be outside of bounds 2026-04-10 01:10:05 +10:00
2 * r + 2 * t
2efe1a93a6 fix: layout delegates after configurable delay
Fixes glitches due to delegate sizes changing on creation
Also use the loader state pattern to ensure size is set on same frame as
active
2026-04-10 00:19:32 +10:00