dotfiles

*nix config files
git clone git://git.pyratebeard.net/dotfiles.git
Log | Files | Refs | README

commit a8c0cf3f5676fecad0676f8cf39c46b59bf85661
parent 99487fb585c20c6d375a7503de5ee7aa5dd0a96d
Author: pyratebeard <root@pyratebeard.net>
Date:   Sat,  2 Jul 2022 13:56:00 +0100

smoke some herbs(tluft)

Diffstat:
Aherbstluftwm/.config/herbstluftwm/autostart | 176+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aherbstluftwm/bin/herbstluftwm-add-gap | 12++++++++++++
Aherbstluftwm/bin/herbstluftwm-remove-gap | 12++++++++++++
Mxinit/.xinitrc | 10++++++----
4 files changed, 206 insertions(+), 4 deletions(-)

diff --git a/herbstluftwm/.config/herbstluftwm/autostart b/herbstluftwm/.config/herbstluftwm/autostart @@ -0,0 +1,176 @@ +#!/bin/sh +# +# ██ ██ ██ ██ ████ ██ +# ░██ ░██ ░██ ░██ ░██░ ░██ +# ░██ █████ ██████░██ ██████ ██████ ░██ ██ ██ ██████ ██████ +# ░██████ ██░░░██░░██░░█░██████ ██░░░░ ░░░██░ ░██░██ ░██░░░██░ ░░░██░ +# ░██░░░██░███████ ░██ ░ ░██░░░██░░█████ ░██ ░██░██ ░██ ░██ ░██ +# ░██ ░██░██░░░░ ░██ ░██ ░██ ░░░░░██ ░██ ░██░██ ░██ ░██ ░██ +# ░██ ░██░░██████░███ ░██████ ██████ ░░██ ███░░██████ ░██ ░░██ +# ░░ ░░ ░░░░░░ ░░░ ░░░░░ ░░░░░░ ░░ ░░░ ░░░░░░ ░░ ░░ + +hc() { + herbstclient "$@" +} + +hc emit_hook reload + +# remove all existing keybindings +hc keyunbind --all + +# close tray if reloading +killall stalonetray + +# gap counter +echo 35 > /tmp/herbstluftwm-gap + +# keybindings +Mod=Mod4 +Alt=Mod1 + +# run menu +hc keybind $Mod-w spawn /usr/bin/zsh /home/pyratebeard/bin/rundmc + +# dynamic window gap +hc keybind $Mod-9 spawn bash /home/pyratebeard/bin/herbstluftwm-remove-gap +hc keybind $Mod-0 spawn bash /home/pyratebeard/bin/herbstluftwm-add-gap + +# generic actions +hc keybind $Mod-Shift-q quit +hc keybind $Mod-Shift-r reload +hc keybind $Mod-Shift-c close +hc keybind $Mod-Return spawn urxvtc + +# basic movement +# focusing clients +hc keybind $Mod-Left focus left +hc keybind $Mod-Down focus down +hc keybind $Mod-Up focus up +hc keybind $Mod-Right focus right +hc keybind $Mod-h focus left +hc keybind $Mod-j focus down +hc keybind $Mod-k focus up +hc keybind $Mod-l focus right + +# moving clients +hc keybind $Mod-Shift-Left shift left +hc keybind $Mod-Shift-Down shift down +hc keybind $Mod-Shift-Up shift up +hc keybind $Mod-Shift-Right shift right +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 + +# splitting frames +# create an empty frame at the specified direction +hc keybind $Mod-u split bottom 0.5 #row +hc keybind $Mod-o split right 0.5 #column +# let the current frame explode into subframes +hc keybind $Mod-Control-space split explode + +# resizing frames +resizestep=0.05 +hc keybind $Mod-Control-h resize left +$resizestep +hc keybind $Mod-Control-j resize down +$resizestep +hc keybind $Mod-Control-k resize up +$resizestep +hc keybind $Mod-Control-l resize right +$resizestep +hc keybind $Mod-Control-Left resize left +$resizestep +hc keybind $Mod-Control-Down resize down +$resizestep +hc keybind $Mod-Control-Up resize up +$resizestep +hc keybind $Mod-Control-Right resize right +$resizestep + + +# tags +#tag_names=( 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 ) +tag_names=( {0..3} ) +tag_keys=( {1..4} 0 ) + +# set up normal tags +hc rename default "${tag_names[0]}" || true +for i in ${!tag_names[@]} ; do + hc add "${tag_names[$i]}" + key="${tag_keys[$i]}" + if ! [ -z "$key" ] ; then + hc keybind "$Mod-$key" use_index "$i" + hc keybind "$Mod-Shift-$key" move_index "$i" + fi +done + +# cycle through tags +hc keybind $Mod-$Alt-Left use_index -1 --skip-visible +hc keybind $Mod-$Alt-Right use_index +1 --skip-visible + +# layouting +hc keybind $Mod-x remove +hc keybind $Mod-space cycle_layout 1 +hc keybind $Mod-Shift-space cycle_layout -1 +#hc keybind $Mod-s floating toggle +hc keybind $Mod-f fullscreen toggle +hc keybind $Mod-p pseudotile toggle + +# mouse +hc mouseunbind --all +hc mousebind $Mod-Button1 move +hc mousebind $Mod-Button2 zoom +hc mousebind $Mod-Button3 resize + +# focus +hc keybind $Mod-BackSpace cycle_monitor +hc keybind $Mod-Tab cycle_all +1 +hc keybind $Mod-Shift-Tab cycle_all -1 +hc keybind $Mod-n cycle +hc keybind $Mod-i jumpto urgent + +# theme +hc attr theme.tiling.reset 1 +hc attr theme.floating.reset 1 +hc set frame_border_active_color '#807b64' +hc set frame_border_normal_color '#131313' +hc set frame_bg_normal_color '#202020' +hc set frame_bg_active_color '#131313' +hc set frame_border_width 0 +hc set always_show_frame 0 +hc set frame_bg_transparent 1 +hc set frame_transparent_width 0 +hc set frame_gap 8 + +hc attr theme.active.color '#807b64' #6A8C8C +hc attr theme.normal.color '#131313' +hc attr theme.urgent.color '#58333e' +hc attr theme.inner_width 0 +hc attr theme.inner_color black +hc attr theme.border_width 3 +hc attr theme.floating.border_width 3 +hc attr theme.floating.outer_width 1 +hc attr theme.floating.outer_color black +hc attr theme.active.inner_color '#807b64' +hc attr theme.active.outer_color '#131313' +hc attr theme.background_color '#1e1b1c' + +hc set window_gap 35 +hc set frame_padding 0 +hc set smart_window_surroundings 0 +hc set smart_frame_surroundings 1 +hc set mouse_recenter_gap 0 + +# rules +hc unrule -F +#hc rule class=XTerm tag=3 # move all xterms to tag 3 +hc rule focus=on # normally focus new clients +#hc rule focus=off # normally do not focus new clients +# give focus to most common terminals +#hc rule class~'(.*[Rr]xvt.*|.*[Tt]erm|Konsole)' focus=on +hc rule windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' pseudotile=on +hc rule windowtype='_NET_WM_WINDOW_TYPE_DIALOG' focus=on +hc rule windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK|DESKTOP)' manage=off + +# unlock, just to be sure +hc unlock + +herbstclient set tree_style '╾│ ├└╼─┐' + +# do multi monitor setup here, e.g.: +# hc set_monitors 1280x1024+0+0 1280x1024+1280+0 +# or simply: +hc detect_monitors diff --git a/herbstluftwm/bin/herbstluftwm-add-gap b/herbstluftwm/bin/herbstluftwm-add-gap @@ -0,0 +1,12 @@ +#!/bin/sh +filename="/tmp/herbstluftwm-gap" +while read -r line +do + gap=$line + if [ "$gap" -le 90 ] + then + gap=$((gap+7)) + herbstclient set window_gap $gap + echo $gap > $filename + fi +done < "$filename" diff --git a/herbstluftwm/bin/herbstluftwm-remove-gap b/herbstluftwm/bin/herbstluftwm-remove-gap @@ -0,0 +1,12 @@ +#!/bin/sh +filename="/tmp/herbstluftwm-gap" +while read -r line +do + gap=$line + if [ "$gap" -ge 7 ] + then + gap=$((gap-7)) + herbstclient set window_gap $gap + echo $gap > $filename + fi +done < "$filename" diff --git a/xinit/.xinitrc b/xinit/.xinitrc @@ -54,12 +54,14 @@ unclutter & light-locker & # start window manager in the background. If it dies, X still lives. -2bwm & +#2bwm & # load resources. xrdb -load ~/.Xdefaults # Start a terminal in the foreground. If this dies, X dies. -urxvtd & -exec urxvt -T controlterm -xrandr --output HDMI-1 --rotate left +#urxvtd & +#exec urxvt -T controlterm +#xrandr --output HDMI-1 --rotate left +urxvtd -q -f -o & +exec herbstluftwm --locked