about summary refs log tree commit diff
path: root/src/Main.hs
blob: 91a3e9fe8263247f67bfa14755f1ac2ea53408ba (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
-----------------------------------------------------------------------------
-- |
-- Module      :  Main
-- Copyright   :  (c) azahi 2018
-- License     :  BSD3-style (see LICENSE)
--
-- Maintainer  :  azahi@teknik.io
-- Stability   :  unstable
-- Portability :  unportable
--
-----------------------------------------------------------------------------

module Main where

import           XMonad
import           XMonad.Actions.DynamicProjects
import           XMonad.Actions.Navigation2D
import qualified XMonad.Custom.Bindings         as C
import qualified XMonad.Custom.Event            as C
import qualified XMonad.Custom.Layout           as C
import qualified XMonad.Custom.Log              as C
import qualified XMonad.Custom.Manage           as C
import qualified XMonad.Custom.Misc             as C
import qualified XMonad.Custom.Navigation       as C
import qualified XMonad.Custom.Projects         as C
import qualified XMonad.Custom.Startup          as C
import qualified XMonad.Custom.Theme            as C
import qualified XMonad.Custom.Workspaces       as C
import           XMonad.Hooks.EwmhDesktops
import           XMonad.Hooks.ManageDocks
import           XMonad.Layout.Fullscreen

main :: IO ()
main = xmonad
       $ ewmh
       $ fullscreenSupport
       $ docks
       $ withNavigation2DConfig C.navigation
       $ dynamicProjects C.projects
       $ def { borderWidth        = C.border
             , workspaces         = C.workspaces -- TODO save WS state
             , layoutHook         = C.layoutHook -- TODO save layout state and floating W position
             , terminal           = C.term C.applications
             , normalBorderColor  = C.colorN
             , focusedBorderColor = C.colorF
             , modMask            = C.modMask
             , keys               = C.keys
             , logHook            = C.logHook
             , startupHook        = C.startupHook
             , mouseBindings      = C.mouseBindings
             , manageHook         = C.manageHook
             , handleEventHook    = C.handleEventHook
             , focusFollowsMouse  = False
             , clickJustFocuses   = False
             }

Consider giving Nix/NixOS a try! <3