1
0
Fork 0
mirror of https://gitlab.com/dwt1/dotfiles.git synced 2023-02-13 20:55:19 -05:00

Pushing spectrwm config and baraction script.

This commit is contained in:
Derek Taylor 2020-04-14 16:37:48 -05:00
parent b378a25fcf
commit 6dcbb99515
2 changed files with 370 additions and 0 deletions

326
.spectrwm.conf Normal file
View file

@ -0,0 +1,326 @@
# PLEASE READ THE MAN PAGE BEFORE EDITING THIS FILE!
# https://htmlpreview.github.io/?https://github.com/conformal/spectrwm/blob/master/spectrwm.html
# NOTE: all rgb color values in this file are in hex! see XQueryColor for examples
workspace_limit = 9
focus_mode = default
focus_close = previous
focus_close_wrap = 1
focus_default = last
spawn_position = next
workspace_clamp = 1
warp_focus = 1
warp_pointer = 1
# Window Decoration
border_width = 1
color_focus = rgb:bb/c5/ff
color_focus_maximized = yellow
color_unfocus = rgb:88/88/88
color_unfocus_maximized = rgb:88/88/00
region_padding = 6
tile_gap = 6
# Region containment
# Distance window must be dragged/resized beyond the region edge before it is
# allowed outside the region.
# boundary_width = 50
# Remove window border when bar is disabled and there is only one window in workspace
# disable_border = 1
# Bar Settings
bar_action = /home/dt/baraction.sh
bar_enabled = 1
bar_border_width = 1
bar_border[1] = rgb:28/2a/36
bar_border_unfocus[1] = rgb:28/2a/36
bar_color[1] = rgb:28/2a/36
bar_color_selected[1] = rgb:00/80/80
bar_delay = 5
bar_font_color[1] = rgb:bb/c5/ff
bar_font_color_selected = black
bar_font = Mononoki Nerd Font:size=9
bar_justify = center
bar_format = +N:+I +S (+D) | +A
workspace_indicator = listcurrent,listactive,markcurrent,printnames
bar_at_bottom = 0
stack_enabled = 1
clock_enabled = 1
clock_format = %a %b %d %R %Z %Y
iconic_enabled = 0
maximize_hide_bar = 0
window_class_enabled = 1
window_instance_enabled = 1
window_name_enabled = 1
verbose_layout = 1
urgent_enabled = 1
# Dialog box size ratio when using TRANSSZ quirk; 0.3 < dialog_ratio <= 1.0
# dialog_ratio = 0.6
# Split a non-RandR dual head setup into one region per monitor
# (non-standard driver-based multihead is not seen by spectrwm)
# region = screen[1]:1280x1024+0+0
# region = screen[1]:1280x1024+1280+0
# Launch applications in a workspace of choice
# autorun = ws[1]:xterm
# autorun = ws[2]:xombrero http://www.openbsd.org
autorun = ws[1]:nitrogen --restore
autorun = ws[1]:compton
# Customize workspace layout at start
# layout = ws[1]:4:0:0:0:vertical
# layout = ws[2]:0:0:0:0:horizontal
# layout = ws[3]:0:0:0:0:fullscreen
# layout = ws[4]:4:0:0:0:vertical_flip
# layout = ws[5]:0:0:0:0:horizontal_flip
# Set workspace name at start
name = ws[1]:dev
name = ws[2]:www
name = ws[3]:sys
name = ws[4]:doc
name = ws[5]:vbox
name = ws[6]:chat
name = ws[7]:mus
name = ws[8]:vid
name = ws[9]:gfx
# Mod key, (Windows key is Mod4) (Apple key on OSX is Mod2)
modkey = Mod4
# This allows you to include pre-defined key bindings for your keyboard layout.
keyboard_mapping = ~/.spectrwm_us.conf
# PROGRAMS
# Validated default programs:
# program[lock] = xlock
# program[term] = xterm
# program[menu] = dmenu_run $dmenu_bottom -fn $bar_font -nb $bar_color -nf $bar_font_color -sb $bar_color_selected -sf $bar_font_color_selected
# program[search] = dmenu $dmenu_bottom -i -fn $bar_font -nb $bar_color -nf $bar_font_color -sb $bar_color_selected -sf $bar_font_color_selected
# program[name_workspace] = dmenu $dmenu_bottom -p Workspace -fn $bar_font -nb $bar_color -nf $bar_font_color -sb $bar_color_selected -sf $bar_font_color_selected
# To disable validation of the above, free the respective binding(s):
# bind[] = MOD+Shift+Delete # disable lock
# bind[] = MOD+Shift+Return # disable term
# bind[] = MOD+p # disable menu
# Optional default programs that will only be validated if you override:
# program[screenshot_all] = screenshot.sh full # optional
# program[screenshot_wind] = screenshot.sh window # optional
# program[initscr] = initscreen.sh # optional
# EXAMPLE: Define 'firefox' action and bind to key.
# program[firefox] = firefox http://spectrwm.org/
# bind[firefox] = MOD+Shift+b
# QUIRKS
# Default quirks, remove with: quirk[class:name] = NONE
# quirk[MPlayer:xv] = FLOAT + FULLSCREEN + FOCUSPREV
# quirk[OpenOffice.org 2.4:VCLSalFrame] = FLOAT
# quirk[OpenOffice.org 3.0:VCLSalFrame] = FLOAT
# quirk[OpenOffice.org 3.1:VCLSalFrame] = FLOAT
# quirk[Firefox-bin:firefox-bin] = TRANSSZ
# quirk[Firefox:Dialog] = FLOAT
# quirk[Gimp:gimp] = FLOAT + ANYWHERE
# quirk[XTerm:xterm] = XTERM_FONTADJ
# quirk[xine:Xine Window] = FLOAT + ANYWHERE
# quirk[Xitk:Xitk Combo] = FLOAT + ANYWHERE
# quirk[xine:xine Panel] = FLOAT + ANYWHERE
# quirk[Xitk:Xine Window] = FLOAT + ANYWHERE
# quirk[xine:xine Video Fullscreen Window] = FULLSCREEN + FLOAT
# quirk[pcb:pcb] = FLOAT
#
# Key bindings for United States (us) keyboards
# unbind with: bind[] = <keys>
bind[bar_toggle] = MOD+b
bind[bar_toggle_ws] = MOD+Shift+b
bind[button2] = MOD+v
bind[cycle_layout] = MOD+space
bind[flip_layout] = MOD+Shift+backslash
bind[float_toggle] = MOD+t
bind[focus_main] = MOD+m
bind[focus_next] = MOD+j
bind[focus_next] = MOD+Tab
bind[focus_prev] = MOD+k
bind[focus_prev] = MOD+Shift+Tab
bind[focus_urgent] = MOD+u
bind[height_grow] = MOD+Shift+equal
bind[height_shrink] = MOD+Shift+minus
bind[iconify] = MOD+w
bind[initscr] = MOD+Shift+i
bind[lock] = MOD+Shift+Delete
bind[master_add] = MOD+Shift+comma
bind[master_del] = MOD+Shift+period
bind[master_grow] = MOD+l
bind[master_shrink] = MOD+h
bind[maximize_toggle] = MOD+e
bind[move_down] = MOD+Shift+bracketright
bind[move_left] = MOD+bracketleft
bind[move_right] = MOD+bracketright
bind[move_up] = MOD+Shift+bracketleft
bind[mvrg_1] = MOD+Shift+KP_End
bind[mvrg_2] = MOD+Shift+KP_Down
bind[mvrg_3] = MOD+Shift+KP_Next
bind[mvrg_4] = MOD+Shift+KP_Left
bind[mvrg_5] = MOD+Shift+KP_Begin
bind[mvrg_6] = MOD+Shift+KP_Right
bind[mvrg_7] = MOD+Shift+KP_Home
bind[mvrg_8] = MOD+Shift+KP_Up
bind[mvrg_9] = MOD+Shift+KP_Prior
bind[mvws_1] = MOD+Shift+1
bind[mvws_2] = MOD+Shift+2
bind[mvws_3] = MOD+Shift+3
bind[mvws_4] = MOD+Shift+4
bind[mvws_5] = MOD+Shift+5
bind[mvws_6] = MOD+Shift+6
bind[mvws_7] = MOD+Shift+7
bind[mvws_8] = MOD+Shift+8
bind[mvws_9] = MOD+Shift+9
bind[mvws_10] = MOD+Shift+0
bind[mvws_11] = MOD+Shift+F1
bind[mvws_12] = MOD+Shift+F2
bind[mvws_13] = MOD+Shift+F3
bind[mvws_14] = MOD+Shift+F4
bind[mvws_15] = MOD+Shift+F5
bind[mvws_16] = MOD+Shift+F6
bind[mvws_17] = MOD+Shift+F7
bind[mvws_18] = MOD+Shift+F8
bind[mvws_19] = MOD+Shift+F9
bind[mvws_20] = MOD+Shift+F10
bind[mvws_21] = MOD+Shift+F11
bind[mvws_22] = MOD+Shift+F12
bind[name_workspace] = MOD+Shift+slash
bind[quit] = MOD+Shift+q
bind[raise_toggle] = MOD+Control+r
bind[restart] = MOD+Shift+r
bind[rg_1] = MOD+KP_End
bind[rg_2] = MOD+KP_Down
bind[rg_3] = MOD+KP_Next
bind[rg_4] = MOD+KP_Left
bind[rg_5] = MOD+KP_Begin
bind[rg_6] = MOD+KP_Right
bind[rg_7] = MOD+KP_Home
bind[rg_8] = MOD+KP_Up
bind[rg_9] = MOD+KP_Prior
bind[rg_next] = MOD+period
bind[rg_prev] = MOD+comma
bind[screenshot_all] = MOD+s
bind[screenshot_wind] = MOD+Shift+s
bind[search_win] = MOD+f
bind[search_workspace] = MOD+slash
bind[stack_dec] = MOD+Shift+period
bind[stack_inc] = MOD+Shift+comma
bind[stack_reset] = MOD+Shift+space
# bind[swap_main] = MOD+Return
bind[swap_next] = MOD+Shift+j
bind[swap_prev] = MOD+Shift+k
bind[uniconify] = MOD+Shift+w
bind[version] = MOD+Shift+v
bind[width_grow] = MOD+equal
bind[width_shrink] = MOD+minus
bind[wind_del] = MOD+Shift+c
bind[wind_kill] = MOD+Shift+x
bind[ws_1] = MOD+1
bind[ws_2] = MOD+2
bind[ws_3] = MOD+3
bind[ws_4] = MOD+4
bind[ws_5] = MOD+5
bind[ws_6] = MOD+6
bind[ws_7] = MOD+7
bind[ws_8] = MOD+8
bind[ws_9] = MOD+9
bind[ws_10] = MOD+0
bind[ws_11] = MOD+F1
bind[ws_12] = MOD+F2
bind[ws_13] = MOD+F3
bind[ws_14] = MOD+F4
bind[ws_15] = MOD+F5
bind[ws_16] = MOD+F6
bind[ws_17] = MOD+F7
bind[ws_18] = MOD+F8
bind[ws_19] = MOD+F9
bind[ws_20] = MOD+F10
bind[ws_21] = MOD+F11
bind[ws_22] = MOD+F12
bind[ws_next] = MOD+Right
bind[ws_next_all] = MOD+Up
bind[ws_next_move] = MOD+Shift+Up
bind[ws_prev] = MOD+Left
bind[ws_prev_all] = MOD+Down
bind[ws_prev_move] = MOD+Shift+Down
bind[ws_prior] = MOD+a
### PROGRAM KEYBINDINGS ###
program[alacritty] = alacritty
bind[alacritty] = MOD+Return
program[dmenu_run] = dmenu_run
bind[dmenu_run] = MOD+Shift+Return
####################################################
### Dmenu scripts launched with ALT + CTRL + KEY ###
####################################################
program[dmenu-edit-configs] = ./.dmenu/dmenu-edit-configs.sh
bind[dmenu-edit-configs] = MOD1+Control+e
program[dmenu-sysmon] = ./.dmenu/dmenu-sysmon.sh
bind[dmenu-sysmon] = MOD1+Control+m
program[passmenu] = passmenu
bind[passmenu] = MOD1+Control+p
program[dmenu-reddio] = ./.dmenu/dmenu-reddio.sh
bind[dmenu-reddio] = MOD1+Control+r
program[dmenu-surfraw] = ./.dmenu/dmenu-surfraw.sh
bind[dmenu-surfraw] = MOD1+Control+s
program[dmenu-scrot] = ./.dmenu/dmenu-scrot.sh
bind[dmenu-scrot] = MOD1+Control+i
####################################################
### TUI programs launched with SUPER + ALT + KEY ###
####################################################
program[lynx] = alacritty -e lynx gopher://distro.tube
bind[lynx] = MOD+MOD1+l
program[newsboat] = alacritty -e newsboat
bind[newsboat] = MOD+MOD1+n
program[rtv] = alacritty -e rtv
bind[rtv] = MOD+MOD1+r
program[neomutt] = alacritty -e neomutt
bind[neomutt] = MOD+MOD1+e
program[toot] = alacritty -e sh ./scripts/toot.sh
bind[toot] = MOD+MOD1+m
program[tig] = alacritty -e sh ./scripts/tig-script.sh
bind[tig] = MOD+MOD1+t
program[vifm] = alacritty -e sh ./.config/vifm/scripts/vifmrun
bind[vifm] = MOD+MOD1+f
program[joplin] = alacritty -e joplin
bind[joplin] = MOD+MOD1+j
program[cmus] = alacritty -e cmus
bind[cmus] = MOD+MOD1+c
program[irssi] = alacritty -e irssi
bind[irssi] = MOD+MOD1+i
program[ytv] = alacritty -e youtube-viewer
bind[ytv] = MOD+MOD1+y
program[ncpamixer] = alacritty -e ncpamixer
bind[ncpamixer] = MOD+MOD1+a

44
baraction.sh Executable file
View file

@ -0,0 +1,44 @@
#!/bin/bash
# baraction.sh for spectrwm status bar
## DATE
dte() {
dte="$(date +"%A, %B %d %l:%M%p")"
echo -e "$dte"
}
## DISK
hdd() {
hdd="$(df -h | awk 'NR==4{print $3, $5}')"
echo -e "HDD: $hdd"
}
## RAM
mem() {
mem=`free | awk '/Mem/ {printf "%d MiB/%d MiB\n", $3 / 1024.0, $2 / 1024.0 }'`
echo -e "MEM: $mem"
}
## CPU
cpu() {
read cpu a b c previdle rest < /proc/stat
prevtotal=$((a+b+c+previdle))
sleep 0.5
read cpu a b c idle rest < /proc/stat
total=$((a+b+c+idle))
cpu=$((100*( (total-prevtotal) - (idle-previdle) ) / (total-prevtotal) ))
echo -e "CPU: $cpu%"
}
## VOLUME
vol() {
vol=`amixer get Master | awk -F'[][]' 'END{ print $4":"$2 }'`
echo -e "VOL: $vol"
}
SLEEP_SEC=5
#loops forever outputting a line every SLEEP_SEC secs
while :; do
echo "$(cpu) | $(mem) | $(hdd) | $(vol) | $(dte)"
sleep $SLEEP_SEC
done