Difference between revisions of "Xmonad/Config archive/Octoploid's xmonad.hs"
< Xmonad | Config archive
Jump to navigation
Jump to search
m |
m |
||
Line 4: | Line 4: | ||
import XMonad.Config (defaultConfig) |
import XMonad.Config (defaultConfig) |
||
import XMonad.Layout.NoBorders |
import XMonad.Layout.NoBorders |
||
+ | import XMonad.Actions.UpdatePointer |
||
import XMonad.Layout.Gaps |
import XMonad.Layout.Gaps |
||
import XMonad.Hooks.DynamicLog hiding (xmobar) |
import XMonad.Hooks.DynamicLog hiding (xmobar) |
||
Line 12: | Line 13: | ||
import System.IO (hPutStrLn) |
import System.IO (hPutStrLn) |
||
import Graphics.X11 |
import Graphics.X11 |
||
+ | |||
main :: IO () |
main :: IO () |
||
− | main = do |
+ | main = do |
xmobar <- spawnPipe "xmobar" |
xmobar <- spawnPipe "xmobar" |
||
xmonad defaultConfig |
xmonad defaultConfig |
||
{ normalBorderColor = "#222222" |
{ normalBorderColor = "#222222" |
||
, focusedBorderColor = "#aa9900" |
, focusedBorderColor = "#aa9900" |
||
− | , terminal = " |
+ | , terminal = "xterm" |
, logHook = dynamicLogWithPP defaultPP { ppTitle = shorten 160 |
, logHook = dynamicLogWithPP defaultPP { ppTitle = shorten 160 |
||
, ppLayout = (>> "") |
, ppLayout = (>> "") |
||
, ppOutput = hPutStrLn xmobar } |
, ppOutput = hPutStrLn xmobar } |
||
− | + | >> updatePointer (Relative 0.95 0.95) |
|
+ | , layoutHook = gaps [(U,15)] (smartBorders (Mirror tiled ||| tiled ||| Full)) |
||
, manageHook = composeAll [ className =? "fontforge" --> doFloat, |
, manageHook = composeAll [ className =? "fontforge" --> doFloat, |
||
className =? "MPlayer" --> doFloat, |
className =? "MPlayer" --> doFloat, |
||
Line 32: | Line 35: | ||
tiled = Tall nmaster delta ratio |
tiled = Tall nmaster delta ratio |
||
− | -- The default number of windows in the master pane |
+ | -- The default number of windows in the master pane |
nmaster = 1 |
nmaster = 1 |
||
Line 44: | Line 47: | ||
[ ((controlMask .|. modm, xK_Right), nextWS) |
[ ((controlMask .|. modm, xK_Right), nextWS) |
||
, ((controlMask .|. modm, xK_Left), prevWS) |
, ((controlMask .|. modm, xK_Left), prevWS) |
||
− | , ((modm, xK_b |
+ | , ((modm, xK_b), sendMessage $ ToggleGaps) |
− | , ((modm, |
+ | , ((modm, xK_f), spawn "firefox") ] |
− | , ((modm, xK_f ), spawn "firefox") ] |
||
</haskell> |
</haskell> |
||
− | |||
[[Category:XMonad configuration]] |
[[Category:XMonad configuration]] |
Revision as of 07:56, 7 November 2008
import XMonad
import XMonad.Layout
import XMonad.Config (defaultConfig)
import XMonad.Layout.NoBorders
import XMonad.Actions.UpdatePointer
import XMonad.Layout.Gaps
import XMonad.Hooks.DynamicLog hiding (xmobar)
import XMonad.Actions.CycleWS
import Data.Bits
import qualified Data.Map as M
import XMonad.Util.Run (spawnPipe)
import System.IO (hPutStrLn)
import Graphics.X11
main :: IO ()
main = do
xmobar <- spawnPipe "xmobar"
xmonad defaultConfig
{ normalBorderColor = "#222222"
, focusedBorderColor = "#aa9900"
, terminal = "xterm"
, logHook = dynamicLogWithPP defaultPP { ppTitle = shorten 160
, ppLayout = (>> "")
, ppOutput = hPutStrLn xmobar }
>> updatePointer (Relative 0.95 0.95)
, layoutHook = gaps [(U,15)] (smartBorders (Mirror tiled ||| tiled ||| Full))
, manageHook = composeAll [ className =? "fontforge" --> doFloat,
className =? "MPlayer" --> doFloat,
className =? "Gimp" --> doFloat]
, keys = \c -> mykeys c `M.union` keys defaultConfig c
}
where
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 = toRational (2/(1+sqrt(5)::Double)) -- golden
-- Percent of screen to increment by when resizing panes
delta = 0.03
mykeys (XConfig {XMonad.modMask = modm}) = M.fromList $
[ ((controlMask .|. modm, xK_Right), nextWS)
, ((controlMask .|. modm, xK_Left), prevWS)
, ((modm, xK_b), sendMessage $ ToggleGaps)
, ((modm, xK_f), spawn "firefox") ]