Major edits to XMonad/Emacs in prep for DT's OS!

This commit is contained in:
Derek Taylor 2021-04-19 15:04:37 -05:00
parent a52c88da3f
commit f6fc3384d1
6 changed files with 138 additions and 139 deletions

View File

@ -66,89 +66,14 @@ URxvt.keysym.M-c: perl:clipboard:copy
URxvt.keysym.M-v: perl:clipboard:paste
URxvt*depth: 32
! Palenight Xresources palette
!! COLORS
!!URxvt*foreground: #bbc5ff
!!URxvt*background: [95]#282a36
!!URxvt*cursorColor: #bbc5ff
!!
!!XTerm*foreground: #bbc5ff
!!XTerm*background: #282a36
!!XTerm*cursorColor: #bbc5ff
!!
!!! black
!!*.color0: #101010 !! originally #292d3e
!!*.color8: #434758
!!
!!! red
!!*.color1: #f07178
!!*.color9: #ff8b92
!!
!!! green
!!*.color2: #c3e88d
!!*.color10: #ddffa7
!!
!!! yellow
!!*.color3: #ffcb6b
!!*.color11: #ffe585
!!
!!! blue
!!*.color4: #82aaff
!!*.color12: #9cc4ff
!!
!!! magenta
!!*.color5: #c792ea
!!*.color13: #e1acff
!!
!!! cyan
!!*.color6: #89ddff
!!*.color14: #a3f7ff
!!
!!! white
!!*.color7: #d0d0d0
!!*.color15: #ffffff
!!! special
!!*.foreground: #bbc2cf
!!*.background: #282c34
!!*.cursorColor: #bbc2cf
!!
!!! black
!!*.color0: #1c1f24
!!*.color8: #5b6268
!!
!!! red
!!*.color1: #ff6c6b
!!*.color9: #da8548
!!
!!! green
!!*.color2: #98be65
!!*.color10: #4db5bd
!!
!!! yellow
!!*.color3: #da8548
!!*.color11: #ecbe7b
!!
!!! blue
!!*.color4: #51afef
!!*.color12: #2257a0
!!
!!! magenta
!!*.color5: #c678dd
!!*.color13: #a9a1e1
!!
!!! cyan
!!*.color6: #5699af
!!*.color14: #46d9ff
!!
!!! white
!!*.color7: #202328
!!*.color15: #dfdfdf
!!
! COLORS FOR SXIV
Sxiv.foreground: #bbc2cf
Sxiv.background: #282c34
Sxiv.font: Ubuntu:style=bold:size=11
! special
! FOR ALL OTHER PROGRAMS USE XRESOURCES
! This includes xterm and urxvt
*.foreground: #bbc2cf
*.background: #282c34
*.cursorColor: #bbc2cf
@ -184,3 +109,4 @@ URxvt*depth: 32
! white
*.color7: #202328
*.color15: #dfdfdf

View File

@ -164,12 +164,12 @@ keys = [
desc='Move down a section in treetab'
),
### Window controls
Key([mod], "k",
lazy.layout.up(),
desc='Move focus down in current stack pane'
),
Key([mod], "j",
lazy.layout.down(),
desc='Move focus down in current stack pane'
),
Key([mod], "k",
lazy.layout.up(),
desc='Move focus up in current stack pane'
),
Key([mod, "shift"], "j",

View File

@ -76,12 +76,12 @@ keys = [
desc='Move down a section in treetab'
),
### Window controls
Key([mod], "k",
lazy.layout.up(),
desc='Move focus down in current stack pane'
),
Key([mod], "j",
lazy.layout.down(),
desc='Move focus down in current stack pane'
),
Key([mod], "k",
lazy.layout.up(),
desc='Move focus up in current stack pane'
),
Key([mod, "shift"], "j",

View File

@ -666,6 +666,8 @@ Emacs' default scrolling is annoying because of the sudden half-page jumps. Als
#+end_src
* SHELLS
In my configs, all of my shells (bash, fish, zsh and the ESHELL) require my shell-color-scripts-git package to be installed. On Arch Linux, you can install it from the AUR. Otherwise, go to my shell-color-scripts repository on GitLab to get it.
** Eshell
Eshell is an Emacs 'shell' that is written in Elisp.
@ -676,6 +678,7 @@ Eshell is an Emacs 'shell' that is written in Elisp.
#+end_src
+ 'eshell-syntax-highlighting' -- adds fish/zsh-like syntax highlighting.
+ 'eshell-rc-script' -- your profile for eshell; like a bashrc for eshell.
+ 'eshell-aliases-file' -- sets an aliases file for the eshell.
#+begin_src emacs-lisp
@ -683,7 +686,9 @@ Eshell is an Emacs 'shell' that is written in Elisp.
:after esh-mode
:config
(eshell-syntax-highlighting-global-mode +1))
(setq eshell-aliases-file "~/.config/doom/aliases"
(setq eshell-rc-script (concat user-emacs-directory "eshell/profile")
eshell-aliases-file (concat user-emacs-directory "eshell/aliases")
eshell-history-size 5000
eshell-buffer-maximum-lines 5000
eshell-hist-ignoredups t

View File

@ -120,8 +120,11 @@ myTerminal = "alacritty" -- Sets default terminal
myBrowser :: String
myBrowser = "qutebrowser " -- Sets qutebrowser as browser
myEmacs :: String
myEmacs = "emacsclient -c -a 'emacs' " -- Makes emacs keybindings easier to type
myEditor :: String
myEditor = "emacsclient -c -a emacs " -- Sets emacs as editor
myEditor = "emacsclient -c -a 'emacs' " -- Sets emacs as editor
-- myEditor = myTerminal ++ " -e vim " -- Sets vim as editor
myBorderWidth :: Dimension
@ -147,15 +150,17 @@ These are commands we want XMonad to execute on startup, such as running a compo
myStartupHook :: X ()
myStartupHook = do
spawnOnce "lxsession &"
spawnOnce "nitrogen --restore &"
spawnOnce "~/.fehbg &" -- set last saved wallpaper
-- spawnOnce "feh --randomize --bg-fill ~/wallpapers/*" -- set random wallpaper
spawnOnce "picom &"
spawnOnce "nm-applet &"
spawnOnce "volumeicon &"
spawnOnce "conky -c $HOME/.config/conky/xmonad.conkyrc"
spawnOnce "trayer --edge top --align right --widthtype request --padding 6 --SetDockType true --SetPartialStrut true --expand true --monitor 1 --transparent true --alpha 0 --tint 0x282c34 --height 22 &"
spawnOnce "conky -c $HOME/.config/conky/chimera.conkyrc" -- emacs daemon for the emacsclient
spawnOnce "/usr/bin/emacs --daemon &" -- emacs daemon for the emacsclient
-- spawnOnce "kak -d -s mysession &" -- kakoune daemon for better performance
-- spawnOnce "urxvtd -q -o -f &" -- urxvt daemon for better performance
-- spawnOnce "nitrogen --restore &" -- if you prefer nitrogen to feh for wallpaper setter
setWMName "LG3D"
#+END_SRC
@ -215,6 +220,7 @@ Allows to have several floating scratchpads running different applications. Imp
myScratchPads :: [NamedScratchpad]
myScratchPads = [ NS "terminal" spawnTerm findTerm manageTerm
, NS "mocp" spawnMocp findMocp manageMocp
, NS "calculator" spawnCalc findCalc manageCalc
]
where
spawnTerm = myTerminal ++ " -t scratchpad"
@ -232,7 +238,15 @@ myScratchPads = [ NS "terminal" spawnTerm findTerm manageTerm
h = 0.9
w = 0.9
t = 0.95 -h
l = 0.95 -w
l = 0.95 -w
spawnCalc = "qalculate-gtk"
findCalc = className =? "Qalculate-gtk"
manageCalc = customFloating $ W.RationalRect l t w h
where
h = 0.5
w = 0.4
t = 0.75 -h
l = 0.70 -w
#+END_SRC
* Layouts
@ -357,7 +371,7 @@ I have made my workspaces in xmobar "clickable." Clickable workspaces means the
#+begin_src haskell
-- myWorkspaces = [" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 "]
myWorkspaces = [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "] -- ++ ["NSP"]
myWorkspaces = [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "]
myWorkspaceIndices = M.fromList $ zipWith (,) myWorkspaces [1..] -- (,) == \x y -> (x,y)
clickable ws = "<action=xdotool key super+"++show i++">"++ws++"</action>"
@ -370,17 +384,28 @@ Sets some rules for certain programs. Examples include forcing certain programs
#+BEGIN_SRC haskell
myManageHook :: XMonad.Query (Data.Monoid.Endo WindowSet)
myManageHook = composeAll
-- 'doFloat' forces a window to float. Useful for dialog boxes and such.
-- using 'doShift ( myWorkspaces !! 7)' sends program to workspace 8!
-- I'm doing it this way because otherwise I would have to write out the full
-- name of my workspaces and the names would be very long if using clickable workspaces.
[ title =? "Mozilla Firefox" --> doShift ( myWorkspaces !! 1 )
, className =? "mpv" --> doShift ( myWorkspaces !! 7 )
, className =? "Gimp" --> doShift ( myWorkspaces !! 8 )
, className =? "Gimp" --> doFloat
, title =? "Oracle VM VirtualBox Manager" --> doFloat
[ className =? "confirm" --> doFloat
, className =? "file_progress" --> doFloat
, className =? "dialog" --> doFloat
, className =? "download" --> doFloat
, className =? "error" --> doFloat
, className =? "Gimp" --> doFloat
, className =? "notification" --> doFloat
, className =? "pinentry-gtk-2" --> doFloat
, 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 =? "VirtualBox Manager" --> doShift ( myWorkspaces !! 4 )
, (className =? "firefox" <&&> resource =? "Dialog") --> doFloat -- Float Firefox Dialog
] <+> namedScratchpadManageHook myScratchPads
] <+> namedScratchpadManageHook myScratchPads
#+END_SRC
* Keybindings
@ -503,14 +528,23 @@ myKeys =
, ("M-C-k", sendMessage $ pullGroup U)
, ("M-C-j", sendMessage $ pullGroup D)
, ("M-C-m", withFocused (sendMessage . MergeAll))
, ("M-C-u", withFocused (sendMessage . UnMerge))
-- , ("M-C-u", withFocused (sendMessage . UnMerge))
, ("M-C-/", withFocused (sendMessage . UnMergeAll))
, ("M-C-.", onGroup W.focusUp') -- Switch focus to next tab
, ("M-C-,", onGroup W.focusDown') -- Switch focus to prev tab
-- Scratchpads
, ("M-C-<Return>", namedScratchpadAction myScratchPads "terminal")
, ("M-C-c", namedScratchpadAction myScratchPads "mocp")
-- Toggle show/hide these programs. They run on a hidden workspace.
-- When you toggle them to show, it brings them to your current workspace.
-- Toggle them to hide and it sends them back to hidden workspace (NSP).
, ("C-s t", namedScratchpadAction myScratchPads "terminal")
, ("C-s m", namedScratchpadAction myScratchPads "mocp")
, ("C-s c", namedScratchpadAction myScratchPads "calculator")
-- Set wallpaper with 'feh'. Type 'SUPER+F1' to launch sxiv in the wallpapers directory.
-- Then in sxiv, type 'C-x w' to set the wallpaper that you choose.
, ("M-<F1>", spawn "sxiv -r -q -t -o ~/wallpapers/*")
, ("M-<F2>", spawn "feh --randomize --bg-fill ~/wallpapers/*")
-- Controls for mocp music player (SUPER-u followed by a key)
, ("M-u p", spawn "mocp --play")
@ -519,18 +553,18 @@ myKeys =
, ("M-u <Space>", spawn "mocp --toggle-pause")
-- Emacs (CTRL-e followed by a key)
, ("C-e e", spawn "emacsclient -c -a 'emacs'") -- start emacs
, ("C-e b", spawn "emacsclient -c -a 'emacs' --eval '(ibuffer)'") -- list emacs buffers
, ("C-e d", spawn "emacsclient -c -a 'emacs' --eval '(dired nil)'") -- dired emacs file manager
, ("C-e i", spawn "emacsclient -c -a 'emacs' --eval '(erc)'") -- erc emacs irc client
, ("C-e m", spawn "emacsclient -c -a 'emacs' --eval '(mu4e)'") -- mu4e emacs email client
, ("C-e n", spawn "emacsclient -c -a 'emacs' --eval '(elfeed)'") -- elfeed emacs rss client
, ("C-e s", spawn "emacsclient -c -a 'emacs' --eval '(eshell)'") -- eshell within emacs
, ("C-e t", spawn "emacsclient -c -a 'emacs' --eval '(mastodon)'") -- mastodon within emacs
, ("C-e v", spawn "emacsclient -c -a 'emacs' --eval '(vterm nil)'") -- vterm within emacs
, ("C-e w", spawn "emacsclient -c -a 'emacs' --eval '(eww \"distrotube.com\")'") -- vterm within emacs
, ("C-e e", spawn myEmacs) -- start emacs
, ("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 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
-- emms is an emacs audio player. I set it to auto start playing in a specific directory.
, ("C-e a", spawn "emacsclient -c -a 'emacs' --eval '(emms)' --eval '(emms-play-directory-tree \"~/Music/Non-Classical/70s-80s/\")'")
, ("C-e a", spawn (myEmacs ++ ("--eval '(emms)' --eval '(emms-play-directory-tree \"~/Music/Non-Classical/70s-80s/\")'")))
-- Multimedia Keys
, ("<XF86AudioPlay>", spawn (myTerminal ++ "mocp --play"))

View File

@ -80,8 +80,11 @@ myTerminal = "alacritty" -- Sets default terminal
myBrowser :: String
myBrowser = "qutebrowser " -- Sets qutebrowser as browser
myEmacs :: String
myEmacs = "emacsclient -c -a 'emacs' " -- Makes emacs keybindings easier to type
myEditor :: String
myEditor = "emacsclient -c -a emacs " -- Sets emacs as editor
myEditor = "emacsclient -c -a 'emacs' " -- Sets emacs as editor
-- myEditor = myTerminal ++ " -e vim " -- Sets vim as editor
myBorderWidth :: Dimension
@ -102,15 +105,17 @@ windowCount = gets $ Just . show . length . W.integrate' . W.stack . W.workspace
myStartupHook :: X ()
myStartupHook = do
spawnOnce "lxsession &"
spawnOnce "nitrogen --restore &"
spawnOnce "~/.fehbg &" -- set last saved wallpaper
-- spawnOnce "feh --randomize --bg-fill ~/wallpapers/*" -- set random wallpaper
spawnOnce "picom &"
spawnOnce "nm-applet &"
spawnOnce "volumeicon &"
spawnOnce "conky -c $HOME/.config/conky/xmonad.conkyrc"
spawnOnce "trayer --edge top --align right --widthtype request --padding 6 --SetDockType true --SetPartialStrut true --expand true --monitor 1 --transparent true --alpha 0 --tint 0x282c34 --height 22 &"
spawnOnce "conky -c $HOME/.config/conky/chimera.conkyrc" -- emacs daemon for the emacsclient
spawnOnce "/usr/bin/emacs --daemon &" -- emacs daemon for the emacsclient
-- spawnOnce "kak -d -s mysession &" -- kakoune daemon for better performance
-- spawnOnce "urxvtd -q -o -f &" -- urxvt daemon for better performance
-- spawnOnce "nitrogen --restore &" -- if you prefer nitrogen to feh for wallpaper setter
setWMName "LG3D"
myColorizer :: Window -> Bool -> X (String, String)
@ -160,6 +165,7 @@ myAppGrid = [ ("Audacity", "audacity")
myScratchPads :: [NamedScratchpad]
myScratchPads = [ NS "terminal" spawnTerm findTerm manageTerm
, NS "mocp" spawnMocp findMocp manageMocp
, NS "calculator" spawnCalc findCalc manageCalc
]
where
spawnTerm = myTerminal ++ " -t scratchpad"
@ -177,7 +183,15 @@ myScratchPads = [ NS "terminal" spawnTerm findTerm manageTerm
h = 0.9
w = 0.9
t = 0.95 -h
l = 0.95 -w
l = 0.95 -w
spawnCalc = "qalculate-gtk"
findCalc = className =? "Qalculate-gtk"
manageCalc = customFloating $ W.RationalRect l t w h
where
h = 0.5
w = 0.4
t = 0.75 -h
l = 0.70 -w
--Makes setting the spacingRaw simpler to write. The spacingRaw module adds a configurable amount of space around windows.
mySpacing :: Integer -> l a -> XMonad.Layout.LayoutModifier.ModifiedLayout Spacing l a
@ -292,7 +306,7 @@ myLayoutHook = avoidStruts $ mouseResize $ windowArrange $ T.toggleLayouts float
||| threeRow
-- myWorkspaces = [" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 "]
myWorkspaces = [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "] -- ++ ["NSP"]
myWorkspaces = [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "]
myWorkspaceIndices = M.fromList $ zipWith (,) myWorkspaces [1..] -- (,) == \x y -> (x,y)
clickable ws = "<action=xdotool key super+"++show i++">"++ws++"</action>"
@ -300,14 +314,25 @@ clickable ws = "<action=xdotool key super+"++show i++">"++ws++"</action>"
myManageHook :: XMonad.Query (Data.Monoid.Endo WindowSet)
myManageHook = composeAll
-- 'doFloat' forces a window to float. Useful for dialog boxes and such.
-- using 'doShift ( myWorkspaces !! 7)' sends program to workspace 8!
-- I'm doing it this way because otherwise I would have to write out the full
-- name of my workspaces and the names would be very long if using clickable workspaces.
[ title =? "Mozilla Firefox" --> doShift ( myWorkspaces !! 1 )
, className =? "mpv" --> doShift ( myWorkspaces !! 7 )
, className =? "Gimp" --> doShift ( myWorkspaces !! 8 )
, className =? "Gimp" --> doFloat
, title =? "Oracle VM VirtualBox Manager" --> doFloat
[ className =? "confirm" --> doFloat
, className =? "file_progress" --> doFloat
, className =? "dialog" --> doFloat
, className =? "download" --> doFloat
, className =? "error" --> doFloat
, className =? "Gimp" --> doFloat
, className =? "notification" --> doFloat
, className =? "pinentry-gtk-2" --> doFloat
, 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 =? "VirtualBox Manager" --> doShift ( myWorkspaces !! 4 )
, (className =? "firefox" <&&> resource =? "Dialog") --> doFloat -- Float Firefox Dialog
] <+> namedScratchpadManageHook myScratchPads
@ -403,14 +428,23 @@ myKeys =
, ("M-C-k", sendMessage $ pullGroup U)
, ("M-C-j", sendMessage $ pullGroup D)
, ("M-C-m", withFocused (sendMessage . MergeAll))
, ("M-C-u", withFocused (sendMessage . UnMerge))
-- , ("M-C-u", withFocused (sendMessage . UnMerge))
, ("M-C-/", withFocused (sendMessage . UnMergeAll))
, ("M-C-.", onGroup W.focusUp') -- Switch focus to next tab
, ("M-C-,", onGroup W.focusDown') -- Switch focus to prev tab
-- Scratchpads
, ("M-C-<Return>", namedScratchpadAction myScratchPads "terminal")
, ("M-C-c", namedScratchpadAction myScratchPads "mocp")
-- Toggle show/hide these programs. They run on a hidden workspace.
-- When you toggle them to show, it brings them to your current workspace.
-- Toggle them to hide and it sends them back to hidden workspace (NSP).
, ("C-s t", namedScratchpadAction myScratchPads "terminal")
, ("C-s m", namedScratchpadAction myScratchPads "mocp")
, ("C-s c", namedScratchpadAction myScratchPads "calculator")
-- Set wallpaper with 'feh'. Type 'SUPER+F1' to launch sxiv in the wallpapers directory.
-- Then in sxiv, type 'C-x w' to set the wallpaper that you choose.
, ("M-<F1>", spawn "sxiv -r -q -t -o ~/wallpapers/*")
, ("M-<F2>", spawn "feh --randomize --bg-fill ~/wallpapers/*")
-- Controls for mocp music player (SUPER-u followed by a key)
, ("M-u p", spawn "mocp --play")
@ -419,18 +453,18 @@ myKeys =
, ("M-u <Space>", spawn "mocp --toggle-pause")
-- Emacs (CTRL-e followed by a key)
, ("C-e e", spawn "emacsclient -c -a 'emacs'") -- start emacs
, ("C-e b", spawn "emacsclient -c -a 'emacs' --eval '(ibuffer)'") -- list emacs buffers
, ("C-e d", spawn "emacsclient -c -a 'emacs' --eval '(dired nil)'") -- dired emacs file manager
, ("C-e i", spawn "emacsclient -c -a 'emacs' --eval '(erc)'") -- erc emacs irc client
, ("C-e m", spawn "emacsclient -c -a 'emacs' --eval '(mu4e)'") -- mu4e emacs email client
, ("C-e n", spawn "emacsclient -c -a 'emacs' --eval '(elfeed)'") -- elfeed emacs rss client
, ("C-e s", spawn "emacsclient -c -a 'emacs' --eval '(eshell)'") -- eshell within emacs
, ("C-e t", spawn "emacsclient -c -a 'emacs' --eval '(mastodon)'") -- mastodon within emacs
, ("C-e v", spawn "emacsclient -c -a 'emacs' --eval '(vterm nil)'") -- vterm within emacs
, ("C-e w", spawn "emacsclient -c -a 'emacs' --eval '(eww \"distrotube.com\")'") -- vterm within emacs
, ("C-e e", spawn myEmacs) -- start emacs
, ("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 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
-- emms is an emacs audio player. I set it to auto start playing in a specific directory.
, ("C-e a", spawn "emacsclient -c -a 'emacs' --eval '(emms)' --eval '(emms-play-directory-tree \"~/Music/Non-Classical/70s-80s/\")'")
, ("C-e a", spawn (myEmacs ++ ("--eval '(emms)' --eval '(emms-play-directory-tree \"~/Music/Non-Classical/70s-80s/\")'")))
-- Multimedia Keys
, ("<XF86AudioPlay>", spawn (myTerminal ++ "mocp --play"))