Commit graph

209 commits

Author SHA1 Message Date
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
2 * r + 2 * t
e6c1248bef fix: no need to disconnect signal
Signal will auto disconnect on item destruction
2026-04-10 00:19:32 +10:00
2 * r + 2 * t
cc54d9bc5b fix: remove unnecessary qml context creation 2026-04-09 22:21:30 +10:00
2 * r + 2 * t
9145f83639 fix: remove dead list view anim code 2026-04-09 22:14:52 +10:00
2 * r + 2 * t
8fbf85da86 fix: notif list viewport jumping around on delegate creation 2026-04-09 20:02:35 +10:00
2 * r + 2 * t
1223b5338b fix: prevent cacheBuffer from extending viewport over height 2026-04-09 19:10:34 +10:00
2 * r + 2 * t
3f72dde918 fix: lazy list view overshoot 2026-04-09 17:49:03 +10:00
2 * r + 2 * t
1d6919b375 Merge branch 'main' into cxx-listview 2026-04-09 15:56:15 +10:00
2 * r + 2 * t
c623b9b688 fix: osd and session bulges
Also remove rect-rect edge sink cause it doesn't work
2026-04-09 00:34:45 +10:00
2 * r + 2 * t
77ab4b8350 fix: blobs ignoring updates if moving too slow 2026-04-07 18:39:48 +10:00
2 * r + 2 * t
d778734c67 fix: remove sminNoBulge cause useless 2026-04-07 17:14:50 +10:00