Skip to content

Instantly share code, notes, and snippets.

@sergeykish
Created June 6, 2020 13:28
Show Gist options
  • Save sergeykish/5ee731b6ff71237417e488527d3f4a7d to your computer and use it in GitHub Desktop.
Save sergeykish/5ee731b6ff71237417e488527d3f4a7d to your computer and use it in GitHub Desktop.
XMonad.Layout.Groups.Wmii
import XMonad
import XMonad.Hooks.EwmhDesktops
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.ManageHelpers
import XMonad.Layout.Groups.Wmii
import XMonad.Util.Run
import XMonad.Util.EZConfig
import System.IO
import Data.Default
import XMonad.Layout.NoBorders
myPP = def { ppCurrent = xmobarColor "#1ABC9C" "" . wrap "[" "]"
, ppTitle = xmobarColor "#1ABC9C" "" . shorten 60
, ppVisible = wrap "(" ")"
, ppUrgent = xmobarColor "red" "yellow"
}
main = do
xmproc <- spawnPipe "xmobar"
xmonad $ docks def
{ modMask = mod4Mask
, manageHook = manageHook'
, layoutHook = layoutHook'
, handleEventHook = handleEventHook def <+> docksEventHook
, logHook = dynamicLogWithPP myPP {
ppOutput = hPutStrLn xmproc
}
}
`additionalKeysP`
[ ("M-m", groupToFullLayout)
, ("M-s", groupToTabbedLayout)
, ("M-d", groupToVerticalLayout)
, ("M-f", toggleGroupFull)
, ("M-[", zoomGroupOut)
, ("M-]", zoomGroupIn)
, ("M-j", focusDown)
, ("M-k", focusUp)
, ("S-M-j", swapDown)
, ("S-M-k", swapUp)
, ("M-h", focusGroupUp)
, ("M-l", focusGroupDown)
, ("S-M-h", moveToGroupUp False)
, ("S-M-l", moveToGroupDown False)
, ("M-'", sendMessage ToggleStruts)
, ("M-<Return>", spawn $ XMonad.terminal def)
]
full' = noBorders Full
wmii' = wmii shrinkText def
layoutHook' = smartBorders . avoidStruts $ wmii' ||| full'
manageHook' = (isFullscreen --> doFullFloat) <+> manageHook defaultConfig
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment