summaryrefslogtreecommitdiff
path: root/qubes-dwm-6.2
diff options
context:
space:
mode:
Diffstat (limited to 'qubes-dwm-6.2')
-rwxr-xr-xqubes-dwm-6.2/autostart/autostart.sh16
-rwxr-xr-xqubes-dwm-6.2/autostart/autostart_blocking.sh30
-rw-r--r--qubes-dwm-6.2/config.h2
-rwxr-xr-xqubes-dwm-6.2/scripts/battery_monitor18
-rwxr-xr-xqubes-dwm-6.2/scripts/display_handler6
-rwxr-xr-xqubes-dwm-6.2/scripts/dmenu_all17
-rwxr-xr-xqubes-dwm-6.2/scripts/dmenu_cur15
-rwxr-xr-xqubes-dwm-6.2/scripts/dwm_status26
-rwxr-xr-xqubes-dwm-6.2/scripts/wrap_dmenu2
-rwxr-xr-xqubes-dwm-6.2/scripts/xdg_autostart11
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}"