Update.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
[user]
|
||||
name = Hannes Körber
|
||||
name = Hannes Koerber
|
||||
email = hannes.koerber@gmail.com
|
||||
[alias]
|
||||
untrack = "rm --cached"
|
||||
@@ -21,6 +21,8 @@
|
||||
|
||||
logl = log --graph --decorate --pretty=oneline --abbrev-commit --all
|
||||
|
||||
pushall = "!sh -c 'for r in $(git remote) ; do echo \"[$r] \" ; git push $r $1; done' -"
|
||||
|
||||
[core]
|
||||
editor = vim
|
||||
pager = less
|
||||
|
||||
75
i3/i3/config
75
i3/i3/config
@@ -19,7 +19,7 @@
|
||||
set $mod Mod4
|
||||
|
||||
# The default terminal
|
||||
set $terminal ~/bin/start-urxvtc.sh
|
||||
set $terminal urxvt
|
||||
#-e bash -c "tmux -q has-session && exec tmux attach-session -d || exec tmux new-session -n$USER -s$USER@$HOSTNAME"
|
||||
|
||||
# Path to the exit script
|
||||
@@ -200,16 +200,16 @@
|
||||
# Pressing right will grow the window’s width.
|
||||
# Pressing up will shrink the window’s height.
|
||||
# Pressing down will grow the window’s height.
|
||||
bindsym $left resize shrink width 10 px or 10 ppt
|
||||
bindsym $down resize grow height 10 px or 10 ppt
|
||||
bindsym $up resize shrink height 10 px or 10 ppt
|
||||
bindsym $right resize grow width 10 px or 10 ppt
|
||||
bindsym $left resize shrink width 5 px or 5 ppt
|
||||
bindsym $down resize grow height 5 px or 5 ppt
|
||||
bindsym $up resize shrink height 5 px or 5 ppt
|
||||
bindsym $right resize grow width 5 px or 5 ppt
|
||||
|
||||
# same bindings, but for the arrow keys
|
||||
bindsym 113 resize shrink width 10 px or 10 ppt
|
||||
bindsym 116 resize grow height 10 px or 10 ppt
|
||||
bindsym 111 resize shrink height 10 px or 10 ppt
|
||||
bindsym 114 resize grow width 10 px or 10 ppt
|
||||
bindsym 113 resize shrink width 5 px or 5 ppt
|
||||
bindsym 116 resize grow height 5 px or 5 ppt
|
||||
bindsym 111 resize shrink height 5 px or 5 ppt
|
||||
bindsym 114 resize grow width 5 px or 5 ppt
|
||||
|
||||
# back to normal: Enter or Escape
|
||||
bindsym Return mode "default"
|
||||
@@ -245,14 +245,14 @@
|
||||
# Do show borders at the screen edges
|
||||
hide_edge_borders none
|
||||
|
||||
focus_follows_mouse no
|
||||
focus_follows_mouse yes
|
||||
|
||||
# Only map a popup in fullscreen mode if it belongs to the fullscreen window
|
||||
# <smart|ignore|leave_fullscreen>
|
||||
popup_during_fullscreen leave_fullscreen
|
||||
|
||||
# Do not always wrap but change to a container on the same level instead
|
||||
force_focus_wrapping yes
|
||||
force_focus_wrapping no
|
||||
|
||||
force_xinerama no
|
||||
|
||||
@@ -309,6 +309,7 @@ client.urgent #2f343a #900000 #ffffff #900000
|
||||
for_window [class="^Thunderbird$"] border none
|
||||
for_window [instance="^shutdown-menu$"] border normal
|
||||
for_window [class="^VirtualBox$" ] border normal
|
||||
for_window [class="^Virt-manager$" ] border normal
|
||||
|
||||
#assign [class="^Thunderbird"] $workspace9
|
||||
assign [class="^Firefox$" ] $workspace1
|
||||
@@ -320,6 +321,58 @@ client.urgent #2f343a #900000 #ffffff #900000
|
||||
assign [class="^Zim$" ] $workspace8
|
||||
assign [class="^Thunderbird$" ] $workspace9
|
||||
assign [class="^Skype$"] $workspace10
|
||||
assign [class="^Mumble"] $workspace10
|
||||
assign [class="^Deluge$"] $workspace5
|
||||
|
||||
|
||||
# bind some keys
|
||||
bindsym XF86Sleep exec --no-startup-id $path_i3exit suspend
|
||||
bindsym XF86AudioMute exec --no-startup-id amixer set Master toggle
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id bash $HOME/.i3/scripts/pa-volume.bash set-vol +5 ; exec --no-startup-id "bash $HOME/.i3/scripts/update-status.bash"
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id bash $HOME/.i3/scripts/pa-volume.bash set-vol -5 ; exec --no-startup-id "bash $HOME/.i3/scripts/update-status.bash"
|
||||
# keys seemingly switched
|
||||
bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -dec 5 ; exec --no-startup-id "bash $HOME/.i3/scripts/update-status.bash"
|
||||
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -inc 5 ; exec --no-startup-id "bash $HOME/.i3/scripts/update-status.bash"
|
||||
|
||||
bindsym XF86AudioPlay exec --no-startup-id mpc toggle
|
||||
|
||||
bindsym XF86AudioPrev exec --no-startup-id mpc prev
|
||||
bindsym XF86AudioNext exec --no-startup-id mpc next
|
||||
|
||||
# font for window titles. ISO 10646 = Unicode
|
||||
font pango:DejaVu Sans Mono 11
|
||||
|
||||
bindsym $mod+o exec --no-startup-id "bash -c '~/dev/projects/xautorandr/xautorandr ; kill -SIGUSR2 $(cat $HOME/.var/run/wallchanger.pid)'"
|
||||
bindsym $mod+p exec --no-startup-id "bash -c 'kill -SIGUSR1 $(cat $HOME/.var/run/wallchanger.pid)'"
|
||||
|
||||
# start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
bar {
|
||||
# always show at the top of the screen
|
||||
mode dock
|
||||
position top
|
||||
|
||||
tray_output primary
|
||||
|
||||
# show workspace buttons
|
||||
workspace_buttons yes
|
||||
|
||||
id bar-0
|
||||
|
||||
font pango:DejaVu Sans, Icons 11
|
||||
|
||||
colors {
|
||||
background #000000
|
||||
statusline #ffffff
|
||||
separator #e16b40
|
||||
|
||||
focused_workspace #e16b40 #000000 #ffffff
|
||||
active_workspace #000000 #5f676a #ffffff
|
||||
inactive_workspace #000000 #000000 #dddddd
|
||||
urgent_workspace #D00000 #D00000 #000000
|
||||
}
|
||||
|
||||
i3bar_command i3bar
|
||||
status_command bash ~/.i3/scripts/i3bar_wrapper.bash ~/.i3/conky/statusbar.conkyrc
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
new-session -A -s 's-1'
|
||||
|
||||
set -g default-terminal 'screen-256color'
|
||||
|
||||
set -g utf8 on
|
||||
set-option -g utf8 on
|
||||
set -g status-utf8 on
|
||||
|
||||
set -g default-command "${SHELL}"
|
||||
@@ -68,7 +66,8 @@ set-window-option -g automatic-rename-format '#{pane_current_command}'
|
||||
|
||||
set-window-option -g window-status-separator ' '
|
||||
|
||||
set -g status-right '' ##[fg=colour226]#(uptime | cut -d ',' -f 2-)'
|
||||
#set -g status-right '' ##[fg=colour226]#(uptime | cut -d ',' -f 2-)'
|
||||
set -g status-right ''
|
||||
|
||||
set -g message-fg white
|
||||
set -g message-bg black
|
||||
@@ -78,14 +77,16 @@ set -g pane-border-fg white
|
||||
set -g pane-active-border-fg red
|
||||
|
||||
#set -g status-style 'bg=black,fg=white,none'
|
||||
set -g status-left ' #[bg=#E5F200,fg=#000000] #{session_name} #[bg=default] #[bg=#90FF00,fg=#000000] #{host} #[bg=default] '
|
||||
if-shell 'test -z "$SSH_CONNECTION"' 'set -g status-left " #[bg=#E5F200,fg=#000000] #{session_name} #[bg=default] #[bg=#90FF00,fg=#000000] #{host} #[bg=default] "' 'set -g status-left " #[bg=#00A0FF,fg=#000000] !remote! #[bg=default] #[bg=#E5F200,fg=#000000] #{session_name} #[bg=default] #[bg=#90FF00,fg=#000000] #{host} #[bg=default] " ; set -g status-right " #[bg=#00A0FF,fg=#000000] !remote! #[bg=default] "'
|
||||
set -g status-left-length 100
|
||||
|
||||
# vertical = | in this case
|
||||
unbind %
|
||||
unbind '"'
|
||||
bind-key s split-window -v
|
||||
bind-key v split-window -h
|
||||
bind-key s split-window -v -c "#{pane_current_path}"
|
||||
bind-key v split-window -h -c "#{pane_current_path}"
|
||||
|
||||
bind-key c new-window -c "#{pane_current_path}"
|
||||
|
||||
bind-key -n S-down new-window
|
||||
bind-key -n S-left prev
|
||||
|
||||
16
vim/vimrc
16
vim/vimrc
@@ -1,3 +1,5 @@
|
||||
" vim: set filetype=vim
|
||||
|
||||
" 01 important
|
||||
" 02 moving around, searching and patterns
|
||||
" 03 tags
|
||||
@@ -68,6 +70,12 @@ Plugin 'tpope/vim-fugitive'
|
||||
" python specific stuff
|
||||
Plugin 'klen/python-mode'
|
||||
|
||||
Plugin 'nblock/vim-dokuwiki'
|
||||
|
||||
Plugin 'saltstack/salt-vim'
|
||||
|
||||
Plugin 'lepture/vim-jinja'
|
||||
|
||||
" incremental visual mode
|
||||
"Plugin 'terryma/vim-expand-region'
|
||||
"
|
||||
@@ -87,6 +95,8 @@ Plugin 'kien/ctrlp.vim'
|
||||
"
|
||||
"Plugin 'flazz/vim-colorschemes'
|
||||
|
||||
Plugin 'reedes/vim-pencil'
|
||||
|
||||
call vundle#end()
|
||||
|
||||
filetype plugin indent on
|
||||
@@ -98,7 +108,7 @@ let g:pymode_trim_whitespaces = 1
|
||||
let g:pymode_lint_on_write = 0
|
||||
let g:pymode_lint_unmodified = 0
|
||||
let g:pymode_lint_on_fly = 0
|
||||
let g:pymoe_rope = 0
|
||||
let g:pymode_rope = 0
|
||||
let g:pymode_rope_completion = 0
|
||||
"let g:pymode_rope_completion_on_dot = 1
|
||||
let g:pymode_rope_goto_definition_cmd = "new"
|
||||
@@ -119,6 +129,8 @@ colorscheme monokai
|
||||
let g:airline_theme='powerlineish'
|
||||
let g:airline_left_sep=''
|
||||
let g:airline_right_sep=''
|
||||
let g:airline_section_x = '%{PencilMode()}'
|
||||
let g:pencil#mode_indicators = {'hard': 'H', 'auto': 'A', 'soft': 'S', 'off': '',}
|
||||
"let g:airline_section_z=''
|
||||
|
||||
" enable tabline at the top showing all buffers
|
||||
@@ -140,7 +152,7 @@ set esckeys " enable cursor keys in insert mode
|
||||
set ttimeoutlen=50
|
||||
|
||||
set modeline " respect modelines in files
|
||||
set modelines=4
|
||||
set modelines=5
|
||||
|
||||
set laststatus=2 " always show a status line
|
||||
|
||||
|
||||
44
x/xinitrc
44
x/xinitrc
@@ -1,9 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
export LOGDIR="$HOME/.var/log/"
|
||||
export LOGDIR="$HOME/.var/log"
|
||||
export RUNDIR="$HOME/.var/run"
|
||||
|
||||
[[ ! -d "LOGDIR" ]] && mkdir -p "$LOGDIR"
|
||||
[[ ! -d "RUNDIR" ]] && mkdir -p "$RUNDIR"
|
||||
|
||||
LOGFILE="$LOGDIR/xinitrc.log"
|
||||
|
||||
@@ -26,20 +27,8 @@ fi
|
||||
export LANG=en_US.UTF-8
|
||||
|
||||
start_wm() {
|
||||
log "generating i3 config"
|
||||
I3_LOG="$LOGDIR/i3/i3.log"
|
||||
I3_LOGOLD="${I3_LOG}.old"
|
||||
|
||||
# simple logrotate so we can still get info about the last session
|
||||
if [[ -f "$I3_LOG" ]] ; then
|
||||
log "moving old i3 log at $I3_LOG to $I3_LOGOLD"
|
||||
mv -f "$I3_LOG" "$I3_LOGOLD"
|
||||
fi
|
||||
|
||||
[[ ! -d "$(dirname $I3_LOG)" ]] && mkdir -p "$(dirname $I3_LOG)"
|
||||
SESSION_CONF=$(bash "$HOME/.i3/scripts/genconfig.bash")
|
||||
log "generated, starting i3"
|
||||
exec i3 -c "$SESSION_CONF" >> "$LOGDIR/i3/i3.log"
|
||||
log "starting i3"
|
||||
exec i3 -c "$HOME/.i3/config" >> "$LOGDIR/i3/i3.log"
|
||||
}
|
||||
|
||||
|
||||
@@ -47,10 +36,10 @@ start_wm() {
|
||||
keyboard_layout=de
|
||||
keyboard_variant=nodeadkeys
|
||||
keyboard_repeat_delay=150
|
||||
keyboard_repeat_speed=30
|
||||
keyboard_repeat_speed=50
|
||||
|
||||
# path and options for the wallpaper changer script
|
||||
path_wallchanger="$HOME/development/projects/wallchanger/wallchanger"
|
||||
path_wallchanger="$HOME/dev/projects/wallchanger/wallchanger"
|
||||
wallchanger_pidfile="$RUNDIR/wallchanger.pid"
|
||||
wallpaper_directory="$HOME/pictures/wallpaper/misc"
|
||||
wallpaper_logfile="$LOGDIR/wallpaper.log"
|
||||
@@ -80,11 +69,11 @@ pasystray & &>> $LOGFILE
|
||||
log "starting dropboxd"
|
||||
nice -n 10 ionice -c 3 dropboxd & &>> $LOGFILE
|
||||
|
||||
log "starting conky clock on desktop"
|
||||
{
|
||||
sleep 1
|
||||
conky -c "$HOME/.conky/clock.conkyrc"
|
||||
} & &>> $LOGFILE
|
||||
#log "starting conky clock on desktop"
|
||||
#{
|
||||
# sleep 1
|
||||
# conky -c "$HOME/.conky/clock.conkyrc"
|
||||
#} & &>> $LOGFILE
|
||||
|
||||
# start the wallpaper changer
|
||||
log "starting $path_wallchanger"
|
||||
@@ -115,10 +104,16 @@ xcompmgr & &>> $LOGFILE
|
||||
log "starting network tray application"
|
||||
nm-applet & &>> $LOGFILE
|
||||
|
||||
log "starting seafile"
|
||||
seafile-applet & &>> $LOGFILE
|
||||
|
||||
# disable auto screen disable
|
||||
xset -dpms & &>> $LOGFILE
|
||||
xset s off & &>> $LOGFILE
|
||||
|
||||
|
||||
xrandr --output eDP1 --primary
|
||||
|
||||
# execute the host-specific .xinitrc-addition
|
||||
hostfile="$HOME/.xinitrc.d/$(hostname --short).xinitrc"
|
||||
log "looking for host specific xinitrc addition at $hostfile"
|
||||
@@ -136,4 +131,9 @@ else
|
||||
log "~/.Xresources not found"
|
||||
fi
|
||||
|
||||
synclient VertEdgeScroll=0
|
||||
synclient VertTwoFingerScroll=1
|
||||
synclient MaxSpeed=2.2
|
||||
synclient AccelFactor=0.08
|
||||
|
||||
start_wm
|
||||
|
||||
22
zsh/zprofile
22
zsh/zprofile
@@ -1,10 +1,28 @@
|
||||
# exec startx breaks some logind fuckery, without exec it works
|
||||
#tmux start-server &
|
||||
eval $(ssh-agent -s)
|
||||
_path=("$HOME/bin"
|
||||
"/usr/local/sbin"
|
||||
"/usr/local/bin"
|
||||
"/usr/sbin"
|
||||
"/usr/bin"
|
||||
"/sbin"
|
||||
"/bin"
|
||||
"/usr/games")
|
||||
|
||||
PATH=""
|
||||
for part in ${_path} ; do
|
||||
PATH="$PATH:${part}"
|
||||
done
|
||||
PATH="${PATH#:}"
|
||||
export PATH
|
||||
|
||||
export EDITOR="vim"
|
||||
export VISUAL="vim"
|
||||
export PATH="$HOME/bin:$PATH"
|
||||
export BROWSER="firefox"
|
||||
|
||||
if [[ -z "$SSH_CONNECTION" ]] ; then
|
||||
eval $(ssh-agent -s)
|
||||
|
||||
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx
|
||||
fi
|
||||
|
||||
|
||||
84
zsh/zshrc
84
zsh/zshrc
@@ -140,7 +140,14 @@ alias wow="git status"
|
||||
|
||||
alias v="vim"
|
||||
alias g="git"
|
||||
alias t="tmux"
|
||||
alias c="cd"
|
||||
alias l="ls"
|
||||
|
||||
alias calc='python3 -ic "from math import *; import cmath"'
|
||||
|
||||
# show non-printable characters by default
|
||||
alias cat="cat -v"
|
||||
|
||||
# rebase the current branch onto WTF ARE YOU DOING YOU ARE DRUNNK TO GO BED
|
||||
##alias rebase="git rebase -i $(git branch --contains HEAD | grep -v '\*.*' | head -1)"
|
||||
@@ -148,6 +155,10 @@ alias g="git"
|
||||
|
||||
### FUNCTIONS
|
||||
|
||||
_remote() {
|
||||
[[ -n "$SSH_CONNECTION" ]]
|
||||
}
|
||||
|
||||
slideshow() {
|
||||
delay=$1
|
||||
[[ -z "$delay" ]] && { echo "wrong usage" ; return 1 ; }
|
||||
@@ -217,9 +228,11 @@ ruler() {
|
||||
done
|
||||
}
|
||||
|
||||
if ! _remote ; then
|
||||
if ! (ssh-add -l | grep -q 'id_rsa') ; then
|
||||
ssh-add
|
||||
fi
|
||||
fi
|
||||
|
||||
addext() {
|
||||
[[ -z "$1" ]] || [[ -z "$2" ]] && { echo "Usage: $0 <file> <extension>" ; return }
|
||||
@@ -261,7 +274,7 @@ serve() {
|
||||
}
|
||||
|
||||
manpdf() {
|
||||
[[ -z "$1" ]] && { echo >&2 "$(man)" ; exit 1 ; }
|
||||
[[ -z "$1" ]] && { printf '%s' >&2 "$(man)" ; return ; }
|
||||
man -t "$1" | ps2pdf - - | zathura -
|
||||
}
|
||||
|
||||
@@ -306,21 +319,16 @@ zstyle ':vcs_info:git*' formats "%{${fg[cyan]}%}[%{${fg[green]}%}%s%{${fg[cyan]}
|
||||
setprompt() {
|
||||
setopt prompt_subst
|
||||
|
||||
if [[ -n "$SSH_CLIENT" ]]; then
|
||||
SSHINFO="[ssh] "
|
||||
else
|
||||
SSHINFO=""
|
||||
topstr="%{$fg[green]%}%n@%m%{$fg[white]%} ─ %{%B$fg[yellow]%}%~${vcs_info_msg_0_}%{%b%} %{$fg[white]%}"
|
||||
botstr="%B${PINFO}%#%b "
|
||||
|
||||
if _remote ; then
|
||||
topstr="%{$fg[red]%}[remote]%{$fg[white]%} ${topstr}"
|
||||
fi
|
||||
|
||||
# if git status ; then
|
||||
# GITINFO=" <git repo>"
|
||||
# else
|
||||
# GITINFO=""
|
||||
# fi
|
||||
|
||||
PROMPT="%{$fg[white]%}┌─ %{$fg[green]%}%n@%M%{$fg[white]%} ─ %{$fg[cyan]%}%*%{$fg[white]%} ─ %{%B$fg[yellow]%}%~${vcs_info_msg_0_}%{%b%}
|
||||
%{$fg[white]%}└─ %B${PINFO}%#%b "
|
||||
RPROMPT=""
|
||||
PROMPT="%{$fg[white]%}┌─ ${topstr}
|
||||
└─ ${botstr}"
|
||||
RPROMPT="%{$fg[cyan]%}%*%{$fg[white]%} ─ [%?]"
|
||||
}
|
||||
|
||||
setprompt
|
||||
@@ -328,3 +336,51 @@ setprompt
|
||||
gensshport() {
|
||||
echo $(( $(od -v -An -N4 -tu4 < /dev/urandom) % (2**16-2**10) + 2**10 ))
|
||||
}
|
||||
|
||||
#ssh() {
|
||||
# if [[ -n "$TMUX" ]] ; then
|
||||
# echo "$0 $@" > "$HOME/.var/run/tmux.$(tmux display-message -p '#S').cmd"
|
||||
# tmux detach-client >/dev/null 2>&1
|
||||
# else
|
||||
# command ssh "$@"
|
||||
# fi
|
||||
#}
|
||||
|
||||
tmux_after() {
|
||||
cmdfile="$HOME/.var/run/tmux.$1.cmd"
|
||||
if [[ -e "$cmdfile" ]] ; then
|
||||
command $(<"$cmdfile")
|
||||
rm "$cmdfile"
|
||||
if tmux has-session -t "$1" ; then
|
||||
tmux_wrap attach-session -t "$1"
|
||||
fi
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
tmux_wrap() {
|
||||
tmux "$1" "$2" "$3"
|
||||
tmux_after "$3"
|
||||
}
|
||||
|
||||
# desired behavior is like this:
|
||||
# if a shell is started, it automatically attaches to the lowest "s-x" session that has
|
||||
# no attached clients
|
||||
|
||||
return
|
||||
|
||||
[[ -n "$TMUX" ]] && return
|
||||
|
||||
for (( id=1 ;; id++ )) ; do
|
||||
sessionname="s-${id}"
|
||||
if tmux has-session -t "${sessionname}" ; then
|
||||
if [[ -z "$(tmux list-clients -t "${sessionname}")" ]] ; then
|
||||
tmux_wrap attach-session -t "${sessionname}"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
else
|
||||
tmux_wrap new-session -s "${sessionname}"
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
Reference in New Issue
Block a user