diff options
Diffstat (limited to 'qubes-dwm-6.2')
| -rwxr-xr-x | qubes-dwm-6.2/autostart/autostart.sh | 16 | ||||
| -rwxr-xr-x | qubes-dwm-6.2/autostart/autostart_blocking.sh | 30 | ||||
| -rw-r--r-- | qubes-dwm-6.2/config.h | 2 | ||||
| -rwxr-xr-x | qubes-dwm-6.2/scripts/battery_monitor | 18 | ||||
| -rwxr-xr-x | qubes-dwm-6.2/scripts/display_handler | 6 | ||||
| -rwxr-xr-x | qubes-dwm-6.2/scripts/dmenu_all | 17 | ||||
| -rwxr-xr-x | qubes-dwm-6.2/scripts/dmenu_cur | 15 | ||||
| -rwxr-xr-x | qubes-dwm-6.2/scripts/dwm_status | 26 | ||||
| -rwxr-xr-x | qubes-dwm-6.2/scripts/wrap_dmenu | 2 | ||||
| -rwxr-xr-x | qubes-dwm-6.2/scripts/xdg_autostart | 11 |
10 files changed, 80 insertions, 63 deletions
diff --git a/qubes-dwm-6.2/autostart/autostart.sh b/qubes-dwm-6.2/autostart/autostart.sh index b629929..bbf830f 100755 --- a/qubes-dwm-6.2/autostart/autostart.sh +++ b/qubes-dwm-6.2/autostart/autostart.sh @@ -10,7 +10,19 @@ xset -dpms echo "enable autolock" > ~/.autolock_status toggle_autolock -# Set my wallpaper -feh --bg-scale /usr/share/backgrounds/tiles/default_blue.jpg +# Monitor battery +battery_monitor & + +# Automatic colour temperature adjustment for Baltimore +redshift -l +39:-76 & + +# Compositor +picom & + +# Monitor configuration +srandrd display_handler +if [ -n "$(xrandr | grep 'HDMI-1 connected')" ]; then + SRANDRD_OUTPUT=HDMI-1 SRANDRD_EVENT=connected display_handler +fi; exec dwm_status & diff --git a/qubes-dwm-6.2/autostart/autostart_blocking.sh b/qubes-dwm-6.2/autostart/autostart_blocking.sh index 903f27e..4e0f569 100755 --- a/qubes-dwm-6.2/autostart/autostart_blocking.sh +++ b/qubes-dwm-6.2/autostart/autostart_blocking.sh @@ -1,28 +1,18 @@ #!/bin/sh -if [ -n "$(qvm-usb | grep tslil_clingman_dactyl_manuform_mini_0)" ]; then - # If my USB keyboard is detected, don't mangle the layout - setxkbmap -layout us -variant altgr-intl -option caps:ctrl_modifier,terminate:ctrl_alt_bksp,nodeadkeys +xdg_autostart + +# if [ -n "$(qvm-usb | grep tslil_clingman)" ]; then +if [ -n "$(qvm-usb | grep Technomancy_Atreus)" ]; then + setxkbmap -layout us -variant altgr-intl -option caps:ctrl_modifier,terminate:ctrl_alt_bksp,nodeadkeys else - # Otherwise set the layout for the built-in keyboard - setxkbmap -model pc104curl-z -layout us -variant cmk_ed_dh -option caps:ctrl_modifier,terminate:ctrl_alt_bksp + notify-send "Setting layout for internal keyboard" + # Qubes only presents one device to each domU, so this doesn't work as expected + internal_keyboard=$(xinput -list | grep 'AT Raw' | sed 's/^.*id=\([0-9]*\).*$/\1/') + setxkbmap -model pc105aw-sl -layout 'us(cmk_ed_dh)' -option caps:ctrl_modifier,terminate:ctrl_alt_bksp fi -# In a better world we could use something like -# internal_keyboard=$(xinput -list | grep 'AT Translated' | sed 's/^.*id=\([0-9]*\).*$/\1/') -# setxkbmap -device $internal_keyboard ... -# but Qubes only sends one input source to each domU so this wont work. -# I used to have a slightly-too-large Coreboot image in the EEPROM and it -# would occassionaly cause the RAM to fail. This is fixed, but i might as -# well keep the following around. if [ "$(xl info | awk '/total_memory/ { print $3 }')" -lt "16148" ]; then - notify-send -u critical "RAM malfunction" + notify-send -u critical "RAM malfunction" fi; -# FHD mod! Thanks nitrocaster for your hard work, and the coreboot community -# for the patch that disconnects the internal LVDS. -if [ -n "$(xrandr | grep 'VGA1 connected')" ]; then - xrandr --output eDP --auto --output VGA1 --left-of eDP --auto -fi - -exec xdg_autostart diff --git a/qubes-dwm-6.2/config.h b/qubes-dwm-6.2/config.h index 8b23a91..b671d7a 100644 --- a/qubes-dwm-6.2/config.h +++ b/qubes-dwm-6.2/config.h @@ -32,7 +32,7 @@ static const int showsystray = 1; /* 0 means no systray */ static const int rmaster = 0; /* 1 means master-area is initially on the right */ static const int showbar = 1; /* 0 means no bar */ static const int topbar = 0; /* 0 means bottom bar */ -static const char *fonts[] = { "Sudo:size=11" }; +static const char *fonts[] = { "DejaVu Sans Mono:size=10" }; static const char col_gray1[] = "#222222"; static const char col_gray3[] = "#bbbbbb"; static const char col_dom0[] = "dark orange"; diff --git a/qubes-dwm-6.2/scripts/battery_monitor b/qubes-dwm-6.2/scripts/battery_monitor new file mode 100755 index 0000000..41d916f --- /dev/null +++ b/qubes-dwm-6.2/scripts/battery_monitor @@ -0,0 +1,18 @@ +#!/bin/sh + +state="$HOME/.battery_warned" + +if [ -f "$state" ]; then + rm "$state" +fi + +while true; do + perc="$(acpi | awk 'BEGIN { IFS="," } /Battery 0: Discharging/ { print(substr($4,0,length($4)-2)) }')" + if [ -n "$perc" ]; then + if [[ "$perc" < "20" ]] && [[ ! -f "$state" ]]; then + notify-send -u critical "Battery low! $perc%" + touch "$state" + fi + fi + sleep 60s +done
\ No newline at end of file diff --git a/qubes-dwm-6.2/scripts/display_handler b/qubes-dwm-6.2/scripts/display_handler new file mode 100755 index 0000000..a682a07 --- /dev/null +++ b/qubes-dwm-6.2/scripts/display_handler @@ -0,0 +1,6 @@ +#!/bin/sh + +case "${SRANDRD_OUTPUT} ${SRANDRD_EVENT}" in + "HDMI-1 connected") xrandr --output HDMI-1 --auto --output eDP-1 --off;; + "HDMI-1 disconnected") xrandr --output eDP-1 --auto;; +esac diff --git a/qubes-dwm-6.2/scripts/dmenu_all b/qubes-dwm-6.2/scripts/dmenu_all index e63bf80..7030fbe 100755 --- a/qubes-dwm-6.2/scripts/dmenu_all +++ b/qubes-dwm-6.2/scripts/dmenu_all @@ -4,23 +4,16 @@ app_path="$HOME/.local/share/applications/" scrape_apps() { - grep '^Name=\|^Exec=' "$app_path"/*.desktop | grep ':Name=' | cut -d= -f2- + grep '^Name=' "$app_path"/*.desktop | exclude | cut -d= -f2- } exclude() { - grep -v "Qube Settings" + grep -v "Qube Settings\|os\.vm\.debian-11-dvm\|os\.vm\.whonix-ws-16" } -tidy() { - sed 's/Rxvt Color Unicode Terminal/urxvt/' -} - -untidy() { - sed 's/urxvt/Rxvt Color Unicode Terminal/' -} find_file() { - grep "^Name=$1" "$app_path"/*.desktop | cut -d: -f1 + grep "^Name=$1" "$app_path"/*.desktop | exclude | cut -d: -f1 } # Expects the contents of a desktop file @@ -29,8 +22,8 @@ execute_app() { eval " $cmd" } -choice=$(scrape_apps | exclude | tidy | sort | wrap_dmenu -p "Run" $* | untidy) +choice=$(scrape_apps | sort | wrap_dmenu -p "Run" $*) [ -z "$choice" ] && exit file="$(find_file "$choice")" [ -z "$file" ] && exit -execute_app "$file"
\ No newline at end of file +execute_app "$file" diff --git a/qubes-dwm-6.2/scripts/dmenu_cur b/qubes-dwm-6.2/scripts/dmenu_cur index fd8f152..49f3549 100755 --- a/qubes-dwm-6.2/scripts/dmenu_cur +++ b/qubes-dwm-6.2/scripts/dmenu_cur @@ -14,24 +14,17 @@ app_path() { } scrape_apps() { - grep '^Name=\|^Exec=' "$(app_path $1)"/*.desktop | grep ':Name=' \ + grep '^Name=\|^Exec=' "$(app_path $1)"/*.desktop | filter | grep ':Name=' \ | sed 's/'"$1"': //' | cut -d= -f2- | sort } filter() { - grep -v "Qube Settings" + grep -v "Qube Settings\|os\.vm\.debian-11-dvm\|os\.vm\.whonix-ws-16" } -tidy() { - sed 's/Rxvt Color Unicode Terminal/urxvt/' -} - -untidy() { - sed 's/urxvt/Rxvt Color Unicode Terminal/' -} find_file() { - grep "^Name=.*$2" "$(app_path $1)"/*.desktop | cut -d: -f1 + grep "^Name=.*$2" "$(app_path $1)"/*.desktop | filter | cut -d: -f1 } # Expects the contents of a desktop file @@ -50,7 +43,7 @@ else colour="-sb $(get_colour $win_id)" fi; -choice=$(scrape_apps "$qube" | filter | tidy | sort | wrap_dmenu -p "$qube" $colour $* | untidy) +choice=$(scrape_apps "$qube" | sort | wrap_dmenu -p "$qube" $colour $*) [ -z "$choice" ] && exit file="$(find_file "$qube" "$choice")" diff --git a/qubes-dwm-6.2/scripts/dwm_status b/qubes-dwm-6.2/scripts/dwm_status index 9d806f0..cb12183 100755 --- a/qubes-dwm-6.2/scripts/dwm_status +++ b/qubes-dwm-6.2/scripts/dwm_status @@ -1,16 +1,16 @@ #!/bin/bash status_time() { - date '+%d/%Hh%M' + date '+%a %d/%Hh%M' } status_bat() { - local report=$(acpi | tr -d ',') + local report=$(acpi) echo $report | grep -qv Unknown if [ "$?" = "0" ]; then - local status=$(echo $report | cut -d\ -f 3 | cut -b 1) - local perc=$(echo $report | cut -d\ -f 4) - local time=$(echo $report | cut -d\ -f 5 | sed 's/\([0-9]*\):\([0-9]*\).*/\1h\2m/') + local status=$(echo $report | cut -d, -f1 | cut -d: -f2- | cut -b2) + local perc=$(echo $report | cut -d, -f2 | cut -b2-) + local time=$(echo $report | cut -d, -f3 | cut -b2- | sed 's/\([0-9]*\):\([0-9]*\).*/\1h\2m/') local output="$status$perc" if [ -n "$time" ]; then output="$output"" $time" @@ -30,11 +30,7 @@ status_load() { status_temp() { local temp=$(( $(cat /sys/class/thermal/thermal_zone0/temp) / 1000 )) - if [ "$temp" -gt "60" ]; then - echo "$temp C | " - else - echo - fi + echo "T ${temp}C" } status_autolock() { @@ -42,7 +38,7 @@ status_autolock() { } status_ram() { - xl info | awk '/free_memory/ { printf("%.2fG free", $3/1024) } ' + xl info | awk '/free_memory/ { printf("R %.0fG", $3/1024) } ' } status_qubes() { @@ -71,7 +67,7 @@ status_disk() { *) disk="Error" ;; esac - echo "$disk" + echo "S $disk" } main() { @@ -82,12 +78,12 @@ main() { local bat=$(status_bat) local time=$(status_time) fi - # local ram=$(status_ram) - # local disk=$(status_disk) + local ram=$(status_ram) + #local hdd=$(status_disk) local temp=$(status_temp) local qubes=$(status_qubes) local autolock=$(status_autolock) - local status="$autolock$qubes | $temp$bat | $time" + local status="$autolock$qubes | $ram $temp | $bat | $time" xsetroot -name "$status" sleep 30 done diff --git a/qubes-dwm-6.2/scripts/wrap_dmenu b/qubes-dwm-6.2/scripts/wrap_dmenu index 060c17a..eeb6652 100755 --- a/qubes-dwm-6.2/scripts/wrap_dmenu +++ b/qubes-dwm-6.2/scripts/wrap_dmenu @@ -1,3 +1,3 @@ #!/bin/sh -dmenu -i -l 10 -fn "xft:Sudo:size=16" -sb '#FF7F00' $*
\ No newline at end of file +dmenu -i -l 10 -fn "xft:Sudo:size=16" -sb '#FF7F00' -sf '#020202' $*
\ No newline at end of file diff --git a/qubes-dwm-6.2/scripts/xdg_autostart b/qubes-dwm-6.2/scripts/xdg_autostart index 415cfa8..5eeca5a 100755 --- a/qubes-dwm-6.2/scripts/xdg_autostart +++ b/qubes-dwm-6.2/scripts/xdg_autostart @@ -1,6 +1,6 @@ #!/bin/bash -xdg_autostart() { +xdg_autostart_old() { local config=$1 shopt -s nullglob if [[ -d "$config/autostart" ]]; then @@ -26,5 +26,14 @@ xdg_autostart() { fi } +xdg_autostart() { + shopt -s nullglob + for file in $1/autostart/*.desktop; do + if ! grep -q "^OnlyShowIn" "$file"; then + $(grep "^Exec=" "$file" | cut -c 6-) & + fi; + done; +} + xdg_autostart "${XDG_CONFIG_DIRS-/etc/xdg}" xdg_autostart "${XDG_CONFIG_HOME-$HOME/.config}" |
