Commit graph

351 commits

Author SHA1 Message Date
2 * r + 2 * t
81fc9dda02 feat: split SystemUsage into separate C++ services 2026-04-26 01:38:22 +10:00
2 * r + 2 * t
3ae676c040 feat: improve dash perf storage card 2026-04-25 23:04:49 +10:00
2 * r + 2 * t
89cb3b9d7c fix: don't cache icons + fix bg colour when transparent image
Also don't double cache
2026-04-20 00:53:43 +10:00
2 * r + 2 * t
982bb9759a fix: EVEN MORE non global access
Also Tokens.sizes.notifs.image -> global
2026-04-13 18:25:24 +10:00
2 * r + 2 * t
8106aca173 fix: even more non global access 2026-04-13 16:42:00 +10:00
2 * r + 2 * t
7e4b14f6ba fix: per monitor props not having ancestor scope 2026-04-13 00:07:55 +10:00
2 * r + 2 * t
666d451f4b fix: global config use for rest of global props 2026-04-12 23:02:00 +10:00
2 * r + 2 * t
b8d17ad8ef fix: use global config for global properties 2026-04-12 22:47:30 +10:00
2 * r + 2 * t
fc1b3ca2d6 chore: remove unused import 2026-04-12 03:47:42 +10:00
2 * r + 2 * t
42b9e57eae fix: use singleton for conf writes 2026-04-12 03:46:37 +10:00
2 * r + 2 * t
3d012e86b3 chore: remove old Config.save() 2026-04-12 03:45:17 +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
71dd7b4db8 chore: format QML imports 2026-04-11 22:17:24 +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
3a37d77d1f feat: replace qml config module with c++ module 2026-04-11 21:18:56 +10:00
2 * r + 2 * t
e3b3a66877 fix: notif fileview warnings on first launch 2026-04-09 21:56:51 +10:00
Robin Seger
673b096261
fix: iface -> interface in VPN service (#1376) 2026-04-06 19:18:30 +10:00
İlyas
9fa889536c
fix: reset lyrics when player is killed (#1359)
Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
2026-04-02 21:49:22 +11:00
İlyas
ffe9bb851a
fix: notif image and vpn serialisation (#1370)
* fix: serialize VPN interface name when configured via UI

* fix: override last icon notification history

* screw qmlls

---------

Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
2026-04-02 21:37:45 +11:00
2 * r + 2 * t
4714fe8795 feat: use logging categories 2026-04-02 15:29:40 +11:00
Robin Seger
5c59e4490a
feat: VPN fixes & improvements (#1116)
* feat: add VPN settings and management UI

- Add VPN configuration UI
- Update VPN toggle visibility to check enabled providers

* controlcenter: VPN modal transitions & cleanup

* controlcenter: VPN modal styling

* controlcenter: VPN modal scrim

* controlcenter: VPN modal padding

* controlcenter: VPN modal enter & exit behaviour

* vpn: reworked managment & fixes

       - Switched to primarily use provider status json
         - Emitting more detailed toasts and errors/states
       - Authentication prompt button to open in browser
       - Better resets and provider change

* vpn: replace use of qt5compat

* fixing providers, status and adding custom option

* local qml-lint script lied to me

* format

* section order

* linting

---------

Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
2026-03-29 15:25:52 +11:00
Robin Seger
c588794b20
feat: fullscreen notification & toasts overlay (#1276)
* reworked fullscreen mode as transforming shell

* controlcenter configuring of toasts & notifs

* fix animation on fs switch

* border rounding & shadow animation

* change controlcenter notifications layout

* stay on WlrLayer.Overlay, use Anim

* ci: update action versions

* qmlformat

* format take two

* third time's the charm

* fix: special workspace fullscreen

* fix: bar width border.thickness on non-persistent behaviour

* merge fix

* stop layout shift on close

* last few conventions sorted

* linting

* maximized state to fullscreen

---------

Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
2026-03-29 15:22:00 +11:00
Chloé Legué
b5f761666d
fix: weather not using system timezone (#1346)
* adjusted weather.qml to ensure that it tracks system local time and date while ignoring API times if using VPN

* adjusted weather.qml to ensure that it tracks system local time and date while ignoring API times if using VPN

---------

Co-authored-by: Chris <102560999+ItsABigIgloo@users.noreply.github.com>
Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
2026-03-29 02:56:38 +11:00
2 * r + 2 * t
793cc8234c feat: set hypr blur configs dynamically 2026-03-29 01:24:52 +11:00
İlyas
c64119a22b
fix: YouTube thumbnail fallback for missing mpris:artUrl (#1347)
* fix: YouTube thumbnail fallback for missing mpris:artUrl

* fix

---------

Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
2026-03-28 21:58:16 +11:00
2 * r + 2 * t
42a1f34ddb chore: fix property-override linter warnings 2026-03-28 18:17:36 +11:00
Robin Seger
49695f8fd0
audio: add default output sink cycle ipc (#1200)
* [CI] chore: update flake

* [CI] chore: update flake

* [CI] chore: update flake

* [CI] chore: update flake

* audio: added default audio output cycle IPC

* fix format

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
2026-03-27 18:47:05 +11:00
Chloé Legué
148417baa1
fix: weather service using UTC instead of locale timezone (#1343) 2026-03-27 14:46:13 +11:00
Robin Seger
6fa80bd857
dashboard: lyrics enhancements (#1321)
* dual lrc file search strategies, UI adjustments

* qml conventions & order

* format

---------

Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
2026-03-26 17:13:57 +11:00
2 * r + 2 * t
25515fd32b chore: fix rest of formatting issues 2026-03-22 16:08:57 +11:00
2 * r + 2 * t
d0f2df9bae chore: fix all import formats 2026-03-22 06:02:19 +11:00
2 * r + 2 * t
2a54c089a4 chore: fix rest of linter warnings 2026-03-22 01:31:52 +11:00
2 * r + 2 * t
b64421d614 chore: misc fixes 2026-03-21 16:47:38 +11:00
2 * r + 2 * t
beaefc6f36 chore: fix service linter warnings 2026-03-21 16:45:23 +11:00
2 * r + 2 * t
c3fd5aa905 chore: fix unqualified access 2026-03-20 23:42:36 +11:00
2 * r + 2 * t
a3b3c88f02 fix: template string unused import false positives 2026-03-20 22:38:09 +11:00
2 * r + 2 * t
e88bbe425f refactor: move nested Notifs.Notif type to NotifData 2026-03-20 22:34:08 +11:00
2 * r + 2 * t
8b64d38e26 chore: remove unused imports 2026-03-20 22:33:26 +11:00
2 * r + 2 * t
d2acd1014d chore: fix PersistentProperties missing-prop linter errors 2026-03-20 22:17:36 +11:00
2 * r + 2 * t
796c2e4e76 chore: fix prop order 2026-03-20 16:03:18 +11:00
2 * r + 2 * t
9e2ccbede3 chore: format everything 2026-03-20 04:42:06 +11:00
2 * r + 2 * t
3b08cd6594 chore: add newline after id 2026-03-20 04:42:06 +11:00
八奈見 レイ
ffe90bd077
dashboard: add synced lyrics to media tab (#1197)
* lyrics: rewrite model

* lyrics: cleanup code

* lyrics: some minor layouting

* lyrics: add fade shaders

* lyrics: use appearance values from config

* lyrics: formatting

* lyrics: update readme

* lyrics: fix jumping, redo netease backend (resused from another one of projects)

* lyrics: fix netease searches, remove credit lines

* lyrics: add RequestIds

* lyrics: formatting

* lyrics: lyricsDir path cleanup

* lyrics: make empty lines not take up much space

* lyrics: make empty lines not take up any space

* Lyrics: Use QNetworkAccessManager instead of XMLHttpRequest

also added ability to set request headers and ability to reset cookies for requests.cpp

* lyrics: cleanup old code

* lyrics: toggle lyrics by clicking the album art

* lyrics: sanitize non-breaking spaces

* lyrics: add a menu to select lyrics and manually search for them

* lyrics: remove LrcLib backend

* lyrics: change focus to when dashboard is opened instead of the lyricMenu

* lyrics: improve UI

* lyrics: improve UI more ig

* lyrics: extract LyricsView and LyricMenu into separate components

* lyrics: cleanup old files

* lyrics: refactor LyricsService

* lyrics: restore ComponentBehavior: Bound in lyrics components

* lyrics: change SongID to real to fix integer overflow

* lyrics: add animations to the lyricMenu

* lyrics: fix manual search fields not auto updating

* lyrics: fix jerks when switching tracks

* lyrics: create lyrics directory if it doesn't exist

* lyrics: silence logs, fix binding loops, fix index out of range errors

* lyrics: only request keyboard focus when lyric menu is open

* config: add option to enable/disable the lyrics

* format + silence fileview errors

* fix merge

* anim and lsp fixes + format

---------

Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
2026-03-19 22:38:36 +11:00
Mateus
60de5a129a
fix: react weather location + nominatim fallback (#1290) 2026-03-17 18:26:53 +11:00
2 * r + 2 * t
f5f4c51a73 bar/activewindow: fix anim 2026-03-15 22:18:30 +11:00
Bora Gülerman
aea2ac96ef
controlcenter/taskbar: add excludedScreens (#1215)
also changed controlcenter/components/ConnectedButtonGroup
  - Changed row layout to grid layout
  - Added optional prop: row, which defaults to 1 so it looks same as
row layout if not given
  - added new field to options, which bypasses rootItem bind. This is
needed because we can not predict the number of monitors the user has,
and can not create a seperate variable for each one
2026-03-15 18:42:34 +11:00
cordlessblues
533b6590cd
notifs: support int:value hint (#1254)
* add .vscode/settings.json to gitignore

* added support for the Int:value hint

* fix

* more fix

* f

* comment

---------

Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
2026-03-15 18:27:46 +11:00
Kalagmitan
dd2d7dceab
systemusage: optimized storage aggregation and improved device filtering (#1261)
* refactor: Optimized storage aggregation

+ The storage aggregation logic doesn't account more complex storage
setups and relied too much on risky string parsing to guess where
partitions are. For example, in my case, I had a LUKS-encrypted drive
which lives inside a "crypt," because it couldn't match the type (it
only matched "disk" and "part"), it did not include my entire drive at
all. Also, Linux devices names aren't always predictable (take mapper
devices or complex NVMe paths), so if the RegEx doesn't match the name
of those devices, the data just dissapears.

I decided to go for a JSON approach making the code shorter and safer.

Everything should work about the same.

* systemusage: More intuitive filtering for storage devices

+ Removes "useless" drives from being show on the storage dashboard
+ Prioritizes the root disk to be shown first

* refactor: formatted code properly
2026-03-15 17:49:37 +11:00
2 * r + 2 * t
c1795d187a feat: add excluded screens config opt
Completely disables everything (except lock) for screen
2026-03-13 00:25:58 +11:00
2 * r + 2 * t
27cb290423 feat: replace canvas -> c++ component
Also add c++ ring buffer
2026-03-12 22:51:07 +11:00