mirror of
https://gitlab.com/dwt1/dotfiles.git
synced 2026-08-11 02:21:14 +10:00
Trying to cleanup a lot of broken and/or sloppy code in xmonad.hs
This commit is contained in:
+2
-2
@@ -252,8 +252,8 @@ filextype *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm
|
|||||||
\ shotwell,
|
\ shotwell,
|
||||||
fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm
|
fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm
|
||||||
" Get w3m image previews inside vifm
|
" Get w3m image previews inside vifm
|
||||||
\ imgt %px %py %pw %ph %c
|
" \ imgt %px %py %pw %ph %c
|
||||||
\ %pc
|
" \ %pc
|
||||||
" \ imgc %px %py %pw %ph NOT NEEDED IN XTERM
|
" \ imgc %px %py %pw %ph NOT NEEDED IN XTERM
|
||||||
|
|
||||||
" OpenRaster
|
" OpenRaster
|
||||||
|
|||||||
+25
-53
@@ -5,6 +5,7 @@
|
|||||||
import XMonad
|
import XMonad
|
||||||
import XMonad.Config.Desktop
|
import XMonad.Config.Desktop
|
||||||
import Data.Maybe (isJust)
|
import Data.Maybe (isJust)
|
||||||
|
import Data.Ratio ((%))
|
||||||
import System.IO (hPutStrLn)
|
import System.IO (hPutStrLn)
|
||||||
import System.Exit (exitSuccess)
|
import System.Exit (exitSuccess)
|
||||||
import qualified XMonad.StackSet as W
|
import qualified XMonad.StackSet as W
|
||||||
@@ -45,10 +46,7 @@ import XMonad.Layout.PerWorkspace (onWorkspace)
|
|||||||
import XMonad.Layout.Renamed (renamed, Rename(CutWordsLeft, Replace))
|
import XMonad.Layout.Renamed (renamed, Rename(CutWordsLeft, Replace))
|
||||||
import XMonad.Layout.WorkspaceDir
|
import XMonad.Layout.WorkspaceDir
|
||||||
import XMonad.Layout.Spacing (spacing)
|
import XMonad.Layout.Spacing (spacing)
|
||||||
import XMonad.Layout.Minimize
|
|
||||||
import XMonad.Layout.Maximize
|
|
||||||
import XMonad.Layout.NoBorders
|
import XMonad.Layout.NoBorders
|
||||||
import XMonad.Layout.BoringWindows (boringWindows)
|
|
||||||
import XMonad.Layout.LimitWindows (limitWindows, increaseLimit, decreaseLimit)
|
import XMonad.Layout.LimitWindows (limitWindows, increaseLimit, decreaseLimit)
|
||||||
import XMonad.Layout.WindowArranger (windowArrange, WindowArrangerMsg(..))
|
import XMonad.Layout.WindowArranger (windowArrange, WindowArrangerMsg(..))
|
||||||
import XMonad.Layout.Reflect (reflectVert, reflectHoriz, REFLECTX(..), REFLECTY(..))
|
import XMonad.Layout.Reflect (reflectVert, reflectHoriz, REFLECTX(..), REFLECTY(..))
|
||||||
@@ -82,7 +80,7 @@ main = do
|
|||||||
xmproc1 <- spawnPipe "xmobar -x 1 /home/dt/.config/xmobar/xmobarrc1" -- xmobar mon 1
|
xmproc1 <- spawnPipe "xmobar -x 1 /home/dt/.config/xmobar/xmobarrc1" -- xmobar mon 1
|
||||||
xmproc2 <- spawnPipe "xmobar -x 2 /home/dt/.config/xmobar/xmobarrc0" -- xmobar mon 0
|
xmproc2 <- spawnPipe "xmobar -x 2 /home/dt/.config/xmobar/xmobarrc0" -- xmobar mon 0
|
||||||
xmonad $ ewmh desktopConfig
|
xmonad $ ewmh desktopConfig
|
||||||
{ manageHook = ( isFullscreen --> doFullFloat ) <+> manageHook defaultConfig <+> manageDocks
|
{ manageHook = ( isFullscreen --> doFullFloat ) <+> manageDocks <+> myManageHook <+> manageHook desktopConfig
|
||||||
, logHook = dynamicLogWithPP xmobarPP
|
, logHook = dynamicLogWithPP xmobarPP
|
||||||
{ ppOutput = \x -> hPutStrLn xmproc0 x >> hPutStrLn xmproc1 x >> hPutStrLn xmproc2 x
|
{ ppOutput = \x -> hPutStrLn xmproc0 x >> hPutStrLn xmproc1 x >> hPutStrLn xmproc2 x
|
||||||
, ppCurrent = xmobarColor "#c3e88d" "" . wrap "[" "]" -- Current workspace in xmobar
|
, ppCurrent = xmobarColor "#c3e88d" "" . wrap "[" "]" -- Current workspace in xmobar
|
||||||
@@ -141,9 +139,6 @@ myKeys =
|
|||||||
, ("M1-S-<Tab>", rotSlavesDown) -- Rotate all windows except the master and keep the focus in place
|
, ("M1-S-<Tab>", rotSlavesDown) -- Rotate all windows except the master and keep the focus in place
|
||||||
, ("M1-C-<Tab>", rotAllDown) -- Rotate all the windows in the current stack
|
, ("M1-C-<Tab>", rotAllDown) -- Rotate all the windows in the current stack
|
||||||
|
|
||||||
, ("M-*", withFocused minimizeWindow)
|
|
||||||
--, ("M-S-*", sendMessage RestoreNextMinimizedWin)
|
|
||||||
, ("M-!", withFocused (sendMessage . maximizeRestore))
|
|
||||||
, ("M-$", toggleFloatNext)
|
, ("M-$", toggleFloatNext)
|
||||||
, ("M-S-$", toggleFloatAllNew)
|
, ("M-S-$", toggleFloatAllNew)
|
||||||
, ("M-S-s", windows copyToAll)
|
, ("M-S-s", windows copyToAll)
|
||||||
@@ -165,16 +160,14 @@ myKeys =
|
|||||||
, ("M-C-<Left>", sendMessage (DecreaseLeft 10)) -- Decrease size of focused window left
|
, ("M-C-<Left>", sendMessage (DecreaseLeft 10)) -- Decrease size of focused window left
|
||||||
|
|
||||||
-- Layouts
|
-- Layouts
|
||||||
, ("M-S-<Space>", sendMessage ToggleStruts)
|
, ("M-<Space>", sendMessage NextLayout) -- Switch to next layout
|
||||||
, ("M-d", asks (XMonad.layoutHook . config) >>= setLayout)
|
, ("M-S-<Space>", sendMessage ToggleStruts) -- Toggles struts
|
||||||
, ("M-<KP_Enter>", sendMessage NextLayout)
|
, ("M-S-b", sendMessage $ Toggle NOBORDERS) -- Toggles noborder
|
||||||
|
, ("M-S-=", sendMessage (Toggle NBFULL) >> sendMessage ToggleStruts) -- Toggles noborder/full
|
||||||
, ("M-S-f", sendMessage (T.Toggle "float"))
|
, ("M-S-f", sendMessage (T.Toggle "float"))
|
||||||
, ("M-S-g", sendMessage (T.Toggle "gimp"))
|
|
||||||
, ("M-S-x", sendMessage $ Toggle REFLECTX)
|
, ("M-S-x", sendMessage $ Toggle REFLECTX)
|
||||||
, ("M-S-y", sendMessage $ Toggle REFLECTY)
|
, ("M-S-y", sendMessage $ Toggle REFLECTY)
|
||||||
, ("M-S-m", sendMessage $ Toggle MIRROR)
|
, ("M-S-m", sendMessage $ Toggle MIRROR)
|
||||||
, ("M-S-b", sendMessage $ Toggle NOBORDERS)
|
|
||||||
, ("M-S-d", sendMessage (Toggle NBFULL) >> sendMessage ToggleStruts)
|
|
||||||
, ("M-<KP_Multiply>", sendMessage (IncMasterN 1)) -- Increase the number of clients in the master pane
|
, ("M-<KP_Multiply>", sendMessage (IncMasterN 1)) -- Increase the number of clients in the master pane
|
||||||
, ("M-<KP_Divide>", sendMessage (IncMasterN (-1))) -- Decrease the number of clients in the master pane
|
, ("M-<KP_Divide>", sendMessage (IncMasterN (-1))) -- Decrease the number of clients in the master pane
|
||||||
, ("M-S-<KP_Multiply>", increaseLimit) -- Increase the number of windows that can be shown
|
, ("M-S-<KP_Multiply>", increaseLimit) -- Increase the number of windows that can be shown
|
||||||
@@ -191,7 +184,6 @@ myKeys =
|
|||||||
, ("M-S-<KP_Add>", shiftTo Next nonNSP >> moveTo Next nonNSP) -- Shifts focused window to next workspace
|
, ("M-S-<KP_Add>", shiftTo Next nonNSP >> moveTo Next nonNSP) -- Shifts focused window to next workspace
|
||||||
, ("M-S-<KP_Subtract>", shiftTo Prev nonNSP >> moveTo Prev nonNSP) -- Shifts focused window to previous workspace
|
, ("M-S-<KP_Subtract>", shiftTo Prev nonNSP >> moveTo Prev nonNSP) -- Shifts focused window to previous workspace
|
||||||
|
|
||||||
|
|
||||||
-- Main Run Apps
|
-- Main Run Apps
|
||||||
, ("M-<Return>", spawn myTerminal)
|
, ("M-<Return>", spawn myTerminal)
|
||||||
, ("M-<KP_Insert>", spawn "dmenu_run -fn 'UbuntuMono Nerd Font:size=10' -nb '#282A36' -nf '#F8F8F2' -sb '#BD93F9' -sf '#282A36' -p 'dmenu:'")
|
, ("M-<KP_Insert>", spawn "dmenu_run -fn 'UbuntuMono Nerd Font:size=10' -nb '#282A36' -nf '#F8F8F2' -sb '#BD93F9' -sf '#282A36' -p 'dmenu:'")
|
||||||
@@ -250,7 +242,6 @@ myKeys =
|
|||||||
] where nonNSP = WSIs (return (\ws -> W.tag ws /= "NSP"))
|
] where nonNSP = WSIs (return (\ws -> W.tag ws /= "NSP"))
|
||||||
nonEmptyNonNSP = WSIs (return (\ws -> isJust (W.stack ws) && W.tag ws /= "NSP"))
|
nonEmptyNonNSP = WSIs (return (\ws -> isJust (W.stack ws) && W.tag ws /= "NSP"))
|
||||||
|
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
---WORKSPACES
|
---WORKSPACES
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
@@ -268,58 +259,39 @@ myWorkspaces = clickable . (map xmobarEscape)
|
|||||||
(i,ws) <- zip [1..8] l,
|
(i,ws) <- zip [1..8] l,
|
||||||
let n = i ]
|
let n = i ]
|
||||||
|
|
||||||
myManageHook = placeHook (withGaps (20,12,12,12) (smart (0.5,0.5))) <+> insertPosition End Newer <+> floatNextHook <+>
|
myManageHook = composeAll
|
||||||
(composeAll . concat $
|
[
|
||||||
[ [ resource =? r --> doF (W.view "main" . W.shift "main") | r <- myTermApps ]
|
className =? "Firefox" --> doShift "www"
|
||||||
, [ resource =? r --> doF (W.view "web" . W.shift "web") | r <- myWebApps ]
|
, className =? "vivaldi" --> doShift "www"
|
||||||
, [ resource =? r --> doF (W.view "media" . W.shift "media") | r <- myMediaApps ]
|
, className =? "irssi" --> doShift "chat"
|
||||||
, [ resource =? r --> doF (W.view "syst" . W.shift "syst") | r <- mySystApps ]
|
, className =? "zoom" --> doShift "chat"
|
||||||
, [ resource =? r --> doFloat | r <- myFloatApps ]
|
, className =? "hexchat" --> doShift "chat"
|
||||||
, [ className =? c --> ask >>= doF . W.sink | c <- myUnfloatApps ]
|
, className =? "pcmanfm" --> doShift "sys"
|
||||||
]) <+> manageHook defaultConfig
|
, className =? "vifm" --> doShift "sys"
|
||||||
where
|
, className =? "cmus" --> doShift "media"
|
||||||
myTermApps = ["termite", "xterm", "htop", "irssi"]
|
, className =? "Vlc" --> doShift "media"
|
||||||
myWebApps = ["firefox", "thunderbird"]
|
, className =? "Virtualbox" --> doFloat
|
||||||
myMediaApps = ["vlc", "ncmpcpp", "weechat", "mplayer", "gimp"]
|
, className =? "Gimp" --> doFloat
|
||||||
mySystApps = ["ranger", "pcmanfm", "geany", "nitrogen"]
|
, (className =? "Firefox" <&&> resource =? "Dialog") --> doFloat -- Float Firefox Dialog
|
||||||
myFloatApps = ["file-roller", "nitrogen"]
|
]
|
||||||
myUnfloatApps = ["gimp"]
|
|
||||||
|
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
---LAYOUTS
|
---LAYOUTS
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
myLayoutHook = avoidStruts $ mouseResize $ windowArrange $ T.toggleLayouts floats $
|
myLayoutHook = avoidStruts $ mouseResize $ windowArrange $ T.toggleLayouts floats $
|
||||||
mkToggle (NBFULL ?? NOBORDERS ?? EOT) $ renamed [CutWordsLeft 4] $ maximize $
|
mkToggle (NBFULL ?? NOBORDERS ?? EOT) $ myDefaultLayout
|
||||||
minimize $ boringWindows $ spacing 0 $
|
|
||||||
myDevLayout $
|
|
||||||
myWebLayout $
|
|
||||||
mySysLayout $
|
|
||||||
myDocLayout $
|
|
||||||
myVboxLayout $
|
|
||||||
myChatLayout $
|
|
||||||
myMediaLayout $
|
|
||||||
myGfxLayout $
|
|
||||||
myDefaultLayout
|
|
||||||
where
|
where
|
||||||
myDevLayout = onWorkspace (myWorkspaces !! 0) $ grid ||| threeCol ||| threeRow ||| oneBig ||| floats
|
|
||||||
myWebLayout = onWorkspace (myWorkspaces !! 1) $ noBorders monocle ||| oneBig ||| threeCol ||| threeRow ||| grid
|
|
||||||
mySysLayout = onWorkspace (myWorkspaces !! 2) $ oneBig ||| threeCol ||| threeRow ||| grid
|
|
||||||
myDocLayout = onWorkspace (myWorkspaces !! 3) $ oneBig ||| threeCol ||| threeRow ||| grid
|
|
||||||
myVboxLayout = onWorkspace (myWorkspaces !! 4) $ noBorders monocle ||| oneBig ||| threeCol ||| threeRow ||| grid
|
|
||||||
myChatLayout = onWorkspace (myWorkspaces !! 5) $ grid ||| threeCol ||| threeRow ||| oneBig ||| floats
|
|
||||||
myMediaLayout = onWorkspace (myWorkspaces !! 6) $ noBorders monocle ||| oneBig ||| space ||| threeRow
|
|
||||||
myGfxLayout = onWorkspace (myWorkspaces !! 7) $ T.toggleLayouts gimp $ noBorders monocle ||| floats ||| grid
|
|
||||||
myDefaultLayout = grid ||| threeCol ||| threeRow ||| oneBig ||| noBorders monocle ||| space ||| floats
|
myDefaultLayout = grid ||| threeCol ||| threeRow ||| oneBig ||| noBorders monocle ||| space ||| floats
|
||||||
|
|
||||||
grid = renamed [Replace "grid"] $ limitWindows 12 $ spacing 4 $ mkToggle (single MIRROR) $ Grid (16/10)
|
grid = renamed [Replace "grid"] $ limitWindows 12 $ spacing 4 $ mkToggle (single MIRROR) $ Grid (16/10)
|
||||||
threeCol = renamed [Replace "threeCol"] $ limitWindows 3 $ ThreeCol 1 (3/100) (1/2)
|
threeCol = renamed [Replace "threeCol"] $ limitWindows 3 $ ThreeCol 1 (3/100) (1/2)
|
||||||
threeRow = renamed [Replace "threeRow"] $ limitWindows 3 $ Mirror $ mkToggle (single MIRROR) zoomRow
|
threeRow = renamed [Replace "threeRow"] $ limitWindows 3 $ Mirror $ mkToggle (single MIRROR) zoomRow
|
||||||
oneBig = renamed [Replace "oneBig"] $ limitWindows 6 $ Mirror $ mkToggle (single MIRROR) $ mkToggle (single REFLECTX) $ mkToggle (single REFLECTY) $ OneBig (5/9) (8/12)
|
oneBig = renamed [Replace "oneBig"] $ limitWindows 6 $ Mirror $ mkToggle (single MIRROR) $ mkToggle (single REFLECTX) $ mkToggle (single REFLECTY) $ OneBig (5/9) (8/12)
|
||||||
monocle = renamed [Replace "monocle"] $ limitWindows 20 Full
|
monocle = renamed [Replace "monocle"] $ limitWindows 20 $ Full
|
||||||
space = renamed [Replace "space"] $ limitWindows 4 $ spacing 36 $ Mirror $ mkToggle (single MIRROR) $ mkToggle (single REFLECTX) $ mkToggle (single REFLECTY) $ OneBig (2/3) (2/3)
|
space = renamed [Replace "space"] $ limitWindows 4 $ spacing 36 $ Mirror $ mkToggle (single MIRROR) $ mkToggle (single REFLECTX) $ mkToggle (single REFLECTY) $ OneBig (2/3) (2/3)
|
||||||
floats = renamed [Replace "floats"] $ limitWindows 20 simplestFloat
|
floats = renamed [Replace "floats"] $ limitWindows 20 $ simplestFloat
|
||||||
gimp = renamed [Replace "gimp"] $ limitWindows 5 $ withIM 0.11 (Role "gimp-toolbox") $ reflectHoriz $ withIM 0.15 (Role "gimp-dock") Full
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user