taffybar: add SNI menu, withLogLevels, and clean up deps

- Wrap network widget with withNmAppletMenu for click-to-open menu
- Use withLogLevels hook instead of manual enableLogger
- Remove unused aeson, directory, yaml dependencies

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-08 22:58:40 -08:00
committed by Kat Huang
parent ce71555c20
commit c2f8898e50
3 changed files with 7 additions and 12 deletions

View File

@@ -17,10 +17,8 @@ executable taffybar
ghc-prof-options: -fprof-auto
build-depends: base
, X11
, aeson
, bytestring
, containers
, directory
, filepath
, gi-gtk3
, gi-gdkpixbuf
@@ -36,7 +34,6 @@ executable taffybar
, taffybar>=3.2.0
, transformers
, xdg-basedir
, yaml
default-language: Haskell2010
source-repository head

View File

@@ -15,11 +15,12 @@ import qualified GI.GdkPixbuf.Objects.Pixbuf as Gdk
import qualified GI.Gtk as Gtk
import Network.HostName (getHostName)
import System.Environment.XDG.BaseDir (getUserConfigFile)
import System.Log.Logger (Priority (..), getLogger, rootLoggerName, saveGlobalLogger, setLevel, updateGlobalLogger)
import System.Log.Logger (Priority(WARNING), rootLoggerName, setLevel, updateGlobalLogger)
import System.Taffybar (startTaffybar)
import System.Taffybar.Context (Backend (BackendWayland, BackendX11), TaffyIO, detectBackend)
import System.Taffybar.DBus
import System.Taffybar.DBus.Toggle
import System.Taffybar.Hooks (withLogLevels)
import System.Taffybar.Information.EWMHDesktopInfo (WorkspaceId (..))
import System.Taffybar.Information.X11DesktopInfo
import System.Taffybar.SimpleConfig
@@ -27,6 +28,7 @@ import System.Taffybar.Util (getPixbufFromFilePath, (<|||>), maybeTCom
import System.Taffybar.Widget
import qualified System.Taffybar.Widget.HyprlandWorkspaces as Hyprland
import qualified System.Taffybar.Widget.NetworkManager as NetworkManager
import System.Taffybar.Widget.SNIMenu (withNmAppletMenu)
import qualified System.Taffybar.Widget.PulseAudio as PulseAudio
import System.Taffybar.Widget.SNITray
( sniTrayNew
@@ -64,11 +66,6 @@ x11WorkspaceLabelSetter workspace =
-- ** Logging
enableLogger :: String -> Priority -> IO ()
enableLogger loggerName level = do
logger <- getLogger loggerName
saveGlobalLogger $ setLevel level logger
-- ** Hyprland Icon Finding
iconRemap :: [(Text, [Text])]
@@ -206,7 +203,8 @@ audioWidget =
networkWidget :: TaffyIO Gtk.Widget
networkWidget =
decorateWithClassAndBoxM "network" NetworkManager.networkManagerWifiIconLabelNew
decorateWithClassAndBoxM "network" $
withNmAppletMenu NetworkManager.networkManagerWifiIconLabelNew
layoutWidget :: TaffyIO Gtk.Widget
layoutWidget =
@@ -372,7 +370,6 @@ mkSimpleTaffyConfig hostName backend cssFiles =
main :: IO ()
main = do
updateGlobalLogger rootLoggerName (setLevel WARNING)
enableLogger "Graphics.UI.GIGtkStrut" DEBUG
hostName <- getHostName
backend <- detectBackend
@@ -381,5 +378,6 @@ main = do
let simpleTaffyConfig = mkSimpleTaffyConfig hostName backend cssFiles
startTaffybar $
withLogServer $
withLogLevels $
withToggleServer $
toTaffybarConfig simpleTaffyConfig