Commit graph

221 commits

Author SHA1 Message Date
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
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
20c7482b2b chore: fix bar linter warnings 2026-03-21 16:04:57 +11:00
2 * r + 2 * t
3e057c829d bar: dont show date by default 2026-03-19 22:40:25 +11:00
Ezekiel Gonzales
7fbcf17899
bar: add date and background option for clock (#1198)
* bar: add date and background option for clock

* fix height binding loop qs WARN
2026-03-19 22:39:35 +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
2 * r + 2 * t
70d6225186 feat: allow hover drawers when border < 2
Closes #1297
2026-03-19 21:36:48 +11:00
2 * r + 2 * t
521cd4079e bar/activewindow: allow disable show on hover
Closes #1209
Closes #1019
2026-03-15 22:29:28 +11:00
Ezekiel Gonzales
4c93de1513
utilities: allow disabling and moving toggles + support for extra row (#1181)
* quickToggles: Allow disabling and moving toggles and support for extra row

* edit: README

* splitIndex logic edit

* fix

---------

Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
2026-03-15 19:38:50 +11:00
Xavier Lhinares
63c86e950b
bar: allow setting custom workspace app icons in shell.json (#1214)
* bar: allow setting custom workspace app icons in shell.json

* rename to windowIcons and use regex field for regex

Also allow specifying regex flags and exact name

* add default config (fix steam icons)

---------

Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
2026-03-15 19:17:49 +11:00
Ezekiel Gonzales
b68f0bae14
bar/activewindow: add compact option (#1201)
Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
2026-03-15 18:55:55 +11:00
2 * r + 2 * t
d2e35a071b config: don't serialise sizes
We do not want to serialise sizes cause people aren't meant to change
them
2026-03-15 18:40:12 +11:00
八奈見 レイ
e304846421
config: add option to hide notifications on lockscreen (#1211) 2026-03-15 18:32:32 +11:00
Evertiro
bffe29e6b7
fix: missing serialization for hiddenIcons (#1263)
Signed-off-by: Dan Griffiths <dgriffiths@widgitlabs.com>
2026-03-15 17:35:25 +11:00
Robin Seger
1508abd3e1
workspaces: window icons limit (#1267)
* workspace window icons display limit

* serialization
2026-03-15 17:34:52 +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
Robin Seger
3e0360401b
dashboard: dynamic dashboard tabs + fix performance settings updating (#1253)
* [CI] chore: update flake

* Dashboard perf settings save, visibility on none enabled

* Dashboard heigh stutter fixed, persist current tab

* restore binding

* wrapper async=false

* ScriptModel, centralized tabs/panes, individual toggle

* fixes, missed mediaUpdateInterval, passing values

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-11 01:22:23 +11:00
Evertiro
5bde26496e
bar: allow hiding tray icons (#1227)
* First pass at hiding systray icons

Signed-off-by: Dan Griffiths <dgriffiths@widgitlabs.com>

* Don't dump all IDs for no reason >_<

Signed-off-by: Dan Griffiths <dgriffiths@widgitlabs.com>

* Better handling for hiding tray icons

Signed-off-by: Dan Griffiths <dgriffiths@widgitlabs.com>

* Re-add EOF newline

Signed-off-by: Dan Griffiths <dgriffiths@widgitlabs.com>

* Hide popouts too

Signed-off-by: Dan Griffiths <dgriffiths@widgitlabs.com>

* Hide the expand icon if no icons are visible

Signed-off-by: Dan Griffiths <dgriffiths@widgitlabs.com>

* Update modules/bar/components/Tray.qml

Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>

* Update modules/bar/components/Tray.qml

Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>

* Update modules/bar/components/Tray.qml

Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>

* That needs to be inverted

* Clean up

Signed-off-by: Dan Griffiths <dgriffiths@widgitlabs.com>

* fix

---------

Signed-off-by: Dan Griffiths <dgriffiths@widgitlabs.com>
Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
2026-03-08 20:33:31 +11:00
Evertiro
4be8fc9693
feat: allow different systems for weather/performance (#1109)
* Allow different systems for weather/performance

Signed-off-by: Dan Griffiths <dgriffiths@widgitlabs.com>

* readme: update options

Signed-off-by: Dan Griffiths <dgriffiths@widgitlabs.com>

---------

Signed-off-by: Dan Griffiths <dgriffiths@widgitlabs.com>
2026-02-20 17:32:09 +11:00
八奈見 レイ
1313b899ad
config: added option to set session icons (#1189) 2026-02-19 23:00:02 +11:00
Thanh Minh
46174d1934
dashboard/performance: new design, configurable, controlcenter support (#975)
* feat(dashboard): add configurable performance resources

- Add config options to show/hide Battery, GPU, CPU, Memory, Storage
- Make dashboard responsive based on number of visible resources
- Scale resource sizes and spacing dynamically for 3, 4, or 5 items
- Battery shows charge status and time remaining/to full
- Each resource can be individually toggled via config

* fix(dashboard): add dynamic right margin for last visible resource

Ensures the rightmost resource always has proper margin to prevent
content from being cut off at the edge

* fix(performance): comment out duplicated value2 properties for memory and storage resources

* controlcenter: add settings for dashboard

* feat: handle readonly properties and re-usable codes

* Feature/performance tab rework (#5)

* dashboard/performance: rework tab with card-based grid layout

- Replace circular arc meters with card-based grid layout
- CPU/GPU cards show hardware name, usage and temperature with horizontal bars
- Memory card with 3/4 arc indicator and used/total at bottom
- Storage card shows physical disks from lsblk with aggregated partition usage
- Add cpuName, gpuName, cpuFreq, cpuMaxFreq, disks properties to SystemUsage
- Clean hardware names (remove Intel/AMD/NVIDIA prefixes, TM/R symbols)

* dashboard/performance: new hero card design

* dashboard/performance: update storage indicators to be reponsive to the physical disks count

* dashboard/performance: fix the overlay bounding issue

* dashboard/perfromance: refactor code

* dashboard/performance: add battery gauge

* dashboard/performance: correct battery icon

* dashboard/performance: configurable battery

* dashboard/performance: update layout

* dashboard/performance: move the "Usage" text on top and smaller the font size

* dashboard/performance: add a lot of configurations

* dashboard/performance: add network metrics

* fix: issue with hot reload

* chore: update default vaule for mainValueSpacing to 0

* chore: group settings into collapasible sections

* chore: making GPU & Battery toggle not showing if not found

* chore: fix network widget spacing & text

* chore: remove old disk bars configs, add update interval

* chore: remove old & unused value, functions

* chore: network graph update smoothly when data points change

* chore: refactor settings

- de-flood settings, most of the font & size setting now follow the
global Appearance config
- Most of sliders are not needed anymore, only keep the update interval
slider
- clean up

* chore: remove readonly properties from the controlcenter/dashboard.

* chore: minor fix

* fix: fix warning about onPercChange()

* fix: network metrics negative number

* fix: add minimal height & width, placeholder for none toggled

* fix: network graph move smoothly (#6)

* fix: network graph move smoothly

* clean up

* fix: graph animation even more smooth

* fix: padding issue

* chore: network icons short description

* fix

---------

Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
2026-02-19 22:53:22 +11:00
Unrectified
69adb92087
feat: add wallpaperEnabled option (#1187)
* fix: change background color to none allowing other wallpaper engine and background enabled

* feat: add wallpaperEnabled property and toggle in appearance settings

* fix background: Make it "black" if wallpaper is enabled, otherwise "transparent"

* fix: separate Visualiser from Wallpaper (hope I didn't made more shit buh)

* fix: transparency not working & layer position

* fix

---------

Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
2026-02-19 22:34:21 +11:00
Bora Gülerman
40a2552830
launcher: add favorite apps (#946)
* launcher: add favorite apps

Favorite apps always appear above non-favorite apps
Accepts regex, same logic as #920
Added the same regex logic to hidden apps
Added util file may need to be relocated

* addressed requested changes

* fix: Renamed newly added util singleton

Also added a null check to favorite icon loader in AppItem.qml

* controlCenter/launcherPane: added favorite apps

added icons to the app list to indicate if they are favorited/hidden
marking as favorite/hidden is desabled if the other is selected

* favouriteApps: renamed from favorite to favourite

Also disabled favorite/hidden switch for entries added as regex

* appDb: added notify and emit to favoriteApps

* controlCentre/Launcher: Fixed bug with favourite switch not enabling itself when no hiddenApps exist

Added a comment to explain the enabled state of the switches
icon loader is now a single loader rather than two, hidden icon has
priority

* spelling mistakes

* fixed warning

* formatting fixes
2026-02-19 21:26:10 +11:00
Ezekiel Gonzales
614e66a45e
fix: serialize excludedScreens config (#1151) 2026-02-08 00:51:54 +11:00
Evertiro
7a41a85954
config: allow adjusting the speed of gifs (#1147)
Signed-off-by: Dan Griffiths <dgriffiths@widgitlabs.com>
2026-02-04 19:04:10 +11:00
Ezekiel Gonzales
2e68551738
config: serialize brightnessIncrement (#1117)
* config: serialize brightnessIncrement

* add brightness increment on OSD scroll
2026-01-28 19:25:54 +11:00
2 * r + 2 * t
9d7f0c48ce internal: format 2026-01-28 19:21:44 +11:00
ATDMA
617f7a19f3
controlcenter: fix desktop clock settings (#1114)
Add missing desktop clock properties to serializeBackground() function:
- desktopClock.scale
- desktopClock.position
- desktopClock.invertColors
- desktopClock.background.enabled
- desktopClock.background.opacity
- desktopClock.background.blur
- desktopClock.shadow.enabled
- desktopClock.shadow.opacity
- desktopClock.shadow.blur

This fixes the issue where the desktop clock background enabled toggle
(and other desktop clock settings) would not persist when the control
center was reloaded.
2026-01-22 20:21:54 +11:00
Evertiro
d50f6080ec
bar/statusicons: allow disabling wifi icon when ethernet is active (#1107)
Signed-off-by: Dan Griffiths <dgriffiths@widgitlabs.com>
2026-01-20 23:37:45 +11:00
AleksElixir
60a567bbba
popouts/kblayout: revamp to be actually functional (#971)
* Replacement KbLayout.qml for keyboard layout management

* Add files via upload

* Update KbLayout source component import

* Remove KbLayout.qml and relocate to kblayout folder

The KbLayout.qml file has been removed and relocated to the kblayout folder.

* Code fixes, and added kbLimit config that toust would be dissableable

* Add 'kbLimit' to configuration options

Added the keyboard limit toast config to the README

* Update KbLayout.qml

* Update KbLayoutModel.qml

* Update BarConfig.qml

* Update Content.qml

* remove old file

---------

Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
2026-01-19 15:51:08 +11:00
Ezekiel Gonzales
fd1165f153
background: redesign desktop clock and allow positioning (#1092)
* background(desktop clock): Redesigned the Desktop Clock and allow positioning and scaling

* desktopClock: initial fix for contrast and added debug tool

* fix properties

* fix BackgroundConfig.qml for desktopClock

* removed debugging tool and applied maintainer suggestions

* added invert colors, opacity, and fix positioning

* added blur, fix layout, allow invert colors

* added implicitWidth behavior and small change
2026-01-18 01:19:53 +11:00
Ezekiel Gonzales
a48abd216a
launcher: add Settings action to open controlCenter (#1088) 2026-01-18 00:25:30 +11:00
Evertiro
96942d5ff3
sysinfo: allow overriding OS icon (#1091)
* Allow overriding OS icon

Signed-off-by: Dan Griffiths <dgriffiths@widgitlabs.com>

* Support icons and live reloading

Signed-off-by: Dan Griffiths <dgriffiths@widgitlabs.com>

* isDefaultLogo should default to true

Signed-off-by: Dan Griffiths <dgriffiths@widgitlabs.com>

---------

Signed-off-by: Dan Griffiths <dgriffiths@widgitlabs.com>
2026-01-17 16:58:06 +11:00
Ezekiel Gonzales
49b94e7b18
services: add brightnessIncrement config property (#1010)
* feat: Add brightnessIncrement config property

* birghtness increment applies on bar scroll
2026-01-03 19:04:00 +11:00
2 * r + 2 * t
bdcd13222f
Merge pull request #906 from atdma/main
controlcenter: many setting panes and minor features
2026-01-03 17:53:06 +11:00
Sven Fischer
8d63cd41b6
feat: add openExpanded notif config option (#993)
If set in the configuration, the notifications are opened in the
expanded state, displaying the full notification text.
2025-12-21 08:20:23 +11:00
Bora Gülerman
24b313497f
bar: add config option to disable on selected screens (#920)
* modules/drawers: Added a bar config option to disable the bar on selected screens

Extended the visualizer on screens that the bar is hidden

* modules/drawers: surrounded barwrapper with a loader

* fix/modules/drawers: fix a null reference

missed to fix a reference to bar object to barLoader.item

* modules/drawers: added regex support

also reverted the barLoader, added a disabled property to BarLoader
instead

* fix: module/drawers: applied requested changes
2025-11-26 15:45:49 +11:00
ATDMA
70496b402d
Merge branch 'caelestia-dots:main' into main 2025-11-24 16:55:45 +00:00
Sven Fischer
11282f6abe
bar/activewindow: add option to invert rotate (#922)
* feat(activeWindow): Add rotation option to rotate counter-clockwise

* feat(activeWindow): Change rotation to inverted boolean option

* feat(activeWindow): Do not expose inverted property
2025-11-24 19:52:09 +11:00
ATMDA
0d57edcade config: 0ms bug on save corrected 2025-11-16 09:03:16 -05:00
ATMDA
cc74308800 config: added save to singleton, updated relevant settings panes 2025-11-15 19:40:19 -05:00
ATMDA
8d8afba79a tray: removed ethernet config options (network covers it) 2025-11-13 21:40:50 -05:00
ATMDA
2ebdba6cc4 launcher: reverted python launcher item to not exist, changes back to c0ea060f 2025-11-13 13:57:35 -05:00
ATMDA
bd61cbaac5 statusicons: added ethernet when active and popout 2025-11-10 14:25:06 -05:00
ATMDA
47dfcf4baf launcher: python execution like calculator functionality 2025-11-10 00:46:45 -05:00
ATMDA
f1234bc967 fix: window title while keeping new panels
modified:   config/BarConfig.qml
	modified:   modules/BatteryMonitor.qml
	modified:   modules/background/DesktopClock.qml
	modified:   modules/bar/Bar.qml
	modified:   modules/controlcenter/WindowFactory.qml
	modified:   modules/controlcenter/WindowTitle.qml
2025-11-09 19:10:11 -05:00