Compare commits
No commits in common. "master" and "d9a911e1950819ea1c126187ee2f0ef4250e17ac" have entirely different histories.
master
...
d9a911e195
1 changed files with 27 additions and 54 deletions
65
xmonad.hs
65
xmonad.hs
|
@ -1,30 +1,12 @@
|
||||||
-- xmonad.hs
|
--IMPORTS
|
||||||
-- xmonad example config file.
|
|
||||||
--
|
|
||||||
-- A template showing all available configuration hooks,
|
|
||||||
-- and how to override the defaults in your own xmonad.hs conf file.
|
|
||||||
--
|
|
||||||
-- Normally, you'd only override those defaults you care about.
|
|
||||||
--
|
|
||||||
|
|
||||||
import XMonad
|
import XMonad
|
||||||
import Data.Monoid
|
import Data.Monoid
|
||||||
import System.Exit
|
import System.Exit
|
||||||
import Graphics.X11.ExtraTypes.XF86
|
|
||||||
import XMonad.Hooks.DynamicLog
|
|
||||||
import XMonad.Util.SpawnOnce
|
import XMonad.Util.SpawnOnce
|
||||||
import XMonad.Util.Run
|
import XMonad.Util.Run
|
||||||
import XMonad.Hooks.ManageDocks
|
import XMonad.Hooks.ManageDocks
|
||||||
import XMonad.Hooks.EwmhDesktops
|
import XMonad.Hooks.DynamicLog
|
||||||
import XMonad.Layout.Gaps
|
|
||||||
import XMonad.Layout.Spacing
|
|
||||||
import XMonad.Layout.MultiToggle
|
|
||||||
import XMonad.Layout.NoBorders
|
|
||||||
import XMonad.Layout.ThreeColumns
|
|
||||||
import XMonad.Layout.NoBorders
|
|
||||||
import XMonad.Layout.MultiToggle.Instances
|
|
||||||
import XMonad.Layout.Grid
|
|
||||||
import XMonad.Layout.Spiral
|
|
||||||
|
|
||||||
import qualified XMonad.StackSet as W
|
import qualified XMonad.StackSet as W
|
||||||
import qualified Data.Map as M
|
import qualified Data.Map as M
|
||||||
|
@ -77,15 +59,12 @@ myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $
|
||||||
-- launch a terminal
|
-- launch a terminal
|
||||||
[ ((modm .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf)
|
[ ((modm .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf)
|
||||||
|
|
||||||
-- launch rofi
|
-- launch dmenu
|
||||||
, ((modm .|. shiftMask, xK_d ), spawn "rofi -show drun")
|
, ((modm, xK_p ), spawn "dmenu_run")
|
||||||
|
|
||||||
-- launch gmrun
|
-- launch gmrun
|
||||||
, ((modm .|. shiftMask, xK_p ), spawn "gmrun")
|
, ((modm .|. shiftMask, xK_p ), spawn "gmrun")
|
||||||
|
|
||||||
-- launch firefox
|
|
||||||
, ((modm .|. shiftMask, xK_f ), spawn "firefox")
|
|
||||||
|
|
||||||
-- close focused window
|
-- close focused window
|
||||||
, ((modm .|. shiftMask, xK_q ), kill)
|
, ((modm .|. shiftMask, xK_q ), kill)
|
||||||
|
|
||||||
|
@ -141,10 +120,10 @@ myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $
|
||||||
-- , ((modm , xK_b ), sendMessage ToggleStruts)
|
-- , ((modm , xK_b ), sendMessage ToggleStruts)
|
||||||
|
|
||||||
-- Quit xmonad
|
-- Quit xmonad
|
||||||
, ((modm, xK_x ), spawn "wlogout")
|
-- ((modm .|. shiftMask, xK_q ), io (exitWith ExitSuccess))
|
||||||
|
|
||||||
-- Restart xmonad
|
-- Restart xmonad
|
||||||
, ((modm , xK_q ), spawn "killall xmobar; xmonad --recompile; xmonad --restart")
|
, ((modm , xK_q ), spawn "xmonad --recompile; xmonad --restart")
|
||||||
|
|
||||||
-- Run xmessage with a summary of the default keybindings (useful for beginners)
|
-- Run xmessage with a summary of the default keybindings (useful for beginners)
|
||||||
, ((modm .|. shiftMask, xK_slash ), spawn ("echo \"" ++ help ++ "\" | xmessage -file -"))
|
, ((modm .|. shiftMask, xK_slash ), spawn ("echo \"" ++ help ++ "\" | xmessage -file -"))
|
||||||
|
@ -199,17 +178,20 @@ myMouseBindings (XConfig {XMonad.modMask = modm}) = M.fromList $
|
||||||
-- The available layouts. Note that each layout is separated by |||,
|
-- The available layouts. Note that each layout is separated by |||,
|
||||||
-- which denotes layout choice.
|
-- which denotes layout choice.
|
||||||
--
|
--
|
||||||
myLayout = spacingRaw True (Border 0 5 5 5) True (Border 5 5 5 5) True $ gaps [(U,5), (D,5), (R,5), (L,5)]
|
myLayout = avoidStruts (tiled ||| Mirror tiled ||| Full)
|
||||||
$ avoidStruts
|
|
||||||
$ mkToggle (NBFULL ?? EOT)
|
|
||||||
$ smartBorders
|
|
||||||
$ tiled ||| Grid ||| spiral (6/7) ||| ThreeColMid 1 (3/100) (1/2) ||| noBorders Full
|
|
||||||
where
|
where
|
||||||
|
-- default tiling algorithm partitions the screen into two panes
|
||||||
tiled = Tall nmaster delta ratio
|
tiled = Tall nmaster delta ratio
|
||||||
|
|
||||||
|
-- The default number of windows in the master pane
|
||||||
nmaster = 1
|
nmaster = 1
|
||||||
delta = 3/100
|
|
||||||
|
-- Default proportion of screen occupied by master pane
|
||||||
ratio = 1/2
|
ratio = 1/2
|
||||||
|
|
||||||
|
-- Percent of screen to increment by when resizing panes
|
||||||
|
delta = 3/100
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
-- Window rules:
|
-- Window rules:
|
||||||
|
|
||||||
|
@ -240,7 +222,7 @@ myManageHook = composeAll
|
||||||
-- return (All True) if the default handler is to be run afterwards. To
|
-- return (All True) if the default handler is to be run afterwards. To
|
||||||
-- combine event hooks use mappend or mconcat from Data.Monoid.
|
-- combine event hooks use mappend or mconcat from Data.Monoid.
|
||||||
--
|
--
|
||||||
myEventHook = fullscreenEventHook
|
myEventHook = mempty
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
-- Status bars and logging
|
-- Status bars and logging
|
||||||
|
@ -261,26 +243,17 @@ myLogHook = return ()
|
||||||
myStartupHook = do
|
myStartupHook = do
|
||||||
spawnOnce "nitrogen --restore &"
|
spawnOnce "nitrogen --restore &"
|
||||||
spawnOnce "picom &"
|
spawnOnce "picom &"
|
||||||
spawnOnce "trayer --edge bottom --align left --widthtype request --heighttype request --SetDockType true --transparent true --alpha 255 --SetPartialStrut false --expand true &"
|
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
-- Command to launch the bar.
|
|
||||||
myBar = "xmobar"
|
|
||||||
|
|
||||||
-- Custom PP, configure it as you like. It determines what is being written to the bar.
|
|
||||||
myPP = xmobarPP { ppCurrent = xmobarColor "#429942" "" . wrap "<" ">" }
|
|
||||||
|
|
||||||
-- Key binding to toggle the gap for the bar.
|
|
||||||
toggleStrutsKey XConfig {XMonad.modMask = modMask} = (modMask, xK_b)
|
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
-- Now run xmonad with all the defaults we set up.
|
-- Now run xmonad with all the defaults we set up.
|
||||||
|
|
||||||
-- Run xmonad with the settings you specify. No need to modify this.
|
-- Run xmonad with the settings you specify. No need to modify this.
|
||||||
--
|
--
|
||||||
main = do
|
main = do
|
||||||
xmonad =<< statusBar myBar myPP toggleStrutsKey (ewmh defaults) { handleEventHook =
|
xmproc <- spawnPipe "xmobar /home/mx/.config/xmobar/xmobarrc"
|
||||||
handleEventHook def <+> fullscreenEventHook }
|
|
||||||
|
xmonad defaults
|
||||||
|
|
||||||
-- A structure containing your configuration settings, overriding
|
-- A structure containing your configuration settings, overriding
|
||||||
-- fields in the default config. Any you don't override, will
|
-- fields in the default config. Any you don't override, will
|
||||||
|
|
Loading…
Reference in a new issue