summaryrefslogtreecommitdiffstats
path: root/.xinitrc
diff options
context:
space:
mode:
authorLuke Smith <luke@lukesmith.xyz>2019-11-23 18:00:20 -0500
committerLuke Smith <luke@lukesmith.xyz>2019-11-23 18:00:20 -0500
commit843f632978c79db10ff0a5d9747c1d97d9a16be9 (patch)
tree2d8cb395733c369111e9a3db87b49f751459aff7 /.xinitrc
parentd48653920f2b2aa2e016bcbd4eecda00a6b8c525 (diff)
downloadeibhear-843f632978c79db10ff0a5d9747c1d97d9a16be9.tar.gz
eibhear-843f632978c79db10ff0a5d9747c1d97d9a16be9.tar.zst
eibhear-843f632978c79db10ff0a5d9747c1d97d9a16be9.zip
autodetermine wm
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