aboutsummaryrefslogtreecommitdiff
path: root/.local
diff options
context:
space:
mode:
Diffstat (limited to '.local')
-rwxr-xr-x.local/bin/x30
1 files changed, 30 insertions, 0 deletions
diff --git a/.local/bin/x b/.local/bin/x
new file mode 100755
index 0000000..9c6e9f6
--- /dev/null
+++ b/.local/bin/x
@@ -0,0 +1,30 @@
+#! /usr/bin/env sh
+
+cd || exit 3
+
+# If an argument is given, check if we have an xinitrc for that
+if [ -n "$1" ]
+then
+ if [ ! -f "$HOME/.config/xinit.d/$1.rc" ]
+ then
+ printf "%s\n" "no valid config for $1" >&2
+ exit 1
+ fi
+
+ # Remove the old config
+ rm -f -- "$HOME/.xinitrc"
+
+ # Create the new config
+ cat -- "$HOME/.config/xinit.d/xinitrc" "$HOME/.config/xinit.d/$1.rc" \
+ > "$HOME/.xinitrc"
+fi
+
+# Make sure the xinitrc exists, just in case
+if [ ! -f "$HOME/.xinitrc" ]
+then
+ printf "%s\n" "no xinitrc" >&2
+ exit 2
+fi
+
+# start the X session
+startx