This repository has been archived on 2025-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
xmonad-conf/xmonad.hs

69 lines
2 KiB
Haskell
Raw Normal View History

2010-02-13 18:31:17 +01:00
import XMonad
import XMonad.Config.Desktop
import XMonad.Config.Gnome
import XMonad.Actions.CycleWS
import XMonad.Actions.NoBorders
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.ManageHelpers
import qualified XMonad.StackSet as W
import XMonad.Util.EZConfig
import Control.Monad
import Control.Monad.Trans
import Data.Monoid
import ConfigurableBorders
import FullscreenManager
import NoBorders
main = xmonad $ gnomeConfig
{ modMask = mod4Mask -- set the mod key to the windows key
, manageHook = myManageHook
, layoutHook = desktopLayoutModifiers myLayoutHook
, startupHook = myStartupHook
, handleEventHook = handleFullscreen
}
`additionalKeysP`
[ ("M-<Left>", prevWS )
, ("M-<Right>", nextWS )
, ("M-S-<Left>", shiftToPrev )
, ("M-S-<Right>", shiftToNext )
, ("M-S-b", withFocused toggleBorder >> refresh)
, ("M1-<F4>", kill)
]
myStartupHook :: X ()
myStartupHook = do
startupHook gnomeConfig
spawn "xcompmgr"
myManageHook :: ManageHook
myManageHook = composeAll
[ composeOne
[ className =? "Guake.py" -?> (doFloatMaybeFullscreen <+> doConfigBorderOff)
, className =? "Do" -?> (doFloat <+> doConfigBorderOff)
, className =? "MPlayer" -?> doCenterFloat
, className =? "Gimp" -?> doFloat
, className =? "Gajim.py" -?> doFloat
, isFullscreen -?> doFullscreen
]
, manageHook gnomeConfig
]
myLayoutHook = manageFullscreen $ configureBorders $ smartBorders (tiled ||| Mirror tiled ||| Full)
where
-- default tiling algorithm partitions the screen into two panes
tiled = Tall nmaster delta ratio
-- The default number of windows in the master pane
nmaster = 1
-- Default proportion of screen occupied by master pane
ratio = 1/2
-- Percent of screen to increment by when resizing panes
delta = 3/100