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 <noreply@anthropic.com>
This commit is contained in:
2026-02-07 23:33:48 -08:00
committed by Kat Huang
parent 2fa6a364ad
commit 5a5758720b

View File

@@ -32,7 +32,7 @@ import System.Taffybar.Widget.SNITray
( sniTrayNew ( sniTrayNew
, sniTrayThatStartsWatcherEvenThoughThisIsABadWayToDoIt , 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 qualified System.Taffybar.Widget.Workspaces as X11Workspaces
import System.Taffybar.WindowIcon (pixBufFromColor) import System.Taffybar.WindowIcon (pixBufFromColor)
@@ -299,20 +299,11 @@ mprisWidget =
} }
} }
batteryIconWidget :: TaffyIO Gtk.Widget batteryWidget :: TaffyIO Gtk.Widget
batteryIconWidget = batteryWidget = do
decorateWithClassAndBoxM "battery-icon" batteryIconNew iconWidget <- batteryTextIconNew
labelWidget <- textBatteryNew "$percentage$%"
batteryTextWidget :: TaffyIO Gtk.Widget decorateWithClassAndBox "battery" =<< liftIO (buildIconLabelBox iconWidget labelWidget)
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
backlightWidget :: TaffyIO Gtk.Widget backlightWidget :: TaffyIO Gtk.Widget
backlightWidget = backlightWidget =
@@ -329,7 +320,7 @@ backlightWidget =
diskUsageWidget :: TaffyIO Gtk.Widget diskUsageWidget :: TaffyIO Gtk.Widget
diskUsageWidget = diskUsageWidget =
decorateWithClassAndBoxM "disk-usage" diskUsageLabelNew decorateWithClassAndBoxM "disk-usage" diskUsageNew
sniTrayWidget :: TaffyIO Gtk.Widget sniTrayWidget :: TaffyIO Gtk.Widget
sniTrayWidget = sniTrayWidget =
@@ -350,10 +341,9 @@ endWidgetsForHost :: String -> Backend -> [TaffyIO Gtk.Widget]
endWidgetsForHost hostName backend = endWidgetsForHost hostName backend =
let tray = sniTrayWidget let tray = sniTrayWidget
baseEndWidgets = [tray, audioWidget, diskUsageWidget, networkWidget, mprisWidget] baseEndWidgets = [tray, audioWidget, diskUsageWidget, networkWidget, mprisWidget]
-- Keep battery widgets visually *after* the tray (i.e. further to the right).
laptopEndWidgets = laptopEndWidgets =
batteryEndWidgets ++ [ batteryWidget
[ tray , tray
, audioWidget , audioWidget
, diskUsageWidget , diskUsageWidget
, backlightWidget , backlightWidget