Initial changes for switching to 'stow'

* remove install script; use Makefile (thanks jamestomasino & benharri)
* move configs to individual folders
* remove bookmarks
This commit is contained in:
Tommy Harris 2020-12-30 21:28:29 -07:00
parent 88eb8e59e9
commit f1f06cb48b
Signed by: tobraha
GPG Key ID: 93769A4F97AE33E9
12 changed files with 755 additions and 266 deletions

68
Makefile Normal file
View File

@ -0,0 +1,68 @@
YELLOW = $$(tput setaf 226)
GREEN = $$(tput setaf 46)
RED = $$(tput setaf 196)
RESET = $$(tput sgr0)
ifeq ($(OS),Windows_NT)
UNAME = Windows
else
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
UNAME = Linux
endif
UNAME ?= Other
endif
install:
@make $(UNAME)
Linux: bspwm dunst emacs oh-my-zsh polybar sxhkd zsh
Windows: bash git vim
Other: bash git vim
clean:
@printf "$(RED)--- clean -----------------------------------------------\n$(RESET)"
stow -t "$$HOME" -D bspwm
stow -t "$$HOME" -D dunst
stow -t "$$HOME" -D emacs
stow -t "$$HOME" -D oh-my-zsh
stow -t "$$HOME" -D polybar
stow -t "$$HOME" -D sxhkd
stow -t "$$HOME" -D zsh
bspwm:
@printf "$(YELLOW)--- bspwm ----------------------------------------------\n$(RESET)"
stow -t "$$HOME" bspwm
dunst:
@printf "$(YELLOW)--- dunst ----------------------------------------------\n$(RESET)"
stow -t "$$HOME" dunst
emacs:
@printf "$(YELLOW)--- emacs ----------------------------------------------\n$(RESET)"
git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
stow -t "$$HOME" emacs
oh-my-zsh:
@printf "$(YELLOW)--- oh-my-zsh ------------------------------------------\n$(RESET)"
git clone https://github.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh
cp oh-my-zsh/themes/agnoster.zsh-theme ~/.oh-my-zsh/themes/
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/plugins/zsh-syntax-highlighting
polybar:
@printf "$(YELLOW)--- polybar --------------------------------------------\n$(RESET)"
stow -t "$$HOME" polybar
sxhkd:
@printf "$(YELLOW)--- sxhkd ----------------------------------------------\n$(RESET)"
stow -t "$$HOME" sxhkd
zsh:
@printf "$(YELLOW)--- zsh ------------------------------------------------\n$(RESET)"
stow -t "$$HOME" zsh
nuke:
@printf "$(RED)--- nuking existing files ------------------------------\n$(RESET)"
rm -rf ~/.config/{bspwm,dunst,polybar,sxhkd} ~/.emacs.d ~/.spacemacs ~/.oh-my-zsh ~/.zshrc
.PHONY: bspwm dunst emacs oh-my-zsh polybar sxhkd zsh clean install nuke Windows Linux Other

View File

@ -1,140 +0,0 @@
{
"guid": "root________",
"title": "",
"index": 0,
"dateAdded": 1607387719952000,
"lastModified": 1608252914991000,
"id": 1,
"typeCode": 2,
"type": "text/x-moz-place-container",
"root": "placesRoot",
"children": [
{
"guid": "menu________",
"title": "menu",
"index": 0,
"dateAdded": 1607387719952000,
"lastModified": 1608252914991000,
"id": 2,
"typeCode": 2,
"type": "text/x-moz-place-container",
"root": "bookmarksMenuFolder"
},
{
"guid": "toolbar_____",
"title": "toolbar",
"index": 1,
"dateAdded": 1607387719952000,
"lastModified": 1608252627565000,
"id": 3,
"typeCode": 2,
"type": "text/x-moz-place-container",
"root": "toolbarFolder",
"children": [
{
"guid": "SdMSRThe6zpG",
"title": "x-zvf/dotfiles: My Dotfiles for Arch Linux with i3-gaps, vim, tmux",
"index": 0,
"dateAdded": 1608144300566000,
"lastModified": 1608144300566000,
"id": 15,
"typeCode": 1,
"iconuri": "https://github.githubassets.com/favicons/favicon.svg",
"type": "text/x-moz-place",
"uri": "https://github.com/x-zvf/dotfiles"
},
{
"guid": "PF0SaeegwHa2",
"title": "QEMU NAT",
"index": 1,
"dateAdded": 1608252591159000,
"lastModified": 1608252627565000,
"id": 16,
"typeCode": 2,
"type": "text/x-moz-place-container",
"children": [
{
"guid": "63izSjOptaFC",
"title": "Qemu Networking Setup",
"index": 0,
"dateAdded": 1607577486660000,
"lastModified": 1608252601249000,
"id": 13,
"typeCode": 1,
"iconuri": "https://apiraino.github.io/assets/favicon.ico",
"type": "text/x-moz-place",
"uri": "https://apiraino.github.io/qemu-bridge-networking/"
},
{
"guid": "cJnvfU1FykWS",
"title": "Custom NAT-based network \u2014 libvirt Networking Handbook \u2014 Jamie Nguyen",
"index": 1,
"dateAdded": 1607581205383000,
"lastModified": 1608252607390000,
"id": 14,
"typeCode": 1,
"type": "text/x-moz-place",
"uri": "https://jamielinux.com/docs/libvirt-networking-handbook/custom-nat-based-network.html"
},
{
"guid": "G5SMj3S-pQ0V",
"title": "Dummy interface on RHEL \u2014 libvirt Networking Handbook \u2014 Jamie Nguyen",
"index": 2,
"dateAdded": 1608252615510000,
"lastModified": 1608252615510000,
"id": 17,
"typeCode": 1,
"type": "text/x-moz-place",
"uri": "https://jamielinux.com/docs/libvirt-networking-handbook/appendix/dummy-interface-on-rhel.html"
},
{
"guid": "Yb-AIcTQEFSI",
"title": "NAT virtual bridge on RHEL \u2014 libvirt Networking Handbook \u2014 Jamie Nguyen",
"index": 3,
"dateAdded": 1608252622074000,
"lastModified": 1608252622074000,
"id": 18,
"typeCode": 1,
"type": "text/x-moz-place",
"uri": "https://jamielinux.com/docs/libvirt-networking-handbook/appendix/nat-virtual-bridge-on-rhel.html"
},
{
"guid": "3T3nef_GGCOe",
"title": "VirtualNetworking - Libvirt Wiki",
"index": 4,
"dateAdded": 1608252627565000,
"lastModified": 1608252627565000,
"id": 19,
"typeCode": 1,
"iconuri": "https://wiki.libvirt.org/apple-touch-icon.png",
"type": "text/x-moz-place",
"uri": "https://wiki.libvirt.org/page/VirtualNetworking#The_default_configuration"
}
]
}
]
},
{
"guid": "unfiled_____",
"title": "unfiled",
"index": 3,
"dateAdded": 1607387719952000,
"lastModified": 1607577515408000,
"id": 5,
"typeCode": 2,
"type": "text/x-moz-place-container",
"root": "unfiledBookmarksFolder"
},
{
"guid": "mobile______",
"title": "mobile",
"index": 4,
"dateAdded": 1607387720015000,
"lastModified": 1607387720182000,
"id": 6,
"typeCode": 2,
"type": "text/x-moz-place-container",
"root": "mobileFolder"
}
]
}

View File

@ -19,6 +19,7 @@ bspc config gapless_monocle true
bspc rule -a Gimp desktop='^8' state=floating follow=on
bspc rule -a Emacs state=tiled
bspc rule -a Virt-manager state=floating
bspc rule -a Thunderbird state=floating
bspc rule -a firefox state=floating
bspc rule -a mplayer2 state=floating
bspc rule -a Kupfer.py focus=on

View File

@ -376,6 +376,9 @@ before packages are loaded. If you are unsure, you should try in setting them in
'(85 . 50) '(100 . 100)))))
(global-set-key (kbd "C-c t") 'toggle-transparency)
;; follow symlinks by default
(setq vc-follow-symlinks t)
)
(defun dotspacemacs/user-config ()

View File

@ -1,126 +0,0 @@
#!/bin/bash
###
# emacs/spacemacs
###
echo "Setting up emacs/spacemacs..."
# only create the link if it either doesn't exist or is not a link
if ! [[ -e ~/.spacemacs ]] || ! [[ -L ~/.spacemacs ]]; then
echo " --> linking .spacemacs to home"
ln -sf $PWD/.spacemacs ~/.spacemacs
else
echo " --> .spacemacs is already linked!"
fi
echo " --> setting up spacemacs folder (.emacs.d)"
if ! [[ -d $HOME/.emacs.d ]] ; then
printf "\nNo .emacs.d folder found - downloading spacemacs...\n"
git clone https://github.com/syl20bnr/spacemacs $HOME/.emacs.d
elif [[ -d ~/.emacs.d ]] && ! [[ -e ~/.emacs.d/spacemacs.mk ]] ; then
printf "\n --> .emacs.d present, but not spacemacs. Let's get it.\n\n"
echo " --> renaming .emacs.d to .emacs.d.old"
mv ~/.emacs.d ~/.emacs.d.OLD
git clone https://github.com/syl20bnr/spacemacs $HOME/.emacs.d
else
echo "Spacemacs already present! Skipping download."
fi
###
# zsh
###
echo ; echo "Setting up zsh"
# only create the link if it either doesn't exist or is not a link
if ! [[ -e ~/.zshrc ]] || ! [[ -L ~/.zshrc ]]; then
echo " --> backing up and linking .zshrc to home"
cp ~/.zshrc ~/.zshrc.bak 2>/dev/null
ln -sf $PWD/.zshrc ~/.zshrc
else
echo " --> .zshrc is already linked!"
fi
echo " --> setting up plugins and linked files..."
echo " --> setting up oh-my-zsh"
if ! [[ -d ~/.oh-my-zsh ]]; then
echo " --> no oh-my-zsh - cloning..."
git clone https://github.com/ohmyzsh/ohmyzsh ~/.oh-my-zsh
else
echo " --> oh-my-zsh folder already exists"
fi
echo " --> setting up zsh-syntax-highlighting..."
if ! [[ -d ~/.oh-my-zsh/plugins/zsh-syntax-highlighting ]]; then
echo " --> cloning zsh-syntax-highlighting..."
git clone https://github.com/zsh-users/zsh-syntax-highlighting ~/.oh-my-zsh/plugins/zsh-syntax-highlighting
echo " --> copying zsh theme customizations..."
cp oh-my-zsh/themes/agnoster.zsh-theme $HOME/.oh-my-zsh/themes/
else
echo " --> zsh-syntax-highlighting already installed!"
fi
echo "Adding functions, aliases, and exports..."
echo " --> creating ~/scripts/shell"
mkdir -p ~/scripts/shell
echo " --> linking files..."
ln -sf $PWD/scripts/shell/aliases.sh ~/scripts/shell/aliases.sh
ln -sf $PWD/scripts/shell/functions.sh ~/scripts/shell/functions.sh
ln -sf $PWD/scripts/shell/exports.sh ~/scripts/shell/exports.sh
echo "Sourcing ~/.zshrc"
source ~/.zshrc
###
# bspwm+sxhkd+polybar
###
echo "bspwm - checking for process and installing files..."
# check to see if we're running bspwm and then link files
if [[ `pgrep bspwm` ]] ; then
echo " --> bspwm found! installing files."
mkdir -p ~/.config/{bspwm,sxhkd}
ln -sf $PWD/.config/bspwm/bspwmrc ~/.config/bspwm/bspwmrc
ln -sf $PWD/.config/sxhkd/sxhkdrc ~/.config/sxhkd/sxhkdrc
ln -sf $PWD/.config/polybar ~/.config/polybar
else
echo " --> bspwm not found; skipping this!"
fi
###
# private repo files
###
echo "Checking and installing private repo"
# check for ssh-agent
if ! [[ -d $PWD/private ]] ; then
if ! [[ `ssh-add -l | grep -i I6M0VOSO7` ]] ; then
echo " --> ssh key not found in agent, trying to add it"
sagent
else
echo " --> ssh key found in agent; can continue!"
fi
if ! [[ `ssh-add -l | grep -i I6M0VOSO7` ]] ; then
echo " --> prompting for ssh key passowrd:"
ssh-add
fi
if ! [[ `ssh-add -l | grep -i I6M0VOSO7` ]] ; then
echo " --> still not able to retrieve ssh key; cannot install private repo"
else
echo " --> ssh key found, installing private repo"
git submodule add git@github.com:tobraha/private.git
fi
else
echo " --> prviate repo already exists!"
fi
# source private aliasrc
source $HOME/dotfiles/private/aliasrc
echo ; echo "Done!"

View File

@ -0,0 +1,413 @@
; vim:ft=dosini
;=====================================================
;
; To learn more about how to configure Polybar
; go to https://github.com/jaagr/polybar
;
; The README contains alot of information
;
;=====================================================
[colors]
black = ${xrdb:color0:#1d2021}
darkred = ${xrdb:color1:#cc241d}
darkgreen = ${xrdb:color2:#98971a}
darkyellow = ${xrdb:color3:#d79921}
darkblue = ${xrdb:color4:#458588}
darkmagenta = ${xrdb:color5:#b16286}
darkcyan = ${xrdb:color6:#689d6a}
lightgray = ${xrdb:color7:#a89984}
gray = ${xrdb:color8:#928374}
red = ${xrdb:color9:#fb4934}
green = ${xrdb:color10:#b8bb26}
yellow = ${xrdb:color11:#fabd2f}
blue = ${xrdb:color12:#83a598}
magenta = ${xrdb:color13:#d3869b}
cyan = ${xrdb:color14:#8ec07c}
white = ${xrdb:color15:#ebdbb2}
background = ${xrdb:color256:#1d2021}
foreground = ${xrdb:color257:#ebdbb2}
[bar/default]
;monitor = ${env:MONITOR:LVDS-1}
;monitor = ${env:MONITOR:HDMI-1}
enable-ipc = true
width = 100%
height = 24
;offset-x = 1%
;offset-y = 1%
;radius = 6.0
fixed-center = false
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3
line-color = {$xrdb:red}
border-size = 0
border-color = ${colors.white}
padding-left = 0
padding-right = 0
module-margin-left = 1
module-margin-right = 1
font-0 = mono:pixelsize=9;1
font-1 = Inconsolata Nerd Font:size=8;1
font-2 = Noto Color Emoji:scale=10:style=Regular;2
font-3 = Symbola:pixelsize=9;1
; Other modules: xkeyboard filesystem xbacklight backlight-acpi cpu memory temperature powermenu weather
modules-left = bspwm xwindow
;modules-center =
modules-right = mpd volume mutt-wizard wlan eth battery date
tray-position = right
tray-padding = 0
wm-restack = bspwm
;override-redirect = true
scroll-up = bspwm-desknext
scroll-down = bspwm-deskprev
[module/mutt-wizard]
type = custom/script
exec = mailbox
interval = 5
format-prefix = " "
format-underline = ${colors.red}
click-left = $TERMINAL -e neomutt
[module/weather]
type = custom/script
exec = weather
interval = 5000
;format-underline =
[module/xwindow]
type = internal/xwindow
label = %title:0:45:...%
format-foreground = ${colors.blue}
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
format-prefix = " "
format-prefix-foreground = ${colors.gray}
format-prefix-underline = ${colors.darkmagenta}
label-layout = %layout%
label-layout-underline = ${colors.darkmagenta}
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-background = ${colors.darkmagenta}
label-indicator-underline = ${colors.darkmagenta}
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
mount-1 = /home
label-mounted-underline = ${colors.cyan}
label-mounted = /: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.gray}
[module/bspwm]
type = internal/bspwm
label-focused = %index%
label-focused-foreground = ${colors.black}
label-focused-background = ${colors.blue}
label-focused-underline= ${colors.yellow}
label-focused-padding = 1
label-occupied = %index%
label-occupied-underline = ${colors.blue}
label-occupied-padding = 1
label-urgent = %index%!
label-urgent-background = ${colors.red}
label-urgent-padding = 1
label-empty = %index%
label-empty-foreground = ${colors.lightgray}
label-empty-padding = 1
[module/i3]
type = internal/i3
format = <label-state> <label-mode>
index-sort = true
wrapping-scroll = false
; Only show workspaces on the same output as the bar
;pin-workspaces = true
label-mode-padding = 2
label-mode-foreground = ${colors.white}
label-mode-background = ${colors.darkyellow}
; focused = Active workspace on focused monitor
label-focused = %index%
label-focused-background = ${colors:black}
;label-focused-background = ${module/bspwm.label-focused-background}
label-focused-underline = ${module/bspwm.label-focused-underline}
label-focused-padding = ${module/bspwm.label-focused-padding}
; unfocused = Inactive workspace on any monitor
label-unfocused = %index%
label-unfocused-padding = ${module/bspwm.label-occupied-padding}
; visible = Active workspace on unfocused monitor
label-visible = %index%
label-visible-background = ${self.label-focused-background}
label-visible-underline = ${self.label-focused-underline}
label-visible-padding = ${self.label-focused-padding}
; urgent = Workspace with urgency hint set
label-urgent = %index%
label-urgent-background = ${module/bspwm.label-urgent-background}
label-urgent-padding = ${module/bspwm.label-urgent-padding}
[module/mpd]
type = internal/mpd
format-online = <label-song> <label-time>
click-left = $TERMINAL -e ncmpcpp
click-right = mpc toggle
label-song = %artist% - %title%
label-song-maxlen = 70
label-song-ellipsis = true
format-paused-foreground = ${colors.gray}
[module/xbacklight]
type = internal/xbacklight
format = <label> <bar>
label = ﯧ
bar-width = 10
bar-indicator = |
bar-indicator-foreground = #ff
bar-indicator-font = 2
bar-fill = ─
bar-fill-font = 2
bar-fill-foreground = #9f78e1
bar-empty = ─
bar-empty-font = 2
bar-empty-foreground = ${colors.gray}
[module/backlight-acpi]
inherit = module/xbacklight
type = internal/backlight
card = intel_backlight
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = "🌡 "
format-prefix-foreground = ${colors.gray}
format-underline = ${colors.red}
label = %percentage%%
[module/memory]
type = internal/memory
interval = 2
format-prefix = "🧠 "
format-prefix-foreground = ${colors.gray}
format-underline = ${colors.darkcyan}
label = %percentage_used%%
[module/wlan]
type = internal/network
interface = wlp2s0
interval = 3.0
format-connected = 直 <label-connected>
format-connected-underline = ${colors.darkmagenta}
label-connected = %essid%
;format-disconnected =
format-disconnected = <label-disconnected>
format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
label-disconnected = 睊no wifi
label-disconnected-foreground = ${colors.gray}
; <ramp-signal>
ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
ramp-signal-foreground = ${colors.gray}
[module/eth]
type = internal/network
interface = enp0s25
interval = 3.0
format-connected-underline = ${colors.darkgreen}
;format-connected-underline = ${colors.green}
format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.gray}
label-connected = %local_ip%
;format-disconnected =
format-disconnected = <label-disconnected>
format-disconnected-underline = ${self.format-connected-underline}
label-disconnected =  %ifname%
label-disconnected-foreground = ${colors.gray}
[module/date]
type = internal/date
interval = 60
date = "%Y %b %d (%a)"
time = "%I:%M%p"
# If you're not living in a country where AM and PM is used you can add -alt to the time above this line and comment it using ;, then you can remove the -alt to the time under this line and uncomment it.
;time-alt = " at %H:%M"
;time-alt = %H:%M:%S
;time-alt = %H:%M:%S
format-prefix = " "
format-prefix-foreground = ${colors.gray}
format-underline = ${colors.blue}
label = %date% %time%
[module/volume]
type = internal/alsa
format-volume = <label-volume> <bar-volume>
label-volume = 
label-volume-foreground = ${root.foreground}
format-muted-prefix = " "
format-muted-foreground = ${colors.gray}
label-muted = muted
bar-volume-width = 10
bar-volume-foreground-0 = ${colors.blue}
bar-volume-foreground-1 = ${colors.blue}
bar-volume-foreground-2 = ${colors.green}
bar-volume-foreground-3 = ${colors.green}
bar-volume-foreground-4 = ${colors.green}
bar-volume-foreground-5 = ${colors.yellow}
bar-volume-foreground-6 = ${colors.red}
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 2
bar-volume-fill = =
bar-volume-fill-font = 2
bar-volume-empty = =
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.gray}
[module/battery]
type = internal/battery
battery = BAT0
adapter = ADP1
full-at = 98
;format-charging = Charging... <label-charging>
format-charging = <animation-charging> <label-charging>
format-charging-underline = ${colors.darkyellow}
;format-discharging = <label-discharging>
format-discharging = <ramp-capacity> <label-discharging>
format-discharging-underline = ${self.format-charging-underline}
format-full-prefix = " "
format-full-prefix-foreground = ${colors.gray}
format-full-underline = ${self.format-charging-underline}
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 
ramp-capacity-foreground = ${colors.gray}
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-3 = 
animation-charging-4 = 
animation-charging-foreground = ${colors.gray}
animation-charging-framerate = 500
[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 60
format = <ramp> <label>
format-underline = ${colors.red}
format-warn = <ramp> <label-warn>
format-warn-underline = ${self.format-underline}
label = %temperature-c%
label-warn = %temperature-c%
label-warn-foreground = ${colors.darkmagenta}
ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-3 = 
ramp-4 = 
ramp-foreground = ${colors.gray}
[module/powermenu]
type = custom/menu
format-spacing = 1
label-open = 
label-open-foreground = ${colors.darkmagenta}
label-close =  cancel
label-close-foreground = ${colors.darkmagenta}
label-separator = |
label-separator-foreground = ${colors.gray}
menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = power off
menu-0-1-exec = menu-open-2
menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = sudo reboot
menu-2-0 = power off
menu-2-0-exec = sudo poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0
[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
[global/wm]
margin-top = 5
margin-bottom = 5

View File

@ -0,0 +1,270 @@
# The Simple X Hotkey Daemon is the program used by LARBS to map most of the
# dwm-independent commands. This file is pretty readable, so I'll let you read
# it.
# The keys NOT bound here by sxhkd, but by dwm or i3 are:
# The t thru p keys on the top row
# The f thru ; keys on the home row
# The b key on the bottom row (hides the bar in either case)
# Basic binds
super + Return
$TERMINAL
super + d
dmenu_run
super + r
$TERMINAL -e $FILE
super + e
$TERMINAL -e neomutt; pkill -RTMIN+12 $STATUSBAR
super + m
$TERMINAL -e ncmpcpp
super + n
$TERMINAL -e newsboat
super + c
$TERMINAL -e calcurse -D ~/.config/calcurse
super + v
$TERMINAL -e nvim -c VimwikiIndex
super + shift + a
$TERMINAL -e alsamixer; pkill -RTMIN+10 $STATUSBAR
super + shift + c
mpv --no-osc --no-input-default-bindings --input-conf=/dev/null --title='mpvfloat' /dev/video0
super + shift + e
tutorialvids
super + w
$TERMINAL -e sudo nmtui
super + shift + w
$BROWSER
# Et cetera...
super + grave
dmenuunicode
super + Scroll_Lock
killall screenkey || screenkey
super + Insert
showclip
super + shift + x
prompt "Shutdown computer?" "sudo -A shutdown -h now"
super + shift + BackSpace
prompt "Reboot computer?" "sudo -A reboot"
super + shift + Escape
prompt 'Leave Xorg?' 'killall Xorg'
super + x
ifinstalled slock && ( slock & xset dpms force off ; mpc pause ; pauseallmpv )
XF86Launch1
xset dpms force off
XF86TouchpadToggle
(synclient | grep "TouchpadOff.*1" && synclient TouchpadOff=0) || synclient TouchpadOff=1
XF86Touchpad{Off,On}
synclient TouchpadOff={1,0}
XF86MonBrightnessDown
xbacklight -dec 15
XF86MonBrightnessUp
xbacklight -inc 15
# Recording
# Take screenshot
Print
maim pic-full-$(date '+%y%m%d-%H%M-%S').png
# Pick screenshot type
shift + Print
maimpick
# Print: Record audio or video; Del: kill recording
super + Print
dmenurecord
super + Delete
dmenurecord kill
# Pause audio
super + p
mpc toggle
super + shift + p
mpc pause; pauseallmpv
# Changes to next/previous tracks
super + {comma,period}
mpc {prev,next}
# Restart track
super + shift + less
mpc seek 0%
# Seek foward in song
super + {_,shift +} bracketright
mpc seek +{10,120}
# Seek backward in song
super + {_,shift +} bracketleft
mpc seek -{10,120}
# Increase volume
super + {equal,plus}
amixer sset Master {5,15}%+; pkill -RTMIN+10 $STATUSBAR
# Decrease volume
super {_,shift +} + minus
amixer sset Master {5,15}%-; pkill -RTMIN+10 $STATUSBAR
super + shift + m
amixer sset Master toggle; pkill -RTMIN+10 $STATUSBAR
# Audiokeys
XF86AudioMute
amixer sset Master toggle; pkill -RTMIN+10 $STATUSBAR
XF86Audio{Raise,Lower}Volume
amixer sset Master 5%{+,-}; pkill -RTMIN+10 $STATUSBAR
XF86Audio{Next,Prev}
mpc {next,prev}
XF86Audio{Pause,Play,Stop}
mpc {pause,play,stop}
XF86Audio{Rewind,Forward}
mpc seek {-,+}10
XF86AudioRecord
dmenurecord
XF86AudioMedia
$TERMINAL -e ncmpcpp
XF86PowerOff
prompt "Shutdown computer?" "sudo -A shutdown -h now"
XF86Calculator
$TERMINAL -e bc
XF86Sleep
prompt 'Hibernate computer?' 'sudo -A zzz'
XF86WWW
$BROWSER
XF86DOS
$TERMINAL
XF86ScreenSaver
mpc pause; pauseallmpv; i3lock -e -f -c 1d2021; xset dpms force off
XF86TaskPane
$TERMINAL -e htop
XF86Mail
$TERMINAL -e neomutt
XF86MyComputer
$TERMINAL -e $FILE /
# Function keys
super + shift + F1
grep LARBSWELCOME ~/.xprofile && ( sed -i "/LARBSWELCOME/d" ~/.xprofile && notify-send "LARBS welcome message" "Welcome message disabled. Press Super+Shift+F1 again to reverse." ) || ( echo "notify-send -i "$HOME/.local/share/larbs/larbs.png" \"Welcome to LARBS\" \"Press super+F1 for the help menu.\" # LARBSWELCOME" >> ~/.xprofile && notify-send "LARBS welcome message" "Welcome message re-enabled." )
# Show readme
super + F1
groff -mom $HOME/.local/share/larbs/readme.mom -Tpdf | zathura -
# F2 restarts either dwm or i3 and is bound in each.
# Change display
super + F3
displayselect
# Hibernate
super + F4
prompt 'Hibernate computer?' 'sudo -A zzz -Z'
super + F5 is unbound.
# Start torrent daemon/open interface
super + F6
torwrap
# toggle torrent daemon
super + F7
td-toggle
# sync email
super + F8
mailsync
# Mount a USB drive or Android device
super + {F9,F10}
{dmenumount,dmenuumount}
# close and kill
super + {_,shift + }q
bspc node -{c,k}
# alternate between the tiled and monocle layout
super + {_,shift + }f
bspc {desktop -l next,node -t ~fullscreen}
# rotate current node 90 degrees
super + y
bspc node @focused:/ -R 90
# swap the current node and the biggest local node
super + space
bspc node -s biggest.local || bspc node -s next.local
#
# state/flags
#
# set the window state
#super + {t,shift + t,s}
#bspc node -t {tiled,pseudo_tiled,floating}
super + shift + space
bspc node focused -t \~floating
# focus/swap
# focus the node in the given direction
super + {_,shift + }{h,j,k,l}
bspc node -{f,s} {west,south,north,east}
# focus the node for the given path jump
super + {p,b,comma,period}
bspc node -f @{parent,brother,first,second}
super + {g,semicolon}
bspc desktop {prev,next}.occupied --focus
super + {Prior,Next}
bspc desktop {prev,next}.occupied --focus
super + {Tab,backslash}
bspc desktop last --focus
# focus or swap the next node
super + {_,shift + }c
bspc node -{f,s} next.local
# focus the older or newer node in the focus history
# focus or send to the given desktop
super + {_,shift + }{1-9,0}
bspc {desktop -f,node -d} ^{1-9,10}
# preselect the direction
#super + {u,o}
#bspc node -p {south,east}
# preselect the ratio
super + ctrl + {1-9}
bspc node -o 0.{1-9}
# cancel the preselection for the focused node
super + ctrl + space
bspc node -p cancel
# cancel the preselection for the focused desktop
#super + space
#bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
# expand a window by moving one of its side outward
super + shift + {y,u,i,o}
bspc node -z {right -20 0,bottom 0 20,bottom 0 -20,right 20 0}
# contract a window by moving one of its side inward
# move a floating window
super + {Left,Down,Up,Right}
bspc node -v {-20 0,0 20,0 -20,20 0}
# Toggle gaps
super + shift + d
bspc config window_gap {0,15}
# Increase/descrease gap size
super { ,+ shift }+ z
bspc config window_gap $(($(bspc config window_gap) {+,-} 3))
super + u
cat /tmp/dropdown | xargs -I win bspc node win --flag hidden;bspc node -f win
# Make a windoww sticky/non-sticky
super + o
bspc node -g sticky={on,off}
# remove and restore polybar
#super + b
#\{ pgrep polybar && \{ killall polybar ; bspc config top_padding 0 \} \} || \{ launch_polybar ; bspc config top_padding 24 \}
super + {i,o}
bspc node -f {prev,next}.local
super + shift + n
bspc node focused -t \~floating ; hover right
super + shift + b
bspc node focused -t \~floating ; hover left

View File