Commit graph

2058 commits

Author SHA1 Message Date
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
24367dfb3a feat: add config load/fail toasts 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
31d7a77929 fix: popouts anims, should not be per-monitor
Anims are not per-monitor
2026-04-11 23:49:40 +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
37b61fedc9 chore: update readme 2026-04-11 23:27:27 +10:00
2 * r + 2 * t
ae8d344f84 fix: qualify attached props on non-Item components
They do not have parents, so they won't inherit the config scope
otherwise
Animations are not per monitor
2026-04-11 22:43:31 +10:00
2 * r + 2 * t
71dd7b4db8 chore: format QML imports 2026-04-11 22:17:24 +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
d99fefdd34 fix: use correct anim tokens in QML 2026-04-11 21:41:31 +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
b5dcd07ab8 fix: use correct size tokens in QML 2026-04-11 21:24:16 +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
3a37d77d1f feat: replace qml config module with c++ module 2026-04-11 21:18:56 +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
0e07176ff1
Merge pull request #1375 from caelestia-dots/cxx-listview
Replace notif list inefficient fake list view with C++ lazy loaded list view
2026-04-10 16:18:09 +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
6cd5758234 fix: animate viewport tracking and fix condition 2026-04-10 02:34:35 +10:00
2 * r + 2 * t
e3d2ffd9ae fix: remove previewHidden from notif groups
Not needed anymore, and was causing a visual bug where when adding a
notif, some notifs would overlap
2026-04-10 02:10:52 +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
7a82ca4765 fix: account for closing notifs in group preview 2026-04-10 01:22:16 +10:00
2 * r + 2 * t
ac65b78588 fix: reduce notif group list cache buffer 2026-04-10 01:10:21 +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