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

View File

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