omarchy/config/waybar/style.css
Alan Sikora 318a6e23cf
Add status indicator cluster for waybar (#570)
* feat: Add notification status indicator to waybar

Adds a visual indicator in the waybar to show when notifications are silenced (do-not-disturb mode).

- Shows a red dot when notifications are disabled
- Shows a dimmed dot when notifications are enabled
- Clicking the indicator toggles do-not-disturb mode
- Syncs with the existing SUPER+CTRL+, keyboard shortcut

This provides immediate visual feedback about notification status, making it easier for users to know when they've silenced notifications.

* feat: Convert to unified status cluster that only shows active states

- Only displays indicators when states are actually active
- Supports multiple status types: DND, night light, screen recording, idle lock
- Uses distinct symbols: • for DND, ◐ for night light, ● for recording, ◯ for idle lock
- Completely hides module when no states are active (no visual clutter)
- Extensible design for future status indicators
- Improved performance with better error handling

* Implement lightweight hybrid status monitoring

* Enhance notification status cluster with modular design

* Add waybar configuration for status cluster

* Add recording click handler and fix process detection

- Add wl-screenrec detection for non-nvidia systems
- Add click handler to start/stop recording
- Fix idle lock toggle functionality

* minor alignment tweaks

* improved recording detection to be more specific

* Rely on Omarchy bin in PATH and lower interval to feel more snappy

* Seperate out screencording stop so it doesn't start when trying to stop OBS

* Add migration to add the status notifications

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-23 08:26:31 +02:00

88 lines
1.1 KiB
CSS

@import "../omarchy/current/theme/waybar.css";
* {
background-color: @background;
color: @foreground;
border: none;
border-radius: 0;
min-height: 0;
font-family: CaskaydiaMono Nerd Font;
font-size: 12px;
}
.modules-left {
margin-left: 8px;
}
.modules-right {
margin-right: 8px;
}
#workspaces button {
all: initial;
padding: 0 6px;
margin: 0 1.5px;
min-width: 9px;
}
#workspaces button.empty {
opacity: 0.5;
}
#tray,
#cpu,
#battery,
#network,
#bluetooth,
#pulseaudio,
#custom-omarchy,
#custom-update {
min-width: 12px;
margin: 0 7.5px;
}
#custom-expand-icon {
margin-right: 7px;
}
tooltip {
padding: 2px;
}
#custom-update {
font-size: 10px;
}
#clock {
margin-left: 8.75px;
}
#group-status-cluster {
margin-right: 8.75px;
}
#custom-status-dnd,
#custom-status-nightlight,
#custom-status-recording,
#custom-status-idle {
min-width: 12px;
margin: 0 2px;
font-size: 10px;
}
#custom-status-dnd.status-dnd,
#custom-status-nightlight.status-nightlight,
#custom-status-idle.status-idle {
opacity: 1;
}
#custom-status-recording.status-recording {
color: #a55555;
opacity: 1;
}
.hidden {
opacity: 0;
}