Adding new layouts to Xmonad.

This commit is contained in:
Derek Taylor
2021-04-20 17:54:29 -05:00
parent 23350a844b
commit 2b0560a6e5
8 changed files with 99 additions and 828 deletions

View File

@@ -69,6 +69,7 @@ import XMonad.Hooks.SetWMName
import XMonad.Hooks.WorkspaceHistory
-- Layouts
import XMonad.Layout.Accordion
import XMonad.Layout.GridVariants (Grid(Grid))
import XMonad.Layout.SimplestFloat
import XMonad.Layout.Spiral
@@ -300,7 +301,7 @@ grid = renamed [Replace "grid"]
$ addTabs shrinkText myTabTheme
$ subLayout [] (smartBorders Simplest)
$ limitWindows 12
$ mySpacing 0
$ mySpacing 8
$ mkToggle (single MIRROR)
$ Grid (16/10)
spirals = renamed [Replace "spirals"]
@@ -331,6 +332,10 @@ tabs = renamed [Replace "tabs"]
-- I cannot add spacing to this layout because it will
-- add spacing between window and tabs which looks bad.
$ tabbed shrinkText myTabTheme
tallAccordion = renamed [Replace "tallAccordion"]
$ Accordion
wideAccordion = renamed [Replace "wideAccordion"]
$ Mirror Accordion
-- setting colors for tabs layout and tabs sublayout.
myTabTheme = def { fontName = myFont
@@ -364,6 +369,8 @@ myLayoutHook = avoidStruts $ mouseResize $ windowArrange $ T.toggleLayouts float
||| spirals
||| threeCol
||| threeRow
||| tallAccordion
||| wideAccordion
#+END_SRC
* Workspaces
@@ -399,11 +406,11 @@ myManageHook = composeAll
, className =? "splash" --> doFloat
, className =? "toolbar" --> doFloat
, title =? "Oracle VM VirtualBox Manager" --> doFloat
, title =? "Mozilla Firefox" --> doShift ( myWorkspaces !! 1 )
, className =? "brave-browser" --> doShift ( myWorkspaces !! 1 )
, className =? "qutebrowser" --> doShift ( myWorkspaces !! 1 )
, className =? "mpv" --> doShift ( myWorkspaces !! 7 )
, className =? "Gimp" --> doShift ( myWorkspaces !! 8 )
, title =? "Mozilla Firefox" --> doShift ( myWorkspaces !! 1 )
, className =? "brave-browser" --> doShift ( myWorkspaces !! 1 )
, className =? "qutebrowser" --> doShift ( myWorkspaces !! 1 )
, className =? "mpv" --> doShift ( myWorkspaces !! 7 )
, className =? "Gimp" --> doShift ( myWorkspaces !! 8 )
, className =? "VirtualBox Manager" --> doShift ( myWorkspaces !! 4 )
, (className =? "firefox" <&&> resource =? "Dialog") --> doFloat -- Float Firefox Dialog
] <+> namedScratchpadManageHook myScratchPads
@@ -447,7 +454,7 @@ myKeys =
-- Run Prompt
-- M-p was the default keybinding. I've changed it to M-S-RET because I will use
-- M-p as part of the keychord for the other dmenu script bindings.
-- M-p as part of the keychord for the other dmenu script bindings.
, ("M-S-<Return>", spawn "dmenu_run -i -p \"Run: \"") -- Dmenu
-- Other Dmenu Prompts
@@ -524,7 +531,7 @@ myKeys =
, ("M-h", sendMessage Shrink) -- Shrink horiz window width
, ("M-l", sendMessage Expand) -- Expand horiz window width
, ("M-M1-j", sendMessage MirrorShrink) -- Shrink vert window width
, ("M-M1-k", sendMessage MirrorExpand) -- Exoand vert window width
, ("M-M1-k", sendMessage MirrorExpand) -- Expand vert window width
-- Sublayouts
-- This is used to push windows to tabbed sublayouts, or pull them out of it.
@@ -562,12 +569,14 @@ myKeys =
, ("C-e b", spawn (myEmacs ++ ("--eval '(ibuffer)'"))) -- list buffers
, ("C-e d", spawn (myEmacs ++ ("--eval '(dired nil)'"))) -- dired
, ("C-e i", spawn (myEmacs ++ ("--eval '(erc)'"))) -- erc irc client
, ("C-e m", spawn (myEmacs ++ ("--eval '(mu4e)'"))) -- mu4e email
, ("C-e m", spawn (myEmacs ++ ("--eval '(mu4e)'"))) -- mu4e email
, ("C-e n", spawn (myEmacs ++ ("--eval '(elfeed)'"))) -- elfeed rss
, ("C-e s", spawn (myEmacs ++ ("--eval '(eshell)'"))) -- eshell
, ("C-e t", spawn (myEmacs ++ ("--eval '(mastodon)'"))) -- mastodon.el
, ("C-e v", spawn (myEmacs ++ ("--eval '(vterm nil)'"))) -- vterm
, ("C-e w", spawn (myEmacs ++ ("--eval '(eww \"distrotube.com\")'"))) -- eww browser
-- , ("C-e v", spawn (myEmacs ++ ("--eval '(vterm nil)'"))) -- vterm if on GNU Emacs
, ("C-e v", spawn (myEmacs ++ ("--eval '(+vterm/here nil)'"))) -- vterm if on Doom Emacs
--, ("C-e w", spawn (myEmacs ++ ("--eval '(eww \"distrotube.com\")'"))) -- eww browser if on GNU Emacs
, ("C-e w", spawn (myEmacs ++ ("--eval '(doom/window-maximize-buffer(eww \"distrotube.com\"))'"))) -- eww browser if on Doom Emacs
-- emms is an emacs audio player. I set it to auto start playing in a specific directory.
, ("C-e a", spawn (myEmacs ++ ("--eval '(emms)' --eval '(emms-play-directory-tree \"~/Music/Non-Classical/70s-80s/\")'")))