X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;ds=sidebyside;f=herbstluftwm%2Fautostart;h=0cbecf49220e396302e4c3ba279129d17117a672;hb=9bdbabbab7b67f1111f6ea5a97cb2494c3dc9c40;hp=bc73fe402a6198deef9f6d920b0d190ca56ec0ad;hpb=00ec637d3188ddbf6f219ba510804abfc9b112f8;p=config%2Fdotfiles.git diff --git a/herbstluftwm/autostart b/herbstluftwm/autostart index bc73fe4..0cbecf4 100755 --- a/herbstluftwm/autostart +++ b/herbstluftwm/autostart @@ -30,11 +30,19 @@ installed() { # $1: timeout notify() { if installed dzen2; then - sed 's/\^/^^/g' | dzen2 -fg blue -bg yellow -y 15 -h 30 -p "$1" + sed 's/\^/^^/g' | dzen2 -fg blue -bg yellow -y 15 -h 30 -p "$1" & elif installed xmessage; then # 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 } @@ -57,9 +65,26 @@ hc keybind $mod-Shift-Return spawn urxvt hc keybind $mod-Shift-c close hc keybind $mod-q reload hc keybind $mod-Shift-q quit +# Find an existing screen locker. +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 +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 xtrlock' +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. @@ -106,6 +131,8 @@ hc mouseunbind --all # 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 @@ -153,6 +180,12 @@ hc rule focus=off \ 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