aboutsummaryrefslogtreecommitdiff
path: root/x
diff options
context:
space:
mode:
Diffstat (limited to 'x')
-rwxr-xr-xx/4k-addmode.sh26
-rwxr-xr-xx/day2
-rwxr-xr-xx/mouse-props49
-rwxr-xr-xx/night2
-rwxr-xr-xx/rot48
-rwxr-xr-xx/status-bar204
-rwxr-xr-xx/touchpad-props32
-rwxr-xr-xx/wallpaper8
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"
diff --git a/x/day b/x/day
new file mode 100755
index 0000000..80186c6
--- /dev/null
+++ b/x/day
@@ -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
+
diff --git a/x/night b/x/night
new file mode 100755
index 0000000..633353a
--- /dev/null
+++ b/x/night
@@ -0,0 +1,2 @@
+#!/bin/sh
+redshift -P -O 3500K
diff --git a/x/rot b/x/rot
new file mode 100755
index 0000000..121471d
--- /dev/null
+++ b/x/rot
@@ -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