Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --
- -- Configuration file for XMonad + MATE
- --
- -- Usage:
- -- * Copy this file to ~/.xmonad/
- -- * Run: $ xmonad --recompile
- -- * Launch: $ xmonad --replace
- -- [Optional] Create an autostart to command with "xmonad --replace"
- --
- -- Author: Arturo Fernandez <arturo at bsnux dot com>
- -- Inspired by:
- -- Spencer Janssen <spencerjanssen@gmail.com>
- -- rfc <reuben.fletchercostin@gmail.com>
- -- License: BSD
- --
- import XMonad
- import Data.Monoid
- import System.Exit
- import XMonad.Hooks.DynamicLog
- import XMonad.Config.Desktop
- import XMonad.Hooks.SetWMName
- import System.IO
- import XMonad.Util.Run(spawnPipe)
- import XMonad.Util.Run (safeSpawn)
- import qualified Data.Map as M
- import System.Environment (getEnvironment)
- import XMonad.Util.EZConfig
- import XMonad.Util.Cursor
- myFocus :: Bool
- myFocus = False
- myClick :: Bool
- myClick = False
- mateConfig = desktopConfig
- { terminal = "mate-terminal"
- , keys = mateKeys <+> keys desktopConfig
- }
- mateKeys (XConfig {modMask = modm}) = M.fromList $
- [ ((modm, xK_p), mateRun)
- , ((modm .|. shiftMask, xK_q), spawn "mate-session-save --kill") ]
- mateRun :: X ()
- mateRun = withDisplay $ \dpy -> do
- rw <- asks theRoot
- mate_panel <- getAtom "_MATE_PANEL_ACTION"
- panel_run <- getAtom "_MATE_PANEL_ACTION_RUN_DIALOG"
- io $ allocaXEvent $ \e -> do
- setEventType e clientMessage
- setClientMessageEvent e rw mate_panel 32 panel_run 0
- sendEvent dpy rw False structureNotifyMask e
- sync dpy False
- main = do
- xmonad $ mateConfig
- { modMask = mod4Mask
- , borderWidth = 2
- , focusFollowsMouse = myFocus
- , clickJustFocuses = myClick
- , startupHook = setWMName "LG3D"
- } `additionalKeysP` myKeys
- myKeys = [(("M4-z"), kill)]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement