Skip to content

Instantly share code, notes, and snippets.

@AdamSaleh
Created October 18, 2012 10:29
Show Gist options
  • Save AdamSaleh/3910909 to your computer and use it in GitHub Desktop.
Save AdamSaleh/3910909 to your computer and use it in GitHub Desktop.
import XMonad
import XMonad.Config.Desktop
import XMonad.Config.Gnome
import XMonad.Config.Bluetile
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.EwmhDesktops
import qualified XMonad.StackSet as W
import Data.Bits ((.|.))
import System.Exit
import System.IO
import qualified Data.Map as M
import XMonad.Layout.DecorationAddons
import XMonad.Layout.WindowSwitcherDecoration
import XMonad.Layout.DraggingVisualizer
import XMonad.Layout.TwoPane
import XMonad.Layout.ResizableTile
import XMonad.Layout.Tabbed
import XMonad.Layout.Combo
import XMonad.Layout.WindowNavigation
import XMonad.Layout.Circle
import XMonad.Layout.MouseResizableTile
import XMonad.Layout.DwmStyle
import XMonad.Util.EZConfig(additionalKeysP, additionalKeys)
-- Actions
import XMonad.Actions.CycleWS
import XMonad.Actions.SwapWorkspaces
import XMonad.Actions.Submap
main = xmonad $ ewmh desktopConfig
{ borderWidth = 2
, focusedBorderColor = "#CB4B16"
, normalBorderColor = "#CB4B16"
, manageHook = manageDocks <+> myManageHook
, workspaces = map show [1 .. 9 :: Int]
, terminal = "urxvt"
, modMask = mod4Mask
-- , keys = myKeys
, logHook = myLogHook
,layoutHook = windowNavigation $ (avoidStruts (myTab ||| myTall))
} `additionalKeysP` myKeys
myTall = windowSwitcherDecoration shrinkText myTabConfig $(draggingVisualizer $ mouseResizableTile { masterFrac = 0.6,fracIncrement = 0.05 ,draggerType = BordersDragger })
myTab = tabbed shrinkText myTabConfig
myTabConfig = defaultTheme
{ activeColor = "#CB4B16"
, inactiveColor = "#002b36"
, urgentColor = "#CB4B16"
, activeBorderColor = "#CB4B16"
, inactiveBorderColor = "#CB4B16"
, activeTextColor = "white"
, inactiveTextColor = "grey"
, decoHeight = 12
, fontName = "-*-terminus-*-*-*-*-12-*-*-*-*-*-iso10646-1"
}
myKeys = [ ("M-p", spawn "kupfer &") ]
--, ("M-f", spawn myBrowser)
--, ("M-s", scratchpadSpawnActionTerminal "urxvt" )
--, ("M-C-z", warpToWindow (1/2) (1/2)) -- @@ move pointer to currently focused window
-- the parameters are half window, half window
--
-- the linkworkspaces thingy
--, ("M-o", toggleLinkWorkspaces messageConf)
--, ("M-S-o", removeAllMatchings messageConf)
myL = windowSwitcherDecoration shrinkText defaultThemeWithButtons (draggingVisualizer $ layoutHook defaultConfig)
myLogHook :: X ()
myLogHook = do ewmhDesktopsLogHook
return ()
myManageHook = composeAll
[ className =? "MPlayer" --> doFloat
, className =? "Gimp" --> doFloat
, className =? "Thunar" --> doFloat
, className =? "VLC media player" --> doFloat
, className =? "Pidgin" --> doF(W.shift "1")
, className =? "Minefield" --> doF(W.shift "2")
, resource =? "amarokapp" --> doF(W.shift "5")
, className =? "Gimmix" --> doF(W.shift "5")
, resource =? "desktop_window" --> doIgnore
, manageDocks]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment