{-# OPTIONS_GHC -Wno-missing-signatures #-} -- | -- Module : XMonad.Custom.Config -- Description : Configuration entrypoint to be passed to executable -- Copyright : (c) Azat Bahawi 2018-2021 -- SPDX-License-Identifier : GPL-3.0-or-later -- Maintainer : azahi@teknik.io -- Stability : experimental -- Portability : non-portable -- module XMonad.Custom.Config ( myConfig ) where import Flow import XMonad 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.Manage as C import qualified XMonad.Custom.Misc as C import qualified XMonad.Custom.Navigation 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.Hooks.UrgencyHook import XMonad.Layout.IndependentScreens myConfig = do screens <- countScreens def { borderWidth = C.border , workspaces = C.myWorkspaces screens , layoutHook = C.layoutHook , terminal = C.term C.applications , normalBorderColor = C.colorN , focusedBorderColor = C.colorF , modMask = C.modMask , keys = C.keys , mouseBindings = C.mouseBindings , manageHook = C.manageHook , handleEventHook = C.handleEventHook , focusFollowsMouse = False , clickJustFocuses = False } |> withUrgencyHook (borderUrgencyHook C.red1) |> withNavigation2DConfig C.myNavigation2DConfig |> ewmh |> ewmhFullscreen |> docks |> (return :: a -> IO a)