From e019e80eac1b03a5c177ef5d358b720bdbc774ac Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Sun, 5 Dec 2021 16:56:41 +0100 Subject: gkleen@sif: taffybar --- accounts/gkleen@sif/xmonad/package.yaml | 1 + accounts/gkleen@sif/xmonad/xmonad-yggdrasil.nix | 4 +- accounts/gkleen@sif/xmonad/xmonad.hs | 57 ++++++++++++++----------- 3 files changed, 36 insertions(+), 26 deletions(-) (limited to 'accounts/gkleen@sif/xmonad') diff --git a/accounts/gkleen@sif/xmonad/package.yaml b/accounts/gkleen@sif/xmonad/package.yaml index 48de1a53..f65137af 100644 --- a/accounts/gkleen@sif/xmonad/package.yaml +++ b/accounts/gkleen@sif/xmonad/package.yaml @@ -23,6 +23,7 @@ executables: - containers - hostname - libnotify + - taffybar main: xmonad.hs source-dirs: diff --git a/accounts/gkleen@sif/xmonad/xmonad-yggdrasil.nix b/accounts/gkleen@sif/xmonad/xmonad-yggdrasil.nix index d3d72310..7c853619 100644 --- a/accounts/gkleen@sif/xmonad/xmonad-yggdrasil.nix +++ b/accounts/gkleen@sif/xmonad/xmonad-yggdrasil.nix @@ -1,7 +1,7 @@ { mkDerivation, aeson, base, bytestring, containers, directory , filepath, hostname, hpack, mtl, network, parsec, process, lib , temporary, transformers, unix, utf8-string, X11, xmonad -, xmonad-contrib, libnotify +, xmonad-contrib, libnotify, taffybar }: mkDerivation { pname = "xmonad-yggdrasil"; @@ -13,7 +13,7 @@ mkDerivation { executableHaskellDepends = [ aeson base bytestring containers directory filepath hostname mtl network parsec process temporary transformers unix utf8-string X11 - xmonad xmonad-contrib libnotify + xmonad xmonad-contrib libnotify taffybar ]; preConfigure = "hpack"; license = "unknown"; diff --git a/accounts/gkleen@sif/xmonad/xmonad.hs b/accounts/gkleen@sif/xmonad/xmonad.hs index aba245ff..c642a3a7 100644 --- a/accounts/gkleen@sif/xmonad/xmonad.hs +++ b/accounts/gkleen@sif/xmonad/xmonad.hs @@ -75,6 +75,8 @@ import qualified XMonad.Actions.PhysicalScreens as P import XMonad.Layout.IM +import System.Taffybar.Support.PagerHints (pagerHints) + import XMonad.Prompt.MyShell import XMonad.Prompt.MyPass import XMonad.Prompt.MySsh @@ -142,6 +144,12 @@ defaultHost = Host { hName = "unkown" browser :: String browser = "env MOZ_USE_XINPUT2=1 firefox" +gray, darkGray, red, green :: String +gray = "#808080" +darkGray = "#202020" +red = "#800000" +green = "#008000" + hostFromName :: HostName -> Host hostFromName h@("vali") = defaultHost { hName = h , hManageHook = composeOne $ catMaybes [ Just manageScratchTerm @@ -222,7 +230,7 @@ hostFromName h , hCoWsp = hCoWsp , hKeysMod = \conf -> Map.union $ (Map.fromList $ join $ map (spawnBindings conf) [ (xK_e, ["emacsclient -c"]) , (xK_d, [fromString browser, "google-chrome", "notmuch-links"]) - , (xK_c, [ inputPrompt xPConfig "dc" ?+ dc ]) + , (xK_c, [ inputPrompt xPConfigMonospace "dc" ?+ dc ]) , (xK_g, ["pidgin"]) , (xK_s, ["skype"]) -- , (xK_p, [mkPassPrompt "Type password" pwType xPConfig, mkPassPrompt "Show password" pwShow xPConfig, mkPassPrompt "Copy password" pwClip xPConfig]) @@ -240,10 +248,10 @@ hostFromName h , "emacsclient -c -F \"'(title . \\\"Mail\\\")\" -e \"(browse-url-mail \"$(xclip -o)\")\"" ]) , (xK_Return, ["keynav start,windowzoom", "keynav start"]) - , (xK_t, [inputPrompt xPConfig "fuzzytime timer" ?+ fuzzytime, fuzzytime "unset", work_fuzzytime]) - , (xK_a, [inputPrompt xPConfig "adjmix" ?+ adjmix]) - , (xK_s, [ inputPromptWithCompl xPConfig "start synergy" synergyCompl ?+ synergyStart - , inputPromptWithCompl xPConfig "stop synergy" synergyCompl ?+ synergyStop + , (xK_t, [inputPrompt xPConfigMonospace "fuzzytime timer" ?+ fuzzytime, fuzzytime "unset", work_fuzzytime]) + , (xK_a, [inputPrompt xPConfigMonospace "adjmix" ?+ adjmix]) + , (xK_s, [ inputPromptWithCompl xPConfigMonospace "start synergy" synergyCompl ?+ synergyStart + , inputPromptWithCompl xPConfigMonospace "stop synergy" synergyCompl ?+ synergyStop ]) , (xK_h, [ "alacritty --class htop -e htop" , "alacritty --class log -e journalctl -xef" @@ -447,14 +455,14 @@ tabbedTheme = def { activeColor = "black" , inactiveColor = "black" , urgentColor = "black" - , activeBorderColor = "grey" - , inactiveBorderColor = "#202020" - , urgentBorderColor = "#bb0000" - , activeTextColor = "grey" - , inactiveTextColor = "grey" - , urgentTextColor = "grey" + , activeBorderColor = gray + , inactiveBorderColor = darkGray + , urgentBorderColor = red + , activeTextColor = gray + , inactiveTextColor = gray + , urgentTextColor = gray , decoHeight = 32 - , fontName = "xft:Fira Mono for Powerline:style=Medium:pixelsize=22.5" + , fontName = "xft:Fira Sans:pixelsize=21" } main :: IO () @@ -477,7 +485,7 @@ main = do let host = hostFromName hostname setEnv "HOST" hostname - let myConfig = withHostUrgency . ewmh $ docks def + let myConfig = withHostUrgency . ewmh . pagerHints $ docks def { manageHook = hManageHook host , terminal = "alacritty" , layoutHook = smartBorders . avoidStruts $ windowNavigation layout' @@ -488,8 +496,8 @@ main = do , keys = \conf -> hKeysMod host conf $ myKeys' conf host , workspaces = take (length numKeys) $ map wsp [1..] , startupHook = setDefaultCursor xC_left_ptr - , normalBorderColor = "#202020" - , focusedBorderColor = "grey" + , normalBorderColor = darkGray + , focusedBorderColor = gray , handleEventHook = fullscreenEventHook <+> (serverModeEventHookCmd' $ hCmds host) <+> keyUpEventHook } writeProps str = do @@ -562,7 +570,7 @@ main = do _ -> id urgencyHook' window = do runQuery ((resource =? "comm" <||> resource =? "Pidgin" <||> className =? "Gajim" <||> className =? "Skype") --> safeSpawn "thinklight" ["Blink", "100"]) window - urgencyHook (BorderUrgencyHook { urgencyBorderColor = "#bb0000" }) window + urgencyHook (BorderUrgencyHook { urgencyBorderColor = red }) window shutdown :: SomeException -> IO a shutdown e = do let pids = [ -- batteryMon @@ -666,18 +674,19 @@ instance Shrinker CustomShrink where | length cs >= 4 = cs : shrinkIt s ((reverse . drop 4 . reverse $ cs) ++ "...") | otherwise = cs : shrinkIt s (init cs) -xPConfig :: XPConfig +xPConfig, xPConfigMonospace :: XPConfig xPConfig = def - { font = "xft:Fira Mono for Powerline:style=Medium:pixelsize=22.5" + { font = "xft:Fira Sans:pixelsize=21" , height = 32 , bgColor = "black" - , fgColor = "grey" - , fgHLight = "green" + , fgColor = gray + , fgHLight = green , bgHLight = "black" - , borderColor = "grey" + , borderColor = gray , searchPredicate = (\needle haystack -> all (`isInfixOf` map toLower haystack) . map (map toLower) $ words needle) , position = Top } +xPConfigMonospace = xPConfig { font = "xft:Fira Code:pixelsize=21" } sshOverrides host = map (\h -> mkOverride { oHost = h, oCommand = moshCmd . inTmux host} ) [ "odin" @@ -767,9 +776,9 @@ myKeys' conf host = Map.fromList $ -- launch dmenu --, ((modm, xK_d ), spawn "exe=`dmenu_path | dmenu` && eval \"exec $exe\"") - , ((modm, xK_d ), shellPrompt "Run: " xPConfig) - , ((modm .|. shiftMask, xK_d ), prompt "Run in Terminal: " ("alacritty" ++ " -e") xPConfig) - , ((modm, xK_at ), sshPrompt (sshOverrides . Just $ hName host) xPConfig) + , ((modm, xK_d ), shellPrompt "Run: " xPConfigMonospace) + , ((modm .|. shiftMask, xK_d ), prompt "Run in Terminal: " ("alacritty" ++ " -e") xPConfigMonospace) + , ((modm, xK_at ), sshPrompt (sshOverrides . Just $ hName host) xPConfigMonospace) -- close focused window , ((modm .|. shiftMask, xK_q ), kill) -- cgit v1.2.3