Xmonad/Config archive/lazor's xmonad.hs
< Xmonad | Config archive
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
import XMonad
import XMonad.Config.Desktop
import qualified XMonad.StackSet as W -- to shift and float windows
import qualified Data.Map as M
import XMonad.Hooks.EwmhDesktops
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.SetWMName
import XMonad.Layout.Dishes
import XMonad.Layout.MosaicAlt
myKeys (XConfig {modMask = modm}) = M.fromList $
[ ((modm, xK_p), spawn "krunner")
, ((modm .|. shiftMask, xK_q), spawn "dbus-send --print-reply --dest=org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout int32:1 int32:0 int32:1")
, ((modm, xK_a), withFocused (sendMessage . expandWindowAlt))
, ((modm, xK_y), withFocused (sendMessage . shrinkWindowAlt))
, ((modm, xK_s), withFocused (sendMessage . tallWindowAlt))
, ((modm, xK_d), withFocused (sendMessage . wideWindowAlt))
, ((modm .|. controlMask, xK_space), sendMessage resetAlt)
, ((mod1Mask, xK_Tab), windows W.focusDown)
, ((mod1Mask .|. shiftMask, xK_Tab), windows W.focusUp)
]
myManageHook = composeAll . concat $
[ [ className =? c --> doFloat | c <- myFloats]
, [ title =? t --> doFloat | t <- myOtherFloats]
, [ className =? c --> doIgnore | c <- myIgnores]
, [ title =? t --> doIgnore | t <- myOtherFloats]
--, [ resource =? "desktop_window" --> doIgnore ]
] where
myFloats = ["Plasma"]
myOtherFloats = []
myIgnores = [] --["Qt-subapplication","Plasma"]
myOtherIgnores = []
myLayout = mosaic ||| Mirror mosaic ||| Full
where
mosaic = MosaicAlt M.empty
dishes = Dishes 2 (1/6)
tiled = Tall 1 (3/100) (1/2)
myWorkspaces = ["1","2","3","4","5","6"]
myNormalBorderColor = "#339900"
myFocusedBorderColor = "#66ff66"
myBorderWidth = 3
main = xmonad $ desktopConfig
{ terminal = "konsole"
, keys = \c -> myKeys c `M.union` keys desktopConfig c
, modMask = mod4Mask -- use the Windows button as mod
, logHook = ewmhDesktopsLogHook >> setWMName "LG3D"
, manageHook = manageHook desktopConfig <+> myManageHook
, layoutHook = ewmhDesktopsLayout $ avoidStruts $ desktopLayoutModifiers myLayout
, workspaces = myWorkspaces
, normalBorderColor = myNormalBorderColor
, focusedBorderColor = myFocusedBorderColor
, borderWidth = myBorderWidth
}