diff --git a/.config/nvim/ftplugin/python.lua b/.config/nvim/ftplugin/python.lua index a7cb556..e437f58 100644 --- a/.config/nvim/ftplugin/python.lua +++ b/.config/nvim/ftplugin/python.lua @@ -1,5 +1,4 @@ -- variables -vim.g.black_linelength = 79 -- keybindings vim.keymap.set("n", "f", "Black", {buffer=true}) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 729c350..f839fdd 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -2,43 +2,48 @@ ----- variables ----- --------------------- -vim.g.mapleader = " " +vim.g.mapleader = " " -vim.o.expandtab = true -vim.o.smartindent = true -vim.o.shiftwidth = 4 -vim.o.tabstop = 4 +vim.o.expandtab = true +vim.o.smartindent = true +vim.o.shiftwidth = 4 +vim.o.tabstop = 4 +vim.o.cino = "(s" +vim.g.python_indent = { + open_paren = "shiftwidth()" +} -vim.o.list = true -vim.o.listchars = "tab:> ,trail:-,nbsp:+,leadmultispace:│ " +vim.o.list = true +vim.o.listchars = "tab:> ,trail:-,nbsp:+,leadmultispace:│ " -vim.o.number = true -vim.o.relativenumber = true -vim.o.laststatus = 3 +vim.o.number = true +vim.o.relativenumber = true +vim.o.laststatus = 3 -vim.o.ignorecase = true -vim.o.smartcase = true +vim.o.ignorecase = true +vim.o.smartcase = true -vim.o.guicursor = "" +vim.o.guicursor = "" -vim.o.path = vim.o.path .. ",**" -vim.o.suffixes = vim.o.suffixes .. ",.pyc,.hi" +vim.o.path = vim.o.path .. ",**" +vim.o.suffixes = vim.o.suffixes .. ",.pyc,.hi" -vim.o.foldmethod = "indent" -vim.o.foldlevel = 99 +vim.o.foldmethod = "indent" +vim.o.foldlevel = 99 -vim.o.grepprg = "grep -rn" +vim.o.grepprg = "grep -rn" -vim.o.scrolloff = 2 -vim.wo.colorcolumn = "80" +vim.o.scrolloff = 2 +vim.wo.colorcolumn = "80" +vim.g.black_linelength = 79 -vim.g.netrw_banner = 0 +vim.g.netrw_banner = 0 -vim.o.lazyredraw = true +vim.o.lazyredraw = true -vim.o.complete = vim.o.complete .. ",i" +vim.o.complete = vim.o.complete .. ",i" -vim.o.mousemodel = extend +vim.o.mousemodel = extend -------------------- ----- packages ----- diff --git a/.config/suckless b/.config/suckless index d6372de..a259fb3 160000 --- a/.config/suckless +++ b/.config/suckless @@ -1 +1 @@ -Subproject commit d6372de826221674d1421ba3598aedc214183417 +Subproject commit a259fb34124799ff99e62e97a0905592c42a82b8 diff --git a/bin/crypto b/bin/crypto index 6f59a33..c46ecf8 100755 Binary files a/bin/crypto and b/bin/crypto differ diff --git a/bin/music b/bin/music new file mode 100755 index 0000000..49acd41 --- /dev/null +++ b/bin/music @@ -0,0 +1,2 @@ +#!/bin/sh +firefox -P music diff --git a/bin/sbar b/bin/sbar index ec0c73d..c44bfef 100755 --- a/bin/sbar +++ b/bin/sbar @@ -17,7 +17,8 @@ update_memory() { } update_bat() { - local dir="$(echo /sys/class/power_supply/BAT* | sort -n | tail -n1)" + local dir; dir="$(echo /sys/class/power_supply/BAT*/ | sort -n | tail -n1)" + bat="$(grep -q Charging "$dir/status" && printf '' || printf '')" bat="$bat $(cat "$dir/capacity")%" } @@ -41,6 +42,21 @@ update_backlight() { backlight=" $((actual_brightness * 100 / max_brightness))%" } +update_wlp() { + local sig; sig="$(grep wlp /proc/net/wireless | awk '{print $3 * 100}')" + local ssid; ssid="$(nmcli -t -f name,device connection show --active | grep wlp | cut -d: -f1)" + + [ -z "$ssid" ] && wlp='⚠' && return + + echo "$sig" + # https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/libnmc-base/nm-client-utils.c#L628 + { [ "$sig" -gt 5600 ] && wlp="▂▄▆█ $ssid"; } || + { [ "$sig" -gt 3850 ] && wlp="▂▄▆_ $ssid"; } || + { [ "$sig" -gt 1650 ] && wlp="▂▄__ $ssid"; } || + { [ "$sig" -gt 275 ] && wlp="▂___ $ssid"; } || + { wlp="____ $ssid"; } +} + update_time() { time="$(date "+%a %m/%d %R")" } @@ -57,30 +73,36 @@ while [ -z "$(wpctl get-volume '@DEFAULT_AUDIO_SINK@')" ]; do sleep 1 done update_vol +update_backlight + +reload_bar() { + sec=0 +} display() { xsetroot -name "$crypto | $cpu | $memory | $vol | $time" } # SIGNALING -# trap ";display" "RTMIN+n" -trap "update_vol;display" "RTMIN" -trap "update_backlight;display" "RTMIN+1" -trap "update_bat;display" "RTMIN+2" +# trap ';display' 'RTMIN+n' +trap 'reload_bar;display' 'RTMIN' +trap 'update_vol;display' 'RTMIN+1' +trap 'update_crypto;display' 'RTMIN+3' # to update it from external commands ## kill -m "$(cat ~/.cache/pidofbar)" # where m = 34 + n sec=0 while true; do - sleep 1 & wait && { - [ $((sec % 3600)) -eq 0 ] && update_crypto - [ $((sec % 5 )) -eq 0 ] && update_time - [ $((sec % 5 )) -eq 0 ] && update_cpu - [ $((sec % 5 )) -eq 0 ] && update_memory - #[ $((sec % 5 )) -eq 0 ] && update_bat - [ $((sec % 5 )) -eq 0 ] && display - - sec="$((sec + 1))" + [ "$((sec % 3600))" = 0 ] && update_crypto + [ "$((sec % 5 ))" = 0 ] && { + update_time + update_cpu + update_memory + update_bat + display } + + sleep 1 & wait + sec="$((sec + 1))" done diff --git a/bin/set-light b/bin/set-light deleted file mode 100755 index db379a0..0000000 --- a/bin/set-light +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash -e -shopt -s extglob nullglob - -set_brightness() { - local max; max="$(cat "$1"/max_brightness)" - local file="$1"/brightness - local val="$(($2 * max / 100 + 1))" - - [ "$val" -lt 0 ] && val=0 - [ "$val" -gt "$max" ] && val="$max" - echo "$val" > "$file" -} - -CUR_FILE="${XDG_CACHE_HOME:-$HOME/.cache}/current_brightness" -CUR="$(cat "$CUR_FILE" 2> /dev/null || echo 50)" - -case "${1:0:1}" in - '') echo "$CUR"; exit ;; - '+'|'-') NEW="$((CUR - CUR % $1 + $1))" ;; - *) NEW="$1" ;; -esac - -for dev in /sys/class/backlight/*; do - set_brightness "$dev" "$NEW" -done - -echo "$NEW" > "$CUR_FILE" - -kill -35 "$(cat "$HOME/.cache/pidofbar")" diff --git a/bin/set-vol b/bin/set-vol index a94ca99..f039786 100755 --- a/bin/set-vol +++ b/bin/set-vol @@ -18,4 +18,4 @@ else fi # update sbar -kill -34 "$(cat "$HOME/.cache/pidofbar")" +kill -35 "$(cat "$HOME/.cache/pidofbar")" diff --git a/bin/set-wlp b/bin/set-wlp new file mode 100755 index 0000000..430443b --- /dev/null +++ b/bin/set-wlp @@ -0,0 +1,16 @@ +#!/bin/bash -e + +if [ -n "$1" ]; then + nmcli device wifi con "$1" +else + readarray -t NET <<< \ + "$(nmcli -f SSID,CHAN,RATE,SIGNAL,BARS,SECURITY dev wifi list \ + | awk '!seen[$1]++')" + + COLUMNS=1 + select net in "${NET[@]}"; do + nmcli device wifi con "$(awk '{print $1}' <<< "$net")" && break + done +fi + +kill -37 "$(cat "$HOME/.cache/pidofbar")"