module Hooks where import XMonad import XMonad.Layout.Spacing import XMonad.Layout.WindowNavigation as WN import XMonad.Layout.Maximize import XMonad.Layout.NoBorders import XMonad.Layout.BinarySpacePartition as BSP import XMonad.Layout.Grid import XMonad.Layout.Tabbed import XMonad.Hooks.SetWMName import XMonad.Hooks.ManageDocks import XMonad.Hooks.ManageHelpers import XMonad.Hooks.StatusBar.PP import XMonad.Util.SpawnOnce import XMonad.Util.Cursor import XMonad.Util.NamedScratchpad import Defaults import Scratchpads myLemonbarPP = def { ppCurrent = wrap ("%{B" ++ wsVisibleOccupiedBG ++ "}%{F" ++ wsVisibleOccupiedFG ++ "} ") " %{B-}%{F-}" -- , ppVisibleNoWindows = wrap ("%{B" ++ wsVisibleBG ++ "}%{F" ++ wsVisibleFG ++ "} ") " %{B-}%{F-}" -- , ppVisibleNoWindows = wrap "" "" -- , ppVisible = wrap ("%{B" ++ wsVisibleBG ++ "}%{F" ++ wsVisibleFG ++ "} ") " %{B-}%{F-}" , ppHidden = wrap ("%{B" ++ wsOccupiedBG ++ "}%{F" ++ wsOccupiedFG ++ "} ") " %{B-}%{F-}" , ppHiddenNoWindows = wrap ("%{B" ++ wsEmptyBG ++ "}%{F" ++ wsEmptyFG ++ "} ") " %{B-}%{F-}" , ppTitle = wrap ("%{B" ++ titleBG ++ "}%{F" ++ titleFG ++ "} ") " %{B-}%{F-}" , ppWsSep = "" , ppSep = "" , ppOrder = \(ws:_:t:_) -> ["%{l}"++t++"","%{r}"++ws++""] } myManageHook = namedScratchpadManageHook myScratchpads <+> manageDocks <+> composeAll [ className =? "discord" --> doShift ( myWorkspaces !! 9 ) , isFullscreen --> doFullFloat ] myLayoutHook = avoidStruts $ maximize $ windowNavigation $ smartBorders $ myGap $ emptyBSP ||| tabbed shrinkText myTabTheme ||| Grid myStartupHook = do spawnOnce "xmodmap /home/zt/.Xmodmap" spawnOnce "picom" spawnOnce "dunst" spawnOnce "polystart" spawnOnce "nitrogen --restore" spawnOnce "cbatticon" setWMName "LG3D" setDefaultCursor xC_left_ptr