Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import System.Posix.Env (getEnv)
- import Data.Maybe (maybe)
- import XMonad
- import XMonad.Util.XUtils
- -- import XMonad.Core
- --import XMonad.Config.Prime
- import XMonad.Util.Font
- --import FileLogger
- import Control.Monad
- import Data.List
- import XMonad.Util.EZConfig
- import XMonad.Util.Dmenu
- import XMonad.Util.Ungrab
- import XMonad.Layout.Tabbed
- import XMonad.Layout.Accordion
- import XMonad.Actions.SpawnOn
- import XMonad.Hooks.SetWMName
- import XMonad.Util.NamedScratchpad
- import Foreign.C.String
- import qualified Data.Map as M
- import qualified XMonad.StackSet as W
- main :: IO ()
- main = xmonad $ def
- { modMask = mod4Mask
- ,manageHook = newManageHook
- ,startupHook = myStartupHook
- }
- `additionalKeysP`
- [ ("M-S-l", spawn "xscreensaver-command -lock")
- ,("M-C-s", unGrab *> spawn "scrot -s")
- ,("M-w", spawn "chromium-browser")
- ,("M-Enter", spawn "kitty")
- ,("M-x", kill)
- ,("M-d", spawn "dmenu")
- ,("M-f", withFocused toggleFloat)
- ,("M-a", namedScratchpadAction scratchpads "browser")
- ]
- where toggleFloat w = windows (\s -> if M.member w (W.floating s)
- then W.sink w s
- else (W.float w (W.RationalRect (1/3) (1/4) (1/2) (4/5)) s))
- scratchpads = [
- NS "browser" myBrowser (className =? myBrowser)
- (customFloating $ W.RationalRect (1/4) (1/4) (2/4) (2/4))
- ]
- runOrRaiseMasterShift :: String -> Query Bool -> X ()
- runOrRaiseMasterShift run query = runOrRaiseAndDo run query (\wId -> whenX (elem wId <$> visibleWindows) swapNextScreen
- myBrowser = "chromium-browser"
- myStartupHook :: X ()
- myStartupHook = composeAll
- [ setWMName "Songbird"
- ,spawnOn "1" "kitty"
- ,spawnOn "1" "kitty"
- ,spawnOn "1" "kitty"
- ,spawnOn "1" "kitty"
- ,spawnOn "1" "kitty"
- ,spawnOn "1" "kitty"
- ,spawnOn "1" "kitty"
- ,spawnOn "1" "kitty"
- ,spawnOn "1" "kitty"
- ]
- myManageHook :: ManageHook
- myManageHook = composeAll
- [ className =? "chromium-browser" --> doFloat
- ] <+> namedScratchpadManageHook scratchpads
- newManageHook = myManageHook <> manageHook def
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement