Make xmobar workspaces clickable
Clicking a workspace switches to it; one visible on the other screen is swapped onto the focused screen. xmobar uses UnsafeXMonadLog so the click actions are kept.
This commit is contained in:
@@ -21,6 +21,7 @@ import XMonad.Layout.Spiral
|
||||
import XMonad.Layout.Tabbed
|
||||
import XMonad.Layout.ThreeColumns
|
||||
import qualified XMonad.StackSet as W
|
||||
import XMonad.Util.ClickableWorkspaces
|
||||
import XMonad.Util.EZConfig
|
||||
import qualified XMonad.Util.Hacks as Hacks
|
||||
import XMonad.Util.Loggers
|
||||
@@ -32,6 +33,7 @@ main :: IO ()
|
||||
main =
|
||||
xmonad
|
||||
. ewmhFullscreen
|
||||
. setEwmhSwitchDesktopHook W.greedyView
|
||||
. ewmh
|
||||
. dynamicEasySBs myStatusBars
|
||||
. addRandrChangeHook (spawn myScreenHotplug)
|
||||
@@ -186,7 +188,7 @@ myStatusBars :: ScreenId -> X StatusBarConfig
|
||||
myStatusBars (S i) = do
|
||||
nScreens <- gets (length . W.screens . windowset)
|
||||
let rc = if nScreens > 1 && i /= 1 then "xmobarrc_hdmi" else "xmobarrc_laptop"
|
||||
pure $ statusBarProp ("xmobar -x " ++ show i ++ " ~/.config/xmobar/" ++ rc) (pure myXmobarPP)
|
||||
pure $ statusBarProp ("xmobar -x " ++ show i ++ " ~/.config/xmobar/" ++ rc) (clickablePP myXmobarPP)
|
||||
|
||||
myXmobarPP :: PP
|
||||
myXmobarPP =
|
||||
|
||||
Reference in New Issue
Block a user