From 5a5758720b6a500f380298062746f496caaa85f1 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Sat, 7 Feb 2026 23:33:48 -0800 Subject: [PATCH] taffybar: use nerd font icon+label pairs for battery and disk widgets Replace the separate batteryIconWidget + batteryTextWidget with a single batteryWidget using batteryTextIconNew paired with textBatteryNew via buildIconLabelBox. Switch diskUsageWidget from diskUsageLabelNew to diskUsageNew which includes a nerd font disk icon. Co-Authored-By: Claude Opus 4.6 --- dotfiles/config/taffybar/taffybar.hs | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/dotfiles/config/taffybar/taffybar.hs b/dotfiles/config/taffybar/taffybar.hs index c2a36036..f5340c0b 100644 --- a/dotfiles/config/taffybar/taffybar.hs +++ b/dotfiles/config/taffybar/taffybar.hs @@ -32,7 +32,7 @@ import System.Taffybar.Widget.SNITray ( sniTrayNew , sniTrayThatStartsWatcherEvenThoughThisIsABadWayToDoIt ) -import System.Taffybar.Widget.Util (buildContentsBox, loadPixbufByName, widgetSetClassGI) +import System.Taffybar.Widget.Util (buildContentsBox, buildIconLabelBox, loadPixbufByName, widgetSetClassGI) import qualified System.Taffybar.Widget.Workspaces as X11Workspaces import System.Taffybar.WindowIcon (pixBufFromColor) @@ -299,20 +299,11 @@ mprisWidget = } } -batteryIconWidget :: TaffyIO Gtk.Widget -batteryIconWidget = - decorateWithClassAndBoxM "battery-icon" batteryIconNew - -batteryTextWidget :: TaffyIO Gtk.Widget -batteryTextWidget = - decorateWithClassAndBoxM "battery-text" (textBatteryNew "$percentage$%") - -batteryWidgets :: [TaffyIO Gtk.Widget] -batteryWidgets = [batteryIconWidget, batteryTextWidget] - --- Note: end widgets are packed with Gtk.boxPackEnd; list order is right-to-left. -batteryEndWidgets :: [TaffyIO Gtk.Widget] -batteryEndWidgets = reverse batteryWidgets +batteryWidget :: TaffyIO Gtk.Widget +batteryWidget = do + iconWidget <- batteryTextIconNew + labelWidget <- textBatteryNew "$percentage$%" + decorateWithClassAndBox "battery" =<< liftIO (buildIconLabelBox iconWidget labelWidget) backlightWidget :: TaffyIO Gtk.Widget backlightWidget = @@ -329,7 +320,7 @@ backlightWidget = diskUsageWidget :: TaffyIO Gtk.Widget diskUsageWidget = - decorateWithClassAndBoxM "disk-usage" diskUsageLabelNew + decorateWithClassAndBoxM "disk-usage" diskUsageNew sniTrayWidget :: TaffyIO Gtk.Widget sniTrayWidget = @@ -350,10 +341,9 @@ endWidgetsForHost :: String -> Backend -> [TaffyIO Gtk.Widget] endWidgetsForHost hostName backend = let tray = sniTrayWidget baseEndWidgets = [tray, audioWidget, diskUsageWidget, networkWidget, mprisWidget] - -- Keep battery widgets visually *after* the tray (i.e. further to the right). laptopEndWidgets = - batteryEndWidgets ++ - [ tray + [ batteryWidget + , tray , audioWidget , diskUsageWidget , backlightWidget