Skip to content

Instantly share code, notes, and snippets.

@jm2dev
Created October 13, 2020 04:54
Show Gist options
  • Save jm2dev/1dad07ad5a0296b26f047900b0e1d0f2 to your computer and use it in GitHub Desktop.
Save jm2dev/1dad07ad5a0296b26f047900b0e1d0f2 to your computer and use it in GitHub Desktop.
Spectrwm configuration
#!/usr/bin/env bash
#set -euo pipefail
trap 'Update' 5
spr='|'
VolInf()
{
# I had to move this function to it's own script
# Because the volume dissapeared when Iturned of my mouse
# Don't ask I don't know either
#VolInf.sh
vol=$(pamixer --get-volume)
mute=$(pamixer --get-mute)
[ "$mute" == "true" ] && vstatus="Muted" || vstatus="$vol%"
echo "Vol $vstatus"
}
BcklInf()
{
echo "Bckl $(xbacklight -get | awk '{print int($1+0.5)}' | sed 's/\..*//')%"
}
BattInf()
{
batt="/sys/class/power_supply/BAT0"
capac="$(cat "$batt"/capacity)"
bstatus="$(cat "$batt"/status)"
bstat="$(echo "$bstatus" | sed 's/Charging/↑/;s/Discharging/↓/;s/Full//;s/Unknown//')"
echo "Batt $bstat$capac%"
}
Update()
{
echo " $(BcklInf) $spr $(VolInf) $spr $(BattInf)" &
wait
}
while :
do
Update
sleep 60 &
wait
done
# 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
# some inspiration: https://github.com/linuxdabbler/personal-dot-files/blob/master/spectrwm.conf
# youtube: https://www.youtube.com/watch?v=v3FsgPk8WW4
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 = 3
#color_focus = red
color_focus = rgb:eb/cb/8b
color_focus_maximized = yellow
color_unfocus = rgb:88/88/88
color_unfocus_maximized = rgb:88/88/00
region_padding = 10
tile_gap = 10
# 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_enabled = 1
bar_border_width = 1
bar_border[1] = rgb:00/80/80
bar_border_unfocus[1] = rgb:00/40/40
bar_color[1] = rgb:2e/34/40
bar_font_color[1] = rgb:eb/cb/8b
bar_font = xos4 Terminus:style=Regular:pixelsize=23:antialias=true
bar_action = ~/bin/baraction.sh
bar_justify = center
# bar_format = +N:+I +S (+D) | +A distrotube spectrwm | +A el contenido de actionbar.sh
#bar_format = +N:+I +S <+D> <+T> | +A
bar_format = +N:+I +S <+D>+4 +65W <%a %b %d %R %Z %Y+8<+A+4<+V
workspace_indicator = listcurrent,listactive,markcurrent,printnames
bar_at_bottom = 1
# stack_enabled = 1
clock_enabled = 1
clock_format = %a %b %d %R %Z %Y
iconic_enabled = 1
# maximize_hide_bar = 0
window_class_enabled = 1
# window_instance_enabled = 0
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]:alacritty
autorun = ws[1]:/home/jm/.fehbg
autorun = ws[2]:firefox
autorun = ws[3]:emacs
#autorun = ws[4]:brave
#autorun = ws[4]:telegram-desktop
# 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]:term
name = ws[2]:web
name = ws[3]:editor
name = ws[4]:www
name = ws[5]:im
# name = ws[10]:Music
# 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] = alacritty
program[menu] = rofi -show run
# 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
program[soundinc] = pactl set-sink-volume @DEFAULT_SINK@ +5%
program[sounddec] = pactl set-sink-volume @DEFAULT_SINK@ -5%
program[soundmute] = pactl set-sink-mute @DEFAULT_SINK@ toggle
program[micmute] = pactl set-source-mute @DEFAULT_SOURCE@ toggle
program[brightinc] = xbacklight -inc 5
program[brightdec] = xbacklight -dec 5
bind[soundinc] = XF86AudioRaiseVolume
bind[sounddec] = XF86AudioLowerVolume
bind[soundmute] = XF86AudioMute
bind[micmute] = XF86AudioMicMute
bind[brightinc] = XF86MonBrightnessUp
bind[brightdec] = XF86MonBrightnessDown
# 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment