* 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>
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
* 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>
* 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
Replace the per-second reactive binding with an imperative timer
that adapts its interval based on notification age: 5s for <1min,
30s for <10min, 60s for <1h, 5min for <1d, 1h for older.
* SystemUsage:improve GPU-Detection for AMD RX series GPU
updated the gpuNameDetect command with glxinfo to fix gpu name detection
* SystemUsage: adjust lspci command to detect graphics card better
* SystemUsage: adjust regex to extract name out of last bracket
* clean less
* no need xargs
---------
Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
* 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>
* feat: configurable VPN toggle for Wireguard
- Added VPN service for wg-quick
- Added VPN toggle to utilities quick toggles
- Configuration in UtilitiesConfig (enabled, connectionName)
* fix: monitoring and toasts
- Using nmcli monitor for state detection instead of polling
- Added VPN toast notifications
* fix: use polkit
* feat: multi-provider VPN support
- Added support for netbird and tailscale providers
- Universal interface detection using ip link show
- Provider-specific privilege handling (pkexec only for wireguard)
- Updated README with VPN configuration examples
* feat: less hardcoded, configurable providers
* removed comments
* code style changes
* reorganize signal handler