mirror of
https://gitlab.com/dwt1/dotfiles.git
synced 2026-08-11 02:21:14 +10:00
Minor edits.
This commit is contained in:
@@ -165,10 +165,6 @@ alias status='git status'
|
|||||||
alias tag='git tag'
|
alias tag='git tag'
|
||||||
alias newtag='git tag -a'
|
alias newtag='git tag -a'
|
||||||
|
|
||||||
# shutdown or reboot
|
|
||||||
alias ssn="sudo shutdown now"
|
|
||||||
alias sr="sudo reboot"
|
|
||||||
|
|
||||||
# Merge Xresources
|
# Merge Xresources
|
||||||
alias merge='xrdb -merge ~/.Xresources'
|
alias merge='xrdb -merge ~/.Xresources'
|
||||||
|
|
||||||
|
|||||||
@@ -332,10 +332,6 @@ alias psmem10='ps auxf | sort -nr -k 4 | head -10'
|
|||||||
alias pscpu='ps auxf | sort -nr -k 3'
|
alias pscpu='ps auxf | sort -nr -k 3'
|
||||||
alias pscpu10='ps auxf | sort -nr -k 3 | head -10'
|
alias pscpu10='ps auxf | sort -nr -k 3 | head -10'
|
||||||
|
|
||||||
# shutdown or reboot
|
|
||||||
alias ssn="sudo shutdown now"
|
|
||||||
alias sr="sudo reboot"
|
|
||||||
|
|
||||||
# Merge Xresources
|
# Merge Xresources
|
||||||
alias merge='xrdb -merge ~/.Xresources'
|
alias merge='xrdb -merge ~/.Xresources'
|
||||||
|
|
||||||
|
|||||||
@@ -59,9 +59,10 @@ import os
|
|||||||
import re
|
import re
|
||||||
import socket
|
import socket
|
||||||
import subprocess
|
import subprocess
|
||||||
from libqtile.config import Key, Screen, Group, Drag, Click
|
from libqtile.config import KeyChord. Key, Screen, Group, Drag, Click
|
||||||
from libqtile.command import lazy
|
from libqtile.command import lazy
|
||||||
from libqtile import layout, bar, widget, hook
|
from libqtile import layout, bar, widget, hook
|
||||||
|
from libqtile.lazy import lazy
|
||||||
from typing import List # noqa: F401
|
from typing import List # noqa: F401
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
@@ -232,7 +233,6 @@ keys = [
|
|||||||
desc='Passmenu'
|
desc='Passmenu'
|
||||||
),
|
),
|
||||||
Key(["mod1", "control"], "r",
|
Key(["mod1", "control"], "r",
|
||||||
lazy.spawn("./.dmenu/dmenu-reddio.sh"),
|
|
||||||
desc='Dmenu reddio script'
|
desc='Dmenu reddio script'
|
||||||
),
|
),
|
||||||
Key(["mod1", "control"], "s",
|
Key(["mod1", "control"], "s",
|
||||||
|
|||||||
+31
-6
@@ -58,8 +58,12 @@
|
|||||||
(stumpwm:gnewbg "Eight")
|
(stumpwm:gnewbg "Eight")
|
||||||
(stumpwm:toggle-mode-line (stumpwm:current-screen) (stumpwm:current-head))
|
(stumpwm:toggle-mode-line (stumpwm:current-screen) (stumpwm:current-head))
|
||||||
|
|
||||||
;; change the prefix key to something else
|
;; I change the prefix key to something else besides a keychord.
|
||||||
(set-prefix-key (kbd "C-z"))
|
;; The following three lines are a dirty hack to make SUPER the prefix key.
|
||||||
|
;; This was originally (set-prefix-key (kbd "C-t"))
|
||||||
|
(run-shell-command "xmodmap -e 'clear mod4'" t)
|
||||||
|
(run-shell-command "xmodmap -e \'keycode 133 = F20\'" t)
|
||||||
|
(set-prefix-key (kbd "F20"))
|
||||||
|
|
||||||
;; prompt the user for an interactive command. The first arg is an
|
;; prompt the user for an interactive command. The first arg is an
|
||||||
;; optional initial contents.
|
;; optional initial contents.
|
||||||
@@ -68,13 +72,35 @@
|
|||||||
(when cmd
|
(when cmd
|
||||||
(eval-command cmd t))))
|
(eval-command cmd t))))
|
||||||
|
|
||||||
(define-key *root-map* (kbd "q") "quit")
|
(define-key *root-map* (kbd "Q") "quit")
|
||||||
|
(define-key *root-map* (kbd "R") "restart-hard")
|
||||||
|
(define-key *root-map* (kbd "c") "command-mode")
|
||||||
|
|
||||||
|
;; (define-key *root-map* (kbd "h") "move-focus left")
|
||||||
|
;; (define-key *root-map* (kbd "j") "move-focus down")
|
||||||
|
;; (define-key *root-map* (kbd "k") "move-focus up")
|
||||||
|
;; (define-key *root-map* (kbd "l") "move-focus left")
|
||||||
|
|
||||||
|
;; Interactive keymap activated by hitting the SUPER+backslash
|
||||||
|
;; Then you can simply use h,j,k,l to move focus, or
|
||||||
|
;; H,J,K,L to move windows. Esc will exit this keymap.
|
||||||
|
(define-interactive-keymap imove-window nil
|
||||||
|
((kbd "h") "move-focus left")
|
||||||
|
((kbd "j") "move-focus down")
|
||||||
|
((kbd "k") "move-focus up")
|
||||||
|
((kbd "l") "move-focus right")
|
||||||
|
((kbd "H") "move-window left")
|
||||||
|
((kbd "J") "move-window down")
|
||||||
|
((kbd "K") "move-window up")
|
||||||
|
((kbd "L") "move-window right"))
|
||||||
|
(define-key *top-map* (kbd "C-\\") "imove-window")
|
||||||
|
|
||||||
(define-key *root-map* (kbd "C-m") "mode-line")
|
(define-key *root-map* (kbd "C-m") "mode-line")
|
||||||
;; Launch My Terminal (st)
|
;; Launch My Terminal (st)
|
||||||
(define-key *root-map* (kbd "RET") "exec alacritty")
|
(define-key *root-map* (kbd "RET") "exec alacritty -e fish")
|
||||||
(define-key *root-map* (kbd "C-c") "exec st")
|
(define-key *root-map* (kbd "C-c") "exec st")
|
||||||
;; Launch Emacs
|
;; Launch Emacs
|
||||||
(define-key *root-map* (kbd "S-RET") "exec emacsclient -c")
|
(define-key *root-map* (kbd "e") "exec emacsclient -c -a")
|
||||||
;; Launch Dmenu
|
;; Launch Dmenu
|
||||||
(define-key *root-map* (kbd "d") "exec dmenu_run")
|
(define-key *root-map* (kbd "d") "exec dmenu_run")
|
||||||
;; My Dmenu Scripts
|
;; My Dmenu Scripts
|
||||||
@@ -108,7 +134,6 @@
|
|||||||
(set-font "-xos4-terminus-medium-r-normal--13-140-72-72-c-80-iso8859-14")
|
(set-font "-xos4-terminus-medium-r-normal--13-140-72-72-c-80-iso8859-14")
|
||||||
|
|
||||||
;;; Define window placement policy...
|
;;; Define window placement policy...
|
||||||
|
|
||||||
;; Clear rules
|
;; Clear rules
|
||||||
(clear-window-placement-rules)
|
(clear-window-placement-rules)
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ xresources
|
|||||||
zsh
|
zsh
|
||||||
quit")
|
quit")
|
||||||
|
|
||||||
choice=$(echo -e "${options[@]}" | dmenu -i -p 'Edit config file: ')
|
choice=$(echo -e "${options[@]}" | dmenu -p 'Edit config file: ')
|
||||||
|
|
||||||
case "$choice" in
|
case "$choice" in
|
||||||
quit)
|
quit)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
#
|
#
|
||||||
# Dmenu script for launching surfaw, a command line search utility.
|
# Dmenu script for launching surfaw, a command line search utility.
|
||||||
|
|
||||||
cmd="dmenu -i"
|
cmd="dmenu"
|
||||||
|
|
||||||
while [ -z "$engine" ]; do
|
while [ -z "$engine" ]; do
|
||||||
engine=$(sr -elvi | gawk '{if (NR!=1) { print $1 }}' | $cmd -p "Search engine?") || exit
|
engine=$(sr -elvi | gawk '{if (NR!=1) { print $1 }}' | $cmd -p "Search engine?") || exit
|
||||||
|
|||||||
+126
-79
@@ -19,6 +19,8 @@
|
|||||||
- [[#scratchpads][Scratchpads]]
|
- [[#scratchpads][Scratchpads]]
|
||||||
- [[#layouts][Layouts]]
|
- [[#layouts][Layouts]]
|
||||||
- [[#workspaces][Workspaces]]
|
- [[#workspaces][Workspaces]]
|
||||||
|
- [[#standard-non-clickable-workspaces][Standard Non-Clickable Workspaces]]
|
||||||
|
- [[#clickable-workspaces][Clickable Workspaces]]
|
||||||
- [[#managehook][Managehook]]
|
- [[#managehook][Managehook]]
|
||||||
- [[#loghook][Loghook]]
|
- [[#loghook][Loghook]]
|
||||||
- [[#keybindings][Keybindings]]
|
- [[#keybindings][Keybindings]]
|
||||||
@@ -61,7 +63,7 @@ import XMonad.Actions.WithAll (sinkAll, killAll)
|
|||||||
import qualified XMonad.Actions.Search as S
|
import qualified XMonad.Actions.Search as S
|
||||||
|
|
||||||
-- Data
|
-- Data
|
||||||
import Data.Char (isSpace)
|
import Data.Char (isSpace, toUpper)
|
||||||
import Data.Monoid
|
import Data.Monoid
|
||||||
import Data.Maybe (isJust)
|
import Data.Maybe (isJust)
|
||||||
import Data.Tree
|
import Data.Tree
|
||||||
@@ -92,9 +94,12 @@ import XMonad.Layout.Magnifier
|
|||||||
import XMonad.Layout.MultiToggle (mkToggle, single, EOT(EOT), (??))
|
import XMonad.Layout.MultiToggle (mkToggle, single, EOT(EOT), (??))
|
||||||
import XMonad.Layout.MultiToggle.Instances (StdTransformers(NBFULL, MIRROR, NOBORDERS))
|
import XMonad.Layout.MultiToggle.Instances (StdTransformers(NBFULL, MIRROR, NOBORDERS))
|
||||||
import XMonad.Layout.NoBorders
|
import XMonad.Layout.NoBorders
|
||||||
import XMonad.Layout.Renamed (renamed, Rename(Replace))
|
import XMonad.Layout.Renamed
|
||||||
import XMonad.Layout.ShowWName
|
import XMonad.Layout.ShowWName
|
||||||
|
import XMonad.Layout.Simplest
|
||||||
import XMonad.Layout.Spacing
|
import XMonad.Layout.Spacing
|
||||||
|
import XMonad.Layout.SubLayouts
|
||||||
|
import XMonad.Layout.WindowNavigation
|
||||||
import XMonad.Layout.WindowArranger (windowArrange, WindowArrangerMsg(..))
|
import XMonad.Layout.WindowArranger (windowArrange, WindowArrangerMsg(..))
|
||||||
import qualified XMonad.Layout.ToggleLayouts as T (toggleLayouts, ToggleLayout(Toggle))
|
import qualified XMonad.Layout.ToggleLayouts as T (toggleLayouts, ToggleLayout(Toggle))
|
||||||
import qualified XMonad.Layout.MultiToggle as MT (Toggle(..))
|
import qualified XMonad.Layout.MultiToggle as MT (Toggle(..))
|
||||||
@@ -105,7 +110,7 @@ import XMonad.Prompt.Input
|
|||||||
import XMonad.Prompt.FuzzyMatch
|
import XMonad.Prompt.FuzzyMatch
|
||||||
import XMonad.Prompt.Man
|
import XMonad.Prompt.Man
|
||||||
import XMonad.Prompt.Pass
|
import XMonad.Prompt.Pass
|
||||||
import XMonad.Prompt.Shell (shellPrompt)
|
import XMonad.Prompt.Shell
|
||||||
import XMonad.Prompt.Ssh
|
import XMonad.Prompt.Ssh
|
||||||
import XMonad.Prompt.XMonad
|
import XMonad.Prompt.XMonad
|
||||||
import Control.Arrow (first)
|
import Control.Arrow (first)
|
||||||
@@ -145,7 +150,7 @@ myNormColor :: String
|
|||||||
myNormColor = "#282c34" -- Border color of normal windows
|
myNormColor = "#282c34" -- Border color of normal windows
|
||||||
|
|
||||||
myFocusColor :: String
|
myFocusColor :: String
|
||||||
myFocusColor = "#bbc5ff" -- Border color of focused windows
|
myFocusColor = "#46d9ff" -- Border color of focused windows
|
||||||
|
|
||||||
altMask :: KeyMask
|
altMask :: KeyMask
|
||||||
altMask = mod1Mask -- Setting this for use in xprompts
|
altMask = mod1Mask -- Setting this for use in xprompts
|
||||||
@@ -555,8 +560,11 @@ dtXPConfig = def
|
|||||||
, showCompletionOnTab = False
|
, showCompletionOnTab = False
|
||||||
-- , searchPredicate = isPrefixOf
|
-- , searchPredicate = isPrefixOf
|
||||||
, searchPredicate = fuzzyMatch
|
, searchPredicate = fuzzyMatch
|
||||||
|
, defaultPrompter = id $ map toUpper -- change prompt to UPPER
|
||||||
|
-- , defaultPrompter = unwords . map reverse . words -- reverse the prompt
|
||||||
|
-- , defaultPrompter = drop 5 .id (++ "XXXX: ") -- drop first 5 chars of prompt and add XXXX:
|
||||||
, alwaysHighlight = True
|
, alwaysHighlight = True
|
||||||
, maxComplRows = Nothing -- set to Just 5 for 5 rows
|
, maxComplRows = Nothing -- set to 'Just 5' for 5 rows
|
||||||
}
|
}
|
||||||
|
|
||||||
-- The same config above minus the autocomplete feature which is annoying
|
-- The same config above minus the autocomplete feature which is annoying
|
||||||
@@ -583,6 +591,9 @@ promptList' = [ ("c", calcPrompt, "qalc") -- requires qalculate-gtk
|
|||||||
]
|
]
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
: <interactive>:48:15: error: parse error on input ‘]’
|
||||||
|
|
||||||
** Custom Prompts
|
** Custom Prompts
|
||||||
calcPrompt requires a cli calculator called qalcualte-gtk. You could use this as a template for other custom prompts that use command line programs that return a single line of output.
|
calcPrompt requires a cli calculator called qalcualte-gtk. You could use this as a template for other custom prompts that use command line programs that return a single line of output.
|
||||||
|
|
||||||
@@ -593,7 +604,6 @@ calcPrompt c ans =
|
|||||||
where
|
where
|
||||||
trim = f . f
|
trim = f . f
|
||||||
where f = reverse . dropWhile isSpace
|
where f = reverse . dropWhile isSpace
|
||||||
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Xprompt Keymap
|
** Xprompt Keymap
|
||||||
@@ -715,31 +725,55 @@ mySpacing' i = spacingRaw True (Border i i i i) True (Border i i i i) True
|
|||||||
|
|
||||||
-- Defining a bunch of layouts, many that I don't use.
|
-- Defining a bunch of layouts, many that I don't use.
|
||||||
tall = renamed [Replace "tall"]
|
tall = renamed [Replace "tall"]
|
||||||
|
$ windowNavigation
|
||||||
|
$ addTabs shrinkText myTabTheme
|
||||||
|
$ subLayout [] (smartBorders Simplest)
|
||||||
$ limitWindows 12
|
$ limitWindows 12
|
||||||
$ mySpacing 8
|
$ mySpacing 8
|
||||||
$ ResizableTall 1 (3/100) (1/2) []
|
$ ResizableTall 1 (3/100) (1/2) []
|
||||||
magnify = renamed [Replace "magnify"]
|
magnify = renamed [Replace "magnify"]
|
||||||
|
$ windowNavigation
|
||||||
|
$ addTabs shrinkText myTabTheme
|
||||||
|
$ subLayout [] (smartBorders Simplest)
|
||||||
$ magnifier
|
$ magnifier
|
||||||
$ limitWindows 12
|
$ limitWindows 12
|
||||||
$ mySpacing 8
|
$ mySpacing 8
|
||||||
$ ResizableTall 1 (3/100) (1/2) []
|
$ ResizableTall 1 (3/100) (1/2) []
|
||||||
monocle = renamed [Replace "monocle"]
|
monocle = renamed [Replace "monocle"]
|
||||||
|
$ windowNavigation
|
||||||
|
$ addTabs shrinkText myTabTheme
|
||||||
|
$ subLayout [] (smartBorders Simplest)
|
||||||
$ limitWindows 20 Full
|
$ limitWindows 20 Full
|
||||||
floats = renamed [Replace "floats"]
|
floats = renamed [Replace "floats"]
|
||||||
|
$ windowNavigation
|
||||||
|
$ addTabs shrinkText myTabTheme
|
||||||
|
$ subLayout [] (smartBorders Simplest)
|
||||||
$ limitWindows 20 simplestFloat
|
$ limitWindows 20 simplestFloat
|
||||||
grid = renamed [Replace "grid"]
|
grid = renamed [Replace "grid"]
|
||||||
|
$ windowNavigation
|
||||||
|
$ addTabs shrinkText myTabTheme
|
||||||
|
$ subLayout [] (smartBorders Simplest)
|
||||||
$ limitWindows 12
|
$ limitWindows 12
|
||||||
$ mySpacing 8
|
$ mySpacing 8
|
||||||
$ mkToggle (single MIRROR)
|
$ mkToggle (single MIRROR)
|
||||||
$ Grid (16/10)
|
$ Grid (16/10)
|
||||||
spirals = renamed [Replace "spirals"]
|
spirals = renamed [Replace "spirals"]
|
||||||
|
$ windowNavigation
|
||||||
|
$ addTabs shrinkText myTabTheme
|
||||||
|
$ subLayout [] (smartBorders Simplest)
|
||||||
$ mySpacing' 8
|
$ mySpacing' 8
|
||||||
$ spiral (6/7)
|
$ spiral (6/7)
|
||||||
threeCol = renamed [Replace "threeCol"]
|
threeCol = renamed [Replace "threeCol"]
|
||||||
|
$ windowNavigation
|
||||||
|
$ addTabs shrinkText myTabTheme
|
||||||
|
$ subLayout [] (smartBorders Simplest)
|
||||||
$ limitWindows 7
|
$ limitWindows 7
|
||||||
$ mySpacing' 4
|
$ mySpacing' 4
|
||||||
$ ThreeCol 1 (3/100) (1/2)
|
$ ThreeCol 1 (3/100) (1/2)
|
||||||
threeRow = renamed [Replace "threeRow"]
|
threeRow = renamed [Replace "threeRow"]
|
||||||
|
$ windowNavigation
|
||||||
|
$ addTabs shrinkText myTabTheme
|
||||||
|
$ subLayout [] (smartBorders Simplest)
|
||||||
$ limitWindows 7
|
$ limitWindows 7
|
||||||
$ mySpacing' 4
|
$ mySpacing' 4
|
||||||
-- Mirror takes a layout and rotates it by 90 degrees.
|
-- Mirror takes a layout and rotates it by 90 degrees.
|
||||||
@@ -749,44 +783,55 @@ threeRow = renamed [Replace "threeRow"]
|
|||||||
tabs = renamed [Replace "tabs"]
|
tabs = renamed [Replace "tabs"]
|
||||||
-- I cannot add spacing to this layout because it will
|
-- I cannot add spacing to this layout because it will
|
||||||
-- add spacing between window and tabs which looks bad.
|
-- add spacing between window and tabs which looks bad.
|
||||||
$ tabbed shrinkText myTabConfig
|
$ tabbed shrinkText myTabTheme
|
||||||
where
|
|
||||||
myTabConfig = def { fontName = "xft:Mononoki Nerd Font:regular:pixelsize=11"
|
myTabTheme = def { fontName = myFont
|
||||||
, activeColor = "#282c34"
|
, activeColor = "#46d9ff"
|
||||||
, inactiveColor = "#3e445e"
|
, inactiveColor = "#313846"
|
||||||
, activeBorderColor = "#282c34"
|
, activeBorderColor = "#46d9ff"
|
||||||
, inactiveBorderColor = "#282c34"
|
, inactiveBorderColor = "#282c34"
|
||||||
, activeTextColor = "#ffffff"
|
, activeTextColor = "#282c34"
|
||||||
, inactiveTextColor = "#d0d0d0"
|
, inactiveTextColor = "#d0d0d0"
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Theme for showWName which prints current workspace when you change workspaces.
|
-- Theme for showWName which prints current workspace when you change workspaces.
|
||||||
myShowWNameTheme :: SWNConfig
|
myShowWNameTheme :: SWNConfig
|
||||||
myShowWNameTheme = def
|
myShowWNameTheme = def
|
||||||
{ swn_font = "xft:Sans:bold:size=60"
|
{ swn_font = "xft:Ubuntu:bold:size=60"
|
||||||
, swn_fade = 1.0
|
, swn_fade = 1.0
|
||||||
, swn_bgcolor = "#000000"
|
, swn_bgcolor = "#1c1f24"
|
||||||
, swn_color = "#FFFFFF"
|
, swn_color = "#ffffff"
|
||||||
}
|
}
|
||||||
|
|
||||||
-- The layout hook
|
-- The layout hook
|
||||||
myLayoutHook = avoidStruts $ mouseResize $ windowArrange $ T.toggleLayouts floats $
|
myLayoutHook = avoidStruts $ mouseResize $ windowArrange $ T.toggleLayouts floats
|
||||||
mkToggle (NBFULL ?? NOBORDERS ?? EOT) myDefaultLayout
|
$ mkToggle (NBFULL ?? NOBORDERS ?? EOT) myDefaultLayout
|
||||||
where
|
where
|
||||||
-- I've commented out the layouts I don't use.
|
-- I've commented out the layouts I don't use.
|
||||||
myDefaultLayout = tall
|
myDefaultLayout = tall
|
||||||
||| magnify
|
||| magnify
|
||||||
||| noBorders monocle
|
||| noBorders monocle
|
||||||
||| floats
|
||| floats
|
||||||
-- ||| grid
|
|
||||||
||| noBorders tabs
|
||| noBorders tabs
|
||||||
-- ||| spirals
|
||| grid
|
||||||
-- ||| threeCol
|
||| spirals
|
||||||
-- ||| threeRow
|
||| threeCol
|
||||||
|
||| threeRow
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
* Workspaces
|
* Workspaces
|
||||||
My workspaces are clickable meaning that the mouse can be used to switch workspaces. This requires xdotool. You need to use UnsafeStdInReader instead of simply StdInReader in xmobar config so you can pass actions to it. Also, you will notice I add <fn> tags to the clickable workspaces to select from the additionalFonts that I have set in my xmobar configs.
|
I include two options for workspace: (1) Standard non-clickable workspaces, and (2) clickable workspaces. Choose one.
|
||||||
|
|
||||||
|
** Standard Non-Clickable Workspaces
|
||||||
|
These workspaces do not accept mouse clicks for changing workspaces. You must use the keybindings (which you probably should be doing anyway). To use standard non-clickable workspaces, be sure have 'workspaces = myWorkspaces' in the main at the bottom of this config.
|
||||||
|
|
||||||
|
#+begin_src haskell
|
||||||
|
myWorkspaces = [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "]
|
||||||
|
-- myWorkspaces = [" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 "]
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Clickable Workspaces
|
||||||
|
Clickable workspaces means the mouse can be used to switch workspaces. This requires /xdotool/ to be installed. You need to use UnsafeStdInReader instead of simply StdInReader in your xmobar config so you can pass actions to it. Finally, to use clickable workspaces, be sure have 'workspaces = myClickableWorkspaces' in the main at the bottom of this config.
|
||||||
|
|
||||||
#+BEGIN_SRC haskell
|
#+BEGIN_SRC haskell
|
||||||
xmobarEscape :: String -> String
|
xmobarEscape :: String -> String
|
||||||
@@ -795,8 +840,8 @@ xmobarEscape = concatMap doubleLts
|
|||||||
doubleLts '<' = "<<"
|
doubleLts '<' = "<<"
|
||||||
doubleLts x = [x]
|
doubleLts x = [x]
|
||||||
|
|
||||||
myWorkspaces :: [String]
|
myClickableWorkspaces :: [String]
|
||||||
myWorkspaces = clickable . (map xmobarEscape)
|
myClickableWorkspaces = clickable . (map xmobarEscape)
|
||||||
-- $ [" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 "]
|
-- $ [" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 "]
|
||||||
$ [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "]
|
$ [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "]
|
||||||
where
|
where
|
||||||
@@ -812,12 +857,11 @@ Sets some rules for certain programs. Examples include forcing certain programs
|
|||||||
myManageHook :: XMonad.Query (Data.Monoid.Endo WindowSet)
|
myManageHook :: XMonad.Query (Data.Monoid.Endo WindowSet)
|
||||||
myManageHook = composeAll
|
myManageHook = composeAll
|
||||||
-- using 'doShift ( myWorkspaces !! 7)' sends program to workspace 8!
|
-- using 'doShift ( myWorkspaces !! 7)' sends program to workspace 8!
|
||||||
-- I'm doing it this way because otherwise I would have to write out
|
-- I'm doing it this way because otherwise I would have to write out the full
|
||||||
-- the full name of my workspaces.
|
-- name of my workspaces, and the names would very long if using clickable workspaces.
|
||||||
[ className =? "htop" --> doShift ( myWorkspaces !! 7 )
|
[ title =? "Mozilla Firefox" --> doShift ( myWorkspaces !! 1 )
|
||||||
, title =? "firefox" --> doShift ( myWorkspaces !! 1 )
|
|
||||||
, className =? "mpv" --> doShift ( myWorkspaces !! 7 )
|
, className =? "mpv" --> doShift ( myWorkspaces !! 7 )
|
||||||
-- , className =? "vlc" --> doShift ( myWorkspaces !! 7 )
|
, className =? "vlc" --> doShift ( myWorkspaces !! 7 )
|
||||||
, className =? "Gimp" --> doShift ( myWorkspaces !! 8 )
|
, className =? "Gimp" --> doShift ( myWorkspaces !! 8 )
|
||||||
, className =? "Gimp" --> doFloat
|
, className =? "Gimp" --> doFloat
|
||||||
, title =? "Oracle VM VirtualBox Manager" --> doFloat
|
, title =? "Oracle VM VirtualBox Manager" --> doFloat
|
||||||
@@ -836,8 +880,7 @@ myLogHook = fadeInactiveLogHook fadeAmount
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
* Keybindings
|
* Keybindings
|
||||||
I am using the Xmonad.Util.EZConfig module which allows keybindings
|
I am using the Xmonad.Util.EZConfig module which allows keybindings to be written in simpler, emacs-like format. The Super/Windows key is 'M' (the modkey). The ALT key is 'M1'. SHIFT is 'S' and CTR is 'C'.
|
||||||
to be written in simpler, emacs-like format.
|
|
||||||
|
|
||||||
| A FEW IMPORTANT KEYBINDINGS | ASSOCIATED ACTION |
|
| A FEW IMPORTANT KEYBINDINGS | ASSOCIATED ACTION |
|
||||||
|-----------------------------+----------------------------------------------------------------------|
|
|-----------------------------+----------------------------------------------------------------------|
|
||||||
@@ -869,42 +912,53 @@ myKeys =
|
|||||||
, ("M-S-r", spawn "xmonad --restart") -- Restarts xmonad
|
, ("M-S-r", spawn "xmonad --restart") -- Restarts xmonad
|
||||||
, ("M-S-q", io exitSuccess) -- Quits xmonad
|
, ("M-S-q", io exitSuccess) -- Quits xmonad
|
||||||
|
|
||||||
-- Open my preferred terminal
|
|
||||||
, ("M-<Return>", spawn (myTerminal ++ " -e fish"))
|
|
||||||
|
|
||||||
-- Run Prompt
|
-- Run Prompt
|
||||||
, ("M-S-<Return>", shellPrompt dtXPConfig) -- Shell Prompt
|
, ("M-S-<Return>", shellPrompt dtXPConfig) -- Shell Prompt
|
||||||
|
|
||||||
-- Windows
|
-- Useful programs to have a keybinding for launch
|
||||||
|
, ("M-<Return>", spawn (myTerminal ++ " -e fish"))
|
||||||
|
, ("M-b", spawn (myBrowser ++ " www.youtube.com/c/DistroTube/"))
|
||||||
|
, ("M-M1-h", spawn (myTerminal ++ " -e htop"))
|
||||||
|
|
||||||
|
-- Kill windows
|
||||||
, ("M-S-c", kill1) -- Kill the currently focused client
|
, ("M-S-c", kill1) -- Kill the currently focused client
|
||||||
, ("M-S-a", killAll) -- Kill all windows on current workspace
|
, ("M-S-a", killAll) -- Kill all windows on current workspace
|
||||||
|
|
||||||
|
-- Workspaces
|
||||||
|
, ("M-.", nextScreen) -- Switch focus to next monitor
|
||||||
|
, ("M-,", prevScreen) -- Switch focus to prev monitor
|
||||||
|
, ("M-S-<KP_Add>", shiftTo Next nonNSP >> moveTo Next nonNSP) -- Shifts focused window to next ws
|
||||||
|
, ("M-S-<KP_Subtract>", shiftTo Prev nonNSP >> moveTo Prev nonNSP) -- Shifts focused window to prev ws
|
||||||
|
|
||||||
-- Floating windows
|
-- Floating windows
|
||||||
, ("M-f", sendMessage (T.Toggle "floats")) -- Toggles my 'floats' layout
|
, ("M-f", sendMessage (T.Toggle "floats")) -- Toggles my 'floats' layout
|
||||||
, ("M-<Delete>", withFocused $ windows . W.sink) -- Push floating window back to tile
|
, ("M-t", withFocused $ windows . W.sink) -- Push floating window back to tile
|
||||||
, ("M-S-<Delete>", sinkAll) -- Push ALL floating windows to tile
|
, ("M-S-t", sinkAll) -- Push ALL floating windows to tile
|
||||||
|
|
||||||
-- Grid Select (CTRL-g followed by a key)
|
-- Increase/decrease spacing (gaps)
|
||||||
|
, ("M-d", decWindowSpacing 4) -- Decrease window spacing
|
||||||
|
, ("M-i", incWindowSpacing 4) -- Increase window spacing
|
||||||
|
, ("M-S-d", decScreenSpacing 4) -- Decrease screen spacing
|
||||||
|
, ("M-S-i", incScreenSpacing 4) -- Increase screen spacing
|
||||||
|
|
||||||
|
-- Grid Select (CTR-g followed by a key)
|
||||||
, ("C-g g", spawnSelected' myAppGrid) -- grid select favorite apps
|
, ("C-g g", spawnSelected' myAppGrid) -- grid select favorite apps
|
||||||
, ("C-M1-g", spawnSelected' myAppGrid) -- grid select favorite apps
|
|
||||||
, ("C-g t", goToSelected $ mygridConfig myColorizer) -- goto selected window
|
, ("C-g t", goToSelected $ mygridConfig myColorizer) -- goto selected window
|
||||||
, ("C-g b", bringSelected $ mygridConfig myColorizer) -- bring selected window
|
, ("C-g b", bringSelected $ mygridConfig myColorizer) -- bring selected window
|
||||||
|
|
||||||
-- Tree Select/
|
-- Tree Select
|
||||||
, ("C-t t", treeselectAction tsDefaultConfig)
|
, ("C-t t", treeselectAction tsDefaultConfig)
|
||||||
|
|
||||||
-- Windows navigation
|
-- Windows navigation
|
||||||
, ("M-m", windows W.focusMaster) -- Move focus to the master window
|
, ("M-m", windows W.focusMaster) -- Move focus to the master window
|
||||||
, ("M-j", windows W.focusDown) -- Move focus to the next window
|
, ("M-j", windows W.focusDown) -- Move focus to the next window
|
||||||
, ("M-k", windows W.focusUp) -- Move focus to the prev window
|
, ("M-k", windows W.focusUp) -- Move focus to the prev window
|
||||||
--, ("M-S-m", windows W.swapMaster) -- Swap the focused window and the master window
|
, ("M-S-m", windows W.swapMaster) -- Swap the focused window and the master window
|
||||||
, ("M-S-j", windows W.swapDown) -- Swap focused window with next window
|
, ("M-S-j", windows W.swapDown) -- Swap focused window with next window
|
||||||
, ("M-S-k", windows W.swapUp) -- Swap focused window with prev window
|
, ("M-S-k", windows W.swapUp) -- Swap focused window with prev window
|
||||||
, ("M-<Backspace>", promote) -- Moves focused window to master, others maintain order
|
, ("M-<Backspace>", promote) -- Moves focused window to master, others maintain order
|
||||||
, ("M1-S-<Tab>", rotSlavesDown) -- Rotate all windows except master and keep focus in place
|
, ("M-S-<Tab>", rotSlavesDown) -- Rotate all windows except master and keep focus in place
|
||||||
, ("M1-C-<Tab>", rotAllDown) -- Rotate all the windows in the current stack
|
, ("M-C-<Tab>", rotAllDown) -- Rotate all the windows in the current stack
|
||||||
--, ("M-S-s", windows copyToAll)
|
|
||||||
, ("M-C-s", killAllOtherCopies)
|
|
||||||
|
|
||||||
-- Layouts
|
-- Layouts
|
||||||
, ("M-<Tab>", sendMessage NextLayout) -- Switch to next layout
|
, ("M-<Tab>", sendMessage NextLayout) -- Switch to next layout
|
||||||
@@ -913,27 +967,36 @@ myKeys =
|
|||||||
, ("M-<Space>", sendMessage (MT.Toggle NBFULL) >> sendMessage ToggleStruts) -- Toggles noborder/full
|
, ("M-<Space>", sendMessage (MT.Toggle NBFULL) >> sendMessage ToggleStruts) -- Toggles noborder/full
|
||||||
, ("M-S-<Space>", sendMessage ToggleStruts) -- Toggles struts
|
, ("M-S-<Space>", sendMessage ToggleStruts) -- Toggles struts
|
||||||
, ("M-S-n", sendMessage $ MT.Toggle NOBORDERS) -- Toggles noborder
|
, ("M-S-n", sendMessage $ MT.Toggle NOBORDERS) -- Toggles noborder
|
||||||
, ("M-<KP_Multiply>", sendMessage (IncMasterN 1)) -- Increase number of clients in master pane
|
|
||||||
, ("M-<KP_Divide>", sendMessage (IncMasterN (-1))) -- Decrease number of clients in master pane
|
|
||||||
, ("M-S-<KP_Multiply>", increaseLimit) -- Increase number of windows
|
|
||||||
, ("M-S-<KP_Divide>", decreaseLimit) -- Decrease number of windows
|
|
||||||
|
|
||||||
|
-- Increase/decrease windows in the master pane or the stack
|
||||||
|
, ("M-S-<Up>", sendMessage (IncMasterN 1)) -- Increase number of clients in master pane
|
||||||
|
, ("M-S-<Down>", sendMessage (IncMasterN (-1))) -- Decrease number of clients in master pane
|
||||||
|
, ("M-C-<Up>", increaseLimit) -- Increase number of windows
|
||||||
|
, ("M-C-<Down>", decreaseLimit) -- Decrease number of windows
|
||||||
|
|
||||||
|
-- Window resizing
|
||||||
, ("M-h", sendMessage Shrink) -- Shrink horiz window width
|
, ("M-h", sendMessage Shrink) -- Shrink horiz window width
|
||||||
, ("M-l", sendMessage Expand) -- Expand horiz window width
|
, ("M-l", sendMessage Expand) -- Expand horiz window width
|
||||||
, ("M-C-j", sendMessage MirrorShrink) -- Shrink vert window width
|
, ("M-M1-j", sendMessage MirrorShrink) -- Shrink vert window width
|
||||||
, ("M-C-k", sendMessage MirrorExpand) -- Exoand vert window width
|
, ("M-M1-k", sendMessage MirrorExpand) -- Exoand vert window width
|
||||||
|
|
||||||
-- Workspaces
|
-- Sublayouts
|
||||||
, ("M-.", nextScreen) -- Switch focus to next monitor
|
-- This is used to push windows to tabbed sublayouts, or pull them out of it.
|
||||||
, ("M-,", prevScreen) -- Switch focus to prev monitor
|
, ("M-C-h", sendMessage $ pullGroup L)
|
||||||
, ("M-S-<KP_Add>", shiftTo Next nonNSP >> moveTo Next nonNSP) -- Shifts focused window to next ws
|
, ("M-C-l", sendMessage $ pullGroup R)
|
||||||
, ("M-S-<KP_Subtract>", shiftTo Prev nonNSP >> moveTo Prev nonNSP) -- Shifts focused window to prev ws
|
, ("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-/", withFocused (sendMessage . UnMergeAll))
|
||||||
|
, ("M-C-.", onGroup W.focusUp') -- Switch focus to next tab
|
||||||
|
, ("M-C-,", onGroup W.focusDown') -- Switch focus to prev tab
|
||||||
|
|
||||||
-- Scratchpads
|
-- Scratchpads
|
||||||
, ("M-C-<Return>", namedScratchpadAction myScratchPads "terminal")
|
, ("M-C-<Return>", namedScratchpadAction myScratchPads "terminal")
|
||||||
, ("M-C-c", namedScratchpadAction myScratchPads "mocp")
|
, ("M-C-c", namedScratchpadAction myScratchPads "mocp")
|
||||||
|
|
||||||
-- Controls for mocp music player.
|
-- Controls for mocp music player (SUPER-u followed by a key)
|
||||||
, ("M-u p", spawn "mocp --play")
|
, ("M-u p", spawn "mocp --play")
|
||||||
, ("M-u l", spawn "mocp --next")
|
, ("M-u l", spawn "mocp --next")
|
||||||
, ("M-u h", spawn "mocp --previous")
|
, ("M-u h", spawn "mocp --previous")
|
||||||
@@ -952,31 +1015,15 @@ myKeys =
|
|||||||
-- emms is an emacs audio player. I set it to auto start playing in a specific directory.
|
-- 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 "emacsclient -c -a 'emacs' --eval '(emms)' --eval '(emms-play-directory-tree \"~/Music/Non-Classical/70s-80s/\")'")
|
||||||
|
|
||||||
--- My Applications (Super+Alt+Key)
|
|
||||||
, ("M-M1-a", spawn (myTerminal ++ " -e ncpamixer"))
|
|
||||||
, ("M-M1-b", spawn "surf www.youtube.com/c/DistroTube/")
|
|
||||||
, ("M-M1-e", spawn (myTerminal ++ " -e neomutt"))
|
|
||||||
, ("M-M1-f", spawn (myTerminal ++ " -e sh ./.config/vifm/scripts/vifmrun | bash"))
|
|
||||||
, ("M-M1-i", spawn (myTerminal ++ " -e irssi"))
|
|
||||||
, ("M-M1-j", spawn (myTerminal ++ " -e joplin"))
|
|
||||||
, ("M-M1-l", spawn (myTerminal ++ " -e lynx https://distrotube.com"))
|
|
||||||
, ("M-M1-m", spawn (myTerminal ++ " -e mocp"))
|
|
||||||
, ("M-M1-n", spawn (myTerminal ++ " -e newsboat"))
|
|
||||||
, ("M-M1-p", spawn (myTerminal ++ " -e pianobar"))
|
|
||||||
, ("M-M1-r", spawn (myTerminal ++ " -e rtv"))
|
|
||||||
, ("M-M1-t", spawn (myTerminal ++ " -e toot curses"))
|
|
||||||
, ("M-M1-w", spawn (myTerminal ++ " -e wopr report.xml"))
|
|
||||||
, ("M-M1-y", spawn (myTerminal ++ " -e youtube-viewer"))
|
|
||||||
|
|
||||||
-- Multimedia Keys
|
-- Multimedia Keys
|
||||||
, ("<XF86AudioPlay>", spawn "cmus toggle")
|
, ("<XF86AudioPlay>", spawn (myTerminal ++ "mocp --play"))
|
||||||
, ("<XF86AudioPrev>", spawn "cmus prev")
|
, ("<XF86AudioPrev>", spawn (myTerminal ++ "mocp --previous"))
|
||||||
, ("<XF86AudioNext>", spawn "cmus next")
|
, ("<XF86AudioNext>", spawn (myTerminal ++ "mocp --next"))
|
||||||
-- , ("<XF86AudioMute>", spawn "amixer set Master toggle") -- Bug prevents it from toggling correctly in 12.04.
|
-- , ("<XF86AudioMute>", spawn "amixer set Master toggle") -- Bug prevents it from toggling correctly in 12.04.
|
||||||
, ("<XF86AudioLowerVolume>", spawn "amixer set Master 5%- unmute")
|
, ("<XF86AudioLowerVolume>", spawn "amixer set Master 5%- unmute")
|
||||||
, ("<XF86AudioRaiseVolume>", spawn "amixer set Master 5%+ unmute")
|
, ("<XF86AudioRaiseVolume>", spawn "amixer set Master 5%+ unmute")
|
||||||
, ("<XF86HomePage>", spawn "firefox")
|
, ("<XF86HomePage>", spawn "firefox")
|
||||||
, ("<XF86Search>", safeSpawn "firefox" ["https://www.google.com/"])
|
, ("<XF86Search>", safeSpawn "firefox" ["https://www.duckduckgo.com/"])
|
||||||
, ("<XF86Mail>", runOrRaise "geary" (resource =? "thunderbird"))
|
, ("<XF86Mail>", runOrRaise "geary" (resource =? "thunderbird"))
|
||||||
, ("<XF86Calculator>", runOrRaise "gcalctool" (resource =? "gcalctool"))
|
, ("<XF86Calculator>", runOrRaise "gcalctool" (resource =? "gcalctool"))
|
||||||
, ("<XF86Eject>", spawn "toggleeject")
|
, ("<XF86Eject>", spawn "toggleeject")
|
||||||
@@ -1019,7 +1066,7 @@ main = do
|
|||||||
, modMask = myModMask
|
, modMask = myModMask
|
||||||
, terminal = myTerminal
|
, terminal = myTerminal
|
||||||
, startupHook = myStartupHook
|
, startupHook = myStartupHook
|
||||||
, layoutHook = myLayoutHook
|
, layoutHook = showWName' myShowWNameTheme $ myLayoutHook
|
||||||
, workspaces = myWorkspaces
|
, workspaces = myWorkspaces
|
||||||
, borderWidth = myBorderWidth
|
, borderWidth = myBorderWidth
|
||||||
, normalBorderColor = myNormColor
|
, normalBorderColor = myNormColor
|
||||||
|
|||||||
+111
-75
@@ -17,7 +17,7 @@ import XMonad.Actions.WithAll (sinkAll, killAll)
|
|||||||
import qualified XMonad.Actions.Search as S
|
import qualified XMonad.Actions.Search as S
|
||||||
|
|
||||||
-- Data
|
-- Data
|
||||||
import Data.Char (isSpace)
|
import Data.Char (isSpace, toUpper)
|
||||||
import Data.Monoid
|
import Data.Monoid
|
||||||
import Data.Maybe (isJust)
|
import Data.Maybe (isJust)
|
||||||
import Data.Tree
|
import Data.Tree
|
||||||
@@ -48,9 +48,12 @@ import XMonad.Layout.Magnifier
|
|||||||
import XMonad.Layout.MultiToggle (mkToggle, single, EOT(EOT), (??))
|
import XMonad.Layout.MultiToggle (mkToggle, single, EOT(EOT), (??))
|
||||||
import XMonad.Layout.MultiToggle.Instances (StdTransformers(NBFULL, MIRROR, NOBORDERS))
|
import XMonad.Layout.MultiToggle.Instances (StdTransformers(NBFULL, MIRROR, NOBORDERS))
|
||||||
import XMonad.Layout.NoBorders
|
import XMonad.Layout.NoBorders
|
||||||
import XMonad.Layout.Renamed (renamed, Rename(Replace))
|
import XMonad.Layout.Renamed
|
||||||
import XMonad.Layout.ShowWName
|
import XMonad.Layout.ShowWName
|
||||||
|
import XMonad.Layout.Simplest
|
||||||
import XMonad.Layout.Spacing
|
import XMonad.Layout.Spacing
|
||||||
|
import XMonad.Layout.SubLayouts
|
||||||
|
import XMonad.Layout.WindowNavigation
|
||||||
import XMonad.Layout.WindowArranger (windowArrange, WindowArrangerMsg(..))
|
import XMonad.Layout.WindowArranger (windowArrange, WindowArrangerMsg(..))
|
||||||
import qualified XMonad.Layout.ToggleLayouts as T (toggleLayouts, ToggleLayout(Toggle))
|
import qualified XMonad.Layout.ToggleLayouts as T (toggleLayouts, ToggleLayout(Toggle))
|
||||||
import qualified XMonad.Layout.MultiToggle as MT (Toggle(..))
|
import qualified XMonad.Layout.MultiToggle as MT (Toggle(..))
|
||||||
@@ -61,7 +64,7 @@ import XMonad.Prompt.Input
|
|||||||
import XMonad.Prompt.FuzzyMatch
|
import XMonad.Prompt.FuzzyMatch
|
||||||
import XMonad.Prompt.Man
|
import XMonad.Prompt.Man
|
||||||
import XMonad.Prompt.Pass
|
import XMonad.Prompt.Pass
|
||||||
import XMonad.Prompt.Shell (shellPrompt)
|
import XMonad.Prompt.Shell
|
||||||
import XMonad.Prompt.Ssh
|
import XMonad.Prompt.Ssh
|
||||||
import XMonad.Prompt.XMonad
|
import XMonad.Prompt.XMonad
|
||||||
import Control.Arrow (first)
|
import Control.Arrow (first)
|
||||||
@@ -96,7 +99,7 @@ myNormColor :: String
|
|||||||
myNormColor = "#282c34" -- Border color of normal windows
|
myNormColor = "#282c34" -- Border color of normal windows
|
||||||
|
|
||||||
myFocusColor :: String
|
myFocusColor :: String
|
||||||
myFocusColor = "#bbc5ff" -- Border color of focused windows
|
myFocusColor = "#46d9ff" -- Border color of focused windows
|
||||||
|
|
||||||
altMask :: KeyMask
|
altMask :: KeyMask
|
||||||
altMask = mod1Mask -- Setting this for use in xprompts
|
altMask = mod1Mask -- Setting this for use in xprompts
|
||||||
@@ -480,8 +483,11 @@ dtXPConfig = def
|
|||||||
, showCompletionOnTab = False
|
, showCompletionOnTab = False
|
||||||
-- , searchPredicate = isPrefixOf
|
-- , searchPredicate = isPrefixOf
|
||||||
, searchPredicate = fuzzyMatch
|
, searchPredicate = fuzzyMatch
|
||||||
|
, defaultPrompter = id $ map toUpper -- change prompt to UPPER
|
||||||
|
-- , defaultPrompter = unwords . map reverse . words -- reverse the prompt
|
||||||
|
-- , defaultPrompter = drop 5 .id (++ "XXXX: ") -- drop first 5 chars of prompt and add XXXX:
|
||||||
, alwaysHighlight = True
|
, alwaysHighlight = True
|
||||||
, maxComplRows = Nothing -- set to Just 5 for 5 rows
|
, maxComplRows = Nothing -- set to 'Just 5' for 5 rows
|
||||||
}
|
}
|
||||||
|
|
||||||
-- The same config above minus the autocomplete feature which is annoying
|
-- The same config above minus the autocomplete feature which is annoying
|
||||||
@@ -614,31 +620,55 @@ mySpacing' i = spacingRaw True (Border i i i i) True (Border i i i i) True
|
|||||||
|
|
||||||
-- Defining a bunch of layouts, many that I don't use.
|
-- Defining a bunch of layouts, many that I don't use.
|
||||||
tall = renamed [Replace "tall"]
|
tall = renamed [Replace "tall"]
|
||||||
|
$ windowNavigation
|
||||||
|
$ addTabs shrinkText myTabTheme
|
||||||
|
$ subLayout [] (smartBorders Simplest)
|
||||||
$ limitWindows 12
|
$ limitWindows 12
|
||||||
$ mySpacing 8
|
$ mySpacing 8
|
||||||
$ ResizableTall 1 (3/100) (1/2) []
|
$ ResizableTall 1 (3/100) (1/2) []
|
||||||
magnify = renamed [Replace "magnify"]
|
magnify = renamed [Replace "magnify"]
|
||||||
|
$ windowNavigation
|
||||||
|
$ addTabs shrinkText myTabTheme
|
||||||
|
$ subLayout [] (smartBorders Simplest)
|
||||||
$ magnifier
|
$ magnifier
|
||||||
$ limitWindows 12
|
$ limitWindows 12
|
||||||
$ mySpacing 8
|
$ mySpacing 8
|
||||||
$ ResizableTall 1 (3/100) (1/2) []
|
$ ResizableTall 1 (3/100) (1/2) []
|
||||||
monocle = renamed [Replace "monocle"]
|
monocle = renamed [Replace "monocle"]
|
||||||
|
$ windowNavigation
|
||||||
|
$ addTabs shrinkText myTabTheme
|
||||||
|
$ subLayout [] (smartBorders Simplest)
|
||||||
$ limitWindows 20 Full
|
$ limitWindows 20 Full
|
||||||
floats = renamed [Replace "floats"]
|
floats = renamed [Replace "floats"]
|
||||||
|
$ windowNavigation
|
||||||
|
$ addTabs shrinkText myTabTheme
|
||||||
|
$ subLayout [] (smartBorders Simplest)
|
||||||
$ limitWindows 20 simplestFloat
|
$ limitWindows 20 simplestFloat
|
||||||
grid = renamed [Replace "grid"]
|
grid = renamed [Replace "grid"]
|
||||||
|
$ windowNavigation
|
||||||
|
$ addTabs shrinkText myTabTheme
|
||||||
|
$ subLayout [] (smartBorders Simplest)
|
||||||
$ limitWindows 12
|
$ limitWindows 12
|
||||||
$ mySpacing 8
|
$ mySpacing 8
|
||||||
$ mkToggle (single MIRROR)
|
$ mkToggle (single MIRROR)
|
||||||
$ Grid (16/10)
|
$ Grid (16/10)
|
||||||
spirals = renamed [Replace "spirals"]
|
spirals = renamed [Replace "spirals"]
|
||||||
|
$ windowNavigation
|
||||||
|
$ addTabs shrinkText myTabTheme
|
||||||
|
$ subLayout [] (smartBorders Simplest)
|
||||||
$ mySpacing' 8
|
$ mySpacing' 8
|
||||||
$ spiral (6/7)
|
$ spiral (6/7)
|
||||||
threeCol = renamed [Replace "threeCol"]
|
threeCol = renamed [Replace "threeCol"]
|
||||||
|
$ windowNavigation
|
||||||
|
$ addTabs shrinkText myTabTheme
|
||||||
|
$ subLayout [] (smartBorders Simplest)
|
||||||
$ limitWindows 7
|
$ limitWindows 7
|
||||||
$ mySpacing' 4
|
$ mySpacing' 4
|
||||||
$ ThreeCol 1 (3/100) (1/2)
|
$ ThreeCol 1 (3/100) (1/2)
|
||||||
threeRow = renamed [Replace "threeRow"]
|
threeRow = renamed [Replace "threeRow"]
|
||||||
|
$ windowNavigation
|
||||||
|
$ addTabs shrinkText myTabTheme
|
||||||
|
$ subLayout [] (smartBorders Simplest)
|
||||||
$ limitWindows 7
|
$ limitWindows 7
|
||||||
$ mySpacing' 4
|
$ mySpacing' 4
|
||||||
-- Mirror takes a layout and rotates it by 90 degrees.
|
-- Mirror takes a layout and rotates it by 90 degrees.
|
||||||
@@ -648,40 +678,43 @@ threeRow = renamed [Replace "threeRow"]
|
|||||||
tabs = renamed [Replace "tabs"]
|
tabs = renamed [Replace "tabs"]
|
||||||
-- I cannot add spacing to this layout because it will
|
-- I cannot add spacing to this layout because it will
|
||||||
-- add spacing between window and tabs which looks bad.
|
-- add spacing between window and tabs which looks bad.
|
||||||
$ tabbed shrinkText myTabConfig
|
$ tabbed shrinkText myTabTheme
|
||||||
where
|
|
||||||
myTabConfig = def { fontName = "xft:Mononoki Nerd Font:regular:pixelsize=11"
|
myTabTheme = def { fontName = myFont
|
||||||
, activeColor = "#282c34"
|
, activeColor = "#46d9ff"
|
||||||
, inactiveColor = "#3e445e"
|
, inactiveColor = "#313846"
|
||||||
, activeBorderColor = "#282c34"
|
, activeBorderColor = "#46d9ff"
|
||||||
, inactiveBorderColor = "#282c34"
|
, inactiveBorderColor = "#282c34"
|
||||||
, activeTextColor = "#ffffff"
|
, activeTextColor = "#282c34"
|
||||||
, inactiveTextColor = "#d0d0d0"
|
, inactiveTextColor = "#d0d0d0"
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Theme for showWName which prints current workspace when you change workspaces.
|
-- Theme for showWName which prints current workspace when you change workspaces.
|
||||||
myShowWNameTheme :: SWNConfig
|
myShowWNameTheme :: SWNConfig
|
||||||
myShowWNameTheme = def
|
myShowWNameTheme = def
|
||||||
{ swn_font = "xft:Sans:bold:size=60"
|
{ swn_font = "xft:Ubuntu:bold:size=60"
|
||||||
, swn_fade = 1.0
|
, swn_fade = 1.0
|
||||||
, swn_bgcolor = "#000000"
|
, swn_bgcolor = "#1c1f24"
|
||||||
, swn_color = "#FFFFFF"
|
, swn_color = "#ffffff"
|
||||||
}
|
}
|
||||||
|
|
||||||
-- The layout hook
|
-- The layout hook
|
||||||
myLayoutHook = avoidStruts $ mouseResize $ windowArrange $ T.toggleLayouts floats $
|
myLayoutHook = avoidStruts $ mouseResize $ windowArrange $ T.toggleLayouts floats
|
||||||
mkToggle (NBFULL ?? NOBORDERS ?? EOT) myDefaultLayout
|
$ mkToggle (NBFULL ?? NOBORDERS ?? EOT) myDefaultLayout
|
||||||
where
|
where
|
||||||
-- I've commented out the layouts I don't use.
|
-- I've commented out the layouts I don't use.
|
||||||
myDefaultLayout = tall
|
myDefaultLayout = tall
|
||||||
||| magnify
|
||| magnify
|
||||||
||| noBorders monocle
|
||| noBorders monocle
|
||||||
||| floats
|
||| floats
|
||||||
-- ||| grid
|
|
||||||
||| noBorders tabs
|
||| noBorders tabs
|
||||||
-- ||| spirals
|
||| grid
|
||||||
-- ||| threeCol
|
||| spirals
|
||||||
-- ||| threeRow
|
||| threeCol
|
||||||
|
||| threeRow
|
||||||
|
|
||||||
|
myWorkspaces = [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "]
|
||||||
|
-- myWorkspaces = [" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 "]
|
||||||
|
|
||||||
xmobarEscape :: String -> String
|
xmobarEscape :: String -> String
|
||||||
xmobarEscape = concatMap doubleLts
|
xmobarEscape = concatMap doubleLts
|
||||||
@@ -689,8 +722,8 @@ xmobarEscape = concatMap doubleLts
|
|||||||
doubleLts '<' = "<<"
|
doubleLts '<' = "<<"
|
||||||
doubleLts x = [x]
|
doubleLts x = [x]
|
||||||
|
|
||||||
myWorkspaces :: [String]
|
myClickableWorkspaces :: [String]
|
||||||
myWorkspaces = clickable . (map xmobarEscape)
|
myClickableWorkspaces = clickable . (map xmobarEscape)
|
||||||
-- $ [" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 "]
|
-- $ [" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 "]
|
||||||
$ [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "]
|
$ [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "]
|
||||||
where
|
where
|
||||||
@@ -701,12 +734,11 @@ myWorkspaces = clickable . (map xmobarEscape)
|
|||||||
myManageHook :: XMonad.Query (Data.Monoid.Endo WindowSet)
|
myManageHook :: XMonad.Query (Data.Monoid.Endo WindowSet)
|
||||||
myManageHook = composeAll
|
myManageHook = composeAll
|
||||||
-- using 'doShift ( myWorkspaces !! 7)' sends program to workspace 8!
|
-- using 'doShift ( myWorkspaces !! 7)' sends program to workspace 8!
|
||||||
-- I'm doing it this way because otherwise I would have to write out
|
-- I'm doing it this way because otherwise I would have to write out the full
|
||||||
-- the full name of my workspaces.
|
-- name of my workspaces, and the names would very long if using clickable workspaces.
|
||||||
[ className =? "htop" --> doShift ( myWorkspaces !! 7 )
|
[ title =? "Mozilla Firefox" --> doShift ( myWorkspaces !! 1 )
|
||||||
, title =? "firefox" --> doShift ( myWorkspaces !! 1 )
|
|
||||||
, className =? "mpv" --> doShift ( myWorkspaces !! 7 )
|
, className =? "mpv" --> doShift ( myWorkspaces !! 7 )
|
||||||
-- , className =? "vlc" --> doShift ( myWorkspaces !! 7 )
|
, className =? "vlc" --> doShift ( myWorkspaces !! 7 )
|
||||||
, className =? "Gimp" --> doShift ( myWorkspaces !! 8 )
|
, className =? "Gimp" --> doShift ( myWorkspaces !! 8 )
|
||||||
, className =? "Gimp" --> doFloat
|
, className =? "Gimp" --> doFloat
|
||||||
, title =? "Oracle VM VirtualBox Manager" --> doFloat
|
, title =? "Oracle VM VirtualBox Manager" --> doFloat
|
||||||
@@ -725,42 +757,53 @@ myKeys =
|
|||||||
, ("M-S-r", spawn "xmonad --restart") -- Restarts xmonad
|
, ("M-S-r", spawn "xmonad --restart") -- Restarts xmonad
|
||||||
, ("M-S-q", io exitSuccess) -- Quits xmonad
|
, ("M-S-q", io exitSuccess) -- Quits xmonad
|
||||||
|
|
||||||
-- Open my preferred terminal
|
|
||||||
, ("M-<Return>", spawn (myTerminal ++ " -e fish"))
|
|
||||||
|
|
||||||
-- Run Prompt
|
-- Run Prompt
|
||||||
, ("M-S-<Return>", shellPrompt dtXPConfig) -- Shell Prompt
|
, ("M-S-<Return>", shellPrompt dtXPConfig) -- Shell Prompt
|
||||||
|
|
||||||
-- Windows
|
-- Useful programs to have a keybinding for launch
|
||||||
|
, ("M-<Return>", spawn (myTerminal ++ " -e fish"))
|
||||||
|
, ("M-b", spawn (myBrowser ++ " www.youtube.com/c/DistroTube/"))
|
||||||
|
, ("M-M1-h", spawn (myTerminal ++ " -e htop"))
|
||||||
|
|
||||||
|
-- Kill windows
|
||||||
, ("M-S-c", kill1) -- Kill the currently focused client
|
, ("M-S-c", kill1) -- Kill the currently focused client
|
||||||
, ("M-S-a", killAll) -- Kill all windows on current workspace
|
, ("M-S-a", killAll) -- Kill all windows on current workspace
|
||||||
|
|
||||||
|
-- Workspaces
|
||||||
|
, ("M-.", nextScreen) -- Switch focus to next monitor
|
||||||
|
, ("M-,", prevScreen) -- Switch focus to prev monitor
|
||||||
|
, ("M-S-<KP_Add>", shiftTo Next nonNSP >> moveTo Next nonNSP) -- Shifts focused window to next ws
|
||||||
|
, ("M-S-<KP_Subtract>", shiftTo Prev nonNSP >> moveTo Prev nonNSP) -- Shifts focused window to prev ws
|
||||||
|
|
||||||
-- Floating windows
|
-- Floating windows
|
||||||
, ("M-f", sendMessage (T.Toggle "floats")) -- Toggles my 'floats' layout
|
, ("M-f", sendMessage (T.Toggle "floats")) -- Toggles my 'floats' layout
|
||||||
, ("M-<Delete>", withFocused $ windows . W.sink) -- Push floating window back to tile
|
, ("M-t", withFocused $ windows . W.sink) -- Push floating window back to tile
|
||||||
, ("M-S-<Delete>", sinkAll) -- Push ALL floating windows to tile
|
, ("M-S-t", sinkAll) -- Push ALL floating windows to tile
|
||||||
|
|
||||||
-- Grid Select (CTRL-g followed by a key)
|
-- Increase/decrease spacing (gaps)
|
||||||
|
, ("M-d", decWindowSpacing 4) -- Decrease window spacing
|
||||||
|
, ("M-i", incWindowSpacing 4) -- Increase window spacing
|
||||||
|
, ("M-S-d", decScreenSpacing 4) -- Decrease screen spacing
|
||||||
|
, ("M-S-i", incScreenSpacing 4) -- Increase screen spacing
|
||||||
|
|
||||||
|
-- Grid Select (CTR-g followed by a key)
|
||||||
, ("C-g g", spawnSelected' myAppGrid) -- grid select favorite apps
|
, ("C-g g", spawnSelected' myAppGrid) -- grid select favorite apps
|
||||||
, ("C-M1-g", spawnSelected' myAppGrid) -- grid select favorite apps
|
|
||||||
, ("C-g t", goToSelected $ mygridConfig myColorizer) -- goto selected window
|
, ("C-g t", goToSelected $ mygridConfig myColorizer) -- goto selected window
|
||||||
, ("C-g b", bringSelected $ mygridConfig myColorizer) -- bring selected window
|
, ("C-g b", bringSelected $ mygridConfig myColorizer) -- bring selected window
|
||||||
|
|
||||||
-- Tree Select/
|
-- Tree Select
|
||||||
, ("C-t t", treeselectAction tsDefaultConfig)
|
, ("C-t t", treeselectAction tsDefaultConfig)
|
||||||
|
|
||||||
-- Windows navigation
|
-- Windows navigation
|
||||||
, ("M-m", windows W.focusMaster) -- Move focus to the master window
|
, ("M-m", windows W.focusMaster) -- Move focus to the master window
|
||||||
, ("M-j", windows W.focusDown) -- Move focus to the next window
|
, ("M-j", windows W.focusDown) -- Move focus to the next window
|
||||||
, ("M-k", windows W.focusUp) -- Move focus to the prev window
|
, ("M-k", windows W.focusUp) -- Move focus to the prev window
|
||||||
--, ("M-S-m", windows W.swapMaster) -- Swap the focused window and the master window
|
, ("M-S-m", windows W.swapMaster) -- Swap the focused window and the master window
|
||||||
, ("M-S-j", windows W.swapDown) -- Swap focused window with next window
|
, ("M-S-j", windows W.swapDown) -- Swap focused window with next window
|
||||||
, ("M-S-k", windows W.swapUp) -- Swap focused window with prev window
|
, ("M-S-k", windows W.swapUp) -- Swap focused window with prev window
|
||||||
, ("M-<Backspace>", promote) -- Moves focused window to master, others maintain order
|
, ("M-<Backspace>", promote) -- Moves focused window to master, others maintain order
|
||||||
, ("M1-S-<Tab>", rotSlavesDown) -- Rotate all windows except master and keep focus in place
|
, ("M-S-<Tab>", rotSlavesDown) -- Rotate all windows except master and keep focus in place
|
||||||
, ("M1-C-<Tab>", rotAllDown) -- Rotate all the windows in the current stack
|
, ("M-C-<Tab>", rotAllDown) -- Rotate all the windows in the current stack
|
||||||
--, ("M-S-s", windows copyToAll)
|
|
||||||
, ("M-C-s", killAllOtherCopies)
|
|
||||||
|
|
||||||
-- Layouts
|
-- Layouts
|
||||||
, ("M-<Tab>", sendMessage NextLayout) -- Switch to next layout
|
, ("M-<Tab>", sendMessage NextLayout) -- Switch to next layout
|
||||||
@@ -769,27 +812,36 @@ myKeys =
|
|||||||
, ("M-<Space>", sendMessage (MT.Toggle NBFULL) >> sendMessage ToggleStruts) -- Toggles noborder/full
|
, ("M-<Space>", sendMessage (MT.Toggle NBFULL) >> sendMessage ToggleStruts) -- Toggles noborder/full
|
||||||
, ("M-S-<Space>", sendMessage ToggleStruts) -- Toggles struts
|
, ("M-S-<Space>", sendMessage ToggleStruts) -- Toggles struts
|
||||||
, ("M-S-n", sendMessage $ MT.Toggle NOBORDERS) -- Toggles noborder
|
, ("M-S-n", sendMessage $ MT.Toggle NOBORDERS) -- Toggles noborder
|
||||||
, ("M-<KP_Multiply>", sendMessage (IncMasterN 1)) -- Increase number of clients in master pane
|
|
||||||
, ("M-<KP_Divide>", sendMessage (IncMasterN (-1))) -- Decrease number of clients in master pane
|
|
||||||
, ("M-S-<KP_Multiply>", increaseLimit) -- Increase number of windows
|
|
||||||
, ("M-S-<KP_Divide>", decreaseLimit) -- Decrease number of windows
|
|
||||||
|
|
||||||
|
-- Increase/decrease windows in the master pane or the stack
|
||||||
|
, ("M-S-<Up>", sendMessage (IncMasterN 1)) -- Increase number of clients in master pane
|
||||||
|
, ("M-S-<Down>", sendMessage (IncMasterN (-1))) -- Decrease number of clients in master pane
|
||||||
|
, ("M-C-<Up>", increaseLimit) -- Increase number of windows
|
||||||
|
, ("M-C-<Down>", decreaseLimit) -- Decrease number of windows
|
||||||
|
|
||||||
|
-- Window resizing
|
||||||
, ("M-h", sendMessage Shrink) -- Shrink horiz window width
|
, ("M-h", sendMessage Shrink) -- Shrink horiz window width
|
||||||
, ("M-l", sendMessage Expand) -- Expand horiz window width
|
, ("M-l", sendMessage Expand) -- Expand horiz window width
|
||||||
, ("M-C-j", sendMessage MirrorShrink) -- Shrink vert window width
|
, ("M-M1-j", sendMessage MirrorShrink) -- Shrink vert window width
|
||||||
, ("M-C-k", sendMessage MirrorExpand) -- Exoand vert window width
|
, ("M-M1-k", sendMessage MirrorExpand) -- Exoand vert window width
|
||||||
|
|
||||||
-- Workspaces
|
-- Sublayouts
|
||||||
, ("M-.", nextScreen) -- Switch focus to next monitor
|
-- This is used to push windows to tabbed sublayouts, or pull them out of it.
|
||||||
, ("M-,", prevScreen) -- Switch focus to prev monitor
|
, ("M-C-h", sendMessage $ pullGroup L)
|
||||||
, ("M-S-<KP_Add>", shiftTo Next nonNSP >> moveTo Next nonNSP) -- Shifts focused window to next ws
|
, ("M-C-l", sendMessage $ pullGroup R)
|
||||||
, ("M-S-<KP_Subtract>", shiftTo Prev nonNSP >> moveTo Prev nonNSP) -- Shifts focused window to prev ws
|
, ("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-/", withFocused (sendMessage . UnMergeAll))
|
||||||
|
, ("M-C-.", onGroup W.focusUp') -- Switch focus to next tab
|
||||||
|
, ("M-C-,", onGroup W.focusDown') -- Switch focus to prev tab
|
||||||
|
|
||||||
-- Scratchpads
|
-- Scratchpads
|
||||||
, ("M-C-<Return>", namedScratchpadAction myScratchPads "terminal")
|
, ("M-C-<Return>", namedScratchpadAction myScratchPads "terminal")
|
||||||
, ("M-C-c", namedScratchpadAction myScratchPads "mocp")
|
, ("M-C-c", namedScratchpadAction myScratchPads "mocp")
|
||||||
|
|
||||||
-- Controls for mocp music player.
|
-- Controls for mocp music player (SUPER-u followed by a key)
|
||||||
, ("M-u p", spawn "mocp --play")
|
, ("M-u p", spawn "mocp --play")
|
||||||
, ("M-u l", spawn "mocp --next")
|
, ("M-u l", spawn "mocp --next")
|
||||||
, ("M-u h", spawn "mocp --previous")
|
, ("M-u h", spawn "mocp --previous")
|
||||||
@@ -808,31 +860,15 @@ myKeys =
|
|||||||
-- emms is an emacs audio player. I set it to auto start playing in a specific directory.
|
-- 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 "emacsclient -c -a 'emacs' --eval '(emms)' --eval '(emms-play-directory-tree \"~/Music/Non-Classical/70s-80s/\")'")
|
||||||
|
|
||||||
--- My Applications (Super+Alt+Key)
|
|
||||||
, ("M-M1-a", spawn (myTerminal ++ " -e ncpamixer"))
|
|
||||||
, ("M-M1-b", spawn "surf www.youtube.com/c/DistroTube/")
|
|
||||||
, ("M-M1-e", spawn (myTerminal ++ " -e neomutt"))
|
|
||||||
, ("M-M1-f", spawn (myTerminal ++ " -e sh ./.config/vifm/scripts/vifmrun | bash"))
|
|
||||||
, ("M-M1-i", spawn (myTerminal ++ " -e irssi"))
|
|
||||||
, ("M-M1-j", spawn (myTerminal ++ " -e joplin"))
|
|
||||||
, ("M-M1-l", spawn (myTerminal ++ " -e lynx https://distrotube.com"))
|
|
||||||
, ("M-M1-m", spawn (myTerminal ++ " -e mocp"))
|
|
||||||
, ("M-M1-n", spawn (myTerminal ++ " -e newsboat"))
|
|
||||||
, ("M-M1-p", spawn (myTerminal ++ " -e pianobar"))
|
|
||||||
, ("M-M1-r", spawn (myTerminal ++ " -e rtv"))
|
|
||||||
, ("M-M1-t", spawn (myTerminal ++ " -e toot curses"))
|
|
||||||
, ("M-M1-w", spawn (myTerminal ++ " -e wopr report.xml"))
|
|
||||||
, ("M-M1-y", spawn (myTerminal ++ " -e youtube-viewer"))
|
|
||||||
|
|
||||||
-- Multimedia Keys
|
-- Multimedia Keys
|
||||||
, ("<XF86AudioPlay>", spawn "cmus toggle")
|
, ("<XF86AudioPlay>", spawn (myTerminal ++ "mocp --play"))
|
||||||
, ("<XF86AudioPrev>", spawn "cmus prev")
|
, ("<XF86AudioPrev>", spawn (myTerminal ++ "mocp --previous"))
|
||||||
, ("<XF86AudioNext>", spawn "cmus next")
|
, ("<XF86AudioNext>", spawn (myTerminal ++ "mocp --next"))
|
||||||
-- , ("<XF86AudioMute>", spawn "amixer set Master toggle") -- Bug prevents it from toggling correctly in 12.04.
|
-- , ("<XF86AudioMute>", spawn "amixer set Master toggle") -- Bug prevents it from toggling correctly in 12.04.
|
||||||
, ("<XF86AudioLowerVolume>", spawn "amixer set Master 5%- unmute")
|
, ("<XF86AudioLowerVolume>", spawn "amixer set Master 5%- unmute")
|
||||||
, ("<XF86AudioRaiseVolume>", spawn "amixer set Master 5%+ unmute")
|
, ("<XF86AudioRaiseVolume>", spawn "amixer set Master 5%+ unmute")
|
||||||
, ("<XF86HomePage>", spawn "firefox")
|
, ("<XF86HomePage>", spawn "firefox")
|
||||||
, ("<XF86Search>", safeSpawn "firefox" ["https://www.google.com/"])
|
, ("<XF86Search>", safeSpawn "firefox" ["https://www.duckduckgo.com/"])
|
||||||
, ("<XF86Mail>", runOrRaise "geary" (resource =? "thunderbird"))
|
, ("<XF86Mail>", runOrRaise "geary" (resource =? "thunderbird"))
|
||||||
, ("<XF86Calculator>", runOrRaise "gcalctool" (resource =? "gcalctool"))
|
, ("<XF86Calculator>", runOrRaise "gcalctool" (resource =? "gcalctool"))
|
||||||
, ("<XF86Eject>", spawn "toggleeject")
|
, ("<XF86Eject>", spawn "toggleeject")
|
||||||
@@ -870,7 +906,7 @@ main = do
|
|||||||
, modMask = myModMask
|
, modMask = myModMask
|
||||||
, terminal = myTerminal
|
, terminal = myTerminal
|
||||||
, startupHook = myStartupHook
|
, startupHook = myStartupHook
|
||||||
, layoutHook = myLayoutHook
|
, layoutHook = showWName' myShowWNameTheme $ myLayoutHook
|
||||||
, workspaces = myWorkspaces
|
, workspaces = myWorkspaces
|
||||||
, borderWidth = myBorderWidth
|
, borderWidth = myBorderWidth
|
||||||
, normalBorderColor = myNormColor
|
, normalBorderColor = myNormColor
|
||||||
|
|||||||
+6
-6
@@ -1,17 +1,17 @@
|
|||||||
//Modify this file to change what commands output to your statusbar, and recompile using the make command.
|
//Modify this file to change what commands output to your statusbar, and recompile using the make command.
|
||||||
static const Block blocks[] = {
|
static const Block blocks[] = {
|
||||||
/*Icon*/ /*Command*/ /*Update Interval*/ /*Update Signal*/
|
/*Icon*/ /*Command*/ /*Update Interval*/ /*Update Signal*/
|
||||||
{" 🐧 ", "kernel", 360, 2},
|
{" 🐧 ", "/home/dt/.local/bin/kernel", 360, 2},
|
||||||
|
|
||||||
{" 🔺 ", "upt", 60, 2},
|
{" 🔺 ", "/home/dt/.local/bin/upt", 60, 2},
|
||||||
|
|
||||||
{" 📦 ", "pacupdate", 360, 9},
|
{" 📦 ", "/home/dt/.local/bin/pacupdate", 360, 9},
|
||||||
|
|
||||||
{" 💻 ", "memory", 6, 1},
|
{" 💻 ", "/home/dt/.local/bin/memory", 6, 1},
|
||||||
|
|
||||||
{" 🔊 ", "volume", 2, 10},
|
{" 🔊 ", "/home/dt/.local/bin/volume", 2, 10},
|
||||||
|
|
||||||
{" 🕑 ", "clock", 5, 0},
|
{" 🕑 ", "/home/dt/.local/bin/clock", 5, 0},
|
||||||
};
|
};
|
||||||
|
|
||||||
//sets delimeter between status commands. NULL character ('\0') means no delimeter.
|
//sets delimeter between status commands. NULL character ('\0') means no delimeter.
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user