diff --git a/KleinDwm/source/config.mk b/KleinDwm/source/config.mk index 7d5ec8b..859f387 100644 --- a/KleinDwm/source/config.mk +++ b/KleinDwm/source/config.mk @@ -31,7 +31,7 @@ LIBS = -L${X11LIB} -lX11 ${XINERAMALIBS} ${FREETYPELIBS} ${YAJLLIBS} -lXrender - # flags CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=200809L -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS} #CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS} -CFLAGS = -std=c99 -pedantic -Wall -Wno-deprecated-declarations -Os ${INCS} ${CPPFLAGS} +CFLAGS = -std=c99 -pedantic -Wall -Wno-deprecated-declarations -Os -march=armv8-a ${INCS} ${CPPFLAGS} LDFLAGS = ${LIBS} # Solaris diff --git a/KleinDwm/source/drw.o b/KleinDwm/source/drw.o index 2d0276b..e38f800 100644 Binary files a/KleinDwm/source/drw.o and b/KleinDwm/source/drw.o differ diff --git a/KleinDwm/source/dwm b/KleinDwm/source/dwm index 2f00bfc..fe6c665 100755 Binary files a/KleinDwm/source/dwm and b/KleinDwm/source/dwm differ diff --git a/KleinDwm/source/dwm-msg b/KleinDwm/source/dwm-msg deleted file mode 100755 index 464f385..0000000 Binary files a/KleinDwm/source/dwm-msg and /dev/null differ diff --git a/KleinDwm/source/dwm.o b/KleinDwm/source/dwm.o index 58d3215..954af45 100644 Binary files a/KleinDwm/source/dwm.o and b/KleinDwm/source/dwm.o differ diff --git a/KleinDwm/source/util.o b/KleinDwm/source/util.o index d16536d..ff4b6cb 100644 Binary files a/KleinDwm/source/util.o and b/KleinDwm/source/util.o differ diff --git a/customstatusbar/statusbars/install.sh b/customstatusbar/statusbars/install.sh index 78a4151..0f3a2d3 100755 --- a/customstatusbar/statusbars/install.sh +++ b/customstatusbar/statusbars/install.sh @@ -32,7 +32,7 @@ for pkg in "${requires_packages[@]}"; do echo "Package $pkg is installed already. YAY" fi done -sudo chmod +x /home/klein/KleinWindowManagement/customstatusbar/statusbars/statusbar.sh -sudo cp /home/klein/KleinWindowManagement/customstatusbar/statusbars/statusbar.sh /usr/bin/ +sudo chmod +x /home/klein/DynamicWindowManager/customstatusbar/statusbars/statusbar.sh +sudo ln -s /home/klein/DynamicWindowManager/customstatusbar/statusbars/statusbar.sh /usr/local/bin/statusbar -echo "Installation done. Run statusbar.sh in shell" +echo "Installation done. Run statusbar in shell. Installed to local bin" diff --git a/customstatusbar/statusbars/statusbar.sh b/customstatusbar/statusbars/statusbar.sh index 5897094..8a1458b 100755 --- a/customstatusbar/statusbars/statusbar.sh +++ b/customstatusbar/statusbars/statusbar.sh @@ -1,14 +1,14 @@ #!/usr/bin/env bash # Source color vars -source /home/klein/KleinWindowManagement/customstatusbar/statusbars/colorvars.sh +source /home/klein/DynamicWindowManager/customstatusbar/statusbars/colorvars.sh # Define Basic Dimentions base_x=0 base_y=2 -max_height=23 -bar_width=5 -gap=5 +max_height=15 +bar_width=3 +gap=1 cpu() { local cpu_line1=$(grep '^cpu ' /proc/stat) @@ -40,10 +40,10 @@ cpu() { local status_line="" status_line+="^c${grey}^^r${base_x},${base_y},${bar_width},${max_height}^" status_line+="^c${color}^^r${base_x},${usage_y},${bar_width},${usage_height}^" - status_line+="^d^^f7^" - local topcon=$( ps -eo %cpu,comm --sort=-%cpu | head -n 2 | tail -n 1 | awk '{print $2}') - topcon="${topcon:0:5}" # trunkate output - echo "{CPU:${status_line}${usage}% : ${topcon}}" + status_line+="^d^^f4^" # buffer of 1 +# local topcon=$( ps -eo %cpu,comm --sort=-%cpu | head -n 2 | tail -n 1 | awk '{print $2}') +# topcon="${topcon:0:5}" # trunkate output + echo "{CPU:${status_line}${usage}%" } ram() { @@ -51,37 +51,37 @@ ram() { local t_mem=$(echo "$m_mem" | awk '/^Mem:/ {print $2}') local u_mem=$(echo "$m_mem" | awk '/^Mem:/ {print $3}') local p_mem=$(awk "BEGIN {printf \"%.0f\", ($u_mem/$t_mem)*100}") - local usage_height=$((max_height * mem_usage / 100)) + local usage_height=$((max_height * p_mem / 100)) local usage_y=$((base_y + max_height - usage_height)) local status_line="" status_line+="^c$grey^^r$base_x,${base_y},${bar_width},${max_height}^" status_line+="^c$white^^r${base_x},${usage_y},${bar_width},${usage_height}^" - status_line+="^d^^f7^" + status_line+="^d^^f4^" # buffer of 1 status_line+="${p_mem}%" - echo "{Mem:$status_line}" + echo "M:$status_line" } swap() { local m_swap=$(free -m) - local t_swap=$(echo "$m_mem" | awk '/^Swap:/ {print $2}') - local u_swap=$(echo "$m_mem" | awk '/^Swap:/ {print $3}') + local t_swap=$(echo "$m_swap" | awk '/^Swap:/ {print $2}') + local u_swap=$(echo "$m_swap" | awk '/^Swap:/ {print $3}') if [[ "$u_swap" -eq 0 ]]; then return fi local p_swap=$(awk "BEGIN {printf \"%.0f\", ($u_swap/$t_swap)*100}") - local usage_height=$((max_height * mem_usage / 100)) + local usage_height=$((max_height * u_swap / 100)) local usage_y=$((base_y + max_height - usage_height)) local status_line="" status_line+="^c$grey^^r$base_x,${base_y},${bar_width},${max_height}^" status_line+="^c$white^^r${base_x},${usage_y},${bar_width},${usage_height}^" - status_line+="^d^^f7^" + status_line+="^d^^f4^" # buffer of 1 status_line+="${p_swap}%" - echo "{Swap:$status_line}|" + echo "|S:$status_line" } disk() { - local usage_p2=$(df -h | grep '/dev/nvme0n1p2' | awk '{print $5}' | tr -d '%') - local usage_p4=$(df -h | grep '/dev/nvme0n1p4' | awk '{print $5}' | tr -d '%') + local usage_p2=$(df -h | grep '/dev/mmcblk0p2' | awk '{print $5}' | tr -d '%') + local usage_p4=$(df -h | grep '/dev/mmcblk0p1' | awk '{print $5}' | tr -d '%') if [[ ! "$usage_p2" =~ ^[0-9]+(\.[0-9]+)?$ ]]; then usage_p2=0 fi @@ -99,15 +99,15 @@ disk() { local usage_y=$((base_y + max_height - usage_height)) status_line+="^c$grey^^r${base_x},${base_y},${bar_width},${max_height}^" status_line+="^c$white^^r${base_x},${usage_y},${bar_width},${usage_height}^" - base_x=$((base_x + bar_width +2)) + base_x=$((base_x + bar_width + gap)) done - status_line+="^d^^f15^" - echo "{Disk:${status_line}R:${usage_p2}%|U:${usage_p4}%}" + status_line+="^d^^f8^" #Buffer of 1 + echo "DF:${status_line}R:${usage_p2}%-U:${usage_p4}%" } cpu_temperature(){ - local temp=$(sensors | awk '/Package id 0/ {gsub(/[^0-9.]/, "", $4); print int($4)}') - local max_temp=70 + local temp=$(awk '{print int($1 / 1000)}' /sys/class/thermal/thermal_zone0/temp) + local max_temp=80 local color=$white if [ "$temp" -gt "$max_temp" ]; then color=$red @@ -115,62 +115,74 @@ cpu_temperature(){ color=$green fi local adj_y=5 - local usage_height=$(($temp * 10 / $max_temp)) + local usage_height=$(($temp * $max_height / $max_temp)) local usage_y=$((adj_y + 10 - usage_height)) local temp_icon="^c$black^" - temp_icon+="^r7,${base_y},5,15^" #Bar behind the fill + temp_icon+="^r5,14,8,5^" #two rectangles + temp_icon+="^r6,16,6,5^" #to mimic a circle + temp_icon+="^r7,${base_y},4,${max_height}^" #BG bar temp_icon+="^c$color^" - temp_icon+="^r8,${usage_y},3,${usage_height}^" # Fill Bar - temp_icon+="^c$black^" - temp_icon+="^r4,17,11,5^" - temp_icon+="^r5,19,9,6^" - temp_icon+="^d^^f15^" - echo "^c$white^{^d^$temp_icon $temp°C^c$white^}^d^" + temp_icon+="^r8,${usage_y},2,${usage_height}^" #C bar + temp_icon+="^d^^f16^" #Buffer of 1 + echo "${temp_icon}${temp}°C" } battery() { - local status=$(cat /sys/class/power_supply/BAT0/status) - local capacity=$(cat /sys/class/power_supply/BAT0/capacity) - local color=$white - if [[ "$capacity" -le 15 ]]; then - color=$red - elif [[ "$capacity" -le 25 ]]; then - color=$yellow - else - color=$green - fi - local adj_y=7 - local fill_width=$(($capacity * 20 / 100)) - local battery_icon="^c$black^" - battery_icon+="^r2,10,24,12^" - battery_icon+="^c$grey^" - battery_icon+="^r4,12,20,8^" - battery_icon+="^c$color^" - battery_icon+="^r4,12,$fill_width,8^" - battery_icon+="^c$black^" - battery_icon+="^r26,13,4,6^" - battery_icon+="^d^^f35^" - local color_status=$white - if [[ "$status" == "Full" ]]; then - color_status=$green - elif [[ "$status" == "Charging" ]]; then - color_status=$green - elif [[ "$status" == "Discharging" ]]; then - color_status=$grey - elif [[ "$status" == "Not charging" ]]; then - color_status=$white - else - status="NA" + local throttled=$(cat /sys/devices/platform/soc/soc:firmware/get_throttled) + local capacity=0 + local status="" + + if [ $((throttled & 0x1)) -ne 0 ]; then + status+="Under-voltage detected" fi - local volt=$(sensors | awk '/BAT0-acpi-0/ {getline; getline; print $2}') - echo "{${battery_icon}^c${color_status}^${capacity}^d^% ${volt}V}" + if [ $((throttled & 0x2)) -ne 0 ]; then + status+="ARM frequency capped" + fi + if [ $((throttled & 0x4)) -ne 0 ]; then + status+="Currently throttled" + fi + if [ $((throttled & 0x8)) -ne 0 ]; then + status+="Soft temperature limit active" + fi + if [ $((throttled & 0x10000)) -ne 0 ]; then + status+="Under-voltage has occurred since last reboot" + fi + if [ $((throttled & 0x20000)) -ne 0 ]; then + status+="ARM frequency capped has occurred since last reboot" + fi + if [ $((throttled & 0x40000)) -ne 0 ]; then + status+="Throttling has occurred since last reboot" + fi + if [ $((throttled & 0x80000)) -ne 0 ]; then + status+="Soft temperature limit has occurred since last reboot" + fi + + if [ "$throttled" -eq 0 ]; then + status+="No issues detected" + capacity=100 + fi + + # Check the core voltage using vcgencmd + local volt=$(vcgencmd measure_volts core | awk -F'=' '{print $2}') + local fill_width=$(($capacity * 9 / 100)) # corresponds to width of bar + local battery_icon="^c$black^" + battery_icon+="^r1,8,13,8^" + battery_icon+="^c$grey^" + battery_icon+="^r3,10,9,4^" + battery_icon+="^c$green^" + battery_icon+="^r3,10,$fill_width,4^" + battery_icon+="^c$black^" + battery_icon+="^r14,9,2,4^" + battery_icon+="^d^^f17^" #Buffer of 1 + echo "${battery_icon}${volt}" } wifi() { + local iface=$(ip -o link show | grep -v "lo:" | awk -F': ' '{print $2}'); local ssid=$(nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d':' -f2) ssid="${ssid:-No WiFi}" - ssid="${ssid:0:15}" - local dwm=$(grep wlp0s20f3 /proc/net/wireless | awk '{ print int($4) }') + ssid="${ssid:0:5}" + local dwm=$(grep "$iface" /proc/net/wireless | awk '{ print int($4) }') if [ "$ssid" = "No WiFi" ]; then local signal=0 else @@ -198,23 +210,24 @@ wifi() { local wifi_icon="^c$color^" for i in 1 2 3 4 5; do - local width=$((3 * i + 1)) - local height=$((3 * i + 1)) - local adj_y=$((max_height - height)) + local width=$(( (3 * i) )) + local height=$(( (3 * i) )) + local adj_y=$((max_height - height + 2)) if [ $i -le $bars_filled ]; then wifi_icon+="^c$color^" else wifi_icon+="^c$grey^" fi - wifi_icon+="^r$((base_x + 4 * (i - 2))),$adj_y,$width,$height^" + wifi_icon+="^r$((base_x + 2 * ( i - 3 ))),$((adj_y + 2)),$width,$height^" done - wifi_icon+="^d^^f17^" + wifi_icon+="^d^^f7^" - echo "{ $wifi_icon$ssid : $signal% }" + echo " ${wifi_icon}${ssid} ${signal}%}" } status(){ echo "$(cpu)|$(ram)|$(swap)$(disk)|$(cpu_temperature)|$(battery)|$(wifi)" } while true; do + DISPLAY=:0 xsetroot -name "$(status)" done diff --git a/dmenu/dmenu b/dmenu/dmenu index 0f90048..13478ac 100755 Binary files a/dmenu/dmenu and b/dmenu/dmenu differ diff --git a/dmenu/dmenu.o b/dmenu/dmenu.o index 9ce2f58..35a7fd9 100644 Binary files a/dmenu/dmenu.o and b/dmenu/dmenu.o differ diff --git a/dmenu/drw.o b/dmenu/drw.o index 59bfd10..b5adff6 100644 Binary files a/dmenu/drw.o and b/dmenu/drw.o differ diff --git a/dmenu/stest b/dmenu/stest index 99a4985..d119871 100755 Binary files a/dmenu/stest and b/dmenu/stest differ diff --git a/dmenu/stest.o b/dmenu/stest.o index 0700d9b..ec73ba8 100644 Binary files a/dmenu/stest.o and b/dmenu/stest.o differ diff --git a/dmenu/util.o b/dmenu/util.o index 04ef62b..8abf218 100644 Binary files a/dmenu/util.o and b/dmenu/util.o differ diff --git a/pinentry-dmenu/pinentry-dmenu b/pinentry-dmenu/pinentry-dmenu index 604e622..b73d43f 100755 Binary files a/pinentry-dmenu/pinentry-dmenu and b/pinentry-dmenu/pinentry-dmenu differ diff --git a/st/st b/st/st index 2e6c613..9f9745f 100755 Binary files a/st/st and b/st/st differ diff --git a/st/st.o b/st/st.o index 0513d88..0a72709 100644 Binary files a/st/st.o and b/st/st.o differ diff --git a/st/x.o b/st/x.o index 330e127..6ae9473 100644 Binary files a/st/x.o and b/st/x.o differ