104 lines
3.5 KiB
Haskell
104 lines
3.5 KiB
Haskell
-- Old Imports saved so I don't loose them
|
|
-- import qualified XMonad.StackSet as W
|
|
-- Also random comments for future reference:
|
|
-- https://gist.github.com/BinRoot/8154650
|
|
-- Fullscreen video hax Imports
|
|
-- https://www.reddit.com/r/xmonad/comments/4cnjhi/fullscreen_video_in_firefox/d1juwkl/
|
|
|
|
-- imports {{{
|
|
import XMonad
|
|
import XMonad.Wallpaper
|
|
import XMonad.Config.Desktop
|
|
import XMonad.Hooks.DynamicLog
|
|
import XMonad.Hooks.FadeInactive
|
|
import XMonad.Hooks.ManageDocks
|
|
import XMonad.Hooks.ManageHelpers
|
|
import XMonad.Layout.Fullscreen
|
|
import XMonad.Layout.NoBorders ( smartBorders )
|
|
import XMonad.Layout.Spacing (smartSpacing)
|
|
import XMonad.Util.EZConfig ( additionalKeys )
|
|
import XMonad.Util.Run
|
|
|
|
import System.IO
|
|
import System.Exit
|
|
|
|
--}}}
|
|
|
|
-- fields {{{
|
|
-- set mod key (alt)
|
|
myModMask = mod1Mask
|
|
|
|
-- set terminal
|
|
myTerminal = "urxvt"
|
|
|
|
-- border spacing
|
|
myLayoutHook = smartSpacing 4 $ smartBorders ( avoidStruts $ layoutHook defaultConfig )
|
|
|
|
-- border sie
|
|
myBorderWidth = 0
|
|
|
|
-- status bar
|
|
myXmonadBar = "dzen2 -x '0' -y '0' -h '24' -w '1690' -ta 'l' -fg '#FFFFFF' -bg '#1B1D1E'"
|
|
myStatusBar = "conky -c $HOME/.xmonad/.conky_dzen | dzen2 -x '1690' -w '2560' -h '24' -ta 'r' -bg '#1B1D1E' -fg '#FFFFFF' -y '0'"
|
|
myBitmapsDir = "$HOME/.xmonad/dzen2"
|
|
--}}}
|
|
|
|
-- main-config {{{
|
|
main = do
|
|
dzenLeftBar <- spawnPipe myXmonadBar
|
|
dzenRightBar <- spawnPipe myStatusBar
|
|
setRandomWallpaper ["$HOME/images/wallpaper"]
|
|
xmonad $ fullscreenSupport defaultConfig
|
|
{ terminal = myTerminal
|
|
, layoutHook = myLayoutHook
|
|
, borderWidth = myBorderWidth
|
|
, logHook = myLogHook dzenLeftBar >> fadeInactiveLogHook 0xdddddddd
|
|
, handleEventHook = mconcat
|
|
[ docksEventHook
|
|
, handleEventHook defaultConfig]
|
|
} `additionalKeys` myAdditionalKeys
|
|
--}}}
|
|
|
|
-- key-bindings {{{
|
|
myAdditionalKeys =
|
|
[ ((myModMask, xK_q), spawn "i3lock -i $HOME/images/lock.png")
|
|
] ++
|
|
[ ((myModMask .|. shiftMask, xK_q), kill)
|
|
] ++
|
|
[ ((myModMask, xK_c), spawn "xmonad --recompile; xmonad --restart")
|
|
] ++
|
|
[ ((myModMask .|. shiftMask, xK_c), io (exitWith ExitSuccess))
|
|
]
|
|
--}}}
|
|
|
|
-- video-hax {{{
|
|
myManageHooks = composeAll
|
|
[ isFullscreen --> doFullFloat
|
|
]
|
|
--}}}
|
|
|
|
-- Hooks {{{
|
|
--Bar
|
|
myLogHook :: Handle -> X ()
|
|
myLogHook h = dynamicLogWithPP $ defaultPP
|
|
{
|
|
ppCurrent = dzenColor "#ebac54" "#1B1D1E" . pad
|
|
, ppVisible = dzenColor "white" "#1B1D1E" . pad
|
|
, ppHidden = dzenColor "white" "#1B1D1E" . pad
|
|
, ppHiddenNoWindows = dzenColor "#7b7b7b" "#1B1D1E" . pad
|
|
, ppUrgent = dzenColor "#ff0000" "#1B1D1E" . pad
|
|
, ppWsSep = " "
|
|
, ppSep = " | "
|
|
, ppLayout = dzenColor "#ebac54" "#1B1D1E" .
|
|
(\x -> case x of
|
|
"ResizableTall" -> "^i(" ++ myBitmapsDir ++ "/tall.xbm)"
|
|
"Mirror ResizableTall" -> "^i(" ++ myBitmapsDir ++ "/mtall.xbm)"
|
|
"Full" -> "^i(" ++ myBitmapsDir ++ "/full.xbm)"
|
|
"Simple Float" -> "~"
|
|
_ -> x
|
|
)
|
|
, ppTitle = (" " ++) . dzenColor "white" "#1B1D1E" . dzenEscape
|
|
, ppOutput = hPutStrLn h
|
|
}
|
|
--}}}
|