# Fallback solution, display first line of stdin.
read x
xmessage -timeout "$1" "$x" &
+ else
+ # Last way to send a "message", create a stupid window layout so I
+ # notice something is up and look at the logs.
+ hc fullscreen off
+ hc floating off
+ hc pseudotile off
+ hc split vertical 0.1
+ hc unlock # or we might not see the changes
fi
}
hc keybind $mod-q reload
hc keybind $mod-Shift-q quit
# Find an existing screen locker.
-for locker in xtrlock ''; do
+for locker in xscreensaver xtrlock ''; do
if installed "$locker"; then
break
fi
done
if test -z "$locker"; then
- echo 'No screen locker found!' | notify 60
+ echo 'No screen locker found!' | notify 60 &
+fi
+# Additional options.
+locker_pre=
+if test x"$locker" = xxscreensaver; then
+ # Start xscreensaver if it's not already running. xscreensaver-command
+ # ensures xscreensaver is availble for the current X session.
+ locker_pre='xscreensaver-command -time >/dev/null 2>&1 || xscreensaver &'
+ locker='xscreensaver-command -lock'
fi
# Lock the screen. The sleep is necessary to allow xtrlock to grab the
# keyboard input.
-hc keybind $mod-z spawn sh -c "sleep 1 && exec $locker"
+hc keybind $mod-z spawn sh -c "$locker_pre sleep 1; exec $locker"
# Tag key bindings. Create tags 1 to 9 with bindings to switch and move
# windows to them.
# Necessary for Java so it recognizes herbstluftwm as tiling window manager.
hc set wmname LG3D
+# Auto-detect new monitors.
+hc set auto_detect_monitors 1
# WINDOW and FRAME SETTINGS
ewmhrequests=off \
index=1
+# Focus important windows when they are opened.
+hc rule instance=xmessage focus=on
+
+# Move Iceweasel to tag 2.
+hc rule instance=Navigator class=Iceweasel tag=2
+
# After everything is done, allow redrawing of the windows.
hc unlock