From 4c66ad76264c3e72479daab078cd08f5c69cb2f9 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Sat, 7 Feb 2026 21:04:40 -0800 Subject: [PATCH] chore: update user config to use new icon-label widget variants Co-Authored-By: Claude Opus 4.6 --- dotfiles/config/taffybar/taffybar.css | 22 ++++++++++++++++++---- dotfiles/config/taffybar/taffybar.hs | 13 +++++++++---- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/dotfiles/config/taffybar/taffybar.css b/dotfiles/config/taffybar/taffybar.css index 42589a69..d08ad8f2 100644 --- a/dotfiles/config/taffybar/taffybar.css +++ b/dotfiles/config/taffybar/taffybar.css @@ -19,6 +19,11 @@ text-shadow: none; } +/* Icon-label combined widgets (PulseAudio, NetworkManager): the `.icon` label + uses a nerd font character, so force the nerd font family on it. */ +.icon-label > .icon { + font-family: "Iosevka Nerd Font"; +} /* The main bar container. border-radius matches the widget squircles (6px) so the bar itself has softly rounded corners. */ @@ -235,16 +240,25 @@ background-color: rgba(255, 255, 255, 0.06); } -.workspaces .window-icon-container, -.workspaces .window-icon-container.active { - /* Don't give each window icon its own background/border; the workspace - squircle is the background. */ +/* Inside workspaces the squircle pill IS the background, so individual + icon containers stay transparent. */ +.workspaces .window-icon-container { background-color: transparent; border: 0px; box-shadow: none; padding: 0px 2px; } +/* Subtle bright ring around the focused window's icon so it stands out + from the other icons in the same workspace pill. */ +.workspaces .window-icon-container.active { + background-color: rgba(255, 255, 255, 0.10); + border: 0px; + border-radius: 50%; + box-shadow: 0 0 6px rgba(255, 255, 255, 0.45); + padding: 2px; +} + .workspaces .active .contents, .workspaces .visible .contents { background-color: transparent; diff --git a/dotfiles/config/taffybar/taffybar.hs b/dotfiles/config/taffybar/taffybar.hs index b97d3045..c2a36036 100644 --- a/dotfiles/config/taffybar/taffybar.hs +++ b/dotfiles/config/taffybar/taffybar.hs @@ -202,11 +202,11 @@ cssFilesForHost hostName = audioWidget :: TaffyIO Gtk.Widget audioWidget = - decorateWithClassAndBoxM "audio" PulseAudio.pulseAudioLabelNew + decorateWithClassAndBoxM "audio" PulseAudio.pulseAudioNew networkWidget :: TaffyIO Gtk.Widget networkWidget = - decorateWithClassAndBoxM "network" NetworkManager.networkManagerWifiLabelNew + decorateWithClassAndBoxM "network" NetworkManager.networkManagerWifiIconLabelNew layoutWidget :: TaffyIO Gtk.Widget layoutWidget = @@ -327,6 +327,10 @@ backlightWidget = } ) +diskUsageWidget :: TaffyIO Gtk.Widget +diskUsageWidget = + decorateWithClassAndBoxM "disk-usage" diskUsageLabelNew + sniTrayWidget :: TaffyIO Gtk.Widget sniTrayWidget = decorateWithClassAndBoxM @@ -345,12 +349,13 @@ startWidgetsForBackend backend = endWidgetsForHost :: String -> Backend -> [TaffyIO Gtk.Widget] endWidgetsForHost hostName backend = let tray = sniTrayWidget - baseEndWidgets = [tray, audioWidget, networkWidget, mprisWidget] + baseEndWidgets = [tray, audioWidget, diskUsageWidget, networkWidget, mprisWidget] -- Keep battery widgets visually *after* the tray (i.e. further to the right). laptopEndWidgets = batteryEndWidgets ++ [ tray , audioWidget + , diskUsageWidget , backlightWidget , networkWidget , mprisWidget @@ -369,7 +374,7 @@ mkSimpleTaffyConfig hostName backend cssFiles = , barPadding = 4 , barHeight = ScreenRatio $ 1 / 36 , cssPaths = cssFiles - , centerWidgets = [clockWidget] + , centerWidgets = [clockWidget, sniTrayWidget] } -- ** Entry Point