Compare commits
2 commits
27e1f63691
...
c13a719145
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c13a719145 | ||
|
|
e75d7c7804 |
3 changed files with 12 additions and 4 deletions
|
|
@ -16,7 +16,9 @@ exactly when you should be most suspicious.
|
||||||
- Context menus for tray icons with submenu support, network chooser (known available WiFi/ethernet), bluetooth device manager (connect/disconnect, battery levels)
|
- Context menus for tray icons with submenu support, network chooser (known available WiFi/ethernet), bluetooth device manager (connect/disconnect, battery levels)
|
||||||
- Privacy indicators — screenshare and microphone icons pulse red/green when PipeWire detects active video/audio capture streams. Finally, you'll know when your webcam is on, which is more than can be said for most laptop manufacturers
|
- Privacy indicators — screenshare and microphone icons pulse red/green when PipeWire detects active video/audio capture streams. Finally, you'll know when your webcam is on, which is more than can be said for most laptop manufacturers
|
||||||
- Per-module accent colors that change based on state, with animated transitions. Battery blinks when critical and sends desktop notifications, because the robot cares about your hardware more than you do
|
- Per-module accent colors that change based on state, with animated transitions. Battery blinks when critical and sends desktop notifications, because the robot cares about your hardware more than you do
|
||||||
- Screen corner rounding — tiny overlay windows with quarter-circle masks, click-transparent, configurable via `screenRadius` (set to 0 if you prefer your corners sharp and your desktop ugly)
|
- Audio visualizer on album art via cava — because the robot watched too many r/unixporn posts and couldn't help itself
|
||||||
|
- Screen corner rounding — tiny overlay windows with quarter-circle masks, click-transparent, configurable via `screenRadius`. The gradient top border curves to match, because the robot has opinions about pixel alignment
|
||||||
|
- Overview widgets — clock and date rendered on the background layer, visible in the gaps between workspace rows when niri's overview is active. Always there, never in the way
|
||||||
- Weather via wttrbar with configurable arguments and rich HTML tooltips
|
- Weather via wttrbar with configurable arguments and rich HTML tooltips
|
||||||
- Power menu with lock, suspend, logout, reboot, shutdown
|
- Power menu with lock, suspend, logout, reboot, shutdown
|
||||||
- Event-driven updates for network, bluetooth, and power profiles via dbus-monitor/nmcli monitor — no more 5-second polling lag
|
- Event-driven updates for network, bluetooth, and power profiles via dbus-monitor/nmcli monitor — no more 5-second polling lag
|
||||||
|
|
@ -128,7 +130,7 @@ Full list of theme keys and their defaults:
|
||||||
| `barSpacing` | `12` | Gap between modules (px) |
|
| `barSpacing` | `12` | Gap between modules (px) |
|
||||||
| `moduleSpacing` | `4` | Icon-to-label gap within a module (px) |
|
| `moduleSpacing` | `4` | Icon-to-label gap within a module (px) |
|
||||||
| `radius` | `4` | Corner radius for flyouts and menus (px) |
|
| `radius` | `4` | Corner radius for flyouts and menus (px) |
|
||||||
| `screenRadius` | `15` | Screen corner rounding, 0 to disable (px) |
|
| `screenRadius` | `20` | Screen corner rounding, 0 to disable (px) |
|
||||||
|
|
||||||
### Systemd service
|
### Systemd service
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,12 @@ M.BarSection {
|
||||||
id: cavaProc
|
id: cavaProc
|
||||||
running: root.playing
|
running: root.playing
|
||||||
command: ["sh", "-c",
|
command: ["sh", "-c",
|
||||||
"printf '[general]\\nbars=16\\nframerate=30\\n[output]\\nmethod=raw\\nraw_target=/dev/stdout\\ndata_format=ascii\\nascii_max_range=100\\n' | cava -p /dev/stdin 2>/dev/null"
|
"cfg=$(mktemp /tmp/nova-cava-XXXXXX.conf);" +
|
||||||
|
"cat > \"$cfg\" << 'CAVAEOF'\n" +
|
||||||
|
"[general]\nbars=16\nframerate=30\n[output]\nmethod=raw\nraw_target=/dev/stdout\ndata_format=ascii\nascii_max_range=100\n" +
|
||||||
|
"CAVAEOF\n" +
|
||||||
|
"trap 'rm -f \"$cfg\"' EXIT;" +
|
||||||
|
"exec cava -p \"$cfg\""
|
||||||
]
|
]
|
||||||
stdout: SplitParser {
|
stdout: SplitParser {
|
||||||
splitMarker: "\n"
|
splitMarker: "\n"
|
||||||
|
|
|
||||||
|
|
@ -178,7 +178,8 @@ in
|
||||||
self.packages.${pkgs.stdenv.hostPlatform.system}.nova-shell-cli
|
self.packages.${pkgs.stdenv.hostPlatform.system}.nova-shell-cli
|
||||||
pkgs.nerd-fonts.symbols-only
|
pkgs.nerd-fonts.symbols-only
|
||||||
]
|
]
|
||||||
++ lib.optional cfg.modules.weather.enable pkgs.wttrbar;
|
++ lib.optional cfg.modules.weather.enable pkgs.wttrbar
|
||||||
|
++ lib.optional cfg.modules.mpris.enable pkgs.cava;
|
||||||
|
|
||||||
xdg.configFile."nova-shell/modules.json".source =
|
xdg.configFile."nova-shell/modules.json".source =
|
||||||
(pkgs.formats.json { }).generate "nova-shell-modules.json"
|
(pkgs.formats.json { }).generate "nova-shell-modules.json"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue