commit 5fbcf448af47c51b632a2fabaccf39cef569d70c Author: Sheppy Date: Thu Aug 25 19:05:36 2016 +0200 vim/rc add diff --git a/herbstluftwm/autostart b/herbstluftwm/autostart new file mode 100755 index 0000000..731f3bc --- /dev/null +++ b/herbstluftwm/autostart @@ -0,0 +1,162 @@ +#!/bin/bash + +# this is a simple config for herbstluftwm + +hc() { + herbstclient "$@" +} + +hc emit_hook reload + +xsetroot -solid '#5A8E3A' + +# remove all existing keybindings +hc keyunbind --all + +# keybindings +# if you have a super key you will be much happier with Mod set to Mod4 +#Mod=Mod1 # Use alt as the main modifier +Mod=Mod4 # Use the super key as the main modifier + +hc keybind $Mod-Shift-q quit +hc keybind $Mod-Shift-r reload +hc keybind $Mod-Shift-c close +hc keybind $Mod-Return spawn urxvt + +# 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 +hc keybind $Mod-o split right 0.5 +# 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=( {1..9} ) +tag_keys=( {1..9} 0 ) + +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-period use_index +1 --skip-visible +hc keybind $Mod-comma use_index -1 --skip-visible + +# layouting +hc keybind $Mod-r remove +hc keybind $Mod-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-c 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 '#222222' +hc set frame_border_normal_color '#101010' +hc set frame_bg_normal_color '#565656' +hc set frame_bg_active_color '#345F0C' +hc set frame_border_width 1 +hc set always_show_frame 1 +hc set frame_bg_transparent 1 +hc set frame_transparent_width 5 +hc set frame_gap 4 + +hc attr theme.active.color '#9fbc00' +hc attr theme.normal.color '#454545' +hc attr theme.urgent.color orange +hc attr theme.inner_width 1 +hc attr theme.inner_color black +hc attr theme.border_width 3 +hc attr theme.floating.border_width 4 +hc attr theme.floating.outer_width 1 +hc attr theme.floating.outer_color black +hc attr theme.active.inner_color '#3E4A00' +hc attr theme.active.outer_color '#3E4A00' +hc attr theme.background_color '#141414' + +hc set window_gap 0 +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 + +# find the panel +panel=~/.config/herbstluftwm/panel.sh +[ -x "$panel" ] || panel=/etc/xdg/herbstluftwm/panel.sh +for monitor in $(herbstclient list_monitors | cut -d: -f1) ; do + # start it on each monitor + "$panel" $monitor & +done diff --git a/vim/rc b/vim/rc new file mode 100644 index 0000000..e9ab7a4 --- /dev/null +++ b/vim/rc @@ -0,0 +1,102 @@ +"tabs & spaces +set tabstop=4 +set softtabstop=4 +set expandtab + +"GUI +set number +set showcmd +set cursorline +set wildmenu +nnoremap li `[v`] +"select last inserted + +"highlighting +filetype indent on +set showmatch +"colorscheme solarized +syntax enable + +"optimazation +set lazyredraw + +"append & insert +"Enter will go to next line, shift enter will break current line and create new one +"O will insert line above and place curser there, o will do same below +"Shift-i will start inserting at the begin of the line, i will start before curser +"Shift-t end of line or t just behind curser (tail) +"f does exactly the same but closer to shift, easier to use maybe +nnoremap t a +nnoremap T A +nnoremap f a +nnoremap f A + +"search +set incsearch +set hlsearch +nnoremap Ctrl-l :nohlsearch + +"movement +"move by visual line +nnoremap w g +nnoremap s g +nnoremap a +nnoremap d +"move by \n or \r\n +nnoremap W +nnoremap S +nnoremap A +nnoremap D +"move to line at bottom/top of current screen +nnoremap g H +nnoremap G L +"gg will go to start of file, GG to end of file and M will actually jump to mid of screen + + +"move by word (dervied from Egoshooters where you can lean right or left usually with q and e) +nnoremap q b +"words to left (3q would be 3 words left) +nnoremap Q B +"words left, with all non-alphanumeric shit as sperators (i.e. '-') +"e and E same as above for right side + +"textmanipulation +"delete (d is taken by wasd, c is close to d) +nnoremap c d +"delte selected +nnoremap cc dd +"delte line +nnoremap cl dd +"dene (cc works too) +nnoremap ce dw +"delete next word +"copy/paste (y is the vim default, Ctrl-c is for many GUI programs and windows) +nnoremap yr y$ +"yank (copy) renemaining line behind curser +nnoremap Ctrl-c y +"yank (copy) selected, equivalent to y + +"marocs +nnoremap r q +nnoremap R qq +nnoremap rr qq + +"modifier keys +let mapleader="," +nnoremap l $ +"l is no the selector for line + +"general use +inoremap jk +nnoremap U CTRL-r +"u is normal undo + +"inoremap + +"open specific files +"nnoremap vrc :vsp $MYVIMRC + +"session management +nnoremap s :mksession +"save session, resume with vim -S +