diff --git a/git/.gitconfig b/git/.gitconfig new file mode 100644 index 0000000..fff9108 --- /dev/null +++ b/git/.gitconfig @@ -0,0 +1,5 @@ +[user] + email = yannik.schmidt@fau.de + name = Sheppy +[push] + default = simple diff --git a/herbstluftwm/autostart b/herbstluftwm/autostart index 3ae6b6a..d5c276a 100755 --- a/herbstluftwm/autostart +++ b/herbstluftwm/autostart @@ -1,3 +1,4 @@ +t #!/bin/bash # this is a simple config for herbstluftwm @@ -10,26 +11,36 @@ hc emit_hook reload xsetroot -solid '#5A8E3A' -# remove all existing keybindings +# reset 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 +#variables Mod=Mod4 # Use the super key as the main modifier +#look for additional monitors +hc detect_monitors +/usr/bin/xrandr --output DVI-I-2 --right-of DVI-I-1 + +#start xautolock +xautolock -time 15 -locker /home/ik15ydit/.config/i3lock/piclock.sh & +#xautolock + +# keybindings #client handling hc keybind $Mod-Shift-q quit +hc keybind $Mod-Shift-p spawn /sbin/poweroff hc keybind $Mod-Shift-r reload hc keybind $Mod-q close #spawn shit hc keybind $Mod-Return spawn urxvt -hc keybind $Mod-l spawn xlock -hc keybind $Mod-i spawn chromium +hc keybind $Mod-Shift-Return spawn xterm /bin/bash +hc keybind $Mod-i spawn chromium +hc keybind $Mod-l spawn i3lock -i ~/.config/i3lock/i3lock_background.png -t hc keybind $Mod-p spawn pavucontrol hc keybind $Mod-Shift-l spawn libreoffice +hc keybind $Mod-t spawn icedove # basic movement # focusing clients @@ -52,6 +63,17 @@ hc keybind $Mod-Shift-s shift down hc keybind $Mod-Shift-w shift up hc keybind $Mod-Shift-d shift right +#move across workspaces +hc keybind $Mod-Shift-1 move 1 +hc keybind $Mod-Shift-2 move 2 +hc keybind $Mod-Shift-3 move 3 +hc keybind $Mod-Shift-4 move 4 +hc keybind $Mod-Shift-5 move 5 +hc keybind $Mod-Shift-6 move 6 +hc keybind $Mod-Shift-7 move 7 +hc keybind $Mod-Shift-8 move 8 +hc keybind $Mod-Shift-9 move 9 + # splitting frames # create an empty frame at the specified direction hc keybind $Mod-h split bottom 0.5 @@ -158,6 +180,7 @@ hc rule focus=on # normally focus new clients 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 +hc rule --instance=chromium-browser --ewmhrequests=off # unlock, just to be sure hc unlock diff --git a/herbstluftwm/panel.sh b/herbstluftwm/panel.sh new file mode 100755 index 0000000..24e4d19 --- /dev/null +++ b/herbstluftwm/panel.sh @@ -0,0 +1,186 @@ +#!/bin/bash + +hc() { "${herbstclient_command[@]:-herbstclient}" "$@" ;} +monitor=${1:-0} +geometry=( $(herbstclient monitor_rect "$monitor") ) +if [ -z "$geometry" ] ;then + echo "Invalid monitor $monitor" + exit 1 +fi +# geometry has the format W H X Y +x=${geometry[0]} +y=${geometry[1]} +panel_width=${geometry[2]} +panel_height=16 +font="-*-fixed-medium-*-*-*-12-*-*-*-*-*-*-*" +bgcolor=$(hc get frame_border_normal_color) +selbg=$(hc get window_border_active_color) +selfg='#101010' + +#### +# Try to find textwidth binary. +# In e.g. Ubuntu, this is named dzen2-textwidth. +if which textwidth &> /dev/null ; then + textwidth="textwidth"; +elif which dzen2-textwidth &> /dev/null ; then + textwidth="dzen2-textwidth"; +else + echo "This script requires the textwidth tool of the dzen2 project." + exit 1 +fi +#### +# true if we are using the svn version of dzen2 +# depending on version/distribution, this seems to have version strings like +# "dzen-" or "dzen-x.x.x-svn" +if dzen2 -v 2>&1 | head -n 1 | grep -q '^dzen-\([^,]*-svn\|\),'; then + dzen2_svn="true" +else + dzen2_svn="" +fi + +if awk -Wv 2>/dev/null | head -1 | grep -q '^mawk'; then + # mawk needs "-W interactive" to line-buffer stdout correctly + # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=593504 + uniq_linebuffered() { + awk -W interactive '$0 != l { print ; l=$0 ; fflush(); }' "$@" + } +else + # other awk versions (e.g. gawk) issue a warning with "-W interactive", so + # we don't want to use it there. + uniq_linebuffered() { + awk '$0 != l { print ; l=$0 ; fflush(); }' "$@" + } +fi + +hc pad $monitor $panel_height + +{ + ### Event generator ### + # based on different input data (mpc, date, hlwm hooks, ...) this generates events, formed like this: + # \t [...] + # e.g. + # date ^fg(#efefef)18:33^fg(#909090), 2013-10-^fg(#efefef)29 + + #mpc idleloop player & + while true ; do + # "date" output is checked once a second, but an event is only + # generated if the output changed compared to the previous run. + date +$'date\t^fg(#efefef)%H:%M^fg(#909090), %Y-%m-^fg(#efefef)%d' + sleep 1 || break + done > >(uniq_linebuffered) & + childpid=$! + hc --idle + kill $childpid +} 2> /dev/null | { + IFS=$'\t' read -ra tags <<< "$(hc tag_status $monitor)" + visible=true + date="" + windowtitle="" + while true ; do + + ### Output ### + # This part prints dzen data based on the _previous_ data handling run, + # and then waits for the next event to happen. + + bordercolor="#26221C" + separator="^bg()^fg($selbg)|" + # draw tags + for i in "${tags[@]}" ; do + case ${i:0:1} in + '#') + echo -n "^bg($selbg)^fg($selfg)" + ;; + '+') + echo -n "^bg(#9CA668)^fg(#141414)" + ;; + ':') + echo -n "^bg()^fg(#ffffff)" + ;; + '!') + echo -n "^bg(#FF0675)^fg(#141414)" + ;; + *) + echo -n "^bg()^fg(#ababab)" + ;; + esac + if [ ! -z "$dzen2_svn" ] ; then + # clickable tags if using SVN dzen + echo -n "^ca(1,\"${herbstclient_command[@]:-herbstclient}\" " + echo -n "focus_monitor \"$monitor\" && " + echo -n "\"${herbstclient_command[@]:-herbstclient}\" " + echo -n "use \"${i:1}\") ${i:1} ^ca()" + else + # non-clickable tags if using older dzen + echo -n " ${i:1} " + fi + done + echo -n "$separator" + echo -n "^bg()^fg() ${windowtitle//^/^^}" + # small adjustments + pwr="Power $(acpi -b | sed -r 's/.* ([0-9]*%).*/\1/')" + right="^fg(#ff0000) $pwr $separator^bg() $date $separator" + right_text_only=$(echo -n "$right" | sed 's.\^[^(]*([^)]*)..g') + # get width of right aligned text.. and add some space.. + width=$($textwidth "$font" "$right_text_only ") + echo -n "^pa($(($panel_width - $width)))$right" + echo + + ### Data handling ### + # This part handles the events generated in the event loop, and sets + # internal variables based on them. The event and its arguments are + # read into the array cmd, then action is taken depending on the event + # name. + # "Special" events (quit_panel/togglehidepanel/reload) are also handled + # here. + + # wait for next event + IFS=$'\t' read -ra cmd || break + # find out event origin + case "${cmd[0]}" in + + tag*) + #echo "resetting tags" >&2 + IFS=$'\t' read -ra tags <<< "$(hc tag_status $monitor)" + ;; + date) + #echo "resetting date" >&2 + date="${cmd[@]:1}" + ;; + quit_panel) + exit + ;; + togglehidepanel) + currentmonidx=$(hc list_monitors | sed -n '/\[FOCUS\]$/s/:.*//p') + if [ "${cmd[1]}" -ne "$monitor" ] ; then + continue + fi + if [ "${cmd[1]}" = "current" ] && [ "$currentmonidx" -ne "$monitor" ] ; then + continue + fi + echo "^togglehide()" + if $visible ; then + visible=false + hc pad $monitor 0 + else + visible=true + hc pad $monitor $panel_height + fi + ;; + reload) + exit + ;; + focus_changed|window_title_changed) + windowtitle="${cmd[@]:2}" + ;; + #player) + # ;; + esac + done + + ### dzen2 ### + # After the data is gathered and processed, the output of the previous block + # gets piped to dzen2. + +} 2> /dev/null | dzen2 -w $panel_width -x $x -y $y -fn "$font" -h $panel_height \ + -e 'button3=;button4=exec:herbstclient use_index -1;button5=exec:herbstclient use_index +1' \ + -ta l -bg "$bgcolor" -fg '#efefef' diff --git a/herbstluftwm/wsbar.sh b/herbstluftwm/wsbar.sh new file mode 100755 index 0000000..a4142bb --- /dev/null +++ b/herbstluftwm/wsbar.sh @@ -0,0 +1,54 @@ +#!/bin/bash +FG='white' +BG='black' +FONT="-*-fixed-medium-*-*-*-12-*-*-*-*-*-*-*" + +function uniq_linebuffered() { + awk '$0 != l { print ; l=$0 ; fflush(); }' "$@" +} + +{ + conky -c ~/.conkyrc_herbstluft | while read -r; do + echo -e "conky $REPLY"; + #break + done > >(uniq_linebuffered) & + childpid=$! + herbstclient --idle + kill $childpid +} | { + TAGS=( $(herbstclient tag_status $monitor) ) + conky="" + separator="^fg(#1793D0)^ro(1x16)^fg()" + while true; do + for i in "${TAGS[@]}" ; do + echo -n "^ca(1,herbstclient use ${i:1}) " + case ${i:0:1} in + '#') + echo -n "^fg(#1793D0)[^fg(#FFFFFF)${i:1}^fg(#1793D0)]" + ;; + ':') + echo -n "^fg(#FFFFFF) ${i:1} " + ;; + *) + echo -n "^fg(#123456) ${i:1} " + ;; + esac + echo -n "^ca()" + done + echo -n " $separator" + conky_text_only=$(echo -n "$conky"|sed 's.\^[^(]*([^)]*)..g') + width=$(textwidth "$FONT" "$conky_text_only ") + echo -n "^p(_RIGHT)^p(-$width)$conky" + echo + read line || break + cmd=( $line ) + case "$cmd[0]" in + tag*) + TAGS=( $(herbstclient tag_status $monitor) ) + ;; + conky*) + conky="${cmd[@]:1}" + ;; + esac + done +} 2> /dev/null |dzen2 -ta l -y 0 -x 0 -h 16 -w 1286 -fg $FG -bg $BG -fn $FONT & diff --git a/i3lock/bg.png b/i3lock/bg.png new file mode 100644 index 0000000..dc72d84 Binary files /dev/null and b/i3lock/bg.png differ diff --git a/libcoloredstderr.so b/libcoloredstderr.so new file mode 100755 index 0000000..6cb9f8e Binary files /dev/null and b/libcoloredstderr.so differ diff --git a/other/deb_install.sh b/other/deb_install.sh new file mode 100644 index 0000000..2340c69 --- /dev/null +++ b/other/deb_install.sh @@ -0,0 +1,11 @@ +apt install build-essential libtool autoconf te +apt install rxvt-unicode zsh xorg herbstluftwm +apt install git tig python3 gcc g++ clang default-jdk default-jdk-doc +apt install vim vim-nox vim-syntax-gtk +apt install tree tmux pulseaudio htop sudo ncdu i3lock xautolock +apt install iw wicd-curses +apt install iceweasel chromium libreoffice icedove gedit +apt install texlive-full texlive-lang-german texstudio +apt install kolourpain feh imagemagick gimp +apt install kvm sleuthkit +#apt install firmware-ralink firmware-realtek#wireless stick & network card diff --git a/other/grub b/other/grub new file mode 100644 index 0000000..5992fef --- /dev/null +++ b/other/grub @@ -0,0 +1,32 @@ +# If you change this file, run 'update-grub' afterwards to update +# /boot/grub/grub.cfg. +# For full documentation of the options in this file, see: +# info -f grub -n 'Simple configuration' + +GRUB_DEFAULT=2 +GRUB_TIMEOUT=-1 +GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` +GRUB_CMDLINE_LINUX_DEFAULT="quiet libata.force=3.00:disable,4.00:disable" +GRUB_CMDLINE_LINUX="" + +# Uncomment to enable BadRAM filtering, modify to suit your needs +# This works with Linux (no patch required) and with any kernel that obtains +# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) +#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" + +# Uncomment to disable graphical terminal (grub-pc only) +#GRUB_TERMINAL=console + +# The resolution used on graphical terminal +# note that you can use only modes which your graphic card supports via VBE +# you can see them in real GRUB with the command `vbeinfo' +#GRUB_GFXMODE=640x480 + +# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux +#GRUB_DISABLE_LINUX_UUID=true + +# Uncomment to disable generation of recovery mode menu entries +#GRUB_DISABLE_RECOVERY="true" + +# Uncomment to get a beep at grub start +#GRUB_INIT_TUNE="480 440 1" diff --git a/other/local.conf b/other/local.conf new file mode 100644 index 0000000..b45e4b7 --- /dev/null +++ b/other/local.conf @@ -0,0 +1 @@ +options usbhid quirks=0x1a2c:0x0027:0x20000000 diff --git a/other/modchange.sh b/other/modchange.sh new file mode 100644 index 0000000..fb8c659 --- /dev/null +++ b/other/modchange.sh @@ -0,0 +1,4 @@ +rmmod usbhid +echo "removed" +modprobe usbhid quirks=0x1a2c:0x0027:0x20000000 +echo "DONE" diff --git a/other/sshcheck.sh b/other/sshcheck.sh new file mode 100644 index 0000000..96392fb --- /dev/null +++ b/other/sshcheck.sh @@ -0,0 +1,7 @@ +if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then + SESSION_TYPE=remote/ssh +else + case $(ps -o comm= -p $PPID) in + sshd|*/sshd) SESSION_TYPE=remote/ssh;; + esac +fi \ No newline at end of file diff --git a/vim/rc b/vim/rc index 0c26ee3..e133807 100644 --- a/vim/rc +++ b/vim/rc @@ -120,20 +120,19 @@ if @% =~ ".*.dia" hi def link regie Operator hi def link text String hi def link badcode ErrorMsg - hi def link branch TODO - - "highlight branch in .dia is go bacmato insertmode + + "highlight branch in .dia is go back to insertmode inoremap ma:execute HL_branch():set hlsearch`a nnoremap ma :execute HL_branch():set hlsearch`a - nnoremap w gma :execute HL_branch():set hlsearch `a nnoremap s gma :execute HL_branch():set hlsearch `a -function HL_branch() -let line=getline('.') -"backslash muss escaped werden um + zu escapen in func -if line =~ "\[A-Z]\\+.*:" + "function for highlighting + function HL_branch() + let line=getline('.') + "backslash muss escaped werden um + zu escapen in func + if line =~ "\[A-Z]\\+.*:" python << endpython import vim l = vim.current.line @@ -148,8 +147,7 @@ l = llist[0][i:] #escaped \ for py AND vim vim.command("let @/='[A-Z]\+%s.*:'"% l) endpython -endif -"return "echo ''" -endfunction -"end outer if + endif + return "echo ''" + endfunction endif diff --git a/xconf/.xinitrc b/xconf/.xinitrc new file mode 100644 index 0000000..bf29a49 --- /dev/null +++ b/xconf/.xinitrc @@ -0,0 +1 @@ +/usr/bin/xrandr --output DVI-I-2 --right-of DVI-I-1 diff --git a/xconf/.xsessionrc b/xconf/.xsessionrc new file mode 100644 index 0000000..e69de29 diff --git a/xconf/Xresources b/xconf/Xresources index f25695e..d39bf1c 100755 --- a/xconf/Xresources +++ b/xconf/Xresources @@ -1,3 +1,3 @@ -Rxvt.*.background: #000000 -Rxvt.*.foreground: #EEEEEE -Rxvt.*.scrollBar: off +URxvt.*.background: #000000 +URxvt.*.foreground: #EEEEEE +URxvt.*.scrollBar: off diff --git a/zshrc b/zshrc index 86cc4b5..bdd97b9 100644 --- a/zshrc +++ b/zshrc @@ -38,6 +38,8 @@ zstyle ':completion:*:expand:*' keep-prefix yes #halt praefix behalten, HOME nic zstyle ':completion:*' list-suffixes yes # completet a/b/c zu abc/bcd/coo zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} # dircolors für completion bindkey '^R' history-incremental-pattern-search-backward + +#pipe alias -g E='2>&1' alias -g N='>/dev/null' alias -g EN='2>/dev/null' @@ -46,18 +48,48 @@ alias -g G='| grep' alias -g S='| sort' alias -g ...='../..' alias ..='cd ..' -alias telegram='~/ciptmp/Zeug/Telegram/tg/bin/telegram-cli -k tg-server.pub' -alias comp='https://est_ik15ydit@faui2hg.cs.fau.de/mcc/exercises/WS15/est_ik15ydit' -alias w="php /proj/ciptmp/av37umic/scripts/woist.php show" -alias ww="php /proj/ciptmp/av37umic/scripts/woist.php all" -alias wa="php /proj/ciptmp/av37umic/scripts/woist.php add" -alias wd="php /proj/ciptmp/av37umic/scripts/woist.php del" -alias wl="php /proj/ciptmp/av37umic/scripts/woist.php list" + +#general shortcuts +alias psearch="apt-cache search" +alias i3lock="i3lock --image=/home/ik15ydit/.config/i3lock/bg.png" +alias hlock="i3lock --image=/home/ik15ydit/.config/i3lock/bg.png -t" +#alias telegram='~/ciptmp/Zeug/Telegram/tg/bin/telegram-cli -k tg-server.pub' +alias x='startx' + +#ignore errormessages that are useless anyway +alias gedit="gedit 2>/dev/null" +alias kpaint="kolourpaint 2>/dev/null" + +#converting +alias -g jpg2png="echo 'use convert [file_in.jpg] [file_out.png]'" + +#cipstalk +alias w="ssh faui00n.cs.fau.de php /proj/ciptmp/av37umic/scripts/woist.php show" +alias ww="ssh faui00n.cs.fau.de php /proj/ciptmp/av37umic/scripts/woist.php all" +alias wa="ssh faui00n.cs.fau.de php /proj/ciptmp/av37umic/scripts/woist.php add" +alias wd="ssh faui00n.cs.fau.de php /proj/ciptmp/av37umic/scripts/woist.php del" +alias wl="ssh faui00n.cs.fau.de php /proj/ciptmp/av37umic/scripts/woist.php list" + +#uni alias irc="ssh ircbox.cs.fau.de -t 'command; tmux a'" +alias -g uni="faui06c.cs.fau.de" +alias cipkey="ssh-add ~/.ssh/ciplogin" #direct to config alias hlconf="vim ~/.config/herbstluftwm/autostart" alias zshconf="vim ~/.zshrc" +alias vimconf="vim ~/.vimrc" +alias sshconf="vim ~/.ssh/config" + +#ambigious aliases +alias dual="xrandr --output DVI-I-2 --right-of DVI-I-1" +alias hlmove="herbstclient move" +alias shutown="/sbin/poweroff" +alias pcolor='for i in {0..255} ; do printf "\x1b[38;5;${i}mcolour${i} "; if [[ $(((($i+3)/6)*6)) -eq $(($i+3)) ]]; then echo; fi; done' + +#AuD and java +alias javac-all-test4='javac -cp .:/usr/share/java/junit4.jar *.java' +alias java-test4='java -cp .:/usr/share/java/junit4.jar' #aliases migrated from bashrc alias spc='gcc -std=c99 -pedantic -Wall -Werror -D_XOPEN_SOURCE=700 -o' @@ -67,6 +99,11 @@ alias rudipub='cd /home/cip/2010/he29heri/pub/' alias cltex="rm *.log *.aux *.fdb_latexmk *.fls" alias wordcount="find . -type f -exec cat {} + | wc -w" +#ls and la +LS_COLORS=$LS_COLORS:'di=0;35:'; export LS_COLORS +alias la="ls -la --color=auto" +alias ll="ls -ll --color=auto" + #pipealiases alias -g D='| dot -Tpng >'