X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=herbstluftwm%2Fautostart;h=a077e31abdb58ea1cfcfc4ec185381fbaef58408;hb=HEAD;hp=18377756bdfeea534ab995ddba4500d510225a99;hpb=74b0084e05bcbb2d3518f756eb1a5c115c7027b3;p=config%2Fdotfiles.git diff --git a/herbstluftwm/autostart b/herbstluftwm/autostart deleted file mode 100755 index 1837775..0000000 --- a/herbstluftwm/autostart +++ /dev/null @@ -1,180 +0,0 @@ -#!/bin/sh - -# Herbstluftm configuration file. - -# Copyright (C) 2014 Simon Ruderich -# -# This file is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This file is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this file. If not, see . - - -set -e - - -hc() { - herbstclient "$@" -} -installed() { - type "$1" >/dev/null 2>&1 -} -# $1: timeout -notify() { - if installed dzen2; then - 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 -} - -# Tell all clients the configuration file was reloaded. Should be the first -# command in the autostart file. -hc emit_hook reload - - -# KEY BINDINGS - -# Use Super (= "Windows") key as modifier which is used for all herbstluftwm -# key bindings. -mod=Mod4 - -# Remove all existing key bindings. -hc keyunbind --all - -# Basic key bindings. -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 xtrlock ''; do - if installed "$locker"; then - break - fi -done -if test -z "$locker"; then - echo 'No screen locker found!' | notify 60 -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" - -# Tag key bindings. Create tags 1 to 9 with bindings to switch and move -# windows to them. -hc rename default 1 2>/dev/null || true -for i in `seq 1 9`; do - hc add "$i" - hc keybind "$mod-$i" use "$i" - hc keybind "$mod-Shift-$i" move "$i" -done -# Switch to last active tag. -hc keybind $mod-b use_previous - -# Layouting key bindings. -hc keybind $mod-space cycle_layout 1 horizontal max # toggle these layouts -hc keybind $mod-u split vertical 0.5 -hc keybind $mod-o split horizontal 0.5 -hc keybind $mod-r remove # remove a split -# Change window state. -hc keybind $mod-f fullscreen toggle -# Reset fullscreen and layout. Just in case I get confused. -hc keybind $mod-Shift-space chain , fullscreen off , set_layout horizontal - -# Focus key bindings. -hc keybind $mod-h focus left -hc keybind $mod-j focus down -hc keybind $mod-k focus up -hc keybind $mod-l focus right -# Move windows. -hc keybind $mod-Shift-h shift left -hc keybind $mod-Shift-j shift down -hc keybind $mod-Shift-k shift up -hc keybind $mod-Shift-l shift right -# Swap top and bottom frame (only works with two frames). -hc keybind $mod-s chain , lock , rotate , rotate , unlock - - -# MOUSE BINDINGS - -# Remove all existing key bindings. -hc mouseunbind --all - - -# GENERAL SETTINGS - -# Necessary for Java so it recognizes herbstluftwm as tiling window manager. -hc set wmname LG3D - - -# WINDOW and FRAME SETTINGS - -# No border for frames, only for windows. -hc set frame_border_width 0 -hc set window_border_width 1 -# No gaps between frames or windows. -hc set frame_gap 0 -hc set window_gap 0 -# Inactive window borders are black, almost invisible on my black screen. -# Active window borders are dark red. -hc set window_border_normal_color '#000000' -hc set window_border_active_color '#990000' -# Transparent background for empty frames. -hc set frame_bg_transparent 1 - -# Use vertical layout for windows in frames per default. -hc set default_frame_layout 1 # vertical - - -# LAYOUT - -# Run only on startup, not when reloading the config. Thanks to The-Compiler -# in #herbstluftwm on Freenode (2014-01-10 16:26 CET) for the idea to use -# environment variables. -if ! hc getenv HLWMRC_LOADED >/dev/null; then - hc setenv HLWMRC_LOADED 1 - - # Setup my layout: Vertical split with my main terminal window in the top - # frame, secondary windows in the bottom frame. - hc split vertical 0.5 -fi - - -# RULES - -# Remove all existing rules. -hc unrule --all - -# * Do not focus new clients (default). -# * Don't allow clients to toggle fullscreen via EWMH. -# * Move new windows to the frame at the bottom of the screen. -hc rule focus=off \ - ewmhrequests=off \ - index=1 - - -# After everything is done, allow redrawing of the windows. -hc unlock - - -# To notify me if set -e has terminated the script (then this part won't get -# executed). -echo 'hlwm restarted' | notify 1