[feature] replace some fish/bash script with dash script for performance
This commit is contained in:
parent
528e4dbe56
commit
e8805b8081
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
|
||||
DIR=$(readlink -f $(dirname $0))
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
|
||||
DIR=$(readlink -f $(dirname $0))
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
|
||||
DIR=$(readlink -f $(dirname $0))
|
||||
|
||||
|
|
|
@ -1,24 +1,22 @@
|
|||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
|
||||
# set system dpi to the minimal dpi among all connected monitors
|
||||
|
||||
MIN_DPI=99999999
|
||||
|
||||
# loop through all connected monitors line by line
|
||||
while IFS= read -r LINE; do
|
||||
WIDTH_PX=$(echo $LINE | grep -oP '\d+(?=x\d+)')
|
||||
[ -z "$WIDTH_PX" ] && continue
|
||||
WIDTH_MM=$(echo $LINE | grep -oP '\d+(?=mm x)')
|
||||
# calculate dpi of the monitor
|
||||
DPI=$(bc <<< "$WIDTH_PX*25.4/$WIDTH_MM")
|
||||
# update min dpi
|
||||
if [ "$DPI" -lt "$MIN_DPI" ]; then
|
||||
MIN_DPI=$DPI
|
||||
fi
|
||||
done <<< "$(xrandr | grep ' connected')"
|
||||
|
||||
# update dpi
|
||||
echo setting dpi to $MIN_DPI
|
||||
echo Xft.dpi: $MIN_DPI | xrdb -merge
|
||||
xrandr | awk '
|
||||
BEGIN {
|
||||
MIN_DPI=99999999
|
||||
}
|
||||
$2 == "connected" {
|
||||
if (match($0, / ([0-9]+)x([0-9]+)\+([0-9]+)\+([0-9]+) /, m1) &&
|
||||
match($0, / ([0-9]+)mm x ([0-9]+)mm$/, m2)) {
|
||||
DPI=m1[1]*25.4/m2[1]
|
||||
if (DPI < MIN_DPI) MIN_DPI=DPI
|
||||
}
|
||||
}
|
||||
END {
|
||||
printf "Xft.dpi: %i", MIN_DPI+0.5
|
||||
}
|
||||
' | xrdb -merge
|
||||
|
||||
nitrogen --restore
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/usr/bin/env fish
|
||||
#!/bin/sh
|
||||
|
||||
# start compositor daemon
|
||||
$HOME/.config/picom/launch.sh
|
||||
|
@ -7,7 +7,7 @@ $HOME/.config/picom/launch.sh
|
|||
$HOME/.config/dunst/launch.sh
|
||||
|
||||
# start dwmbar daemon
|
||||
$HOME/.config/dwm/dwmbar
|
||||
$HOME/.config/dwm/statusbar
|
||||
|
||||
# disable screen saver / turn off monitor if inactived for 300 secs
|
||||
xset s off
|
||||
|
|
127
suckless/config/dwm/statusbar
Executable file
127
suckless/config/dwm/statusbar
Executable file
|
@ -0,0 +1,127 @@
|
|||
#!/bin/sh
|
||||
|
||||
# symbola
|
||||
#export ICON_RCD=🎥
|
||||
#export ICON_MSC=♬
|
||||
#export ICON_MTD=🔉
|
||||
#export ICON_VOL=🔊
|
||||
#export ICON_NIC=🖧
|
||||
#export ICON_WFI=📡
|
||||
#export ICON_MEM=📈
|
||||
#export ICON_TMP=🌡
|
||||
#export ICON_PLG=🔌
|
||||
#export ICON_BAT=🔋
|
||||
#export ICON_DAT=⏲
|
||||
|
||||
# nerdfont
|
||||
export ICON_RCD='辶'
|
||||
export ICON_MSC=''
|
||||
export ICON_MTD='ﱝ '
|
||||
export ICON_VOL=' '
|
||||
export ICON_NIC=' '
|
||||
export ICON_WFI=' '
|
||||
export ICON_MEM=' '
|
||||
export ICON_TMP=''
|
||||
export ICON_PLG=' '
|
||||
export ICON_BA0=' '
|
||||
export ICON_BA1=' '
|
||||
export ICON_BA2=' '
|
||||
export ICON_BA3=' '
|
||||
export ICON_BA4=' '
|
||||
export ICON_DAT=' '
|
||||
|
||||
MPD=$(which mpc && echo yes)
|
||||
|
||||
statusbar() {
|
||||
|
||||
echo -n " "
|
||||
|
||||
# recording
|
||||
[ -f /tmp/recording.pid ] && echo -n "$ICON_RCD "
|
||||
|
||||
# mpd
|
||||
[ -n "$MPD" ] && mpc | awk '
|
||||
NR == 1 {
|
||||
SONG = $0
|
||||
}
|
||||
NR == 2 {
|
||||
PLAYING = $1
|
||||
}
|
||||
END {
|
||||
if (PLAYING == "[playing]")
|
||||
printf "%s %s ", ENVIRON["ICON_MSC"], SONG
|
||||
}
|
||||
'
|
||||
|
||||
# volume
|
||||
amixer get Master | awk 'END {
|
||||
ICO = $NF == "[off]" ? ENVIRON["ICON_MTD"] : ENVIRON["ICON_VOL"]
|
||||
VOL = $(NF-1)
|
||||
printf "%s %s ", ICO,substr(VOL, 2, length(VOL)-2)
|
||||
}'
|
||||
|
||||
# network
|
||||
for NIC in /sys/class/net/e*; do
|
||||
grep -q 'up' $NIC/operstate && awk '{
|
||||
printf "%s %s ",ENVIRON["ICON_NIC"],($0 >= 1000 ? $0 / 1000 "G" : $0 "M")
|
||||
}' $NIC/speed
|
||||
done
|
||||
|
||||
# wifi
|
||||
awk 'NR > 2 {
|
||||
printf "%s %i%% ", ENVIRON["ICON_WFI"], $3*100/70
|
||||
}' /proc/net/wireless
|
||||
|
||||
# cpu temperature
|
||||
awk '{
|
||||
printf "%s %i°C ", ENVIRON["ICON_TMP"], $0/1000
|
||||
}' /sys/class/thermal/thermal_zone0/temp
|
||||
|
||||
# memory usage
|
||||
free | awk 'NR == 2 {
|
||||
printf "%s %i%% ", ENVIRON["ICON_MEM"], $3/$2*100
|
||||
}'
|
||||
|
||||
# battery
|
||||
if [ -f /sys/class/power_supply/BAT0/capacity ]; then
|
||||
grep -q '1' /sys/class/power_supply/AC/online && export PLUGGED=yes
|
||||
awk '{
|
||||
if (ENVIRON["PLUGGED"] == "yes")
|
||||
ICON=ENVIRON["ICON_PLG"]
|
||||
else if ($0 > 90)
|
||||
ICON=ENVIRON["ICON_BA4"]
|
||||
else if ($0 > 75)
|
||||
ICON=ENVIRON["ICON_BA3"]
|
||||
else if ($0 > 50)
|
||||
ICON=ENVIRON["ICON_BA2"]
|
||||
else if ($0 > 25)
|
||||
ICON=ENVIRON["ICON_BA1"]
|
||||
else
|
||||
ICON=ENVIRON["ICON_BA0"]
|
||||
printf "%s %s%% ", ICON, $0
|
||||
}' /sys/class/power_supply/BAT0/capacity
|
||||
fi
|
||||
|
||||
# datetime
|
||||
echo -n "$ICON_DAT $(date +'%m-%d %H:%M %a') "
|
||||
}
|
||||
|
||||
|
||||
start() {
|
||||
while :; do
|
||||
! pgrep slock 1>/dev/null && xsetroot -name "$(statusbar)"
|
||||
sleep 1
|
||||
done
|
||||
}
|
||||
|
||||
restart() {
|
||||
pkill -f 'dwmbar loop'
|
||||
$0 loop &
|
||||
}
|
||||
|
||||
if [ "$1" = "loop" ]; then
|
||||
start
|
||||
else
|
||||
restart
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user