Commit graph

306 commits

Author SHA1 Message Date
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
2 * r + 2 * t
6987809a76 brightness: use map lookup for DDC monitor matching 2026-03-12 22:30:28 +11:00
2 * r + 2 * t
ce7fe96097 networkusage: avoid intermediate array copy for history updates 2026-03-12 22:22:50 +11:00
2 * r + 2 * t
8812073ab1 systemusage: combine chained replace calls into single regex 2026-03-12 22:22:41 +11:00
2 * r + 2 * t
c14db315f6 audio: replace reactive reduce with imperative node categorisation 2026-03-12 21:55:22 +11:00
2 * r + 2 * t
9464c72f7a nmcli: use Map-based lookups for network deduplication
Replace O(n²) nested .filter()/.find() loops with Map-keyed
lookups for both removal and update passes in getNetworks().
2026-03-12 21:51:44 +11:00
2 * r + 2 * t
11f5a2ee45 network: debounce nmcli monitor events
Batch rapid nmcli monitor events with a 200ms debounce timer
instead of spawning processes on every event line.
2026-03-12 21:51:38 +11:00
2 * r + 2 * t
30c36e356d notifs: use adaptive timer for timeStr instead of reactive binding
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.
2026-03-12 21:49:55 +11:00
Bilal Özel
0d56db3b6c
systemusage: improve GPU detection for AMD RX series GPU (#1246)
* 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>
2026-03-10 01:33:33 +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
Robin Seger
2e22a21def
shortcuts: add special workspace cycle (#1158)
* [CI] chore: update flake

* [CI] chore: update flake

* [CI] chore: update flake

* [CI] chore: update flake

* shortcuts: special workspace cycle IPC, reopen last

* Moved implementation into Hypr service

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-11 11:44:23 +11:00
2 * r + 2 * t
9d7f0c48ce internal: format 2026-01-28 19:21:44 +11:00
Robin Seger
2ddc367e4e
controlcenter: added VPN settings & management (#1095)
* 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
2026-01-21 00:12:08 +11:00
2 * r + 2 * t
685ad569a3 background: fix desktop clock 12h format 2026-01-20 20:53:34 +11:00
ATDMA
a17fe72be5
controlcenter: add per-application audio controls (#1098)
* feat: per-application audio controls in controlcenter and popout

* removed: per-application volume control removed from audio popout
2026-01-19 16:04:17 +11:00
Ezekiel Gonzales
d2c06587f5
utilities: fix fullscreen record (#1085) 2026-01-16 22:10:33 +11:00
2 * r + 2 * t
2d000c1052 notifs: fix image caching 2026-01-16 02:22:13 +11:00
2 * r + 2 * t
229934a986 lock: fix weather 2026-01-04 00:15:40 +11:00
2 * r + 2 * t
19104850ee fix: get city for weather when given lat,long
Fixes #1036
2026-01-03 23:09:56 +11:00
2 * r + 2 * t
ee65883f97 internal: fix some widgets not respecting rounding scale 2026-01-03 19:34:14 +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
Ezekiel Gonzales
7d92c19358
dashboard: add weather tab
dashboard: Added Weather tab that shows weather forecast
2026-01-03 18:25:11 +11:00
ATMDA
05b0660627 controlcenter: password input errors/wrong pass 2025-11-15 01:31:53 -05:00
2 * r + 2 * t
9825ad4d31 nmcli: fix errors + disable most logs 2025-11-15 15:53:30 +11:00
ATMDA
3f58823762 nmcli: refactor to be readable/extensible 2025-11-14 11:12:07 -05:00
ATMDA
ba5dfbd4c4 network: removed all execs from Network.qml, now relies only on Nmcli.qml 2025-11-14 09:00:05 -05:00
ATMDA
36a91213b1 network: migrated to nmcli.qml 2025-11-13 19:05:23 -05:00
ATMDA
617e686238 service: Nmcli.qml 2025-11-13 18:59:48 -05:00
ATMDA
38c613a75e controlcenter: wireless debug removal (preparing for rewrite) 2025-11-13 15:08:01 -05:00
ATMDA
1da9c68be8 cleanup: trailing whitespace removeal (entire project) 2025-11-13 14:41:14 -05:00
ATMDA
6ae1313b6b controlcenter: wireless panel refactoring 2025-11-12 22:31:11 -05:00
ATMDA
ffe14748a2 notifs/toasts: reverted all changes to notifications to c0ea060f 2025-11-12 20:57:38 -05:00
ATMDA
7e6f327091 conrolcenter: debug/rewrite of wireless panel 2025-11-12 19:57:42 -05:00
ATMDA
84e839cf55 notif/toasts: refactoring colors 2025-11-12 16:50:20 -05:00
ATMDA
c1510b5476 notifs/toasts: reworked notifications and toasts and how they display and work together. see pull request comment. 2025-11-12 14:51:22 -05:00
ATMDA
5af1e9222e controlcenter: added connection information to wireless to match ethernet panel 2025-11-11 16:18:32 -05:00
ATMDA
817156aec0 controlcenter: polished ethernet panel 2025-11-10 11:51:43 -05:00
ATMDA
1debf488ee controlcenter: ethernet panel (debug) 2025-11-10 10:00:04 -05:00
ATMDA
d8de7c7e4b controlcenter: wifi passphrase input
fix: dependability issues with nmcli
2025-11-09 21:43:51 -05:00
ATMDA
5d7151e79e controlcenter: network and audio panels 2025-11-09 17:54:16 -05:00
Nikita Friesen
223207235e
hypr: account for kb layout variants (#836)
Refactor layout and variant parsing logic in Hypr.qml to improve readability and maintainability.
2025-10-23 19:35:45 +11:00
dish
4cb1048fdd
toasts: add toast for media track change (#790) 2025-10-15 14:03:14 +11:00
Robin Seger
fe4ebb79b6
feat: VPN toggle (#689)
* 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
2025-10-14 16:05:15 +11:00
2 * r + 2 * t
73aa3e32de toasts: add toast for kb layout change
Closes #688
2025-10-14 01:18:54 +11:00
Robin Seger
dde0f85e78
feat: configurable max volume (#723)
* feat: configurable max volume

- Add maxVolume config option to ServiceConfig
- Add maxValue property to FilledSlider component
- Update OSD sliders to respect maxVolume setting
- Update example config in README

* fix: remove redundant maxValue prop
2025-10-13 22:50:56 +11:00
2 * r + 2 * t
0691dfb95f
notifs: clear actually close notifs 2025-10-01 13:08:01 +10:00