first commit
This commit is contained in:
608
xmonad.hs.b
Normal file
608
xmonad.hs.b
Normal file
@@ -0,0 +1,608 @@
|
||||
-- imports
|
||||
import XMonad
|
||||
import XMonad.Util.EZConfig
|
||||
import XMonad.Config.Kde
|
||||
import XMonad.Layout.SubLayouts
|
||||
import XMonad.Layout.PerWorkspace
|
||||
import XMonad.Layout.LayoutModifier
|
||||
import XMonad.Layout.Magnifier
|
||||
import XMonad.Layout.Master
|
||||
import XMonad.Layout.Mosaic
|
||||
import XMonad.Layout.MosaicAlt
|
||||
import XMonad.Layout.Spacing
|
||||
import XMonad.Layout.WindowArranger
|
||||
import XMonad.Layout.WindowNavigation as N
|
||||
import XMonad.Layout.Hidden
|
||||
import XMonad.Layout.Groups.Wmii
|
||||
import XMonad.Actions.Submap
|
||||
import XMonad.Hooks.ManageDocks
|
||||
import qualified Data.Map as M
|
||||
import qualified XMonad.Layout.Groups as G
|
||||
import XMonad.Layout.Master
|
||||
import XMonad.Layout.BinarySpacePartition
|
||||
import XMonad.Hooks.DynamicLog
|
||||
import XMonad.Layout.Hidden
|
||||
import XMonad.Layout.Stoppable
|
||||
import XMonad.Hooks.EwmhDesktops
|
||||
import XMonad.Layout.Spacing
|
||||
import qualified XMonad.StackSet as W
|
||||
import XMonad.Actions.CopyWindow
|
||||
import Data.Monoid
|
||||
import System.Exit
|
||||
import Data.List
|
||||
import XMonad.Layout.ToggleLayouts
|
||||
import XMonad.Layout.LayoutScreens
|
||||
import XMonad.Layout.TwoPane
|
||||
import XMonad.Layout.ZoomRow
|
||||
import XMonad.Layout.Combo
|
||||
import XMonad.Layout.Groups.Examples
|
||||
import XMonad.Layout.BinaryColumn
|
||||
import qualified XMonad.Layout.GridVariants as GV
|
||||
import XMonad.Layout.AutoMaster
|
||||
import XMonad.Layout.Master
|
||||
import qualified XMonad.Layout.MultiToggle as MT
|
||||
import XMonad.Prompt
|
||||
import XMonad.Prompt.RunOrRaise
|
||||
import XMonad.Prompt.Shell
|
||||
import XMonad.Layout.Groups.Helpers
|
||||
import XMonad.Actions.FocusNth
|
||||
import XMonad.Layout.ResizableTile
|
||||
import XMonad.Layout.DwmStyle
|
||||
import XMonad.Layout.Spacing
|
||||
import XMonad.Layout.Maximize
|
||||
import XMonad.Actions.DynamicWorkspaces
|
||||
import XMonad.Actions.Navigation2D
|
||||
import XMonad.Actions.CycleWS
|
||||
|
||||
|
||||
-- -- subLayout [0,1] (windowNavigation $ emptyBSP ||| Tall 5 (3/100) (1/2)) $ Mirror rowOfColumns
|
||||
-- -- subLayout [] (windowNavigation $ emptyBSP) $ windowNavigation $ rowOfColumns
|
||||
-- myLayouts = -- subLayout [] emptyBSP $ (Mirror (BinaryColumn 0.7 16)) |||
|
||||
-- -- sublayout combining resizabletall with an mirrored version of it self both with (initaly) zero slave windows.
|
||||
-- -- this allows multiply resziable columns with multiply rows in each. by incrementing the master window count this can be cahnged to multiply columns
|
||||
-- subLayout [] (ResizableTall 0 (3/100) (1/2) []) $ (Mirror $ ResizableTall 0 (3/100) (1/2) []) |||
|
||||
-- -- subLayout [] (ResizableTall 0 (3/100) (1/2) []) $ emptyBSP |||
|
||||
-- -- subLayout [] emptyBSP $ (Mirror (BinaryColumn 0.7 16)) |||
|
||||
-- -- ResizableTall 1 (3/100) (1/2) [] |||
|
||||
-- -- binarytree based layout splittiing windows with an fibronacci algortithem, expically usefull with hiddWindows enabling one to move windows to different locations in the tree
|
||||
-- emptyBSP |||
|
||||
-- -- masterd Version
|
||||
-- -- mastered (1/100) (1/2) emptyBSP
|
||||
-- -- at start one Column with multiply rows, than more columns kann by created, by moving windows to new groups. winodws and rows can be maximized, taking either the current row(window) or the screen(group)
|
||||
-- wmii shrinkText def |||
|
||||
-- -- rowOfColumns |||
|
||||
-- -- masterd adds an master window to an layout, it can be manipulated with all normal tall layout functions(Inreass/Decreass Master count/size.)
|
||||
-- -- mastered (1/100) (1/2) rowOfColumns
|
||||
-- -- (stoppable rowOfColumns)
|
||||
-- -- ||| Tall 1 (3/100) (1/2) ||| mosaic 2 [3,2]
|
||||
|
||||
myLayouts =
|
||||
subLayout [] (ResizableTall 0 (3/100) (1/2) []) $ (Mirror $ ResizableTall 0 (3/100) (1/2) []) |||
|
||||
emptyBSP |||
|
||||
rowOfColumns |||
|
||||
Mirror rowOfColumns |||
|
||||
mastered (1/100) (1/2) rowOfColumns
|
||||
|
||||
-- ||| Tall 1 (3/100) (1/2) ||| mosaic 2 [3,2]
|
||||
|
||||
myWorkspaces = ["1","2","3","4","5","6","7","8","9"]
|
||||
|
||||
-- float krunner and plasmashell
|
||||
myManageHook = composeAll . concat $
|
||||
[ [ className =? c --> doFloat | c <- myFloats] ]
|
||||
|
||||
where myFloats = ["plasmashell","krunner"]
|
||||
|
||||
-- main config with ewmh and kde compitabillity
|
||||
main = xmonad $ ewmh $ kdeConfig
|
||||
{ manageHook = manageHook kdeConfig <+> myManageHook
|
||||
, borderWidth = 2
|
||||
, workspaces = myWorkspaces
|
||||
, modMask = mod4Mask
|
||||
-- modifiers for all layouts, avoiding docks, hidding(minimizing) Windows, maximizing windows, window gaps
|
||||
, layoutHook = avoidStruts $ (windowNavigation $ (hiddenWindows $ (maximize $ (spacing 6 $ myLayouts))))
|
||||
, logHook = dynamicLog
|
||||
, keys = myKeys
|
||||
, terminal = "st"
|
||||
, normalBorderColor = "#1d252c"
|
||||
, focusedBorderColor = "#cd8b00"
|
||||
}
|
||||
|
||||
-- overwrite all keys
|
||||
myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $
|
||||
[
|
||||
-- launch a terminal
|
||||
-- -- [ ((mod4Mask, xK_o), submap . M.fromList $
|
||||
-- ((mod4Mask .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf)
|
||||
-- --close focused window
|
||||
-- , ((mod4Mask .|. shiftMask, xK_c ), kill1)
|
||||
-- -- Rotate through the available layout algorithms
|
||||
-- , ((mod4Mask, xK_space ), sendMessage NextLayout)
|
||||
-- -- Reset the layouts on the current workspace to default
|
||||
-- , ((mod4Mask .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf)
|
||||
-- -- Resize viewed windows to the correct size
|
||||
-- , ((mod4Mask, xK_n ), refresh)
|
||||
-- -- Move focus to the next window
|
||||
-- , ((mod4Mask, xK_Tab ), windows W.focusDown)
|
||||
-- -- Move focus to the next window
|
||||
-- , ((mod4Mask, xK_j ), windows W.focusDown)
|
||||
-- -- Move focus to the previous window
|
||||
-- , ((mod4Mask, xK_k ), windows W.focusUp)
|
||||
-- -- Move focus to the master window
|
||||
-- , ((mod4Mask, xK_m ), windows W.focusMaster)
|
||||
-- -- Swap the focused window and the master window
|
||||
-- , ((mod4Mask, xK_Return), windows W.swapMaster)
|
||||
-- -- Swap the focused window with the next window
|
||||
-- , ((mod4Mask .|. shiftMask, xK_j ), windows W.swapDown)
|
||||
-- -- Swap the focused window with the previous window
|
||||
-- , ((mod4Mask .|. shiftMask, xK_k ), windows W.swapUp)
|
||||
-- -- Shrink the master area
|
||||
-- , ((mod4Mask, xK_h ), sendMessage Shrink)
|
||||
-- -- Expand the master area
|
||||
-- , ((mod4Mask, xK_l ), sendMessage Expand)
|
||||
-- -- Push window back into tiling
|
||||
((mod4Mask, xK_t ), withFocused $ windows . W.sink)
|
||||
-- -- Increment the number of windows in the master area
|
||||
, ((mod4Mask , xK_comma ), sendMessage (IncMasterN 1))
|
||||
-- Deincrement the number of windows in the master area
|
||||
, ((mod4Mask , xK_period), sendMessage (IncMasterN (-1)))
|
||||
-- Toggle the status bar gap
|
||||
-- Use this binding with avoidStruts from Hooks.ManageDocks.
|
||||
-- See also the statusBar function from Hooks.DynamicLog.
|
||||
, ((modm , xK_b ), sendMessage ToggleStruts)
|
||||
-- Quit xmonad
|
||||
--, ((modm .|. shiftMask, xK_q ), io (exitWith ExitSuccess))
|
||||
---- Restart xmonad
|
||||
, ((modm .|. controlMask .|. shiftMask, xK_r ), spawn "xmonad --recompile; xmonad --restart > ~/.xmonad/xmonad.status")
|
||||
, ((modm .|. controlMask, xK_x), runOrRaisePrompt def)
|
||||
, ((mod4Mask .|. controlMask , xK_s), sendMessage Arrange)
|
||||
, ((mod4Mask .|. controlMask .|. shiftMask, xK_s), sendMessage DeArrange)
|
||||
, ((mod4Mask .|. controlMask , xK_h), sendMessage (MoveLeft 1))
|
||||
, ((mod4Mask .|. controlMask , xK_l), sendMessage (MoveRight 1))
|
||||
, ((mod4Mask .|. controlMask , xK_j), sendMessage (MoveDown 1))
|
||||
, ((mod4Mask .|. controlMask , xK_k), sendMessage (MoveUp 1))
|
||||
, ((mod4Mask .|. shiftMask, xK_h ), sendMessage (IncreaseLeft 1))
|
||||
, ((mod4Mask .|. shiftMask, xK_l), sendMessage (IncreaseRight 1))
|
||||
, ((mod4Mask .|. shiftMask, xK_j ), sendMessage (IncreaseDown 1))
|
||||
, ((mod4Mask .|. shiftMask, xK_k ), sendMessage (IncreaseUp 1))
|
||||
, ((mod4Mask .|. controlMask .|. shiftMask, xK_h ), sendMessage (DecreaseLeft 1))
|
||||
, ((mod4Mask .|. controlMask .|. shiftMask, xK_l), sendMessage (DecreaseRight 1))
|
||||
, ((mod4Mask .|. controlMask .|. shiftMask, xK_j ), sendMessage (DecreaseDown 1))
|
||||
, ((mod4Mask .|. controlMask .|. shiftMask, xK_k ), sendMessage (DecreaseUp 1))
|
||||
, ((mod4Mask, xK_l), sendMessage $ N.Go R)
|
||||
, ((mod4Mask, xK_h ), sendMessage $ N.Go L)
|
||||
, ((mod4Mask, xK_k ), sendMessage $ N.Go U)
|
||||
, ((mod4Mask, xK_j ), sendMessage $ N.Go D)
|
||||
, ((mod4Mask .|. controlMask, xK_l), sendMessage $ N.Swap R)
|
||||
, ((mod4Mask .|. controlMask, xK_h), sendMessage $ N.Swap L)
|
||||
, ((mod4Mask .|. controlMask, xK_k), sendMessage $ N.Swap U)
|
||||
, ((mod4Mask .|. controlMask, xK_j), sendMessage $ N.Swap D)
|
||||
, ((mod4Mask, xK_m), withFocused hideWindow)
|
||||
, ((mod4Mask .|. shiftMask, xK_m), popOldestHiddenWindow)
|
||||
, ((mod4Mask, xK_f), toggleGroupFull)
|
||||
, ((mod4Mask .|. shiftMask, xK_f), toggleGroupFull)
|
||||
, ((mod4Mask, xK_i), zoomWindowIn)
|
||||
, ((mod4Mask, xK_o), zoomWindowOut)
|
||||
, ((mod4Mask .|. shiftMask, xK_f), toggleGroupFull)
|
||||
, ((mod4Mask .|. shiftMask, xK_i), zoomGroupIn)
|
||||
, ((mod4Mask .|. shiftMask, xK_o), zoomGroupOut)
|
||||
, ((mod4Mask, xK_n), groupToNextLayout)
|
||||
, ((mod4Mask .|. mod1Mask, xK_l ), sendMessage $ ExpandTowards R)
|
||||
, ((mod4Mask .|. mod1Mask, xK_h ), sendMessage $ ExpandTowards L)
|
||||
, ((mod4Mask .|. mod1Mask, xK_j ), sendMessage $ ExpandTowards D)
|
||||
, ((mod4Mask .|. mod1Mask, xK_k ), sendMessage $ ExpandTowards U)
|
||||
, ((mod4Mask .|. mod1Mask .|. controlMask , xK_l), sendMessage $ ShrinkFrom R)
|
||||
, ((mod4Mask .|. mod1Mask .|. controlMask , xK_h), sendMessage $ ShrinkFrom L)
|
||||
, ((mod4Mask .|. mod1Mask .|. controlMask , xK_j), sendMessage $ ShrinkFrom D)
|
||||
, ((mod4Mask .|. mod1Mask .|. controlMask , xK_k), sendMessage $ ShrinkFrom U)
|
||||
, ((mod4Mask .|. mod1Mask, xK_r), sendMessage Rotate)
|
||||
, ((mod4Mask, xK_n), sendMessage FocusParent)
|
||||
, ((mod4Mask .|. controlMask, xK_n), sendMessage SelectNode)
|
||||
, ((mod4Mask .|. shiftMask, xK_n), sendMessage MoveNode)
|
||||
, ((modm .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf)
|
||||
--close focused window
|
||||
, ((modm .|. shiftMask, xK_c), kill)
|
||||
-- Rotate through the available layout algorithms
|
||||
-- , ((modm, xK_space), sendMessage NextLayout)
|
||||
-- Reset the layouts on the current workspace to default
|
||||
, ((modm .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf)
|
||||
-- Resize viewed windows to the correct size
|
||||
, ((modm, xK_n ), refresh)
|
||||
-- Move focus to the next window
|
||||
, ((modm, xK_Tab), windows W.focusDown)
|
||||
-- Move focus to the next window
|
||||
-- , ((modm, xK_space ), sendMessage NextLayout)
|
||||
, ((modm, xK_q), kill1)
|
||||
, ((modm .|. shiftMask, xK_a), withFocused (sendMessage . expandWindowAlt))
|
||||
, ((modm .|. shiftMask, xK_z), withFocused (sendMessage . shrinkWindowAlt))
|
||||
, ((modm .|. shiftMask, xK_s), withFocused (sendMessage . tallWindowAlt))
|
||||
, ((modm .|. shiftMask, xK_d), withFocused (sendMessage . wideWindowAlt))
|
||||
, ((modm .|. controlMask, xK_space), sendMessage resetAlt)
|
||||
, ((modm , xK_F1), spawn "rofi_run -w")
|
||||
, ((modm , xK_F2), spawn "rofi_run -r")
|
||||
, ((mod4Mask, xK_b), submap . M.fromList $
|
||||
[ ((controlMask .|. shiftMask, xK_l), sendMessage $ Move R)
|
||||
, ((controlMask .|. shiftMask, xK_h ), sendMessage $ Move L)
|
||||
, ((controlMask .|. shiftMask, xK_k ), sendMessage $ Move U)
|
||||
, ((controlMask .|. shiftMask, xK_j ), sendMessage $ Move D)
|
||||
, ((mod1Mask, xK_l), sendMessage $ ExpandTowards R)
|
||||
, ((mod1Mask, xK_h), sendMessage $ ExpandTowards L)
|
||||
, ((mod1Mask, xK_j), sendMessage $ ExpandTowards D)
|
||||
, ((mod1Mask, xK_k), sendMessage $ ExpandTowards U)
|
||||
, ((mod1Mask .|. controlMask , xK_l), sendMessage $ ShrinkFrom R)
|
||||
, ((mod1Mask .|. controlMask , xK_h), sendMessage $ ShrinkFrom L)
|
||||
, ((mod1Mask .|. controlMask , xK_j), sendMessage $ ShrinkFrom D)
|
||||
, ((mod1Mask .|. controlMask , xK_k), sendMessage $ ShrinkFrom U)
|
||||
, ((0, xK_r), sendMessage $ Rotate)
|
||||
-- , ((0, xK_s ), sendMessage $ Swap)
|
||||
, ((0, xK_n), sendMessage $ FocusParent)
|
||||
, ((controlMask, xK_n), sendMessage $ SelectNode)
|
||||
, ((shiftMask, xK_n), sendMessage $ MoveNode)
|
||||
, ((mod4Mask, xK_a),sendMessage $ Balance)
|
||||
, ((mod4Mask .|. shiftMask, xK_a),sendMessage $ Equalize)
|
||||
])
|
||||
, ((mod4Mask, xK_s), submap . M.fromList $
|
||||
[ ((0, xK_k), swapUp)
|
||||
, ((0, xK_j), swapDown)
|
||||
, ((0, xK_u), focusUp)
|
||||
, ((0, xK_d), focusDown)
|
||||
, ((0, xK_s), splitGroup)
|
||||
--, ((0, xK_n), focusGroupUp)
|
||||
--, ((0, xK_m), focusGroupDown)
|
||||
, ((shiftMask, xK_n), swapGroupUp)
|
||||
, ((shiftMask, xK_m), swapGroupDown)
|
||||
, ((mod1Mask .|. shiftMask, xK_u), (moveToGroupUp True))
|
||||
, ((mod1Mask .|. shiftMask, xK_u), (moveToGroupUp True))
|
||||
, ((mod1Mask .|. shiftMask, xK_d), (moveToGroupDown True))
|
||||
, ((mod1Mask .|. shiftMask, xK_d), (moveToGroupDown True))
|
||||
, ((mod1Mask .|. controlMask .|. shiftMask, xK_n), moveToNewGroupUp)
|
||||
, ((mod1Mask .|. controlMask .|. shiftMask, xK_m), moveToNewGroupDown)
|
||||
, ((shiftMask, xK_k), swapGroupUp)
|
||||
, ((shiftMask, xK_j), swapGroupDown)
|
||||
, ((mod1Mask , xK_k), (moveToGroupUp True))
|
||||
, ((mod1Mask , xK_j), (moveToGroupDown True))
|
||||
, ((controlMask, xK_k), moveToNewGroupUp)
|
||||
, ((controlMask, xK_j), moveToNewGroupDown)
|
||||
--, ((0 xK_Return), focusGroupMaster)
|
||||
--, ((shiftMask, xK_Return), swapGroupMaster)
|
||||
, ((0, xK_f), toggleWindowFull)
|
||||
, ((shiftMask, xK_f), toggleGroupFull)
|
||||
, ((shiftMask, xK_plus), zoomGroupIn)
|
||||
, ((shiftMask, xK_minus), zoomGroupOut)
|
||||
, ((0, xK_n), groupToNextLayout)
|
||||
, ((0, xK_minus), zoomWindowOut)
|
||||
, ((0, xK_plus), zoomWindowIn)
|
||||
, ((0, xK_r), zoomWindowReset)
|
||||
])
|
||||
, ((mod4Mask, xK_a), submap . M.fromList $
|
||||
[ ((shiftMask, xK_u), swapUp )
|
||||
, ((shiftMask, xK_d), swapDown)
|
||||
, ((modm, xK_m), withFocused (sendMessage . maximizeRestore))
|
||||
, ((modm .|. shiftMask, xK_e), layoutScreens 2 (TwoPane 0.5 0.5))
|
||||
, ((modm .|. controlMask .|. shiftMask, xK_e), rescreen)
|
||||
, ((0, xK_u), focusUp)
|
||||
, ((0, xK_d), focusDown)
|
||||
, ((0, xK_s), splitGroup)
|
||||
--, ((0, xK_n), focusGroupUp)
|
||||
--, ((0, xK_m), focusGroupDown)
|
||||
, ((shiftMask, xK_n), swapGroupUp)
|
||||
, ((shiftMask, xK_m), swapGroupDown)
|
||||
, ((mod1Mask .|. shiftMask, xK_u), (moveToGroupUp True))
|
||||
, ((mod1Mask .|. shiftMask, xK_d), (moveToGroupDown True))
|
||||
, ((mod1Mask .|. controlMask .|. shiftMask, xK_n), moveToNewGroupUp)
|
||||
, ((mod1Mask .|. controlMask .|. shiftMask, xK_m), moveToNewGroupDown)
|
||||
--, ((0 xK_Return), focusGroupMaster)
|
||||
--, ((shiftMask, xK_Return), swapGroupMaster)
|
||||
, ((0, xK_f), toggleWindowFull)
|
||||
, ((mod4Mask, xK_f), toggleGroupFull)
|
||||
, ((0, xK_i), zoomGroupIn)
|
||||
, ((0, xK_o), zoomGroupOut)
|
||||
, ((0, xK_n), groupToNextLayout)
|
||||
, ((0, xK_t), sendMessage Taller)
|
||||
, ((0, xK_w), sendMessage Wider)
|
||||
, ((0, xK_r), sendMessage Reset)
|
||||
, ((0, xK_c), killAllOtherCopies)
|
||||
, ((0, xK_a), windows copyToAll)
|
||||
, ((modm .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf)
|
||||
--close focused window
|
||||
, ((modm .|. shiftMask, xK_c), kill1)
|
||||
-- Rotate through the available layout algorithms
|
||||
-- Reset the layouts on the current workspace to default
|
||||
, ((modm .|. shiftMask, xK_space), setLayout $ XMonad.layoutHook conf)
|
||||
-- Resize viewed windows to the correct size
|
||||
, ((modm, xK_n), refresh)
|
||||
-- Move focus to the next window
|
||||
, ((modm, xK_Tab), windows W.focusDown)
|
||||
-- Move focus to the next window
|
||||
, ((modm, xK_j), windows W.focusDown)
|
||||
-- Move focus to the previous window
|
||||
, ((modm, xK_k), windows W.focusUp)
|
||||
-- Move focus to the master window
|
||||
, ((modm, xK_m), windows W.focusMaster)
|
||||
-- Swap the focused window and the master window
|
||||
, ((modm, xK_Return), windows W.swapMaster)
|
||||
-- Swap the focused window with the next window
|
||||
, ((modm .|. shiftMask, xK_j), windows W.swapDown)
|
||||
-- Swap the focused window with the previous window
|
||||
, ((modm .|. shiftMask, xK_k ), windows W.swapUp)
|
||||
-- Shrink the master area
|
||||
, ((modm, xK_h), sendMessage Shrink)
|
||||
-- Expand the master area
|
||||
, ((modm, xK_l), sendMessage Expand)
|
||||
-- Push window back into tiling
|
||||
, ((modm, xK_t), withFocused $ windows . W.sink)
|
||||
-- Increment the number of windows in the master area
|
||||
, ((modm , xK_comma), sendMessage (IncMasterN 1))
|
||||
-- Deincrement the number of windows in the master area
|
||||
, ((modm , xK_period), sendMessage (IncMasterN (-1)))
|
||||
, ((modm .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf)
|
||||
, ((modm .|. shiftMask, xK_a), withFocused (sendMessage . expandWindowAlt))
|
||||
, ((modm .|. shiftMask, xK_z), withFocused (sendMessage . shrinkWindowAlt))
|
||||
, ((modm .|. shiftMask, xK_s), withFocused (sendMessage . tallWindowAlt))
|
||||
, ((modm .|. shiftMask, xK_d), withFocused (sendMessage . wideWindowAlt))
|
||||
, ((modm .|. controlMask, xK_space), sendMessage resetAlt)
|
||||
, ((0, xK_m), withFocused hideWindow)
|
||||
, ((mod4Mask, xK_m), popOldestHiddenWindow)
|
||||
, ((mod1Mask, xK_m), popNewestHiddenWindow)
|
||||
, ((0, xK_minus), zoomWindowOut)
|
||||
, ((0, xK_plus), zoomWindowIn)
|
||||
, ((0, xK_r), zoomWindowReset)
|
||||
, ((0, xK_f), toggleWindowFull)
|
||||
, ((mod4Mask, xK_minus), zoomColumnOut)
|
||||
, ((mod4Mask, xK_plus), zoomColumnIn)
|
||||
, ((mod4Mask, xK_r), zoomColumnReset)
|
||||
, ((mod4Mask, xK_f), toggleColumnFull)
|
||||
, ((0, xK_u), focusUp)
|
||||
, ((0, xK_d), focusDown)
|
||||
, ((0, xK_s), splitGroup)
|
||||
, ((0, xK_n), focusGroupUp)
|
||||
, ((0, xK_m), focusGroupDown)
|
||||
, ((shiftMask, xK_n), swapGroupUp)
|
||||
, ((shiftMask, xK_m), swapGroupDown)
|
||||
, ((mod4Mask .|. shiftMask, xK_u), (moveToGroupUp False))
|
||||
, ((mod4Mask .|. shiftMask, xK_d), (moveToGroupDown False))
|
||||
, ((mod4Mask .|. controlMask .|. shiftMask, xK_u), moveToNewGroupUp)
|
||||
, ((mod4Mask .|. controlMask .|. shiftMask, xK_d), moveToNewGroupDown)
|
||||
])
|
||||
, ((mod4Mask, xK_d), submap . M.fromList $
|
||||
[ ((mod4Mask .|. controlMask, xK_s), toSubl Arrange)
|
||||
, ((controlMask .|. shiftMask, xK_s), toSubl DeArrange)
|
||||
, ((controlMask, xK_h), toSubl (MoveLeft 1))
|
||||
, ((controlMask, xK_l), toSubl (MoveRight 1))
|
||||
, ((controlMask, xK_j), toSubl (MoveDown 1))
|
||||
, ((controlMask, xK_k), toSubl (MoveUp 1))
|
||||
, ((shiftMask, xK_h ), toSubl (IncreaseLeft 1))
|
||||
, ((shiftMask, xK_l), toSubl (IncreaseRight 1))
|
||||
, ((shiftMask, xK_j ), toSubl (IncreaseDown 1))
|
||||
, ((shiftMask, xK_k ), toSubl (IncreaseUp 1))
|
||||
, ((controlMask .|. shiftMask, xK_h), toSubl (DecreaseLeft 1))
|
||||
, ((controlMask .|. shiftMask, xK_l), toSubl (DecreaseRight 1))
|
||||
, ((controlMask .|. shiftMask, xK_j), toSubl (DecreaseDown 1))
|
||||
, ((controlMask .|. shiftMask, xK_k), toSubl (DecreaseUp 1))
|
||||
, ((0, xK_l), toSubl $ N.Go R)
|
||||
, ((0, xK_h ), toSubl $ N.Go L)
|
||||
, ((0, xK_k ), toSubl $ N.Go U)
|
||||
, ((0, xK_j ), toSubl $ N.Go D)
|
||||
, ((controlMask, xK_l), toSubl $ N.Swap R)
|
||||
, ((controlMask, xK_h ), toSubl $ N.Swap L)
|
||||
, ((controlMask, xK_k ), toSubl $ N.Swap U)
|
||||
, ((controlMask, xK_j ), toSubl $ N.Swap D)
|
||||
, ((0, xK_e), withFocused (toSubl . expandWindowAlt))
|
||||
, ((0, xK_s), withFocused (toSubl . shrinkWindowAlt))
|
||||
, ((0, xK_t), withFocused (toSubl . tallWindowAlt))
|
||||
, ((0, xK_w), withFocused (toSubl . wideWindowAlt))
|
||||
, ((0, xK_space), toSubl resetAlt)
|
||||
, ((0, xK_n), toSubl NextLayout)
|
||||
, ((mod4Mask, xK_j), windows W.focusDown)
|
||||
-- Move focus to the previous window
|
||||
, ((mod4Mask, xK_k), windows W.focusUp)
|
||||
-- Move focus to the master window
|
||||
, ((mod4Mask, xK_m), windows W.focusMaster)
|
||||
-- Swap the focused window and the master window
|
||||
, ((mod4Mask, xK_Return), windows W.swapMaster)
|
||||
-- Swap the focused window with the next window
|
||||
, ((mod4Mask .|. shiftMask, xK_j), windows W.swapDown)
|
||||
-- Swap the focused window with the previous window
|
||||
, ((mod4Mask .|. shiftMask, xK_k), windows W.swapUp)
|
||||
-- Shrink the master area
|
||||
, ((mod4Mask, xK_h ), toSubl Shrink)
|
||||
-- Expand the master area
|
||||
, ((mod4Mask, xK_l ), toSubl Expand)
|
||||
-- Push window back into tiling
|
||||
, ((mod4Mask, xK_t ), withFocused $ windows . W.sink)
|
||||
-- Increment the number of windows in the master area
|
||||
, ((mod4Mask , xK_comma ), toSubl (IncMasterN 1))
|
||||
-- Deincrement the number of windows in the master area
|
||||
, ((mod4Mask, xK_period), toSubl (IncMasterN (-1)))
|
||||
, ((modm, xK_a), toSubl MirrorShrink)
|
||||
, ((modm, xK_z), toSubl MirrorExpand)
|
||||
, ((mod4Mask .|. controlMask, xK_h), sendMessage $ pullGroup L)
|
||||
, ((mod4Mask .|. controlMask, xK_l), sendMessage $ pullGroup R)
|
||||
, ((mod4Mask .|. controlMask, xK_k), sendMessage $ pullGroup U)
|
||||
, ((mod4Mask .|. controlMask, xK_j), sendMessage $ pullGroup D)
|
||||
, ((mod4Mask .|. mod1Mask, xK_h), sendMessage $ pushGroup L)
|
||||
, ((mod4Mask .|. mod1Mask, xK_l), sendMessage $ pushGroup R)
|
||||
, ((mod4Mask .|. mod1Mask, xK_k), sendMessage $ pushGroup U)
|
||||
, ((mod4Mask .|. mod1Mask, xK_j), sendMessage $ pushGroup D)
|
||||
, ((controlMask .|. mod1Mask, xK_h), sendMessage $ pullWindow L)
|
||||
, ((controlMask .|. mod1Mask, xK_l), sendMessage $ pullWindow R)
|
||||
, ((controlMask .|. mod1Mask, xK_k), sendMessage $ pullWindow U)
|
||||
, ((controlMask .|. mod1Mask, xK_j), sendMessage $ pullWindow D)
|
||||
, ((mod1Mask, xK_h), sendMessage $ pushWindow L)
|
||||
, ((mod1Mask, xK_l), sendMessage $ pushWindow R)
|
||||
, ((mod1Mask, xK_k), sendMessage $ pushWindow U)
|
||||
, ((mod1Mask, xK_j), sendMessage $ pushWindow D)
|
||||
, ((controlMask, xK_m), withFocused (sendMessage . MergeAll))
|
||||
, ((controlMask, xK_u), withFocused (sendMessage . UnMerge))
|
||||
, ((controlMask, xK_period), onGroup W.focusUp')
|
||||
, ((controlMask, xK_comma), onGroup W.focusDown')
|
||||
, ((mod1Mask .|. shiftMask, xK_u), (moveToGroupUp False))
|
||||
, ((mod1Mask .|. shiftMask, xK_d), (moveToGroupDown False))
|
||||
, ((modm, xK_a), toSubl MirrorShrink)
|
||||
, ((modm, xK_z), toSubl MirrorExpand)
|
||||
])
|
||||
, ((mod4Mask, xK_z), submap . M.fromList $
|
||||
[
|
||||
((0, xK_f), runOrCopy "firefox" (className =? "Firefox"))
|
||||
, ((0, xK_e), runOrCopy "emacs" (className =? "emacs"))
|
||||
, ((0, xK_t), runOrCopy "main" (className =? "st"))
|
||||
])
|
||||
, ((mod4Mask, xK_plus), sendMessage MirrorExpand)
|
||||
, ((mod4Mask, xK_minus), sendMessage MirrorShrink)
|
||||
, ((mod4Mask .|. shiftMask, xK_plus), toSubl MirrorExpand)
|
||||
, ((mod4Mask .|. shiftMask, xK_minus), toSubl MirrorShrink)
|
||||
, ((mod4Mask .|. controlMask, xK_c), shellPrompt def)
|
||||
, ((mod4Mask, xK_w), submap . M.fromList $
|
||||
[ ((0, xK_x), removeWorkspace)
|
||||
, ((0, xK_a), selectWorkspace def)
|
||||
, ((0, xK_w), selectWorkspace def)
|
||||
, ((0, xK_m), withWorkspace def (windows . W.shift))
|
||||
, ((0, xK_m), withWorkspace def (windows . copy))
|
||||
, ((0, xK_c), withWorkspace def (windows . W.shift))
|
||||
, ((0, xK_c), withWorkspace def (windows . copy))
|
||||
, ((0, xK_s), addWorkspacePrompt def)
|
||||
, ((0, xK_r), renameWorkspace def)
|
||||
, ((0,xK_j), nextWS)
|
||||
, ((0,xK_k), prevWS)
|
||||
, ((shiftMask, xK_j), shiftToNext)
|
||||
, ((shiftMask, xK_k), shiftToPrev)
|
||||
, ((0,xK_l), nextScreen)
|
||||
, ((0,xK_h), prevScreen)
|
||||
, ((shiftMask, xK_l), shiftNextScreen)
|
||||
, ((shiftMask, xK_h), shiftPrevScreen)
|
||||
, ((0,xK_z), toggleWS)
|
||||
])
|
||||
, ((mod4Mask, xK_space), submap . M.fromList $
|
||||
[ ((0, xK_space), sendMessage NextLayout)
|
||||
, ((0, xK_w), submap . M.fromList $
|
||||
[ ((0, xK_x), removeWorkspace)
|
||||
, ((0, xK_a), selectWorkspace def)
|
||||
, ((0, xK_w), selectWorkspace def)
|
||||
, ((0, xK_m), withWorkspace def (windows . W.shift))
|
||||
, ((0, xK_m), withWorkspace def (windows . copy))
|
||||
, ((0, xK_c), withWorkspace def (windows . W.shift))
|
||||
, ((0, xK_c), withWorkspace def (windows . copy))
|
||||
, ((0, xK_s), addWorkspacePrompt def)
|
||||
, ((0, xK_r), renameWorkspace def)
|
||||
, ((0,xK_j), nextWS)
|
||||
, ((0,xK_k), prevWS)
|
||||
, ((shiftMask, xK_j), shiftToNext)
|
||||
, ((shiftMask, xK_k), shiftToPrev)
|
||||
, ((0,xK_l), nextScreen)
|
||||
, ((0,xK_h), prevScreen)
|
||||
, ((shiftMask, xK_l), shiftNextScreen)
|
||||
, ((shiftMask, xK_h), shiftPrevScreen)
|
||||
, ((0,xK_z), toggleWS)
|
||||
, ((0, xK_k), swapUp)
|
||||
, ((0, xK_j), swapDown)
|
||||
, ((0, xK_u), focusUp)
|
||||
, ((0, xK_d), focusDown)
|
||||
, ((0, xK_s), splitGroup)
|
||||
--, ((0, xK_n), focusGroupUp)
|
||||
--, ((0, xK_m), focusGroupDown)
|
||||
, ((shiftMask, xK_n), swapGroupUp)
|
||||
, ((shiftMask, xK_m), swapGroupDown)
|
||||
, ((mod1Mask .|. shiftMask, xK_u), (moveToGroupUp True))
|
||||
, ((mod1Mask .|. shiftMask, xK_d), (moveToGroupDown True))
|
||||
, ((mod1Mask .|. controlMask .|. shiftMask, xK_n), moveToNewGroupUp)
|
||||
, ((mod1Mask .|. controlMask .|. shiftMask, xK_m), moveToNewGroupDown)
|
||||
, ((shiftMask, xK_k), swapGroupUp)
|
||||
, ((shiftMask, xK_j), swapGroupDown)
|
||||
, ((mod1Mask , xK_k), (moveToGroupUp True))
|
||||
, ((mod1Mask , xK_j), (moveToGroupDown True))
|
||||
, ((controlMask, xK_k), moveToNewGroupUp)
|
||||
, ((0, xK_m), moveToNewGroupUp)
|
||||
, ((controlMask, xK_j), moveToNewGroupDown)
|
||||
--, ((0 xK_Return), focusGroupMaster)
|
||||
--, ((shiftMask, xK_Return), swapGroupMaster)
|
||||
, ((0, xK_f), toggleWindowFull)
|
||||
, ((shiftMask, xK_f), toggleGroupFull)
|
||||
, ((shiftMask, xK_plus), zoomGroupIn)
|
||||
, ((shiftMask, xK_minus), zoomGroupOut)
|
||||
, ((0, xK_n), groupToNextLayout)
|
||||
, ((0, xK_minus), zoomWindowOut)
|
||||
, ((0, xK_plus), zoomWindowIn)
|
||||
, ((0, xK_r), zoomWindowReset)
|
||||
])
|
||||
-- -- ((0, xK_b), submap . M.fromList $
|
||||
-- -- [
|
||||
-- -- ((mod1Mask, xK_l), sendMessage $ ExpandTowards R)
|
||||
-- -- , ((mod1Mask, xK_h), sendMessage $ ExpandTowards L)
|
||||
-- -- , ((mod1Mask, xK_j), sendMessage $ ExpandTowards D)
|
||||
-- -- , ((mod1Mask, xK_k), sendMessage $ ExpandTowards U)
|
||||
-- -- , ((controlMask, xK_l), sendMessage $ ShrinkFrom R)
|
||||
-- -- , ((controlMask, xK_h), sendMessage $ ShrinkFrom L)
|
||||
-- -- , ((controlMask, xK_j), sendMessage $ ShrinkFrom D)
|
||||
-- -- , ((controlMask, xK_k), sendMessage $ ShrinkFrom U)
|
||||
-- -- , ((0, xK_r), sendMessage Rotate)
|
||||
-- -- -- , ((modm, xK_s ), sendMessage Swap)
|
||||
-- -- , ((0, xK_n), sendMessage FocusParent)
|
||||
-- -- , ((controlMask,xK_n ), sendMessage SelectNode)
|
||||
-- -- , ((shiftMask, xK_n), sendMessage MoveNode)
|
||||
-- -- , ((0, xK_a), sendMessage Balance)
|
||||
-- -- , ((shiftMask, dMessage Equalize)
|
||||
-- -- ])
|
||||
])
|
||||
-- , ((mod4Mask, xK_space), submap . M.fromList $
|
||||
-- [((0, xK_b), submap . M.fromList $
|
||||
-- [
|
||||
-- ((mod1Mask, xK_l), sendMessage $ ExpandTowards R)
|
||||
-- , ((mod1Mask, xK_h), sendMessage $ ExpandTowards L)
|
||||
-- , ((mod1Mask, xK_j), sendMessage $ ExpandTowards D)
|
||||
-- , ((mod1Mask, xK_k), sendMessage $ ExpandTowards U)
|
||||
-- , ((controlMask, xK_l), sendMessage $ ShrinkFrom R)
|
||||
-- , ((controlMask, xK_h), sendMessage $ ShrinkFrom L)
|
||||
-- , ((controlMask, xK_j), sendMessage $ ShrinkFrom D)
|
||||
-- , ((controlMask, xK_k), sendMessage $ ShrinkFrom U)
|
||||
-- , ((0, xK_r), sendMessage Rotate)
|
||||
-- -- , ((modm, xK_s ), sendMessage Swap)
|
||||
-- , ((0, xK_n), sendMessage FocusParent)
|
||||
-- , ((controlMask,xK_n ), sendMessage SelectNode)
|
||||
-- , ((shiftMask, xK_n), sendMessage MoveNode)
|
||||
-- , ((0, xK_a), sendMessage Balance)
|
||||
-- , ((shiftMask, dMessage Equalize)
|
||||
-- ])
|
||||
-- , ((0, xK_space), sendMessage NextLayout)
|
||||
-- , ((0, xK_w), submap . M.fromList $
|
||||
-- [ ((0, xK_x), removeWorkspace)
|
||||
-- , ((0, xK_a ), selectWorkspace def)
|
||||
-- , ((0, xK_w ), selectWorkspace def)
|
||||
-- , ((0, xK_m ), withWorkspace def (windows . W.shift))
|
||||
-- , ((0, xK_m ), withWorkspace def (windows . copy))
|
||||
-- , ((0, xK_c ), withWorkspace def (windows . W.shift))
|
||||
-- , ((0, xK_c ), withWorkspace def (windows . copy))
|
||||
-- , ((0, xK_s ), addWorkspacePrompt def)
|
||||
-- , ((0, xK_r ), renameWorkspace def)
|
||||
-- , ((0, xK_j), nextWS)
|
||||
-- , ((0, xK_k), prevWS)
|
||||
-- , ((shiftMask, xK_j), shiftToNext)
|
||||
-- , ((shiftMask, xK_k), shiftToPrev)
|
||||
-- , ((0, xK_l), nextScreen)
|
||||
-- , ((0, xK_h), prevScreen)
|
||||
-- , ((shiftMask, xK_l), shiftNextScreen)
|
||||
-- , ((shiftMask, xK_h), shiftPrevScreen)
|
||||
-- , ((0, xK_z), toggleWS)
|
||||
-- ])
|
||||
-- ])
|
||||
]
|
||||
++
|
||||
--
|
||||
-- MOD-[1..9], Switch to workspace N
|
||||
-- mod-shift-[1..9], Move client to workspace N
|
||||
-- mod-control-[1..9], Copy client to workspace N
|
||||
--
|
||||
[((m .|. mod4Mask, k), windows $ f i)
|
||||
| (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9]
|
||||
, (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask), (copy, controlMask)]
|
||||
]
|
||||
|
||||
-- ++
|
||||
-- [((m .|. modm, key), screenWorkspace sc >>= flip whenJust (windows . f))
|
||||
-- | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..]
|
||||
-- mod-[1..9] %! Switch to workspace of index N
|
||||
-- mod-control-[1..9] %! Set index N to the current workspace
|
||||
++
|
||||
zip (zip (repeat (modm)) [xK_1..xK_9]) (map (withWorkspaceIndex W.greedyView) [1..])
|
||||
++
|
||||
zip (zip (repeat (modm .|. controlMask)) [xK_1..xK_9]) (map (setWorkspaceIndex) [1..])-- , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]]
|
||||
|
Reference in New Issue
Block a user