From c2f8898e5055e2524cb395737ee14399fc76555a Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Sun, 8 Feb 2026 22:58:40 -0800 Subject: [PATCH] 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 --- dotfiles/config/taffybar/imalison-taffybar.cabal | 3 --- dotfiles/config/taffybar/taffybar | 2 +- dotfiles/config/taffybar/taffybar.hs | 14 ++++++-------- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/dotfiles/config/taffybar/imalison-taffybar.cabal b/dotfiles/config/taffybar/imalison-taffybar.cabal index 3c9d6d94..3f08c58a 100644 --- a/dotfiles/config/taffybar/imalison-taffybar.cabal +++ b/dotfiles/config/taffybar/imalison-taffybar.cabal @@ -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 diff --git a/dotfiles/config/taffybar/taffybar b/dotfiles/config/taffybar/taffybar index 29a6f9d9..ac0f3f31 160000 --- a/dotfiles/config/taffybar/taffybar +++ b/dotfiles/config/taffybar/taffybar @@ -1 +1 @@ -Subproject commit 29a6f9d986c48a811ea2dae4d87a1a0f5b4254f5 +Subproject commit ac0f3f31411a8ac405229d668c171c60b9f02e56 diff --git a/dotfiles/config/taffybar/taffybar.hs b/dotfiles/config/taffybar/taffybar.hs index 998843c4..9fc37caa 100644 --- a/dotfiles/config/taffybar/taffybar.hs +++ b/dotfiles/config/taffybar/taffybar.hs @@ -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