summaryrefslogtreecommitdiff
path: root/qubes-dwm-6.2/scripts/xdg_autostart
diff options
context:
space:
mode:
Diffstat (limited to 'qubes-dwm-6.2/scripts/xdg_autostart')
-rwxr-xr-xqubes-dwm-6.2/scripts/xdg_autostart30
1 files changed, 30 insertions, 0 deletions
diff --git a/qubes-dwm-6.2/scripts/xdg_autostart b/qubes-dwm-6.2/scripts/xdg_autostart
new file mode 100755
index 0000000..415cfa8
--- /dev/null
+++ b/qubes-dwm-6.2/scripts/xdg_autostart
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+xdg_autostart() {
+ local config=$1
+ shopt -s nullglob
+ if [[ -d "$config/autostart" ]]; then
+ local i
+ for i in $config/autostart/*.desktop; do
+ grep -q -E "^Hidden=true" "$i" && continue
+ if grep -q -E "^OnlyShowIn=" "$i"; then
+ # need to test twice, as lack of the line entirely means we still run it
+ grep -E "^OnlyShowIn=" "$i" | grep -q 'I3;' || continue
+ fi
+ grep -E "^NotShowIn=" "$i" | grep -q 'I3;' && continue
+
+ local trycmd=$(grep -E "^TryExec=" "$i" | cut -d'=' -f2)
+ if [[ -n "$trycmd" ]]; then
+ which "$trycmd" >/dev/null 2>&1 || continue
+ fi
+
+ local cmd=$(grep -E "^Exec=" "$i" | cut -d'=' -f2)
+ if [[ -n "$cmd" ]]; then
+ $cmd &
+ fi
+ done
+ fi
+}
+
+xdg_autostart "${XDG_CONFIG_DIRS-/etc/xdg}"
+xdg_autostart "${XDG_CONFIG_HOME-$HOME/.config}"