Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --
- -- ~/.xmonad/xmonad.hs
- --
- import XMonad
- import XMonad.Actions.Plane
- import XMonad.Actions.UpdatePointer
- import XMonad.Config.Desktop (desktopLayoutModifiers)
- import XMonad.Config.Gnome
- import XMonad.Hooks.ManageHelpers
- import XMonad.Layout.Grid
- import XMonad.Layout.IM
- import XMonad.Layout.NoBorders
- import XMonad.Layout.PerWorkspace
- import XMonad.Layout.Reflect
- import XMonad.Layout.ResizableTile
- import XMonad.Layout.Spacing
- import XMonad.Layout.StackTile
- import XMonad.Layout.Tabbed
- import XMonad.Util.EZConfig
- import qualified Data.Map as M
- import qualified XMonad.StackSet as W
- myWorkspaces = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]
- myLayoutHook = smartBorders
- $ desktopLayoutModifiers
- $ onWorkspace "8" skypeLayout
- $ onWorkspace "9" pidginLayout
- $ ResizableTall 1 (3/100) (1/2) []
- ||| Mirror (ResizableTall 1 (3/100) (1/2) [])
- ||| StackTile 1 (3/100) (1/2)
- ||| simpleTabbed
- ||| Full
- where
- skypeLayout = reflectHoriz
- $ withIM (0.18) (ClassName "Skype"
- `And` (Not (Role "Chats"))
- `And` (Not (Title "Options"))
- `And` (Not (Role "CallWindowForm"))) Grid
- pidginLayout = reflectHoriz
- $ withIM (0.18) (ClassName "Pidgin"
- `And` (Role "buddy_list")) Grid
- myManageHook = composeAll [
- className =? "Skype" --> unfloat
- , className =? "Gimp" --> doShift "7"
- , className =? "Skype" --> doShift "8"
- , className =? "Pidgin" --> doShift "9"
- , className =? "Gnome-about-me" --> doCenterFloat
- , className =? "Gnome-screenshot" --> doCenterFloat
- , className =? "Pidgin" <&&> role =? "multifield" --> doCenterFloat
- , className =? "Gnome-terminal" <&&> role =? "gnome-terminal-profile-editor" --> doCenterFloat
- , className =? "Thunderbird" <&&> title =? "Password Required" --> doCenterFloat
- , isFullscreen --> doFullFloat
- ] <+> manageHook gnomeConfig
- where
- role = stringProperty "WM_WINDOW_ROLE"
- unfloat = ask >>= doF . W.sink
- myLogHook = logHook gnomeConfig >> updatePointer (Relative 0.90 0.90)
- myKeys = [
- ("M-0" , windows $ W.greedyView "0")
- , ("M-u" , sendMessage MirrorShrink)
- , ("M-i" , sendMessage MirrorExpand)
- ]
- main = xmonad
- $ gnomeConfig {
- modMask = mod4Mask
- , terminal = "gnome-terminal"
- , borderWidth = 1
- , normalBorderColor = "#444444"
- , focusedBorderColor = "#4878CC"
- , workspaces = myWorkspaces
- , layoutHook = myLayoutHook
- , manageHook = myManageHook
- , logHook = myLogHook
- }
- `additionalKeysP` myKeys
- `additionalKeys` M.toList (planeKeys mod4Mask (Lines 2) Linear)
Add Comment
Please, Sign In to add comment