From a1d6fc2f3e6ab041cc51cb085ac59a646a126d25 Mon Sep 17 00:00:00 2001 From: Peter Son Struschka Date: Wed, 29 Jul 2020 16:40:02 +0800 Subject: basics+bspwm+herbstluftwm+i3wm+meta+polybar+xmonad: wm configs overhaul Created polybar as its own config instead of duplicated in bspwm and i3's directories allowing them both to be installed. Created herbstluftwm, xmonad window manager configs. Added scripts for a status bar, and fixed scripts. --- Makefile | 22 +- basics/.config/alacritty/alacritty.yml | 71 ++- basics/.config/newsboat/urls | 1 + basics/.config/npm/npmrc | 1 + basics/.local/bin/battery-monitor | 45 +- basics/.local/bin/change-vol | 10 + basics/.local/bin/edit-config | 4 +- basics/.local/bin/locate-config | 30 +- basics/.local/bin/macho | 25 + basics/.local/bin/statusbar/battery | 30 + basics/.local/bin/statusbar/memory | 22 + bspwm/.config/bspwm/bspwmrc | 34 +- bspwm/.config/polybar/config | 637 --------------------- bspwm/.config/polybar/launch.sh | 19 - bspwm/.config/polybar/task_polybar.sh | 7 - bspwm/.config/sxhkd/sxhkdrc | 5 + bspwm/.local/bin/rofi_goto_workspace | 4 - bspwm/.local/bin/rofi_moveto_workspace | 4 - bspwm/.local/bin/rofi_workspace_prompt | 3 - bspwm/.local/bin/spotifycl | 207 ------- bspwm/.local/share/config-files/polybar | 1 - bspwm/.local/share/lock/lock.png | Bin 3959 -> 0 bytes bspwm/.local/share/lock/rick_lock.png | Bin 113100 -> 0 bytes bspwm/.local/share/scripts/lock.sh | 15 - herbstluftwm/.config/herbstluftwm/autostart | 198 +++++++ herbstluftwm/.config/herbstluftwm/panel.sh | 204 +++++++ .../.local/share/config-files/herbstluftwm | 1 + i3wm/.config/i3/config | 22 +- i3wm/.config/polybar/config | 556 ------------------ i3wm/.config/polybar/launch.sh | 19 - i3wm/.local/bin/rofi_goto_workspace | 4 - i3wm/.local/bin/rofi_moveto_workspace | 4 - i3wm/.local/bin/rofi_workspace_prompt | 3 - i3wm/.local/bin/spotifycl | 207 ------- i3wm/.local/share/config-files/polybar | 1 - meta/basic_deps | 14 - meta/basics_deps | 14 + meta/bspwm_deps | 2 + meta/herbstluftwm_deps | 5 + meta/polybar_deps | 5 + meta/xmonad_deps | 2 + polybar/.config/polybar/config | 618 ++++++++++++++++++++ polybar/.config/polybar/launch.sh | 27 + polybar/.local/bin/rofi_goto_workspace | 4 + polybar/.local/bin/rofi_moveto_workspace | 4 + polybar/.local/bin/rofi_workspace_prompt | 3 + polybar/.local/bin/spotifycl | 207 +++++++ polybar/.local/share/config-files/polybar | 1 + xmonad/.config/xmonad/xmonad.hi | Bin 0 -> 2270 bytes xmonad/.config/xmonad/xmonad.hs | 17 + xmonad/.config/xmonad/xmonad.o | Bin 0 -> 9824 bytes 51 files changed, 1560 insertions(+), 1779 deletions(-) create mode 100755 basics/.local/bin/change-vol create mode 100755 basics/.local/bin/macho create mode 100755 basics/.local/bin/statusbar/battery create mode 100755 basics/.local/bin/statusbar/memory delete mode 100644 bspwm/.config/polybar/config delete mode 100755 bspwm/.config/polybar/launch.sh delete mode 100755 bspwm/.config/polybar/task_polybar.sh delete mode 100755 bspwm/.local/bin/rofi_goto_workspace delete mode 100755 bspwm/.local/bin/rofi_moveto_workspace delete mode 100755 bspwm/.local/bin/rofi_workspace_prompt delete mode 100755 bspwm/.local/bin/spotifycl delete mode 120000 bspwm/.local/share/config-files/polybar delete mode 100644 bspwm/.local/share/lock/lock.png delete mode 100644 bspwm/.local/share/lock/rick_lock.png delete mode 100755 bspwm/.local/share/scripts/lock.sh create mode 100755 herbstluftwm/.config/herbstluftwm/autostart create mode 100755 herbstluftwm/.config/herbstluftwm/panel.sh create mode 120000 herbstluftwm/.local/share/config-files/herbstluftwm delete mode 100644 i3wm/.config/polybar/config delete mode 100755 i3wm/.config/polybar/launch.sh delete mode 100755 i3wm/.local/bin/rofi_goto_workspace delete mode 100755 i3wm/.local/bin/rofi_moveto_workspace delete mode 100755 i3wm/.local/bin/rofi_workspace_prompt delete mode 100755 i3wm/.local/bin/spotifycl delete mode 120000 i3wm/.local/share/config-files/polybar delete mode 100644 meta/basic_deps create mode 100644 meta/basics_deps create mode 100644 meta/herbstluftwm_deps create mode 100644 meta/polybar_deps create mode 100644 meta/xmonad_deps create mode 100644 polybar/.config/polybar/config create mode 100755 polybar/.config/polybar/launch.sh create mode 100755 polybar/.local/bin/rofi_goto_workspace create mode 100755 polybar/.local/bin/rofi_moveto_workspace create mode 100755 polybar/.local/bin/rofi_workspace_prompt create mode 100755 polybar/.local/bin/spotifycl create mode 120000 polybar/.local/share/config-files/polybar create mode 100644 xmonad/.config/xmonad/xmonad.hi create mode 100644 xmonad/.config/xmonad/xmonad.hs create mode 100644 xmonad/.config/xmonad/xmonad.o diff --git a/Makefile b/Makefile index 469be25..5e18912 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,7 @@ -all_files := basics emacs spacemacs doom-emacs git i3wm bspwm vim nvim tmux x zsh fish +special_files := git nvim tmux zsh simple_files := emacs spacemacs doom-emacs vim fish +pkg_dependent_files := basics i3wm bspwm herbstluftwm xmonad x polybar +all_files := $(special_files) $(simple_files) $(pkg_dependent_files) .PHONY: $(all_files) @@ -11,27 +13,15 @@ BASE_DIR := $(patsubst %/,%,$(dir $(MAKEFILE_PATH))) $(simple_files): stow -t ~ $@ -# special install rules -basics: yay - yay -Q - < meta/basic_deps || yay -S --needed - < meta/basic_deps - stow -t ~ $@ - -x: yay - pacman -Q - < meta/x_deps || yay -S --needed - < meta/x_deps +$(pkg_dependent_files): yay + yay -Q - < meta/$@_deps || yay -S --needed - < meta/$@_deps stow -t ~ $@ +# special install rules git: pacman -Q git || sudo pacman -S git stow -t ~ $@ -i3wm: yay - pacman -Q - < meta/i3wm_deps || yay -S --needed - < meta/i3wm_deps - stow -t ~ $@ - -bspwm: yay - pacman -Q - < meta/bspwm_deps || yay -S --needed - < meta/bspwm_deps - stow -t ~ $@ - yay: git pacman -Q yay || (git clone aur:yay && pushd yay && makepkg -si && popd) diff --git a/basics/.config/alacritty/alacritty.yml b/basics/.config/alacritty/alacritty.yml index d49d07d..e84f5f4 100644 --- a/basics/.config/alacritty/alacritty.yml +++ b/basics/.config/alacritty/alacritty.yml @@ -3,14 +3,14 @@ # Any items in the `env` entry below will be added as # environment variables. Some entries may override variables # set by alacritty itself. -#env: +env: # TERM variable # # This value is used to set the `$TERM` environment variable for # each instance of Alacritty. If it is not present, alacritty will # check the local terminfo database and use `alacritty` if it is # available, otherwise `xterm-256color` is used. - #TERM: xterm-256color + TERM: xterm-256color window: # Window dimensions (changes require restart) @@ -26,8 +26,8 @@ window: # Blank space added around the window in pixels. This padding is scaled # by DPI and the specified value is always added at both opposing sides. padding: - x: 2 - y: 2 + x: 0 + y: 0 # Spread additional padding evenly around the terminal content. dynamic_padding: false @@ -50,13 +50,28 @@ window: # - Fullscreen startup_mode: Maximized + # Window title + #title: Alacritty + + # Window class (Linux/BSD only): + #class: + # Application instance name + #instance: Alacritty + # General application class + #general: Alacritty + + # GTK theme variant (Linux/BSD only) + # + # Override the variant of the GTK theme. Commonly supported values are `dark` and `light`. + # Set this to `None` to use the default theme variant. + #gtk_theme_variant: None + scrolling: # Maximum number of lines in the scrollback buffer. # Specifying '0' will disable scrolling. history: 10000 - # Number of lines the viewport will move for every line scrolled when - # scrollback is enabled (history > 0). + # Scrolling distance multiplier multiplier: 3 # Font configuration (changes require restart) @@ -96,8 +111,19 @@ font: # The `style` can be specified to pick a specific face. #style: Italic + # Bold italic font face + #bold_italic: + # Font family + # + # If the bold italic family is not specified, it will fall back to the + # value specified for the normal font. + #family: monospace + + # The `style` can be specified to pick a specific face. + #style: Bold Italic + # Point size - size: 13.0 + size: 8.0 # Offset is the extra space around each character. `offset.y` can be thought of # as modifying the line spacing, and `offset.x` as modifying the letter spacing. @@ -128,14 +154,6 @@ font: # effect. use_thin_strokes: true -# Debug options -debug: - # Display the time it takes to redraw each frame. - render_timer: false - - # Keep the log file after quitting Alacritty. - persistent_logging: false - # If `true`, bold text is drawn using the bright color variants. draw_bold_text_with_bright_colors: true @@ -522,3 +540,26 @@ key_bindings: - { key: F11, mods: Super, chars: "\x1b[23;3~" } - { key: F12, mods: Super, chars: "\x1b[24;3~" } - { key: NumpadEnter, chars: "\n" } + +# Debug options +debug: + # Display the time it takes to redraw each frame. + render_timer: false + + # Keep the log file after quitting Alacritty. + persistent_logging: false + + # Log level + # + # Values for `log_level`: + # - None + # - Error + # - Warn + # - Info + # - Debug + # - Trace + #log_level: Warn + + # Print all received window events. + #print_events: false + diff --git a/basics/.config/newsboat/urls b/basics/.config/newsboat/urls index 134c73c..e07c8b6 100644 --- a/basics/.config/newsboat/urls +++ b/basics/.config/newsboat/urls @@ -1,2 +1,3 @@ https://www.archlinux.org/feeds/news/ https://www.archlinux.org/feeds/planet/ +https://news.ycombinator.com/rss diff --git a/basics/.config/npm/npmrc b/basics/.config/npm/npmrc index fc84b78..3691078 100644 --- a/basics/.config/npm/npmrc +++ b/basics/.config/npm/npmrc @@ -2,3 +2,4 @@ prefix=${XDG_DATA_HOME}/npm cache=${XDG_CACHE_HOME}/npm tmp=${XDG_RUNTIME_DIR}/npm init-module=${XDG_CONFIG_HOME}/npm/config/npm-init.js + diff --git a/basics/.local/bin/battery-monitor b/basics/.local/bin/battery-monitor index ff1ef8b..1dfa7b6 100755 --- a/basics/.local/bin/battery-monitor +++ b/basics/.local/bin/battery-monitor @@ -1,6 +1,41 @@ +#!/bin/sh + +battery_path='/sys/class/power_supply/BAT0' + +percentage=$(head -n1 "${battery_path}/capacity") +state=$(head -n1 "${battery_path}/status") +rate=$([ -f "${battery_path}/current_now" ] && head -n1 "${battery_path}/current_now" || head -n1 "${battery_path}/power_now") +volt=$(head -n1 "${battery_path}/voltage_now") +now=$([ -f "${battery_path}/charge_now" ] && head -n1 "${battery_path}/charge_now" || head -n1 "${battery_path}/energy_now") +max=$([ -f "${battery_path}/current_full" ] && head -n1 "${battery_path}/current_full" || head -n1 "${battery_path}/energy_full") +cap=$([ "$state" = "Charging" ] && printf "%d-%d\n" "${max}" "${now}" | bc || echo "${now}") + +remaining=$( printf "%d/%d\n" "${cap}" "${volt}" | bc -l ) +current_rate=$( printf "%d/%d\n" "${rate}" "${volt}" | bc -l ) +echo $( [ "${current_rate}" != "0" ] && echo "not zero" || echo "is zero" ) +seconds=$( [ "${current_rate}" != "0" ] && printf "3600*%f/%f\n" "${remaining}" "${current_rate}" | bc || echo "0") +time_remaining=$( date -ud "@${seconds}" "+%H:%M:%S" ) + +echo "percentage ${percentage}%" +echo "state ${state}" +echo "rate ${rate}" +echo "volt ${volt}" +echo "now ${now}" +echo "max ${max}" +echo "cap ${cap}" +echo "remaining ${remaining}" +echo "current_rate ${current_rate}" +echo "seconds ${seconds}" +echo "time ${time_remaining}" + +exit 0 + battery_level=`acpi -b | cut -d ' ' -f 4 | grep -o '[0-9]*'` +battery_level=$(head -n1 /sys/class/power_supply/BAT0/capacity) battery_state=$(acpi | grep 'Battery' | sed 's/Battery\s[0-9]*: //' | sed 's/, [0-9][0-9]*\%.*//') +battery_state=$(head -n1 /sys/class/power_supply/BAT0/status) battery_remaining=$(acpi | grep -oh '[0-9:]* remaining' | sed 's/:\w\w remaining$/ Minutes/' | sed 's/00://' | sed 's/:/h /') +kk if [ ! -f "/tmp/.battery" ]; then echo "$battery_level" > /tmp/.battery @@ -18,12 +53,12 @@ checkBatteryLevel() { exit fi - if [ $battery_level -le 3 ]; then + if [ $battery_level -le 4 ]; then sudo systemctl suspend - elif [ $battery_level -le 5 ]; then - notify-send "Low Battery" "Your computer will suspend soon unless plugged into a power outlet." -u critical + elif [ $battery_level -le 7 ]; then + notify-send "Low Battery" "(${time_remaining}) Your computer will suspend soon unless plugged into a power outlet." -u critical elif [ $battery_level -le 10 ]; then - notify-send "Low Battery" "${battery_level}% (${battery_remaining}) of battery remaining." -u normal + notify-send "Low Battery" "${battery_level}% (${time_remaining}) of battery remaining." -u normal fi } @@ -38,4 +73,4 @@ checkBatteryStateChange() { } checkBatteryStateChange -checkBatteryLevel \ No newline at end of file +checkBatteryLevel diff --git a/basics/.local/bin/change-vol b/basics/.local/bin/change-vol new file mode 100755 index 0000000..a4309fd --- /dev/null +++ b/basics/.local/bin/change-vol @@ -0,0 +1,10 @@ +#!/bin/sh + +case "$1" in + "+") ;; + "-") ;; + *) exit 1; +esac + +pactl set-sink-mute 0 false +pactl set-sink-volume 0 "${1}5%" diff --git a/basics/.local/bin/edit-config b/basics/.local/bin/edit-config index 7d1baae..436a812 100755 --- a/basics/.local/bin/edit-config +++ b/basics/.local/bin/edit-config @@ -1,6 +1,6 @@ #/bin/sh FILE=$(locate-config) -[ -z "$FILE" ] && exit 1 +[ -z "$FILE" ] || [ ! -f "$FILE" ] && exit 1 -$EDITOR $FILE +${TERMINAL} -e ${EDITOR} ${FILE} diff --git a/basics/.local/bin/locate-config b/basics/.local/bin/locate-config index d798a39..26fd2cb 100755 --- a/basics/.local/bin/locate-config +++ b/basics/.local/bin/locate-config @@ -1,24 +1,16 @@ -#! /usr/bin/env bash +#!/bin/sh set -e -CONFIG_FILES=`ls -1 ~/.local/share/config-files | cut -d "" -f 1 | sort -d` -CONFIG_ARRAY=(`find ~/.local/share/config-files/ -maxdepth 1 -mindepth 1 -print0 | sort -z | xargs -r0 echo`) +config_dir="$HOME/.local/share/config-files" -INDEX=`echo "$CONFIG_FILES" | rofi -dmenu -format "i" -no-custom -mesg "Find config file for..."` -[ -z "$INDEX" ] && exit 1 -SOURCE=${CONFIG_ARRAY[$INDEX]} -#echo "$CONFIG_FILES" -#for item in ${CONFIG_ARRAY[*]} -#do -# printf " %s\n" $item -#done -# (https://stackoverflow.com/questions/59895/get-the-source-directory-of-a-bash-script-from-within-the-script-itself) -while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink - DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )" - SOURCE="$(readlink "$SOURCE")" - [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located -done -DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )" +p="Config:" + +sel=$(find "$config_dir" -writable -type l | cut -d "/" -f 7- | sort -d | dmenu -p "$p" -l 20) +ec=$? +[ "$ec" -ne 0 ] && exit $ec + +target=$(readlink -f "${config_dir}/${sel}") + +echo "$target" -echo $SOURCE diff --git a/basics/.local/bin/macho b/basics/.local/bin/macho new file mode 100755 index 0000000..2566d7d --- /dev/null +++ b/basics/.local/bin/macho @@ -0,0 +1,25 @@ +#!/bin/sh + +export FZF_DEFAULT_OPTS=' +--height=30% +--layout=reverse +--prompt="Manual: " +--preview="echo {1} | sed -E \"s/^\((.+)\)/\1/\" | xargs -I{S} man -Pcat {S} {2} 2>/dev/null"' + +while getopts ":s:" opt; do + case $opt in + s ) SECTION=$OPTARG; shift; shift;; + \?) echo "Invalid option: -$OPTARG" >&2; exit 1;; + : ) echo "Option -$OPTARG requires an argument" >&2; exit 1;; + esac +done + +manual=$(apropos -s ${SECTION:-''} ${@:-.} | \ + grep -v -E '^.+ \(0\)' |\ + awk '{print $2 " " $1}' | \ + sort | \ + fzf | \ + sed -E 's/^\((.+)\)/\1/') + +[ -z "$manual" ] && exit 0 +man $manual diff --git a/basics/.local/bin/statusbar/battery b/basics/.local/bin/statusbar/battery new file mode 100755 index 0000000..da6dd12 --- /dev/null +++ b/basics/.local/bin/statusbar/battery @@ -0,0 +1,30 @@ +#!/bin/sh + +battery_path='/sys/class/power_supply/BAT0' + +percentage=$(head -n1 "${battery_path}/capacity") +state=$(head -n1 "${battery_path}/status") +rate=$([ -f "${battery_path}/current_now" ] && + head -n1 "${battery_path}/current_now" || + head -n1 "${battery_path}/power_now") +volt=$(head -n1 "${battery_path}/voltage_now") +now=$([ -f "${battery_path}/charge_now" ] && + head -n1 "${battery_path}/charge_now" || + head -n1 "${battery_path}/energy_now") +max=$([ -f "${battery_path}/current_full" ] && + head -n1 "${battery_path}/current_full" || + head -n1 "${battery_path}/energy_full") +cap=$([ "$state" = "Charging" ] && + echo "$max $now" | awk '{printf "%d", $1 - $2}' || + echo "$now") + +remaining=$( echo "$cap $volt" | awk '{printf "%f", $1/$2}' ) +current_rate=$( echo "$rate $volt" | awk '{printf "%f", $1/$2}' ) +seconds_remaining=$( [ "${current_rate#0.00}" = "$current_rate" ] && + echo "$remaining $current_rate" | + awk '{printf "%d", 3600*$1/$2}' || + echo "0" ) +time_remaining=$( date -ud "@${seconds_remaining}" "+%H:%M:%S" ) + +# TODO: more variable output with flags? +echo "$state $percentage $time_remaining" diff --git a/basics/.local/bin/statusbar/memory b/basics/.local/bin/statusbar/memory new file mode 100755 index 0000000..7a952d8 --- /dev/null +++ b/basics/.local/bin/statusbar/memory @@ -0,0 +1,22 @@ +#!/bin/sh + +meminfo=$(awk ' +/^MemTotal:/ {Total=$2*1024} +/^MemAvailable:/ {Available=$2*1024} +/^MemFree:/ {Free=$2*1024} +/^Buffers:/ {Buffers=$2*1024} +/^Cached:/ {Cached=$2*1024} +/^SReclaimable:/ {SReclaimable=$2*1024} +/^Shmem:/ {Shmem=$2*1024} +END { +print Total ":" Available ":" Free ":" Buffers ":" Cached ":" SReclaimable ":" Shmem}' /proc/meminfo) + +echo "$meminfo" | + while IFS=: read -r t a f b c sr sh; do + memfree=$(echo "$a $t" | awk '{printf "%.3f", ($1 / $2) * 100}') + memused=$(echo "$memfree" | awk '{printf "%.3f", (100 - $1)}') + + # Percentage values + # TODO: other values, controllable by flags? + echo "$memfree $memused" + done diff --git a/bspwm/.config/bspwm/bspwmrc b/bspwm/.config/bspwm/bspwmrc index b514a7a..beef1f7 100755 --- a/bspwm/.config/bspwm/bspwmrc +++ b/bspwm/.config/bspwm/bspwmrc @@ -1,18 +1,34 @@ #! /bin/sh # reset polybar -$HOME/.config/polybar/launch.sh & +$HOME/.config/polybar/launch.sh bspwm # Autostart -[[ ! $(pidof -x sxhkd) ]] && sxhkd & -[[ ! $(pidof -x compton) ]] && compton & -[[ ! $(pidof -x nm-applet) ]] && nm-applet & -[[ ! $(pidof -x feh ) ]] && feh --bg-scale "$HOME/.local/share/images/wallpaper.jpg" & +[ ! "$(pidof -x sxhkd)" ] && sxhkd & +[ ! "$(pidof -x picom)" ] && picom & +[ ! "$(pidof -x nm-applet)" ] && nm-applet & # locker -[[ ! $(pidof -x xautolock) ]] && xautolock -locker "$HOME/.local/share/scripts/lock.sh" -time 60 -detectsleep -notify 10 & - -bspc monitor -d I II III IV V VI VII VIII IX X +# [ ! "$(pidof -x xautolock)" ] && xautolock -locker "$HOME/.local/share/scripts/lock.sh" -time 60 -detectsleep -notify 10 & +xset s 300 5 +xss-lock -n /usr/bin/xsecurelock/dimmer -l -- xsecurelock + +# setup monitor +monitors=$(xrandr -q | grep " connected " | cut -d " " -f1) +monitor_list=$(printf "%s" "$monitors" | tr '\n' ' ') +num_monitors=$(echo "$monitors" | wc -w) +case $num_monitors in + 1) + bspc monitor -d I II III IV V VI VII VIII IX X ;; + 2) + primary=$(echo "$monitor_list" | cut -d ' ' -f1) + secondary=$(echo "$monitor_list" | cut -d ' ' -f2) + echo "prim: $primary second: $secondary" + bspc monitor "$primary" -d I II III IV V + bspc monitor "$secondary" -d VI VII VII IX X + bspc wm -O "$primary" "$secondary" ;; + *) +esac bspc config border_width 2 bspc config window_gap 12 @@ -28,4 +44,4 @@ bspc rule -a Kupfer.py focus=on bspc rule -a Screenkey manage=off bspc rule -a scratchpad sticky=on state=floating hidden=on -alacritty --class scratchpad,scratchpad -e ~/code/dotfiles/bspwm/.bin/scratch & +alacritty --class scratchpad,scratchpad -e ~/.local/bin/scratch & diff --git a/bspwm/.config/polybar/config b/bspwm/.config/polybar/config deleted file mode 100644 index 05d6334..0000000 --- a/bspwm/.config/polybar/config +++ /dev/null @@ -1,637 +0,0 @@ -;========================================================== -; -; -; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗ -; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗ -; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝ -; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗ -; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║ -; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ -; -; -; To learn more about how to configure Polybar -; go to https://github.com/jaagr/polybar -; -; The README contains alot of information -; -;========================================================== - -[colors] -;background = ${xrdb:color0:#222} -background = #222 -background-alt = #444 -;foreground = ${xrdb:color7:#222} -foreground = #dfdfdf -foreground-alt = #555 -primary = #ffb52a -secondary = #e60053 -alert = #bd2c40 - -[bar/topbar] -monitor = ${env:MONITOR:eDP-1} -width = 100% -height = 40 -dpi = 96 -;offset-x = 1% -;offset-y = 1% -radius = 6.0 -fixed-center = false - -background = ${colors.background} -foreground = ${colors.foreground} - -line-size = 3 -line-color = #f00 - -border-size = 10 -border-bottom-size = 0 -border-color = #00000000 - -padding-left = 2 -padding-right = 2 - -font-0 = fixed:pixelsize=10;1 -font-1 = unifont:fontformat=truetype:size=8:antialias=false;0 -font-2 = siji:pixelsize=10;1 -font-3 = "Font Awesome 5 Brands:style=Regular:pixelsize=8;1" -font-4 = "Font Awesome 5 Free:style=Regular:pixelsize=8;1" -font-5 = "Font Awesome 5 Free:style=Solid:pixelsize=8;1" - -tray-position = right -tray-padding = 2 -;tray-transparent = true -;tray-background = #0063ff -tray-scale = 1 -tray-detached = false - -wm-restack = bspwm -override-redirect = false - -scroll-up = bspwm-desknext -scroll-down = bspwm-deskprev -cursor-click = pointer -cursor-scroll = ns-resize - -module-margin-left = 2 -module-margin-right = 2 -modules-left = hostname xwindow -modules-center = -modules-right = filesystem backlight pulseaudio xkeyboard memory cpu wlan eth ethvpn battery temperature - -[bar/topbar-second] -monitor = ${env:MONITOR:eDP-1} -width = 100% -height = 40 -dpi = 96 -;offset-x = 1% -offset-y = 50 -radius = 6.0 -fixed-center = true - -background = ${colors.background} -foreground = ${colors.foreground} - -line-size = 3 -line-color = #f00 - -border-size = 10 -border-top-size = 0 -border-bottom-size = 0 -border-color = #00000000 - -padding-left = 2 -padding-right = 2 - -font-0 = fixed:pixelsize=10;1 -font-1 = unifont:fontformat=truetype:size=8:antialias=false;0 -font-2 = siji:pixelsize=10;1 -font-3 = "Font Awesome 5 Brands:style=Regular:pixelsize=8;1" -font-4 = "Font Awesome 5 Free:style=Regular:pixelsize=8;1" -font-5 = "Font Awesome 5 Free:style=Solid:pixelsize=8;1" - -wm-restack = bspwm -override-redirect = false - -scroll-up = bspwm-desknext -scroll-down = bspwm-deskprev -cursor-click = pointer -cursor-scroll = ns-resize - -module-margin-left = 2 -module-margin-right = 2 -modules-left = bspwm -modules-center = spotify -modules-right = taskwarrior date - -[module/hostname] -type = custom/script -interval = 256 -format = "