diff options
Diffstat (limited to 'x')
| -rwxr-xr-x | x/4k-addmode.sh | 26 | ||||
| -rwxr-xr-x | x/day | 2 | ||||
| -rwxr-xr-x | x/mouse-props | 49 | ||||
| -rwxr-xr-x | x/night | 2 | ||||
| -rwxr-xr-x | x/rot | 48 | ||||
| -rwxr-xr-x | x/status-bar | 204 | ||||
| -rwxr-xr-x | x/touchpad-props | 32 | ||||
| -rwxr-xr-x | x/wallpaper | 8 |
8 files changed, 371 insertions, 0 deletions
diff --git a/x/4k-addmode.sh b/x/4k-addmode.sh new file mode 100755 index 0000000..ca5b712 --- /dev/null +++ b/x/4k-addmode.sh @@ -0,0 +1,26 @@ +#!/bin/sh +help() { +cat <<EOF +$0 [-d <display_name>] [-x <x>] [-y <y>] [-ref <rate>] +'xrandr' with no arguments will give you a listing. +EOF +printf 'Defaults: x: %-6d y: %-6d ref: %-6.2f\n' "$x" "$y" "$ref" +exit 1 +} +display=DisplayPort-0 +x=3840 +y=2160 +ref=110.00 +while [ $# -gt 0 ] ; do case $1 in + -d) display="$2" ; shift ; shift ;; + -x) x="$2"; shift ; shift ;; + -y) y="$2"; shift ; shift ;; + -ref) ref="$(printf "%0.2f" "$2")"; shift ; shift ;; + *) help;; +esac ; done +modename="${x}x${y}_$ref" +mdline="$(cvt "$x" "$y" "$ref" | sed -ne's/^Modeline "[^"]*"//p')" +#shellcheck disable=SC2086 +xrandr --newmode "$modename" $mdline +xrandr --addmode "$display" "$modename" +xrandr --output "$display" --mode "$modename" @@ -0,0 +1,2 @@ +#!/bin/sh +redshift -x diff --git a/x/mouse-props b/x/mouse-props new file mode 100755 index 0000000..a2c0d5f --- /dev/null +++ b/x/mouse-props @@ -0,0 +1,49 @@ +#!/bin/sh + +mice="G305|Viper|Naga Pro|Orochi V2|Viper V2" + +listMice() { + xinput --list \ + | awk -v "search=$mice" \ + '{ + if ($0 ~ search) { + if ( $0 ~ /pointer/ ) { + $1=$2=""; + print $0 + } + } + }' \ + | sed -re's/.* id=([0-9]*).*/\1/g' # -e's/^[ \t]*//g' +} +xinput --list | grep pointer | grep -E "$mice" +mice="$(listMice)" + +proplist='Accel Profile Enabled::0 1 +Accel Speed::0' +# Accel Speed::-0.7' + +IFS=' +' + +for device in $mice ; do + # props=$(xinput --list-props "pointer:$device") + props=$(xinput --list-props "$device") + + for prop in $proplist ; do + propName="$(echo "$prop" | awk -F:: '{print $1}')" + propVal="$(echo "$prop" | awk -F:: '{print $2}')" + + prop="$(echo "$props" | + sed -rne 's/^.*'"$propName"' \(([0-9]+).*$/\1/ip')" + oldIFS="$IFS" + IFS=' ' + + #shellcheck disable=SC2086 + xinput --set-prop "$device" "$prop" $propVal + #shellcheck disable=SC2086 + echo xinput --set-prop "$device" "$prop" $propVal + + IFS="$oldIFS" + done +done + @@ -0,0 +1,2 @@ +#!/bin/sh +redshift -P -O 3500K @@ -0,0 +1,48 @@ +#!/bin/sh +set -x + +IFS=" +" + +devices="$(xinput list --name-only | grep Wacom)" + +setTransform() { + for d in $devices ; do + xinput set-prop "$d" --type=float \ + "Coordinate Transformation Matrix" \ + "$@" + done +} + +while [ $# -gt 0 ] ; do case $1 in + left) + setTransform \ + 0 -1 1 1 0 0 0 0 1 + xrandr -o left + shift + ;; + right) + setTransform \ + 0 1 0 -1 0 1 0 0 1 + xrandr -o right + shift + ;; + normal) + setTransform \ + 0 0 0 0 0 0 0 0 0 + xrandr -o normal + shift + ;; + inverted) + setTransform \ + -1 0 1 0 -1 1 0 0 1 + xrandr -o inverted + shift + ;; + *) + echo Unknown option "$1"; + shift + exit 1 + ;; +esac ; done + diff --git a/x/status-bar b/x/status-bar new file mode 100755 index 0000000..30fdbd7 --- /dev/null +++ b/x/status-bar @@ -0,0 +1,204 @@ +#!/bin/sh +timeout=10 + +_sys_memory() { + free -m | awk '/^Mem/{print $6;exit 0;}' +} + +_sys_uptime() { +uptime | sed -re's/^.*up[ ]+//g' -e's/^([^,]*),.*/\1/g' -e's/^([^ ]+)[ ]*(.).*/\1\2/g' +} + +wireless_info() { + _if="$1" + + printf "WiFi: %s %s %s %s" \ + "$_if" \ + "$(nmcli c | awk "/$_if/"'{print $1}')" \ + "$(ip -4 addr show dev "$_if" | awk '/inet /{print $2}')" \ + "$(awk "/^$_if/"'{print $4+0}' /proc/net/wireless)dbm" +} + +eth_info() { + _if="$1" + + printf "Eth: %s %s %s" \ + "$_if" \ + "$(ip -4 addr show dev "$_if" | awk '/inet /{print $2}')" \ + "" + + # "$(ifconfig "$_if" | grep -oE '[0-9]+baseT')" +} + +network_info() { + # default_if="$(netstat -rnf inet | awk '/^default/{print $8}')" + default_if="$(ip route | awk '/^default/{print $5;exit 0;}')" + + if [ -z "$default_if" ] ; then + echo "No conn" + elif [ -d "/sys/class/net/$default_if/wireless" ] ; then + wireless_info "$default_if" + else + eth_info "$default_if" + fi +} + + +pine_batt_status() { + cat \ + /sys/class/power_supply/axp20x-battery/capacity \ + /sys/class/power_supply/axp20x-battery/status +} + +batt_status() { + # sudo tlp-stat -b | awk 'BEGIN{ORS=" "} /\/status/{print $3}/^Charge/{print $3}'; + batt="BAT0" + supplyN="AC" + while [ $# -gt 0 ] ; do case $1 in + -b) batt="$2"; shift ; shift ;; + -s) supplyN="$2"; shift ; shift ;; + *) exit 2; + esac ; done + printf "%s %s" \ + "$(cat "/sys/class/power_supply/$batt/capacity")" \ + "$(charging_status -s "$supplyN")" +} + +charging_status() { + supplyN="AC" + while [ $# -gt 0 ] ; do case $1 in + -s) supplyN="$2"; shift ; shift ;; + *) exit 2; + esac ; done + online_f="/sys/class/power_supply/$supplyN/online" + online="$(cat "$online_f")" + if [ "$online" = "1" ] ; then + printf "Charging" + elif [ "$online" = "0" ] ; then + printf "Discharging" + else + printf "Unknown charging status" + fi +} + +cpu_freq() { +# cat /proc/cpuinfo | grep '^cpu MHz' | awk '{print $4}' | sort -nr | sed 1q +# Average out the CPU frequency +# cat /proc/cpuinfo | awk 'BEGIN{n=0;mhz=0;}/^cpu MHz/{mhz += $4;n++;}END{print mhz/n;}' +# Max/min +# cat /proc/cpuinfo \ +# | grep '^cpu MHz' \ +# | sort -rnk 4,4 \ +# | sed -n -e 1p -e '$p' \ +# | awk '{printf("%0.2f ", $4/1000)} END{print ""}' +# Just show the first four CPUs +# grep '^cpu MHz' /proc/cpuinfo \ +# | awk '{printf("%0.1f\n", $4/1000)}' \ +# | sort \ +# | uniq \ +# | sort -rn \ +# | sed 4q \ +# | tr '\n' ' ' +# +grep '^cpu MHz' /proc/cpuinfo \ +| awk '{ + average = average + $4; + counter = counter + 1 +} END { + printf("%0.1f\n", (average/counter)/1000) +}' +} + +tlp_status() { +tlp-stat -s | sed -n 's/^Mode *= //p' +} + +_fan() { + sensors | sed -n 's/^fan1:[\t ]*//p' +} + +k10Temp() { +sensors | sed -n '/^k10/,/^$/p' | awk '/^Tctl/{print $2}' \ + | sed -e's/+//g' -e's/\.[0-9][^0-9]*$//g' +} + +core_0_temp() { +sensors | grep 'Core 0' | awk '{print $3}' | grep -oE '[0-9.]*' +} + +pine_Temp() { + sensors | sed -n -e 's/^temp1[ \t:]*//p' | sed 1q +} + +pine_status_line() { +echo \ +"Batt: $(pine_batt_status)|"\ +"Temp: $(pine_Temp)|"\ +"$(network_info)|"\ +"$(date '+%m.%d.%Y %H:%M:%S')" +} + +status_line() { +echo \ +"Temp: $(sensors | sed -n 's/^temp1:[\t ]*//p' | sed 's/ *//g' | sed 1q | tr -d '\n')|"\ + +"Fan: $(_fan)|"\ +"Cpu Freq: $(cpu_freq)mhz|"\ +"Batt: $(batt_status)|"\ +"$(network_info)|"\ +"Free Mem: $(_sys_memory)|"\ +"Uptime: $(_sys_uptime)|"\ +"$(date '+%m.%d.%Y %H:%M:%S')" +} + +x230_status_line() { +echo \ +"Fan: $(sensors | sed -n 's/^fan1:[\t ]*//p')|"\ +"Batt: $(batt_status | sed -e's/ *$//g')|"\ +"$(network_info)|"\ +"$(date '+%m.%d.%Y %H:%M:%S')" +} + +dell7590_status_line() { +echo \ +"Batt: $(batt_status | sed -e's/ *$//g')|"\ +"$(network_info)|"\ +"$(date '+%m.%d.%Y %H:%M:%S')" +} + +t495_status_line() { +echo \ +"Fan: $(_fan)|"\ +"Temp: $(k10Temp)|"\ +"CPU: $(cpu_freq)|"\ +"Batt: $(batt_status | sed -e's/ *$//g')|"\ +"$(network_info)|"\ +"$(date '+%m.%d.%Y %H:%M')" +} + +yoga6_status_line() { +echo \ +"Fan: $(_fan)|"\ +"Temp: $(k10Temp)|"\ +"CPU: $(cpu_freq)|"\ +"Batt: $(batt_status -b BAT1 -s ACAD | sed -e's/ *$//g')|"\ +"$(network_info)|"\ +"$(date '+%m.%d.%Y %H:%M')" +} + +desktop_status_line() { +echo \ +"Temp: $(core_0_temp)|"\ +"CPU: $(cpu_freq)|"\ +"$(network_info)|"\ +"$(date '+%m.%d.%Y %H:%M')" +} + +# "$@" ;exit 0 + +_type="$1"; shift +while true ; do +xsetroot -name "$("${_type}_status_line" "$@")" +# echo "$("${_type}_status_line" "$@")" +sleep "$timeout" +done diff --git a/x/touchpad-props b/x/touchpad-props new file mode 100755 index 0000000..0851486 --- /dev/null +++ b/x/touchpad-props @@ -0,0 +1,32 @@ +#!/bin/sh + +touchpads="$(xinput list --name-only | grep Touchpad)" + +proplist='Click Method Enabled::0 1 +Tapping Enabled::1 +Tapping Drag Enabled::1 +Tapping Button Mapping Enabled::1 0' + +IFS=' +' + +for device in $touchpads ; do + props=$(xinput --list-props "$device") + + for prop in $proplist ; do + propName="$(echo "$prop" | awk -F:: '{print $1}')" + propVal="$(echo "$prop" | awk -F:: '{print $2}')" + + prop="$(echo "$props" | + sed -rne 's/^.*'"$propName"' \(([0-9]+).*$/\1/ip')" + oldIFS="$IFS" + IFS=' ' + + #shellcheck disable=SC2086 + xinput --set-prop "$device" "$prop" $propVal + #shellcheck disable=SC2086 + echo xinput --set-prop "$device" "$prop" $propVal + + IFS="$oldIFS" + done +done diff --git a/x/wallpaper b/x/wallpaper new file mode 100755 index 0000000..73f9871 --- /dev/null +++ b/x/wallpaper @@ -0,0 +1,8 @@ +#!/bin/sh +set -e +wallpaper="$1"; shift + +while true ; do + feh --bg-fill "$wallpaper" + sleep 15 +done |
