summaryrefslogtreecommitdiffstats
path: root/.xinitrc
diff options
context:
space:
mode:
Diffstat (limited to '.xinitrc')
-rw-r--r--.xinitrc37
1 files changed, 32 insertions, 5 deletions
diff --git a/.xinitrc b/.xinitrc
index 9bb70b1..beb01e7 100644
--- a/.xinitrc
+++ b/.xinitrc
@@ -10,10 +10,37 @@
[ -f ~/.xprofile ] && . ~/.xprofile
+startlarbs() {
+ # Here, LARBS decides whether to boot dwm or i3. It will boot what is manually
+ # set in ~/.local/share/larbs/wm, otherwise it will test to see if dwm is
+ # installed, in which case it will load dwm. It will assume i3 otherwise.
-# Here we start dwm.
-# The loop is just to enable dwm's "restart" feature (mod+F2).
+ LARBSWM="$(cat ~/.local/share/larbs/wm 2>/dev/null)" ||
+ { LARBSWM="$(type dwm >/dev/null 2>&1)" && LARBSWM="dwm" ;} ||
+ { LARBSWM="$(type i3 >/dev/null 2>&1)" && LARBSWM="i3" ;}
-while :; do
- ssh-agent dwm || break
-done
+ # To be clear, you can run:
+ # echo dwm > ~/.local/share/larbs/wm
+ # to set dwm as your default LARBS WM (or echo i3 for i3).
+
+ # Here we start the window manager, whichever it's supposed to be.
+ # Note that we set the different status bar commands here too.
+
+ case "$LARBSWM" in
+ dwm)
+ export FILE="lf"
+ export STATUSBAR="dwmblocks"
+ # The loop is just to enable dwm's "restart" feature (mod+F2).
+ while :; do
+ ssh-agent dwm || break
+ done
+ ;;
+ i3)
+ export FILE="ranger"
+ export STATUSBAR="i3blocks"
+ exec i3
+ ;;
+ *) echo "No valid LARBS window manager detected." ;;
+ esac ;}
+
+startlarbs