You are not logged in.
I have a vanilla Arch setup with Xmonad/Xmobar, and have managed to add extra workspaces by doing this:
myWorkspaces = [" chrome ", " kitty ", " thunar ", " search ", " torrent ", " blueman ", " vlc ", " ranger ", " opera ", " tmux ", " meld "]
myWorkspaceIndices = M.fromList $ zipWith (,) myWorkspaces [1,2,3,4,5,6,7,8,9,0,10] -- (,) == \x y -> (x,y)
clickable ws = "<action=xdotool key super+"++show i++">"++ws++"</action>"
where i = fromJust $ M.lookup ws myWorkspaceIndices myMeld :: String
myMeld = "meld" -- Sets meld program ^++^ subKeys "My Keys"
[ ("M-M1-1", addName "Google" $spawn (myBrowser))
, ("M-M1-3", addName "thunar" $spawn (myFile))
, ("M-M1-4", addName "catfish" $spawn (mySearch))
, ("M-M1-5", addName "torrent" $spawn (myTorrent))
, ("M-M1-6", addName "bluetooth" $spawn (myBlue))
, ("M-M1-7", addName "vlc" $spawn (myVideo))
, ("M-M1-8", addName "ranger" $spawn ("kitty -e ranger"))
, ("M-M1-0", addName "tmux" $spawn ("kitty -e tmux"))
, ("M-M1-9", addName "opera" $spawn (myBrowser1))
, ("M-M1--", addName "meld" $spawn (myMeld))
, ("M-d", addName "rofi" $spawn ("rofi -show drun -dpi 1"))
, ("M-M1-d", addName "rofi1" $spawn ("rofi -show combi run,window"))
, ("M-S-x", addName "logout" $spawn ("~/.local/bin/logout.sh"))
]
^++^ subKeys "Switch to workspace"
[ ("M-1", addName "Switch to workspace 1" $ (windows $ W.greedyView $ myWorkspaces !! 0))
, ("M-2", addName "Switch to workspace 2" $ (windows $ W.greedyView $ myWorkspaces !! 1))
, ("M-3", addName "Switch to workspace 3" $ (windows $ W.greedyView $ myWorkspaces !! 2))
, ("M-4", addName "Switch to workspace 4" $ (windows $ W.greedyView $ myWorkspaces !! 3))
, ("M-5", addName "Switch to workspace 5" $ (windows $ W.greedyView $ myWorkspaces !! 4))
, ("M-6", addName "Switch to workspace 6" $ (windows $ W.greedyView $ myWorkspaces !! 5))
, ("M-7", addName "Switch to workspace 7" $ (windows $ W.greedyView $ myWorkspaces !! 6))
, ("M-8", addName "Switch to workspace 8" $ (windows $ W.greedyView $ myWorkspaces !! 7))
, ("M-0", addName "Switch to workspace 0" $ (windows $ W.greedyView $ myWorkspaces !! 9))
, ("M1-1", addName "Switch to workspace 10" $ (windows $ W.greedyView $ myWorkspaces !! 10))
, ("M-9", addName "Switch to workspace 9" $ (windows $ W.greedyView $ myWorkspaces !! 8))]
^++^ subKeys "Send window to workspace"
[ ("M-S-1", addName "Send to workspace 1" $ (windows $ W.shift $ myWorkspaces !! 0))
, ("M-S-2", addName "Send to workspace 2" $ (windows $ W.shift $ myWorkspaces !! 1))
, ("M-S-3", addName "Send to workspace 3" $ (windows $ W.shift $ myWorkspaces !! 2))
, ("M-S-4", addName "Send to workspace 4" $ (windows $ W.shift $ myWorkspaces !! 3))
, ("M-S-5", addName "Send to workspace 5" $ (windows $ W.shift $ myWorkspaces !! 4))
, ("M-S-6", addName "Send to workspace 6" $ (windows $ W.shift $ myWorkspaces !! 5))
, ("M-S-7", addName "Send to workspace 7" $ (windows $ W.shift $ myWorkspaces !! 6))
, ("M-S-8", addName "Send to workspace 8" $ (windows $ W.shift $ myWorkspaces !! 7))
, ("M-S-0", addName "Send to workspace 0" $ (windows $ W.shift $ myWorkspaces !! 9))
, ("M1-S-1", addName "Send to workspace 10" $ (windows $ W.shift $ myWorkspaces !! 10))
, ("M-S-9", addName "Send to workspace 9" $ (windows $ W.shift $ myWorkspaces !! 8))]I configured the workspaces to xmobar:
, logHook = dynamicLogWithPP $ filterOutWsPP [scratchpadWorkspaceTag] $ xmobarPP
{ ppOutput = \x -> hPutStrLn xmproc0 x -- xmobar on monitor 1
>> hPutStrLn xmproc1 x -- xmobar on monitor 2
>> hPutStrLn xmproc2 x -- xmobar on monitor 3
, ppCurrent = xmobarColor color06 "" . wrap
("<box type=Bottom width=2 mb=2 color=" ++ color06 ++ ">") "</box>"
-- Visible but not current workspace
, ppVisible = xmobarColor color06 "" . clickable
-- Hidden workspace
, ppHidden = xmobarColor color05 "" . clickable
-- Hidden workspaces (no windows)
-- , ppHiddenNoWindows = xmobarColor color05 "" . clickable
-- Title of active window
-- , ppTitle = xmobarColor color16 "" . shorten 60
,ppTitle = const ""
-- Separator character
, ppSep = "<fc=" ++ color09 ++ "> <fn=1>|</fn> </fc>"
-- Urgent workspace
, ppUrgent = xmobarColor color02 "" . wrap "!" "!"
-- Layout name format
, ppLayout = xmobarColor color07 ""
-- Adding # of windows on current workspace to the bar
, ppExtras = [ (fmap . fmap) foobar $ windowCount ]
-- order of things in xmobar
, ppOrder = \(ws:l:t:ex) -> [ws,l]++ex++[t]
}
}
where
foobar :: String -> String
foobar = xmobarColor color07 color07This works as expected except that the workspace "meld" is not clickable. How can I fix this?
Last edited by Gabachin (2022-11-07 17:29:01)
Offline