]> git.zndr.dk Git - dotfiles.git/commitdiff
Revert "Git config cleanup"
authorJannik ZANDER <jannikz@gmail.com>
Wed, 8 Aug 2018 15:42:35 +0000 (17:42 +0200)
committerJannik ZANDER <jannikz@gmail.com>
Wed, 8 Aug 2018 15:42:35 +0000 (17:42 +0200)
This reverts commit 46a28777d555ccba3600300f27ae83cb717823ab.

28 files changed:
.bash_aliases
.bash_completion
.bashrc
.config/git/attributes
.config/git/ignore
.config/i3/config
.config/mimeapps.list
.config/ranger/rc.conf
.config/ranger/scope.sh
.config/user-dirs.dirs
.cshrc
.gitignore
.gitmodules [deleted file]
.inputrc
.mutt/keybindings
.mutt/muttrc
.mutt/signature
.profile
.ssh/config
.tmux.conf
README.md
bin/build-akmod.sh
bin/build-luajit.sh
bin/build-vim.sh
bin/caps-hjkl-or-esc.ahk
bin/edit_with_vim.bat
bin/git-diffall.sh
bin/githome-clone.sh

index 7f126872878b1446e26fbd51258551406ed87a2c..22a583c6d5e2edc46a4b2ee135880a6d4e5fda09 100644 (file)
@@ -1,88 +1,88 @@
-# enable color support of ls and also add handy aliases\r
-lsflags="-hF"\r
-\r
-if [ -x "$(which dircolors 2>/dev/null)" ]; then\r
-    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"\r
-    lsflags="$lsflags -I NTUSER.\* -I ntuser.\*"\r
-    colorflag="--color=auto"\r
-    alias grep='grep --color=auto'\r
-    alias egrep='egrep --color=auto'\r
-    alias fgrep='fgrep --color=auto'\r
-else # OSX version of ls\r
-    export CLICOLOR=1\r
-    colorflag="-G"\r
-fi\r
-\r
-alias ls="ls $colorflag $lsflags"\r
-alias ll='ls -l'\r
-alias la='ls -A'\r
-alias l='ls -CF'\r
-alias l1='ls -1'\r
-alias l.='ls -d .[a-z]*'\r
-\r
-alias less='less -m -N -g -i -J --underline-special --SILENT -X'\r
-alias more='less'\r
-\r
-# Secure settings\r
-alias rm='rm -i'\r
-alias cp='cp -i'\r
-alias mv='mv -i'\r
-alias ln='ln -i'\r
-alias md='mkdir -p'\r
-alias rd='rmdir'\r
-alias :q=exit\r
-\r
-# reboot / halt / poweroff\r
-alias reboot='sudo /sbin/reboot'\r
-alias poweroff='sudo /sbin/poweroff'\r
-alias halt='sudo /sbin/halt'\r
-alias shutdown='sudo /sbin/shutdown'\r
-alias apt-get='sudo apt-get'\r
-alias update='sudo apt-get update && sudo apt-get upgrade'\r
-\r
-# My shortcuts\r
-alias c='clear'\r
-alias h='history'\r
-alias 'h?'="history | grep -i"\r
-alias e='ranger-cd'\r
-alias o='rifle'\r
-alias vi='vim'\r
-alias top='atop'\r
-alias open='xdg-open &>/dev/null'\r
-alias info='info --vi-keys'\r
-alias ag='ag --path-to-ignore=$HOME/.ignore --skip-vcs-ignores'\r
-alias rg='rg --path-separator="//"'\r
-alias githome='git --git-dir=$HOME/.githome --work-tree=$HOME'\r
-alias dit='githome'\r
-alias sudo='sudo '\r
-alias vlc='vlc *.avi'\r
-alias wget='wget -c'\r
-\r
-# Reboot my home Linksys WAG160N / WAG54 / WAG320 / WAG120N Router / Gateway from *nix.\r
-alias rebootlinksys="curl -u 'admin:my-super-password' 'http://192.168.1.100/setup.cgi?todo=reboot'"\r
-\r
-if [ ! -x "$(which tree 2>/dev/null)" ]\r
-then\r
-  alias tree="find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'"\r
-fi\r
-\r
-# Get week number\r
-alias week='date +%V'\r
-\r
-# Make directory named todays date\r
-alias mkdate='mkdir "$(date +'%Y%m%d')"'\r
-\r
-# Stopwatch\r
-alias timer='echo "Timer started. Stop with Ctrl-D." && date && time cat && date'\r
-\r
-# Automatically change the directory in bash after closing ranger\r
-function ranger-cd\r
-{\r
-    tempfile="$(mktemp -t tmp.XXXXXX)"\r
-    ranger --choosedir="$tempfile" "${@:-$(pwd)}"\r
-    test -f "$tempfile" &&\r
-    if [ "$(cat -- "$tempfile")" != "$(echo -n `pwd`)" ]; then\r
-        cd -- "$(cat "$tempfile")"\r
-    fi\r
-    rm -f -- "$tempfile"\r
-}\r
+# enable color support of ls and also add handy aliases
+lsflags="-hF"
+
+if [ -x "$(which dircolors 2>/dev/null)" ]; then
+    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
+    lsflags="$lsflags -I NTUSER.\* -I ntuser.\*"
+    colorflag="--color=auto"
+    alias grep='grep --color=auto'
+    alias egrep='egrep --color=auto'
+    alias fgrep='fgrep --color=auto'
+else # OSX version of ls
+    export CLICOLOR=1
+    colorflag="-G"
+fi
+
+alias ls="ls $colorflag $lsflags"
+alias ll='ls -l'
+alias la='ls -A'
+alias l='ls -CF'
+alias l1='ls -1'
+alias l.='ls -d .[a-z]*'
+
+alias less='less -m -N -g -i -J --underline-special --SILENT -X'
+alias more='less'
+
+# Secure settings
+alias rm='rm -i'
+alias cp='cp -i'
+alias mv='mv -i'
+alias ln='ln -i'
+alias md='mkdir -p'
+alias rd='rmdir'
+alias :q=exit
+
+# reboot / halt / poweroff
+alias reboot='sudo /sbin/reboot'
+alias poweroff='sudo /sbin/poweroff'
+alias halt='sudo /sbin/halt'
+alias shutdown='sudo /sbin/shutdown'
+alias apt-get='sudo apt-get'
+alias update='sudo apt-get update && sudo apt-get upgrade'
+
+# My shortcuts
+alias c='clear'
+alias h='history'
+alias 'h?'="history | grep -i"
+alias e='ranger-cd'
+alias o='rifle'
+alias vi='vim'
+alias top='atop'
+alias open='xdg-open &>/dev/null'
+alias info='info --vi-keys'
+alias ag='ag --path-to-ignore=$HOME/.ignore --skip-vcs-ignores'
+alias rg='rg --path-separator="//"'
+alias githome='git --git-dir=$HOME/.githome --work-tree=$HOME'
+alias dit='githome'
+alias sudo='sudo '
+alias vlc='vlc *.avi'
+alias wget='wget -c'
+
+# Reboot my home Linksys WAG160N / WAG54 / WAG320 / WAG120N Router / Gateway from *nix.
+alias rebootlinksys="curl -u 'admin:my-super-password' 'http://192.168.1.100/setup.cgi?todo=reboot'"
+
+if [ ! -x "$(which tree 2>/dev/null)" ]
+then
+  alias tree="find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'"
+fi
+
+# Get week number
+alias week='date +%V'
+
+# Make directory named todays date
+alias mkdate='mkdir "$(date +'%Y%m%d')"'
+
+# Stopwatch
+alias timer='echo "Timer started. Stop with Ctrl-D." && date && time cat && date'
+
+# Automatically change the directory in bash after closing ranger
+function ranger-cd
+{
+    tempfile="$(mktemp -t tmp.XXXXXX)"
+    ranger --choosedir="$tempfile" "${@:-$(pwd)}"
+    test -f "$tempfile" &&
+    if [ "$(cat -- "$tempfile")" != "$(echo -n `pwd`)" ]; then
+        cd -- "$(cat "$tempfile")"
+    fi
+    rm -f -- "$tempfile"
+}
index fa49fb4d5a93de876091bea91c2c0865a814bbef..3db46809301fc97eedda7778a2d4787b11642cb3 100644 (file)
@@ -1,11 +1,11 @@
-# Add tab completion for `githome` by marking it as an alias for `git`\r
-_completion_loader git 2> /dev/null\r
-if type _git &>/dev/null; then\r
-  complete -o "default" -o "nospace" -F _git githome;\r
-  complete -o "default" -o "nospace" -F _git dit;\r
-fi;\r
-\r
-# Add tab completion for SSH hostnames based on ~/.ssh/config, ignoring wildcards\r
-if [ -e ~/.ssh/config ]; then\r
-  complete -o "default" -o "nospace" -W "$(grep "^Host" ~/.ssh/config | grep -v "[?*]" | cut -d " " -f2 | tr ' ' '\n')" scp sftp ssh;\r
-fi;\r
+# Add tab completion for `githome` by marking it as an alias for `git`
+_completion_loader git 2> /dev/null
+if type _git &>/dev/null; then
+  complete -o "default" -o "nospace" -F _git githome;
+  complete -o "default" -o "nospace" -F _git dit;
+fi;
+
+# Add tab completion for SSH hostnames based on ~/.ssh/config, ignoring wildcards
+if [ -e ~/.ssh/config ]; then
+  complete -o "default" -o "nospace" -W "$(grep "^Host" ~/.ssh/config | grep -v "[?*]" | cut -d " " -f2 | tr ' ' '\n')" scp sftp ssh;
+fi;
diff --git a/.bashrc b/.bashrc
index 4f586630e49f2b9d26144dab3a3e8ee8f0ee5022..5f0fe02faf1ec144f5f39686b538f3e4b0eb9c15 100644 (file)
--- a/.bashrc
+++ b/.bashrc
@@ -1,63 +1,63 @@
-# .bashrc is for configuring the interactive Bash usage, like Bash aliases, setting favorite editor, setting Bash prompt, etc.\r
-\r
-# If not running interactively, don't do anything\r
-[[ -z "$PS1" ]] && return\r
-\r
-cd ~\r
-\r
-# options\r
-#set -x  # debug\r
-set -o vi\r
-shopt -s autocd\r
-shopt -s cdspell\r
-shopt -s checkwinsize\r
-shopt -s cmdhist\r
-shopt -s dotglob\r
-shopt -s globstar\r
-shopt -s histappend\r
-shopt -s histreedit\r
-shopt -s histverify\r
-shopt -s no_empty_cmd_completion\r
-shopt -s nocaseglob\r
-\r
-# prompt\r
-PS1='\[\033]0;${USERNAME}@${HOSTNAME}:${PWD}\007\]' # terminal title\r
-\r
-if [[ -z "$MSYS2_PS1" ]]; then\r
-  PS1="$PS1"'${debian_chroot:+($debian_chroot)}'  # debian\r
-fi\r
-\r
-PS1="$PS1"'\[\033[01;32m\]'     # change color\r
-PS1="$PS1"'\u@\h'               # user@host\r
-PS1="$PS1"'\[\033[00m\]'        # change color\r
-PS1="$PS1"':'                   # :\r
-PS1="$PS1"'\[\033[01;34m\]'     # change color\r
-PS1="$PS1"'\w'                  # current working directory\r
-PS1="$PS1"'\[\033[31m\]'        # change color\r
-PS1="$PS1"'$(__git_ps1 "(%s)")' # bash function (no spaces)\r
-PS1="$PS1"'\[\033[00m\]'        # change color\r
-PS1="$PS1"'\$ '                 # prompt\r
-\r
-GIT_PS1_SHOWDIRTYSTATE=1\r
-GIT_PS1_SHOWUNTRACKEDFILES=1\r
-GIT_PS1_SHOWSTASHSTATE=1\r
-GIT_PS1_SHOWUPSTREAM='auto'\r
-GIT_PS1_HIDE_IF_PWD_IGNORED=1\r
-\r
-PROMPT_COMMAND="history -a; $PROMPT_COMMAND"\r
-\r
-# history\r
-HISTCONTROL=ignoreboth:erasedups\r
-HISTTIMEFORMAT="[%F %T] "\r
-HISTFILESIZE=\r
-HISTSIZE=\r
-HISTFILE=~/.bash_history.local\r
-\r
-# completion, aliases, and local settings\r
-[ -f ~/.bash_aliases ] && . ~/.bash_aliases;\r
-[ -f ~/.bash_completion ] && . ~/.bash_completion;\r
-[ -f ~/.bashrc.local ] && . ~/.bashrc.local\r
-\r
-export NVM_DIR="$HOME/.nvm"\r
-[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm\r
-[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion\r
+# .bashrc is for configuring the interactive Bash usage, like Bash aliases, setting favorite editor, setting Bash prompt, etc.
+
+# If not running interactively, don't do anything
+[[ -z "$PS1" ]] && return
+
+cd ~
+
+# options
+#set -x  # debug
+set -o vi
+shopt -s autocd
+shopt -s cdspell
+shopt -s checkwinsize
+shopt -s cmdhist
+shopt -s dotglob
+shopt -s globstar
+shopt -s histappend
+shopt -s histreedit
+shopt -s histverify
+shopt -s no_empty_cmd_completion
+shopt -s nocaseglob
+
+# prompt
+PS1='\[\033]0;${USERNAME}@${HOSTNAME}:${PWD}\007\]' # terminal title
+
+if [[ -z "$MSYS2_PS1" ]]; then
+  PS1="$PS1"'${debian_chroot:+($debian_chroot)}'  # debian
+fi
+
+PS1="$PS1"'\[\033[01;32m\]'     # change color
+PS1="$PS1"'\u@\h'               # user@host
+PS1="$PS1"'\[\033[00m\]'        # change color
+PS1="$PS1"':'                   # :
+PS1="$PS1"'\[\033[01;34m\]'     # change color
+PS1="$PS1"'\w'                  # current working directory
+PS1="$PS1"'\[\033[31m\]'        # change color
+PS1="$PS1"'$(__git_ps1 "(%s)")' # bash function (no spaces)
+PS1="$PS1"'\[\033[00m\]'        # change color
+PS1="$PS1"'\$ '                 # prompt
+
+GIT_PS1_SHOWDIRTYSTATE=1
+GIT_PS1_SHOWUNTRACKEDFILES=1
+GIT_PS1_SHOWSTASHSTATE=1
+GIT_PS1_SHOWUPSTREAM='auto'
+GIT_PS1_HIDE_IF_PWD_IGNORED=1
+
+PROMPT_COMMAND="history -a; $PROMPT_COMMAND"
+
+# history
+HISTCONTROL=ignoreboth:erasedups
+HISTTIMEFORMAT="[%F %T] "
+HISTFILESIZE=
+HISTSIZE=
+HISTFILE=~/.bash_history.local
+
+# completion, aliases, and local settings
+[ -f ~/.bash_aliases ] && . ~/.bash_aliases;
+[ -f ~/.bash_completion ] && . ~/.bash_completion;
+[ -f ~/.bashrc.local ] && . ~/.bashrc.local
+
+export NVM_DIR="$HOME/.nvm"
+[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
+[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
index 0034fed1ccfed954adc18f7025bfb0e9f9feccdb..db895c54259d42aab9bb06cdc4364cf238ad6bb3 100644 (file)
@@ -1,18 +1,18 @@
-# Default\r
-#*           text=auto\r
-\r
-# Text files that should be normalized (CRLF => LF)\r
-#*.c         text\r
-#*.h         text\r
-\r
-# Text files with fixed EOL=LF\r
-#*.sh        text eol=LF\r
-\r
-# Text files with fixed EOL=CRLF$\r
-#*.bat       text eol=CRLF\r
-#*.ahk       text eol=crlf\r
-#*.vcproj    text eol=crlf\r
-\r
-# Binary files\r
-#*.reg       binary\r
-#*.exe       binary\r
+# Default
+#*           text=auto
+
+# Text files that should be normalized (CRLF => LF)
+#*.c         text
+#*.h         text
+
+# Text files with fixed EOL=LF
+#*.sh        text eol=LF
+
+# Text files with fixed EOL=CRLF$
+#*.bat       text eol=CRLF
+#*.ahk       text eol=crlf
+#*.vcproj    text eol=crlf
+
+# Binary files
+#*.reg       binary
+#*.exe       binary
index 0d306afa0a4f5c5f9b08c00f6e26bdb087bd9a6d..5221ad5d523bf485e7444be8f61df9c8a6539a20 100644 (file)
@@ -1,64 +1,64 @@
-# Ignore tags created by etags, ctags, gtags (GNU global) and cscope\r
-TAGS\r
-.TAGS\r
-!TAGS/\r
-tags\r
-.tags\r
-!tags/\r
-gtags.files\r
-GTAGS\r
-GRTAGS\r
-GPATH\r
-cscope.files\r
-cscope.out\r
-cscope.in.out\r
-cscope.po.out\r
-\r
-# Windows image file caches\r
-Thumbs.db\r
-ehthumbs.db\r
-\r
-# Folder config file\r
-Desktop.ini\r
-\r
-# Recycle Bin used on file shares\r
-$RECYCLE.BIN/\r
-\r
-# Windows Installer files\r
-*.cab\r
-*.msi\r
-*.msm\r
-*.msp\r
-\r
-# Windows shortcuts\r
-*.lnk\r
-\r
-\r
-# OSX\r
-*.DS_Store\r
-.AppleDouble\r
-.LSOverride\r
-\r
-# Icon must end with two \r\r
-Icon\r
-\r
-# Thumbnails\r
-._*\r
-\r
-# Files that might appear in the root of a volume\r
-.DocumentRevisions-V100\r
-.fseventsd\r
-.Spotlight-V100\r
-.TemporaryItems\r
-.Trashes\r
-.VolumeIcon.icns\r
-.com.apple.timemachine.donotpresent\r
-\r
-# Directories potentially created on remote AFP share\r
-.AppleDB\r
-.AppleDesktop\r
-Network Trash Folder\r
-Temporary Items\r
-.apdisk\r
-\r
-__pycache__\r
+# Ignore tags created by etags, ctags, gtags (GNU global) and cscope
+TAGS
+.TAGS
+!TAGS/
+tags
+.tags
+!tags/
+gtags.files
+GTAGS
+GRTAGS
+GPATH
+cscope.files
+cscope.out
+cscope.in.out
+cscope.po.out
+
+# Windows image file caches
+Thumbs.db
+ehthumbs.db
+
+# Folder config file
+Desktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Windows Installer files
+*.cab
+*.msi
+*.msm
+*.msp
+
+# Windows shortcuts
+*.lnk
+
+
+# OSX
+*.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon
+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
+
+__pycache__
index 45bd466a96a76e2fdf76215854d31e771d7489b9..897258a6f69fa0ccbc5aad6b79a9fdb49579a8ab 100644 (file)
-# i3 config file (v4)\r
-#\r
-# Please see https://i3wm.org/docs/userguide.html for a complete reference!\r
-#\r
-# Mod=Windows/Command key (left of spacebar)\r
-set $mod Mod4\r
-\r
-# Multimedia keys\r
-bindsym $mod+c        exec dwmkey dwm_key_c\r
-bindsym $mod+plus     exec dwmkey dwm_key_plus\r
-bindsym $mod+minus    exec dwmkey dwm_key_minus\r
-bindsym $mod+Next     exec dwmkey music_next\r
-bindsym $mod+Prior    exec dwmkey music_previous\r
-bindsym $mod+Shift+s  exec dwmkey dwm_key_minus\r
-bindsym $mod+Shift+d  exec dwmkey dwm_key_plus\r
-\r
-# Font for window titles. Will also be used by the bar unless a different font\r
-# is used in the bar {} block below.\r
-# This font is widely installed, provides lots of unicode glyphs, right-to-left\r
-# text rendering and scalability on retina/hidpi displays (thanks to pango).\r
-font pango:DejaVu Sans Mono 10\r
-\r
-# Use Mouse+$mod to drag floating windows to their wanted position\r
-floating_modifier $mod\r
-\r
-# start a terminal\r
-bindsym $mod+Return exec i3-sensible-terminal\r
-\r
-# kill focused window\r
-#\r
-# Use vim delete (vim vixen settings more than vim)\r
-bindsym $mod+d kill\r
-\r
-# start dmenu (a program launcher)\r
-#\r
-# Make it the same as vim command mode\r
-#bindsym $mod+semicolon exec dmenu_run\r
-#bindsym $mod+semicolon exec --no-startup-id i3-dmenu-desktop\r
-bindsym $mod+semicolon exec --no-startup-id rofi -show run\r
-#bindsym $mod+semicolon exec echo -n | dmenu -b | xargs i3\r
-\r
-# use these keys for focus, movement, and resize directions\r
-#\r
-# Make it the same as vim\r
-set $left   h\r
-set $down   j\r
-set $up     k\r
-set $right  l\r
-\r
-# change focus\r
-bindsym $mod+$left  focus left\r
-bindsym $mod+$down  focus down\r
-bindsym $mod+$up    focus up\r
-bindsym $mod+$right focus right\r
-\r
-# move focused window\r
-bindsym $mod+Shift+$left  move left\r
-bindsym $mod+Shift+$down  move down\r
-bindsym $mod+Shift+$up    move up\r
-bindsym $mod+Shift+$right move right\r
-\r
-bindsym Mod1+Ctrl+Shift+h move workspace to output left\r
-bindsym Mod1+Ctrl+Shift+k move workspace to output up\r
-bindsym Mod1+Ctrl+Shift+j move workspace to output down\r
-bindsym Mod1+Ctrl+Shift+l move workspace to output right\r
-\r
-bindsym Mod1+Shift+h move container to output left\r
-bindsym Mod1+Shift+k move container to output up\r
-bindsym Mod1+Shift+j move container to output down\r
-bindsym Mod1+Shift+l move container to output right\r
-\r
-# split in horizontal orientation\r
-bindsym $mod+g      split h\r
-\r
-# split in vertical orientation\r
-bindsym $mod+v      split v\r
-\r
-# enter fullscreen mode for the focused container\r
-bindsym $mod+f fullscreen toggle\r
-\r
-# change container layout (stacked, tabbed, toggle split)\r
-bindsym $mod+s layout stacking\r
-bindsym $mod+w layout tabbed\r
-bindsym $mod+e layout toggle split\r
-\r
-# toggle tiling / floating\r
-bindsym $mod+Shift+space floating toggle\r
-\r
-# change focus between tiling / floating windows\r
-bindsym $mod+space focus mode_toggle\r
-\r
-# focus the parent container\r
-#bindsym $mod+a focus parent\r
-\r
-# focus the child container\r
-#bindsym $mod+d focus child\r
-\r
-# switch to workspace\r
-bindsym $mod+1 workspace 1\r
-bindsym $mod+2 workspace 2\r
-bindsym $mod+3 workspace 3\r
-bindsym $mod+4 workspace 4\r
-bindsym $mod+5 workspace 5\r
-bindsym $mod+6 workspace 6\r
-bindsym $mod+7 workspace 7\r
-bindsym $mod+8 workspace 8\r
-bindsym $mod+9 workspace 9\r
-bindsym $mod+0 workspace 10\r
-\r
-# move focused container to workspace\r
-bindsym $mod+Shift+1 move container to workspace 1\r
-bindsym $mod+Shift+2 move container to workspace 2\r
-bindsym $mod+Shift+3 move container to workspace 3\r
-bindsym $mod+Shift+4 move container to workspace 4\r
-bindsym $mod+Shift+5 move container to workspace 5\r
-bindsym $mod+Shift+6 move container to workspace 6\r
-bindsym $mod+Shift+7 move container to workspace 7\r
-bindsym $mod+Shift+8 move container to workspace 8\r
-bindsym $mod+Shift+9 move container to workspace 9\r
-bindsym $mod+Shift+0 move container to workspace 10\r
-\r
-# reload the configuration file\r
-bindsym $mod+Shift+c reload\r
-# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)\r
-bindsym $mod+Shift+r restart\r
-# exit i3 (logs you out of your X session)\r
-# bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Do you really want to exit i3?' -b 'Yes, exit i3' 'gnome-session-quit --force --logout'"\r
-\r
-# resize window (you can also use the mouse for that)\r
-mode "resize" {\r
-        # These bindings trigger as soon as you enter the resize mode\r
-\r
-        # Pressing left will shrink the window’s width.\r
-        # Pressing right will grow the window’s width.\r
-        # Pressing up will shrink the window’s height.\r
-        # Pressing down will grow the window’s height.\r
-        bindsym $left       resize shrink width 10 px or 10 ppt\r
-        bindsym $down       resize grow height 10 px or 10 ppt\r
-        bindsym $up         resize shrink height 10 px or 10 ppt\r
-        bindsym $right      resize grow width 10 px or 10 ppt\r
-\r
-        # back to normal: Enter or Escape\r
-        bindsym Escape mode "default"\r
-}\r
-bindsym $mod+r mode "resize"\r
-\r
-mode "command" {\r
-#    bindsym s move scratchpad; mode "default"\r
-#    bindsym b bar mode toggle; mode "default"\r
-    bindsym Escape mode "default"\r
-#    bindsym c exec echo -n | dmenu | xargs i3; mode "default"\r
-#\r
-#    bindsym q exec pc location c3h; mode "default"\r
-#    bindsym w exec pc location wig; mode "default"\r
-#    bindsym e exec pc location fez; mode "default"\r
-#    bindsym r exec pc location turban; mode "default"\r
-#\r
-#    bindsym p exec pomodoro query; mode "default"\r
-#    bindsym shift+p exec pomodoro off; mode "default"\r
-#\r
-#    bindsym $mod+s layout stacking; mode "default"\r
-#    bindsym $mod+d layout default; mode "default"\r
-#    bindsym $mod+h layout splith; mode "default"\r
-#    bindsym $mod+v layout splitv; mode "default"\r
-#    bindsym $mod+t layout tabbed; mode "default"\r
-#    #bindsym $mod+v layout toggle split; mode "default"\r
-#\r
-    bindsym d mode "display"\r
-#\r
-    bindsym l mode "lockin"\r
-}\r
-bindsym $mod+x mode "command"\r
-\r
-mode "lockin" {\r
-#    bindsym $mod+F8 mode "default";\r
-#\r
-#    # multimedia keys should still work\r
-#    bindsym $mod+c      exec dwmkey dwm_key_c\r
-#    bindsym $mod+plus   exec dwmkey dwm_key_plus\r
-#    bindsym $mod+minus  exec dwmkey dwm_key_minus\r
-}\r
-\r
-mode "display" {\r
-#    bindsym d exec autodetect_screenlayout; mode "default"\r
-    bindsym h exec autodetect_screenlayout left; mode "default"\r
-    bindsym l exec autodetect_screenlayout right; mode "default"\r
-    bindsym j exec autodetect_screenlayout down; mode "default"\r
-    bindsym k exec autodetect_screenlayout up; mode "default"\r
-    bindsym Shift+h exec autodetect_screenlayout left left; mode "default"\r
-    bindsym Shift+l exec autodetect_screenlayout right left; mode "default"\r
-    bindsym Shift+j exec autodetect_screenlayout down left; mode "default"\r
-    bindsym Shift+k exec autodetect_screenlayout up left; mode "default"\r
-#    bindsym c exec .screenlayout/ccc.sh; mode "default"\r
-#    bindsym s exec .screenlayout/single.sh; exec sh ~/.fehbg; mode "default"\r
-#    bindsym Shift+s exec xrandr --output eDP-1 --off; mode "default"\r
-#    bindsym Shift+h exec .screenlayout/monitor-only.sh; mode "default"\r
-#    bindsym f exec .screenlayout/ftl.sh; mode "default"\r
-#    #bindsym w exec .screenlayout/work.sh; mode "default"\r
-#    bindsym w exec switch_wallpaper; mode "default"\r
-#    bindsym Shift+w exec unset_wallpaper; mode "default"\r
-#    bindsym h exec .screenlayout/home.sh; mode "default"\r
-#    bindsym Shift+r exec .screenlayout/rotated_right.sh; exec sh ~/.fehbg; mode "default"\r
-    bindsym Escape mode "default"\r
-}\r
-\r
-mode "paste" {\r
-#    bindsym a mode "default"; exec xdotool keyup a && xdotool type --delay 2 "$(cat ~/sync/edge/aliases)" && xdotool key Return && i3-msg mode paste\r
-#\r
-#    bindsym q mode "default"\r
-    bindsym Escape mode "default"\r
-}\r
-\r
-# Start i3bar to display a workspace bar (plus the system information i3status\r
-# finds out, if available)\r
-bar {\r
-        status_command i3status\r
-}\r
-\r
-#### Keep as much as possible from GNOME desktop\r
-\r
-# audio controls\r
-bindsym XF86AudioRaiseVolume  exec --no-startup-id pactl set-sink-volume 1 +5%\r
-bindsym XF86AudioLowerVolume  exec --no-startup-id pactl set-sink-volume 1 -5%\r
-bindsym XF86AudioMute         exec --no-startup-id pactl set-sink-mute 1 toggle\r
-\r
-# screen brightness controls\r
-bindsym XF86MonBrightnessUp   exec xbacklight -inc 10\r
-bindsym XF86MonBrightnessDown exec xbacklight -dec 10\r
-\r
-# screenlock\r
-bindsym Control+$mod+l        exec gnome-screensaver-command -l\r
-\r
-# custom settings\r
-exec --no-startup-id gnome-session         # GNOME session\r
-exec --no-startup-id gnome-settings-daemon # GNOME desktop settings\r
-exec --no-startup-id gnome-screensaver     # GNOME screensaver\r
-exec --no-startup-id xautolock -time 10 -locker 'gnome-screensaver-command -l'\r
-\r
-# background image\r
-#exec --no-startup-id feh --bg-center ~/Download/music.jpg\r
-\r
-#######################################################################\r
-# automatically start i3-config-wizard to offer the user to create a\r
-# keysym-based config which used their favorite modifier (alt or windows)\r
-#\r
-# i3-config-wizard will not launch if there already is a config file\r
-# in ~/.i3/config.\r
-#\r
-# Please remove the following exec line:\r
-#######################################################################\r
-#exec i3-config-wizard\r
+# i3 config file (v4)
+#
+# Please see https://i3wm.org/docs/userguide.html for a complete reference!
+#
+# Mod=Windows/Command key (left of spacebar)
+set $mod Mod4
+
+# Multimedia keys
+bindsym $mod+c        exec dwmkey dwm_key_c
+bindsym $mod+plus     exec dwmkey dwm_key_plus
+bindsym $mod+minus    exec dwmkey dwm_key_minus
+bindsym $mod+Next     exec dwmkey music_next
+bindsym $mod+Prior    exec dwmkey music_previous
+bindsym $mod+Shift+s  exec dwmkey dwm_key_minus
+bindsym $mod+Shift+d  exec dwmkey dwm_key_plus
+
+# Font for window titles. Will also be used by the bar unless a different font
+# is used in the bar {} block below.
+# This font is widely installed, provides lots of unicode glyphs, right-to-left
+# text rendering and scalability on retina/hidpi displays (thanks to pango).
+font pango:DejaVu Sans Mono 10
+
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
+# start a terminal
+bindsym $mod+Return exec i3-sensible-terminal
+
+# kill focused window
+#
+# Use vim delete (vim vixen settings more than vim)
+bindsym $mod+d kill
+
+# start dmenu (a program launcher)
+#
+# Make it the same as vim command mode
+#bindsym $mod+semicolon exec dmenu_run
+#bindsym $mod+semicolon exec --no-startup-id i3-dmenu-desktop
+bindsym $mod+semicolon exec --no-startup-id rofi -show run
+#bindsym $mod+semicolon exec echo -n | dmenu -b | xargs i3
+
+# use these keys for focus, movement, and resize directions
+#
+# Make it the same as vim
+set $left   h
+set $down   j
+set $up     k
+set $right  l
+
+# change focus
+bindsym $mod+$left  focus left
+bindsym $mod+$down  focus down
+bindsym $mod+$up    focus up
+bindsym $mod+$right focus right
+
+# move focused window
+bindsym $mod+Shift+$left  move left
+bindsym $mod+Shift+$down  move down
+bindsym $mod+Shift+$up    move up
+bindsym $mod+Shift+$right move right
+
+bindsym Mod1+Ctrl+Shift+h move workspace to output left
+bindsym Mod1+Ctrl+Shift+k move workspace to output up
+bindsym Mod1+Ctrl+Shift+j move workspace to output down
+bindsym Mod1+Ctrl+Shift+l move workspace to output right
+
+bindsym Mod1+Shift+h move container to output left
+bindsym Mod1+Shift+k move container to output up
+bindsym Mod1+Shift+j move container to output down
+bindsym Mod1+Shift+l move container to output right
+
+# split in horizontal orientation
+bindsym $mod+g      split h
+
+# split in vertical orientation
+bindsym $mod+v      split v
+
+# enter fullscreen mode for the focused container
+bindsym $mod+f fullscreen toggle
+
+# change container layout (stacked, tabbed, toggle split)
+bindsym $mod+s layout stacking
+bindsym $mod+w layout tabbed
+bindsym $mod+e layout toggle split
+
+# toggle tiling / floating
+bindsym $mod+Shift+space floating toggle
+
+# change focus between tiling / floating windows
+bindsym $mod+space focus mode_toggle
+
+# focus the parent container
+#bindsym $mod+a focus parent
+
+# focus the child container
+#bindsym $mod+d focus child
+
+# switch to workspace
+bindsym $mod+1 workspace 1
+bindsym $mod+2 workspace 2
+bindsym $mod+3 workspace 3
+bindsym $mod+4 workspace 4
+bindsym $mod+5 workspace 5
+bindsym $mod+6 workspace 6
+bindsym $mod+7 workspace 7
+bindsym $mod+8 workspace 8
+bindsym $mod+9 workspace 9
+bindsym $mod+0 workspace 10
+
+# move focused container to workspace
+bindsym $mod+Shift+1 move container to workspace 1
+bindsym $mod+Shift+2 move container to workspace 2
+bindsym $mod+Shift+3 move container to workspace 3
+bindsym $mod+Shift+4 move container to workspace 4
+bindsym $mod+Shift+5 move container to workspace 5
+bindsym $mod+Shift+6 move container to workspace 6
+bindsym $mod+Shift+7 move container to workspace 7
+bindsym $mod+Shift+8 move container to workspace 8
+bindsym $mod+Shift+9 move container to workspace 9
+bindsym $mod+Shift+0 move container to workspace 10
+
+# reload the configuration file
+bindsym $mod+Shift+c reload
+# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
+bindsym $mod+Shift+r restart
+# exit i3 (logs you out of your X session)
+# bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Do you really want to exit i3?' -b 'Yes, exit i3' 'gnome-session-quit --force --logout'"
+
+# resize window (you can also use the mouse for that)
+mode "resize" {
+        # These bindings trigger as soon as you enter the resize mode
+
+        # Pressing left will shrink the window’s width.
+        # 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
+
+        # back to normal: Enter or Escape
+        bindsym Escape mode "default"
+}
+bindsym $mod+r mode "resize"
+
+mode "command" {
+#    bindsym s move scratchpad; mode "default"
+#    bindsym b bar mode toggle; mode "default"
+    bindsym Escape mode "default"
+#    bindsym c exec echo -n | dmenu | xargs i3; mode "default"
+#
+#    bindsym q exec pc location c3h; mode "default"
+#    bindsym w exec pc location wig; mode "default"
+#    bindsym e exec pc location fez; mode "default"
+#    bindsym r exec pc location turban; mode "default"
+#
+#    bindsym p exec pomodoro query; mode "default"
+#    bindsym shift+p exec pomodoro off; mode "default"
+#
+#    bindsym $mod+s layout stacking; mode "default"
+#    bindsym $mod+d layout default; mode "default"
+#    bindsym $mod+h layout splith; mode "default"
+#    bindsym $mod+v layout splitv; mode "default"
+#    bindsym $mod+t layout tabbed; mode "default"
+#    #bindsym $mod+v layout toggle split; mode "default"
+#
+    bindsym d mode "display"
+#
+    bindsym l mode "lockin"
+}
+bindsym $mod+x mode "command"
+
+mode "lockin" {
+#    bindsym $mod+F8 mode "default";
+#
+#    # multimedia keys should still work
+#    bindsym $mod+c      exec dwmkey dwm_key_c
+#    bindsym $mod+plus   exec dwmkey dwm_key_plus
+#    bindsym $mod+minus  exec dwmkey dwm_key_minus
+}
+
+mode "display" {
+#    bindsym d exec autodetect_screenlayout; mode "default"
+    bindsym h exec autodetect_screenlayout left; mode "default"
+    bindsym l exec autodetect_screenlayout right; mode "default"
+    bindsym j exec autodetect_screenlayout down; mode "default"
+    bindsym k exec autodetect_screenlayout up; mode "default"
+    bindsym Shift+h exec autodetect_screenlayout left left; mode "default"
+    bindsym Shift+l exec autodetect_screenlayout right left; mode "default"
+    bindsym Shift+j exec autodetect_screenlayout down left; mode "default"
+    bindsym Shift+k exec autodetect_screenlayout up left; mode "default"
+#    bindsym c exec .screenlayout/ccc.sh; mode "default"
+#    bindsym s exec .screenlayout/single.sh; exec sh ~/.fehbg; mode "default"
+#    bindsym Shift+s exec xrandr --output eDP-1 --off; mode "default"
+#    bindsym Shift+h exec .screenlayout/monitor-only.sh; mode "default"
+#    bindsym f exec .screenlayout/ftl.sh; mode "default"
+#    #bindsym w exec .screenlayout/work.sh; mode "default"
+#    bindsym w exec switch_wallpaper; mode "default"
+#    bindsym Shift+w exec unset_wallpaper; mode "default"
+#    bindsym h exec .screenlayout/home.sh; mode "default"
+#    bindsym Shift+r exec .screenlayout/rotated_right.sh; exec sh ~/.fehbg; mode "default"
+    bindsym Escape mode "default"
+}
+
+mode "paste" {
+#    bindsym a mode "default"; exec xdotool keyup a && xdotool type --delay 2 "$(cat ~/sync/edge/aliases)" && xdotool key Return && i3-msg mode paste
+#
+#    bindsym q mode "default"
+    bindsym Escape mode "default"
+}
+
+# Start i3bar to display a workspace bar (plus the system information i3status
+# finds out, if available)
+bar {
+        status_command i3status
+}
+
+#### Keep as much as possible from GNOME desktop
+
+# audio controls
+bindsym XF86AudioRaiseVolume  exec --no-startup-id pactl set-sink-volume 1 +5%
+bindsym XF86AudioLowerVolume  exec --no-startup-id pactl set-sink-volume 1 -5%
+bindsym XF86AudioMute         exec --no-startup-id pactl set-sink-mute 1 toggle
+
+# screen brightness controls
+bindsym XF86MonBrightnessUp   exec xbacklight -inc 10
+bindsym XF86MonBrightnessDown exec xbacklight -dec 10
+
+# screenlock
+bindsym Control+$mod+l        exec gnome-screensaver-command -l
+
+# custom settings
+exec --no-startup-id gnome-session         # GNOME session
+exec --no-startup-id gnome-settings-daemon # GNOME desktop settings
+exec --no-startup-id gnome-screensaver     # GNOME screensaver
+exec --no-startup-id xautolock -time 10 -locker 'gnome-screensaver-command -l'
+
+# background image
+#exec --no-startup-id feh --bg-center ~/Download/music.jpg
+
+#######################################################################
+# automatically start i3-config-wizard to offer the user to create a
+# keysym-based config which used their favorite modifier (alt or windows)
+#
+# i3-config-wizard will not launch if there already is a config file
+# in ~/.i3/config.
+#
+# Please remove the following exec line:
+#######################################################################
+#exec i3-config-wizard
index db3227f9f9956535e49161ffc26a2306df0e2789..b0f58bf04e155d44d07b22d7bb8154245bf8844b 100644 (file)
-[Default Applications]\r
-text/plain=vim.desktop\r
-text/html=firefox.desktop\r
-x-scheme-handler/http=firefox.desktop\r
-x-scheme-handler/https=firefox.desktop\r
-x-scheme-handler/about=brave.desktop\r
-x-scheme-handler/unknown=brave.desktop\r
-video/x-ogm+ogg=vlc.desktop\r
-video/ogg=vlc.desktop\r
-video/x-ogm=vlc.desktop\r
-video/x-theora+ogg=vlc.desktop\r
-video/x-theora=vlc.desktop\r
-video/x-ms-asf=vlc.desktop\r
-video/x-ms-asf-plugin=vlc.desktop\r
-video/x-ms-asx=vlc.desktop\r
-video/x-ms-wm=vlc.desktop\r
-video/x-ms-wmv=vlc.desktop\r
-video/x-ms-wmx=vlc.desktop\r
-video/x-ms-wvx=vlc.desktop\r
-video/x-msvideo=vlc.desktop\r
-video/divx=vlc.desktop\r
-video/msvideo=vlc.desktop\r
-video/vnd.divx=vlc.desktop\r
-video/avi=vlc.desktop\r
-video/x-avi=vlc.desktop\r
-video/vnd.rn-realvideo=vlc.desktop\r
-video/mp2t=vlc.desktop\r
-video/mpeg=vlc.desktop\r
-video/mpeg-system=vlc.desktop\r
-video/x-mpeg=vlc.desktop\r
-video/x-mpeg2=vlc.desktop\r
-video/x-mpeg-system=vlc.desktop\r
-video/mp4=vlc.desktop\r
-video/mp4v-es=vlc.desktop\r
-video/x-m4v=vlc.desktop\r
-video/quicktime=vlc.desktop\r
-video/x-matroska=vlc.desktop\r
-video/webm=vlc.desktop\r
-video/3gp=vlc.desktop\r
-video/3gpp=vlc.desktop\r
-video/3gpp2=vlc.desktop\r
-video/vnd.mpegurl=vlc.desktop\r
-video/dv=vlc.desktop\r
-video/x-anim=vlc.desktop\r
-video/x-nsv=vlc.desktop\r
-video/fli=vlc.desktop\r
-video/flv=vlc.desktop\r
-video/x-flc=vlc.desktop\r
-video/x-fli=vlc.desktop\r
-video/x-flv=vlc.desktop\r
-audio/x-vorbis+ogg=vlc.desktop\r
-audio/ogg=vlc.desktop\r
-audio/vorbis=vlc.desktop\r
-audio/x-vorbis=vlc.desktop\r
-audio/x-speex=vlc.desktop\r
-audio/opus=vlc.desktop\r
-audio/flac=vlc.desktop\r
-audio/x-flac=vlc.desktop\r
-audio/x-ms-asf=vlc.desktop\r
-audio/x-ms-asx=vlc.desktop\r
-audio/x-ms-wax=vlc.desktop\r
-audio/x-ms-wma=vlc.desktop\r
-audio/x-pn-windows-acm=vlc.desktop\r
-audio/vnd.rn-realaudio=vlc.desktop\r
-audio/x-pn-realaudio=vlc.desktop\r
-audio/x-pn-realaudio-plugin=vlc.desktop\r
-audio/x-real-audio=vlc.desktop\r
-audio/x-realaudio=vlc.desktop\r
-audio/mpeg=vlc.desktop\r
-audio/mpg=vlc.desktop\r
-audio/mp1=vlc.desktop\r
-audio/mp2=vlc.desktop\r
-audio/mp3=vlc.desktop\r
-audio/x-mp1=vlc.desktop\r
-audio/x-mp2=vlc.desktop\r
-audio/x-mp3=vlc.desktop\r
-audio/x-mpeg=vlc.desktop\r
-audio/x-mpg=vlc.desktop\r
-audio/aac=vlc.desktop\r
-audio/m4a=vlc.desktop\r
-audio/mp4=vlc.desktop\r
-audio/x-m4a=vlc.desktop\r
-audio/x-aac=vlc.desktop\r
-audio/x-matroska=vlc.desktop\r
-audio/webm=vlc.desktop\r
-audio/3gpp=vlc.desktop\r
-audio/3gpp2=vlc.desktop\r
-audio/AMR=vlc.desktop\r
-audio/AMR-WB=vlc.desktop\r
-audio/mpegurl=vlc.desktop\r
-audio/x-mpegurl=vlc.desktop\r
-audio/scpls=vlc.desktop\r
-audio/x-scpls=vlc.desktop\r
-audio/dv=vlc.desktop\r
-audio/x-aiff=vlc.desktop\r
-audio/x-pn-aiff=vlc.desktop\r
-audio/wav=vlc.desktop\r
-audio/x-pn-au=vlc.desktop\r
-audio/x-pn-wav=vlc.desktop\r
-audio/x-wav=vlc.desktop\r
-audio/x-adpcm=vlc.desktop\r
-audio/ac3=vlc.desktop\r
-audio/eac3=vlc.desktop\r
-audio/vnd.dts=vlc.desktop\r
-audio/vnd.dts.hd=vlc.desktop\r
-audio/vnd.dolby.heaac.1=vlc.desktop\r
-audio/vnd.dolby.heaac.2=vlc.desktop\r
-audio/vnd.dolby.mlp=vlc.desktop\r
-audio/basic=vlc.desktop\r
-audio/midi=vlc.desktop\r
-audio/x-ape=vlc.desktop\r
-audio/x-gsm=vlc.desktop\r
-audio/x-musepack=vlc.desktop\r
-audio/x-tta=vlc.desktop\r
-audio/x-wavpack=vlc.desktop\r
-audio/x-shorten=vlc.desktop\r
-audio/x-it=vlc.desktop\r
-audio/x-mod=vlc.desktop\r
-audio/x-s3m=vlc.desktop\r
-audio/x-xm=vlc.desktop\r
-x-scheme-handler/ftp=firefox.desktop\r
-x-scheme-handler/chrome=firefox.desktop\r
-application/x-extension-htm=firefox.desktop\r
-application/x-extension-html=firefox.desktop\r
-application/x-extension-shtml=firefox.desktop\r
-application/xhtml+xml=firefox.desktop\r
-application/x-extension-xhtml=firefox.desktop\r
-application/x-extension-xht=firefox.desktop\r
-\r
-[Added Associations]\r
-video/ogg=vlc.desktop;\r
-video/x-ogm=vlc.desktop;\r
-video/x-theora+ogg=vlc.desktop;\r
-video/x-theora=vlc.desktop;\r
-video/x-ms-asf=vlc.desktop;\r
-video/x-ms-asf-plugin=vlc.desktop;\r
-video/x-ms-asx=vlc.desktop;\r
-video/x-ms-wm=vlc.desktop;\r
-video/x-ms-wmv=vlc.desktop;\r
-video/x-ms-wmx=vlc.desktop;\r
-video/x-ms-wvx=vlc.desktop;\r
-video/x-msvideo=vlc.desktop;\r
-video/divx=vlc.desktop;\r
-video/msvideo=vlc.desktop;\r
-video/vnd.divx=vlc.desktop;\r
-video/avi=vlc.desktop;\r
-video/x-avi=vlc.desktop;\r
-video/vnd.rn-realvideo=vlc.desktop;\r
-video/mp2t=vlc.desktop;\r
-video/mpeg=vlc.desktop;\r
-video/mpeg-system=vlc.desktop;\r
-video/x-mpeg=vlc.desktop;\r
-video/x-mpeg2=vlc.desktop;\r
-video/x-mpeg-system=vlc.desktop;\r
-video/mp4=vlc.desktop;\r
-video/mp4v-es=vlc.desktop;\r
-video/x-m4v=vlc.desktop;\r
-video/quicktime=vlc.desktop;\r
-video/x-matroska=vlc.desktop;\r
-video/webm=vlc.desktop;\r
-video/3gp=vlc.desktop;\r
-video/3gpp=vlc.desktop;\r
-video/3gpp2=vlc.desktop;\r
-video/vnd.mpegurl=vlc.desktop;\r
-video/dv=vlc.desktop;\r
-video/x-anim=vlc.desktop;\r
-video/x-nsv=vlc.desktop;\r
-video/fli=vlc.desktop;\r
-video/flv=vlc.desktop;\r
-video/x-flc=vlc.desktop;\r
-video/x-fli=vlc.desktop;\r
-video/x-flv=vlc.desktop;\r
-audio/ogg=vlc.desktop;\r
-audio/vorbis=vlc.desktop;\r
-audio/x-vorbis=vlc.desktop;\r
-audio/x-speex=vlc.desktop;\r
-audio/opus=vlc.desktop;\r
-audio/flac=vlc.desktop;\r
-audio/x-flac=vlc.desktop;\r
-audio/x-ms-asf=vlc.desktop;\r
-audio/x-ms-asx=vlc.desktop;\r
-audio/x-ms-wax=vlc.desktop;\r
-audio/x-ms-wma=vlc.desktop;\r
-audio/x-pn-windows-acm=vlc.desktop;\r
-audio/vnd.rn-realaudio=vlc.desktop;\r
-audio/x-pn-realaudio=vlc.desktop;\r
-audio/x-pn-realaudio-plugin=vlc.desktop;\r
-audio/x-real-audio=vlc.desktop;\r
-audio/x-realaudio=vlc.desktop;\r
-audio/mpeg=vlc.desktop;\r
-audio/mpg=vlc.desktop;\r
-audio/mp1=vlc.desktop;\r
-audio/mp2=vlc.desktop;\r
-audio/mp3=vlc.desktop;\r
-audio/x-mp1=vlc.desktop;\r
-audio/x-mp2=vlc.desktop;\r
-audio/x-mp3=vlc.desktop;\r
-audio/x-mpeg=vlc.desktop;\r
-audio/x-mpg=vlc.desktop;\r
-audio/aac=vlc.desktop;\r
-audio/m4a=vlc.desktop;\r
-audio/mp4=vlc.desktop;\r
-audio/x-m4a=vlc.desktop;\r
-audio/x-aac=vlc.desktop;\r
-audio/x-matroska=vlc.desktop;\r
-audio/webm=vlc.desktop;\r
-audio/3gpp=vlc.desktop;\r
-audio/3gpp2=vlc.desktop;\r
-audio/AMR=vlc.desktop;\r
-audio/AMR-WB=vlc.desktop;\r
-audio/mpegurl=vlc.desktop;\r
-audio/x-mpegurl=vlc.desktop;\r
-audio/scpls=vlc.desktop;\r
-audio/x-scpls=vlc.desktop;\r
-audio/dv=vlc.desktop;\r
-audio/x-aiff=vlc.desktop;\r
-audio/x-pn-aiff=vlc.desktop;\r
-audio/wav=vlc.desktop;\r
-audio/x-pn-au=vlc.desktop;\r
-audio/x-pn-wav=vlc.desktop;\r
-audio/x-wav=vlc.desktop;\r
-audio/x-adpcm=vlc.desktop;\r
-audio/ac3=vlc.desktop;\r
-audio/eac3=vlc.desktop;\r
-audio/vnd.dts=vlc.desktop;\r
-audio/vnd.dts.hd=vlc.desktop;\r
-audio/vnd.dolby.heaac.1=vlc.desktop;\r
-audio/vnd.dolby.heaac.2=vlc.desktop;\r
-audio/vnd.dolby.mlp=vlc.desktop;\r
-audio/basic=vlc.desktop;\r
-audio/midi=vlc.desktop;\r
-audio/x-ape=vlc.desktop;\r
-audio/x-gsm=vlc.desktop;\r
-audio/x-musepack=vlc.desktop;\r
-audio/x-tta=vlc.desktop;\r
-audio/x-wavpack=vlc.desktop;\r
-audio/x-shorten=vlc.desktop;\r
-audio/x-it=vlc.desktop;\r
-audio/x-mod=vlc.desktop;\r
-audio/x-s3m=vlc.desktop;\r
-audio/x-xm=vlc.desktop;\r
-application/x-mimearchive=gvim.desktop;\r
-x-scheme-handler/http=firefox.desktop;\r
-x-scheme-handler/https=firefox.desktop;\r
-text/html=firefox.desktop;\r
-x-scheme-handler/sms=org.gnome.Shell.Extensions.GSConnect.desktop;\r
-inode/directory=meld.desktop;\r
-application/javascript=gvim.desktop;\r
+[Default Applications]
+text/plain=vim.desktop
+text/html=firefox.desktop
+x-scheme-handler/http=firefox.desktop
+x-scheme-handler/https=firefox.desktop
+x-scheme-handler/about=brave.desktop
+x-scheme-handler/unknown=brave.desktop
+video/x-ogm+ogg=vlc.desktop
+video/ogg=vlc.desktop
+video/x-ogm=vlc.desktop
+video/x-theora+ogg=vlc.desktop
+video/x-theora=vlc.desktop
+video/x-ms-asf=vlc.desktop
+video/x-ms-asf-plugin=vlc.desktop
+video/x-ms-asx=vlc.desktop
+video/x-ms-wm=vlc.desktop
+video/x-ms-wmv=vlc.desktop
+video/x-ms-wmx=vlc.desktop
+video/x-ms-wvx=vlc.desktop
+video/x-msvideo=vlc.desktop
+video/divx=vlc.desktop
+video/msvideo=vlc.desktop
+video/vnd.divx=vlc.desktop
+video/avi=vlc.desktop
+video/x-avi=vlc.desktop
+video/vnd.rn-realvideo=vlc.desktop
+video/mp2t=vlc.desktop
+video/mpeg=vlc.desktop
+video/mpeg-system=vlc.desktop
+video/x-mpeg=vlc.desktop
+video/x-mpeg2=vlc.desktop
+video/x-mpeg-system=vlc.desktop
+video/mp4=vlc.desktop
+video/mp4v-es=vlc.desktop
+video/x-m4v=vlc.desktop
+video/quicktime=vlc.desktop
+video/x-matroska=vlc.desktop
+video/webm=vlc.desktop
+video/3gp=vlc.desktop
+video/3gpp=vlc.desktop
+video/3gpp2=vlc.desktop
+video/vnd.mpegurl=vlc.desktop
+video/dv=vlc.desktop
+video/x-anim=vlc.desktop
+video/x-nsv=vlc.desktop
+video/fli=vlc.desktop
+video/flv=vlc.desktop
+video/x-flc=vlc.desktop
+video/x-fli=vlc.desktop
+video/x-flv=vlc.desktop
+audio/x-vorbis+ogg=vlc.desktop
+audio/ogg=vlc.desktop
+audio/vorbis=vlc.desktop
+audio/x-vorbis=vlc.desktop
+audio/x-speex=vlc.desktop
+audio/opus=vlc.desktop
+audio/flac=vlc.desktop
+audio/x-flac=vlc.desktop
+audio/x-ms-asf=vlc.desktop
+audio/x-ms-asx=vlc.desktop
+audio/x-ms-wax=vlc.desktop
+audio/x-ms-wma=vlc.desktop
+audio/x-pn-windows-acm=vlc.desktop
+audio/vnd.rn-realaudio=vlc.desktop
+audio/x-pn-realaudio=vlc.desktop
+audio/x-pn-realaudio-plugin=vlc.desktop
+audio/x-real-audio=vlc.desktop
+audio/x-realaudio=vlc.desktop
+audio/mpeg=vlc.desktop
+audio/mpg=vlc.desktop
+audio/mp1=vlc.desktop
+audio/mp2=vlc.desktop
+audio/mp3=vlc.desktop
+audio/x-mp1=vlc.desktop
+audio/x-mp2=vlc.desktop
+audio/x-mp3=vlc.desktop
+audio/x-mpeg=vlc.desktop
+audio/x-mpg=vlc.desktop
+audio/aac=vlc.desktop
+audio/m4a=vlc.desktop
+audio/mp4=vlc.desktop
+audio/x-m4a=vlc.desktop
+audio/x-aac=vlc.desktop
+audio/x-matroska=vlc.desktop
+audio/webm=vlc.desktop
+audio/3gpp=vlc.desktop
+audio/3gpp2=vlc.desktop
+audio/AMR=vlc.desktop
+audio/AMR-WB=vlc.desktop
+audio/mpegurl=vlc.desktop
+audio/x-mpegurl=vlc.desktop
+audio/scpls=vlc.desktop
+audio/x-scpls=vlc.desktop
+audio/dv=vlc.desktop
+audio/x-aiff=vlc.desktop
+audio/x-pn-aiff=vlc.desktop
+audio/wav=vlc.desktop
+audio/x-pn-au=vlc.desktop
+audio/x-pn-wav=vlc.desktop
+audio/x-wav=vlc.desktop
+audio/x-adpcm=vlc.desktop
+audio/ac3=vlc.desktop
+audio/eac3=vlc.desktop
+audio/vnd.dts=vlc.desktop
+audio/vnd.dts.hd=vlc.desktop
+audio/vnd.dolby.heaac.1=vlc.desktop
+audio/vnd.dolby.heaac.2=vlc.desktop
+audio/vnd.dolby.mlp=vlc.desktop
+audio/basic=vlc.desktop
+audio/midi=vlc.desktop
+audio/x-ape=vlc.desktop
+audio/x-gsm=vlc.desktop
+audio/x-musepack=vlc.desktop
+audio/x-tta=vlc.desktop
+audio/x-wavpack=vlc.desktop
+audio/x-shorten=vlc.desktop
+audio/x-it=vlc.desktop
+audio/x-mod=vlc.desktop
+audio/x-s3m=vlc.desktop
+audio/x-xm=vlc.desktop
+x-scheme-handler/ftp=firefox.desktop
+x-scheme-handler/chrome=firefox.desktop
+application/x-extension-htm=firefox.desktop
+application/x-extension-html=firefox.desktop
+application/x-extension-shtml=firefox.desktop
+application/xhtml+xml=firefox.desktop
+application/x-extension-xhtml=firefox.desktop
+application/x-extension-xht=firefox.desktop
+
+[Added Associations]
+video/ogg=vlc.desktop;
+video/x-ogm=vlc.desktop;
+video/x-theora+ogg=vlc.desktop;
+video/x-theora=vlc.desktop;
+video/x-ms-asf=vlc.desktop;
+video/x-ms-asf-plugin=vlc.desktop;
+video/x-ms-asx=vlc.desktop;
+video/x-ms-wm=vlc.desktop;
+video/x-ms-wmv=vlc.desktop;
+video/x-ms-wmx=vlc.desktop;
+video/x-ms-wvx=vlc.desktop;
+video/x-msvideo=vlc.desktop;
+video/divx=vlc.desktop;
+video/msvideo=vlc.desktop;
+video/vnd.divx=vlc.desktop;
+video/avi=vlc.desktop;
+video/x-avi=vlc.desktop;
+video/vnd.rn-realvideo=vlc.desktop;
+video/mp2t=vlc.desktop;
+video/mpeg=vlc.desktop;
+video/mpeg-system=vlc.desktop;
+video/x-mpeg=vlc.desktop;
+video/x-mpeg2=vlc.desktop;
+video/x-mpeg-system=vlc.desktop;
+video/mp4=vlc.desktop;
+video/mp4v-es=vlc.desktop;
+video/x-m4v=vlc.desktop;
+video/quicktime=vlc.desktop;
+video/x-matroska=vlc.desktop;
+video/webm=vlc.desktop;
+video/3gp=vlc.desktop;
+video/3gpp=vlc.desktop;
+video/3gpp2=vlc.desktop;
+video/vnd.mpegurl=vlc.desktop;
+video/dv=vlc.desktop;
+video/x-anim=vlc.desktop;
+video/x-nsv=vlc.desktop;
+video/fli=vlc.desktop;
+video/flv=vlc.desktop;
+video/x-flc=vlc.desktop;
+video/x-fli=vlc.desktop;
+video/x-flv=vlc.desktop;
+audio/ogg=vlc.desktop;
+audio/vorbis=vlc.desktop;
+audio/x-vorbis=vlc.desktop;
+audio/x-speex=vlc.desktop;
+audio/opus=vlc.desktop;
+audio/flac=vlc.desktop;
+audio/x-flac=vlc.desktop;
+audio/x-ms-asf=vlc.desktop;
+audio/x-ms-asx=vlc.desktop;
+audio/x-ms-wax=vlc.desktop;
+audio/x-ms-wma=vlc.desktop;
+audio/x-pn-windows-acm=vlc.desktop;
+audio/vnd.rn-realaudio=vlc.desktop;
+audio/x-pn-realaudio=vlc.desktop;
+audio/x-pn-realaudio-plugin=vlc.desktop;
+audio/x-real-audio=vlc.desktop;
+audio/x-realaudio=vlc.desktop;
+audio/mpeg=vlc.desktop;
+audio/mpg=vlc.desktop;
+audio/mp1=vlc.desktop;
+audio/mp2=vlc.desktop;
+audio/mp3=vlc.desktop;
+audio/x-mp1=vlc.desktop;
+audio/x-mp2=vlc.desktop;
+audio/x-mp3=vlc.desktop;
+audio/x-mpeg=vlc.desktop;
+audio/x-mpg=vlc.desktop;
+audio/aac=vlc.desktop;
+audio/m4a=vlc.desktop;
+audio/mp4=vlc.desktop;
+audio/x-m4a=vlc.desktop;
+audio/x-aac=vlc.desktop;
+audio/x-matroska=vlc.desktop;
+audio/webm=vlc.desktop;
+audio/3gpp=vlc.desktop;
+audio/3gpp2=vlc.desktop;
+audio/AMR=vlc.desktop;
+audio/AMR-WB=vlc.desktop;
+audio/mpegurl=vlc.desktop;
+audio/x-mpegurl=vlc.desktop;
+audio/scpls=vlc.desktop;
+audio/x-scpls=vlc.desktop;
+audio/dv=vlc.desktop;
+audio/x-aiff=vlc.desktop;
+audio/x-pn-aiff=vlc.desktop;
+audio/wav=vlc.desktop;
+audio/x-pn-au=vlc.desktop;
+audio/x-pn-wav=vlc.desktop;
+audio/x-wav=vlc.desktop;
+audio/x-adpcm=vlc.desktop;
+audio/ac3=vlc.desktop;
+audio/eac3=vlc.desktop;
+audio/vnd.dts=vlc.desktop;
+audio/vnd.dts.hd=vlc.desktop;
+audio/vnd.dolby.heaac.1=vlc.desktop;
+audio/vnd.dolby.heaac.2=vlc.desktop;
+audio/vnd.dolby.mlp=vlc.desktop;
+audio/basic=vlc.desktop;
+audio/midi=vlc.desktop;
+audio/x-ape=vlc.desktop;
+audio/x-gsm=vlc.desktop;
+audio/x-musepack=vlc.desktop;
+audio/x-tta=vlc.desktop;
+audio/x-wavpack=vlc.desktop;
+audio/x-shorten=vlc.desktop;
+audio/x-it=vlc.desktop;
+audio/x-mod=vlc.desktop;
+audio/x-s3m=vlc.desktop;
+audio/x-xm=vlc.desktop;
+application/x-mimearchive=gvim.desktop;
+x-scheme-handler/http=firefox.desktop;
+x-scheme-handler/https=firefox.desktop;
+text/html=firefox.desktop;
+x-scheme-handler/sms=org.gnome.Shell.Extensions.GSConnect.desktop;
+inode/directory=meld.desktop;
+application/javascript=gvim.desktop;
index 918b6c15b6a4d3a5e21d08540148228b9bb83905..4ba8b5f1cb4912b94c203c0cdf81e81eadd3a834 100644 (file)
@@ -1,23 +1,23 @@
-# ===================================================================\r
-# == Options\r
-# ===================================================================\r
-\r
-# Show hidden files? You can toggle this by typing 'zh'\r
-set show_hidden true\r
-\r
-# Which script is used to generate file previews?\r
-# ranger ships with scope.sh, a script that calls external programs (see\r
-# README.md for dependencies) to preview images, archives, etc.\r
-set preview_script ~/.config/ranger/scope.sh\r
-\r
-# Use the external preview script or display simple plain text or image previews?\r
-set use_preview_script true\r
-\r
-# State of the three backends git, hg, bzr. The possible states are\r
-# disabled, local (only show local info), enabled (show local and remote\r
-# information).\r
-set vcs_backend_git enabled\r
-\r
-# Use one of the supported image preview protocols\r
-set preview_images true\r
-\r
+# ===================================================================
+# == Options
+# ===================================================================
+
+# Show hidden files? You can toggle this by typing 'zh'
+set show_hidden true
+
+# Which script is used to generate file previews?
+# ranger ships with scope.sh, a script that calls external programs (see
+# README.md for dependencies) to preview images, archives, etc.
+set preview_script ~/.config/ranger/scope.sh
+
+# Use the external preview script or display simple plain text or image previews?
+set use_preview_script true
+
+# State of the three backends git, hg, bzr. The possible states are
+# disabled, local (only show local info), enabled (show local and remote
+# information).
+set vcs_backend_git enabled
+
+# Use one of the supported image preview protocols
+set preview_images true
+
index 7ee33673af11d18e471e1b9dcdfeef4d57cbeedb..2ca3aab55312a9dea651d2aca80e6b5589ed3594 100755 (executable)
-#!/usr/bin/env sh\r
-# ranger supports enhanced previews.  If the option "use_preview_script"\r
-# is set to True and this file exists, this script will be called and its\r
-# output is displayed in ranger.  ANSI color codes are supported.\r
-\r
-# NOTES: This script is considered a configuration file.  If you upgrade\r
-# ranger, it will be left untouched. (You must update it yourself.)\r
-# Also, ranger disables STDIN here, so interactive scripts won't work properly\r
-\r
-# Meanings of exit codes:\r
-# code | meaning    | action of ranger\r
-# -----+------------+-------------------------------------------\r
-# 0    | success    | success. display stdout as preview\r
-# 1    | no preview | failure. display no preview at all\r
-# 2    | plain text | display the plain content of the file\r
-# 3    | fix width  | success. Don't reload when width changes\r
-# 4    | fix height | success. Don't reload when height changes\r
-# 5    | fix both   | success. Don't ever reload\r
-# 6    | image      | success. display the image $cached points to as an image preview\r
-# 7    | image      | success. display the file directly as an image\r
-\r
-# Meaningful aliases for arguments:\r
-path="$1"            # Full path of the selected file\r
-width="$2"           # Width of the preview pane (number of fitting characters)\r
-height="$3"          # Height of the preview pane (number of fitting characters)\r
-cached="$4"          # Path that should be used to cache image previews\r
-preview_images="$5"  # "True" if image previews are enabled, "False" otherwise.\r
-\r
-maxln=200    # Stop after $maxln lines.  Can be used like ls | head -n $maxln\r
-\r
-# Find out something about the file:\r
-mimetype=$(file --mime-type -Lb "$path")\r
-extension=$(/bin/echo "${path##*.}" | awk '{print tolower($0)}')\r
-\r
-# Functions:\r
-# runs a command and saves its output into $output.  Useful if you need\r
-# the return value AND want to use the output in a pipe\r
-try() { output=$(eval '"$@"'); }\r
-\r
-# writes the output of the previously used "try" command\r
-dump() { /bin/echo "$output"; }\r
-\r
-# a common post-processing function used after most commands\r
-trim() { head -n "$maxln"; }\r
-\r
-# wraps highlight to treat exit code 141 (killed by SIGPIPE) as success\r
-safepipe() { "$@"; test $? = 0 -o $? = 141; }\r
-\r
-# Image previews, if enabled in ranger.\r
-if [ "$preview_images" = "True" ]; then\r
-    case "$mimetype" in\r
-        # Image previews for SVG files, disabled by default.\r
-        ###image/svg+xml)\r
-        ###   convert "$path" "$cached" && exit 6 || exit 1;;\r
-        # Image previews for image files. w3mimgdisplay will be called for all\r
-        # image files (unless overriden as above), but might fail for\r
-        # unsupported types.\r
-        image/*)\r
-            exit 7;;\r
-        # Image preview for video, disabled by default.:\r
-        ###video/*)\r
-        ###    ffmpegthumbnailer -i "$path" -o "$cached" -s 0 && exit 6 || exit 1;;\r
-    esac\r
-fi\r
-\r
-case "$extension" in\r
-    # Archive extensions:\r
-    a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\\r
-    rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)\r
-        try als "$path" && { dump | trim; exit 0; }\r
-        try acat "$path" && { dump | trim; exit 3; }\r
-        try bsdtar -lf "$path" && { dump | trim; exit 0; }\r
-        exit 1;;\r
-    rar)\r
-        # avoid password prompt by providing empty password\r
-        try unrar -p- lt "$path" && { dump | trim; exit 0; } || exit 1;;\r
-    7z)\r
-        # avoid password prompt by providing empty password\r
-        try 7z -p l "$path" && { dump | trim; exit 0; } || exit 1;;\r
-    # PDF documents:\r
-    pdf)\r
-        try pdftotext -l 10 -nopgbrk -q "$path" - && \\r
-            { dump | trim | fmt -s -w $width; exit 0; } || exit 1;;\r
-    # BitTorrent Files\r
-    torrent)\r
-        try transmission-show "$path" && { dump | trim; exit 5; } || exit 1;;\r
-    # ODT Files\r
-    odt|ods|odp|sxw)\r
-        try odt2txt "$path" && { dump | trim; exit 5; } || exit 1;;\r
-    # HTML Pages:\r
-    htm|html|xhtml)\r
-        try w3m    -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; }\r
-        ;; # fall back to highlight/cat if the text browsers fail\r
-esac\r
-\r
-case "$mimetype" in\r
-    # Syntax highlight for text files:\r
-    text/* | */xml)\r
-        try safepipe less "$path" && { dump | trim; exit 5; }\r
-        exit 2;;\r
-    # Ascii-previews of images:\r
-    image/*)\r
-        img2txt --gamma=0.6 --width="$width" "$path" && exit 4 || exit 1;;\r
-    # Display information about media files:\r
-    video/* | audio/*)\r
-        exiftool "$path" && exit 5\r
-        # Use sed to remove spaces so the output fits into the narrow window\r
-        try mediainfo "$path" && { dump | trim | sed 's/  \+:/: /;';  exit 5; } || exit 1;;\r
-esac\r
-\r
-exit 1\r
+#!/usr/bin/env sh
+# ranger supports enhanced previews.  If the option "use_preview_script"
+# is set to True and this file exists, this script will be called and its
+# output is displayed in ranger.  ANSI color codes are supported.
+
+# NOTES: This script is considered a configuration file.  If you upgrade
+# ranger, it will be left untouched. (You must update it yourself.)
+# Also, ranger disables STDIN here, so interactive scripts won't work properly
+
+# Meanings of exit codes:
+# code | meaning    | action of ranger
+# -----+------------+-------------------------------------------
+# 0    | success    | success. display stdout as preview
+# 1    | no preview | failure. display no preview at all
+# 2    | plain text | display the plain content of the file
+# 3    | fix width  | success. Don't reload when width changes
+# 4    | fix height | success. Don't reload when height changes
+# 5    | fix both   | success. Don't ever reload
+# 6    | image      | success. display the image $cached points to as an image preview
+# 7    | image      | success. display the file directly as an image
+
+# Meaningful aliases for arguments:
+path="$1"            # Full path of the selected file
+width="$2"           # Width of the preview pane (number of fitting characters)
+height="$3"          # Height of the preview pane (number of fitting characters)
+cached="$4"          # Path that should be used to cache image previews
+preview_images="$5"  # "True" if image previews are enabled, "False" otherwise.
+
+maxln=200    # Stop after $maxln lines.  Can be used like ls | head -n $maxln
+
+# Find out something about the file:
+mimetype=$(file --mime-type -Lb "$path")
+extension=$(/bin/echo "${path##*.}" | awk '{print tolower($0)}')
+
+# Functions:
+# runs a command and saves its output into $output.  Useful if you need
+# the return value AND want to use the output in a pipe
+try() { output=$(eval '"$@"'); }
+
+# writes the output of the previously used "try" command
+dump() { /bin/echo "$output"; }
+
+# a common post-processing function used after most commands
+trim() { head -n "$maxln"; }
+
+# wraps highlight to treat exit code 141 (killed by SIGPIPE) as success
+safepipe() { "$@"; test $? = 0 -o $? = 141; }
+
+# Image previews, if enabled in ranger.
+if [ "$preview_images" = "True" ]; then
+    case "$mimetype" in
+        # Image previews for SVG files, disabled by default.
+        ###image/svg+xml)
+        ###   convert "$path" "$cached" && exit 6 || exit 1;;
+        # Image previews for image files. w3mimgdisplay will be called for all
+        # image files (unless overriden as above), but might fail for
+        # unsupported types.
+        image/*)
+            exit 7;;
+        # Image preview for video, disabled by default.:
+        ###video/*)
+        ###    ffmpegthumbnailer -i "$path" -o "$cached" -s 0 && exit 6 || exit 1;;
+    esac
+fi
+
+case "$extension" in
+    # Archive extensions:
+    a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\
+    rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)
+        try als "$path" && { dump | trim; exit 0; }
+        try acat "$path" && { dump | trim; exit 3; }
+        try bsdtar -lf "$path" && { dump | trim; exit 0; }
+        exit 1;;
+    rar)
+        # avoid password prompt by providing empty password
+        try unrar -p- lt "$path" && { dump | trim; exit 0; } || exit 1;;
+    7z)
+        # avoid password prompt by providing empty password
+        try 7z -p l "$path" && { dump | trim; exit 0; } || exit 1;;
+    # PDF documents:
+    pdf)
+        try pdftotext -l 10 -nopgbrk -q "$path" - && \
+            { dump | trim | fmt -s -w $width; exit 0; } || exit 1;;
+    # BitTorrent Files
+    torrent)
+        try transmission-show "$path" && { dump | trim; exit 5; } || exit 1;;
+    # ODT Files
+    odt|ods|odp|sxw)
+        try odt2txt "$path" && { dump | trim; exit 5; } || exit 1;;
+    # HTML Pages:
+    htm|html|xhtml)
+        try w3m    -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; }
+        ;; # fall back to highlight/cat if the text browsers fail
+esac
+
+case "$mimetype" in
+    # Syntax highlight for text files:
+    text/* | */xml)
+        try safepipe less "$path" && { dump | trim; exit 5; }
+        exit 2;;
+    # Ascii-previews of images:
+    image/*)
+        img2txt --gamma=0.6 --width="$width" "$path" && exit 4 || exit 1;;
+    # Display information about media files:
+    video/* | audio/*)
+        exiftool "$path" && exit 5
+        # Use sed to remove spaces so the output fits into the narrow window
+        try mediainfo "$path" && { dump | trim | sed 's/  \+:/: /;';  exit 5; } || exit 1;;
+esac
+
+exit 1
index 4769f18d59f9ac4f7600489dbaa820cb3e4eeb44..a83a878da84fa471a2e061410895a2735d5ae205 100644 (file)
@@ -1,16 +1,16 @@
-# This file is written by xdg-user-dirs-update\r
-# If you want to change or add directories, just edit the line you're\r
-# interested in. All local changes will be retained on the next run.\r
-# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped\r
-# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an\r
-# absolute path. No other format is supported.\r
-# \r
-XDG_DESKTOP_DIR="$HOME/cloud/Desktop"\r
-XDG_TEMPLATES_DIR="$HOME/cloud/Templates"\r
-XDG_PUBLICSHARE_DIR="$HOME/cloud/Public"\r
-XDG_DOCUMENTS_DIR="$HOME/cloud/Documents"\r
-# too big to get synced\r
-XDG_DOWNLOAD_DIR="$HOME/Download"\r
-XDG_MUSIC_DIR="$HOME/Music"\r
-XDG_PICTURES_DIR="$HOME/Pictures"\r
-XDG_VIDEOS_DIR="$HOME/Videos"\r
+# This file is written by xdg-user-dirs-update
+# If you want to change or add directories, just edit the line you're
+# interested in. All local changes will be retained on the next run.
+# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
+# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
+# absolute path. No other format is supported.
+# 
+XDG_DESKTOP_DIR="$HOME/cloud/Desktop"
+XDG_TEMPLATES_DIR="$HOME/cloud/Templates"
+XDG_PUBLICSHARE_DIR="$HOME/cloud/Public"
+XDG_DOCUMENTS_DIR="$HOME/cloud/Documents"
+# too big to get synced
+XDG_DOWNLOAD_DIR="$HOME/Download"
+XDG_MUSIC_DIR="$HOME/Music"
+XDG_PICTURES_DIR="$HOME/Pictures"
+XDG_VIDEOS_DIR="$HOME/Videos"
diff --git a/.cshrc b/.cshrc
index d62cb82f8298d9a7ff073ecb2607bf5d2941a9a8..9a21b6d1c75f9545a49f2e1f5c99e7e60600b828 100644 (file)
--- a/.cshrc
+++ b/.cshrc
@@ -1,12 +1,12 @@
-# .cshrc: executed by C shells on startup\r
-\r
-# If this is login or command shell then change to a sane shell\r
-if ($SHELL != /bin/bash) then\r
-  setenv SHELL /bin/bash\r
-  if ($?command) then\r
-    exec /bin/bash -c "$command"\r
-  else\r
-    exec /bin/bash\r
-  endif\r
-endif\r
-\r
+# .cshrc: executed by C shells on startup
+
+# If this is login or command shell then change to a sane shell
+if ($SHELL != /bin/bash) then
+  setenv SHELL /bin/bash
+  if ($?command) then
+    exec /bin/bash -c "$command"
+  else
+    exec /bin/bash
+  endif
+endif
+
index 06bda3679385d44946903cbb31ddcd456c4ddf03..7f5d8dac20333604427496a187e1614c14f45ae9 100644 (file)
@@ -1 +1 @@
-.dit\r
+.dit
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644 (file)
index e69de29..0000000
index d6649bd2e5d992c51f5789ab7deb963e2293dba6..2eeb80236260c910bc6e0934e410ffebc82ec53c 100644 (file)
--- a/.inputrc
+++ b/.inputrc
@@ -1,64 +1,64 @@
-# Use vi keybindings for everything that uses readline.\r
-\r
-# Useful stuff for UTF-8\r
-set meta-flag on\r
-set input-meta on\r
-set output-meta on\r
-set convert-meta off\r
-\r
-# Adds punctuation as word delimiters\r
-set bind-tty-special-chars off\r
-\r
-# Completion Options\r
-set completion-ignore-case on\r
-set show-all-if-ambiguous on\r
-set show-all-if-unmodified on\r
-set mark-symlinked-directories on\r
-set match-hidden-files off\r
-set page-completions on\r
-set completion-query-items 200\r
-set visible-stats on\r
-set skip-completed-text on\r
-\r
-set editing-mode vi\r
-set keymap vi\r
-\r
-set show-mode-in-prompt on\r
-set vi-ins-mode-string +\r
-set vi-cmd-mode-string -\r
-\r
-set keymap vi-command\r
-"gg": beginning-of-history\r
-"G": end-of-history\r
-"j": history-search-forward\r
-"k": history-search-backward\r
-\r
-$if Bash\r
-  # do history expansion when space entered\r
-  Space: magic-space\r
-$endif\r
-\r
-set keymap vi-insert\r
-"\e": vi-movement-mode\r
-"jk": vi-movement-mode\r
-Tab: complete\r
-#Tab: menu-complete\r
-\r
-$if Python\r
-$endif\r
-\r
-$if Gdb\r
-  "\e[15~": "continue\n"\r
-  "\e[21~": "next\n"\r
-  "\e[23~": "step\n"\r
-  "\eOQ": "nexti\n"\r
-  "\eOR": "stepi\n"\r
-$endif\r
-\r
-$if mysql\r
-  "\C-xs": "show tables like '%%';\e[D\e[D\e[D"\r
-$endif\r
-\r
-# Include system wide settings which is ignored\r
-# by default if one has own .inputrc\r
-$include ~/inputrc.local\r
+# Use vi keybindings for everything that uses readline.
+
+# Useful stuff for UTF-8
+set meta-flag on
+set input-meta on
+set output-meta on
+set convert-meta off
+
+# Adds punctuation as word delimiters
+set bind-tty-special-chars off
+
+# Completion Options
+set completion-ignore-case on
+set show-all-if-ambiguous on
+set show-all-if-unmodified on
+set mark-symlinked-directories on
+set match-hidden-files off
+set page-completions on
+set completion-query-items 200
+set visible-stats on
+set skip-completed-text on
+
+set editing-mode vi
+set keymap vi
+
+set show-mode-in-prompt on
+set vi-ins-mode-string +
+set vi-cmd-mode-string -
+
+set keymap vi-command
+"gg": beginning-of-history
+"G": end-of-history
+"j": history-search-forward
+"k": history-search-backward
+
+$if Bash
+  # do history expansion when space entered
+  Space: magic-space
+$endif
+
+set keymap vi-insert
+"\e": vi-movement-mode
+"jk": vi-movement-mode
+Tab: complete
+#Tab: menu-complete
+
+$if Python
+$endif
+
+$if Gdb
+  "\e[15~": "continue\n"
+  "\e[21~": "next\n"
+  "\e[23~": "step\n"
+  "\eOQ": "nexti\n"
+  "\eOR": "stepi\n"
+$endif
+
+$if mysql
+  "\C-xs": "show tables like '%%';\e[D\e[D\e[D"
+$endif
+
+# Include system wide settings which is ignored
+# by default if one has own .inputrc
+$include ~/inputrc.local
index fa0a9812697ff67fb3003266bf3e560f37cc8543..4f8c2373e98e7892b647575ccc6cd4c5fb3b179c 100644 (file)
@@ -1,53 +1,53 @@
-bind generic,index Q exit\r
-bind editor <space> noop\r
-bind editor <Tab> complete-query\r
-\r
-bind browser gg  top-page\r
-bind browser G   bottom-page\r
-bind browser \Cb previous-page\r
-bind browser \Cf next-page\r
-bind browser A   check-new\r
-bind browser v   view-file\r
-\r
-bind index ~   set-flag\r
-bind index \Cv what-key\r
-bind index H   current-top\r
-bind index M   current-middle\r
-bind index L   current-bottom\r
-bind index /   search\r
-bind index :   enter-command\r
-bind index i   mail\r
-\r
-bind pager i   edit\r
-bind pager u   mark-as-new\r
-bind pager gg  top\r
-bind pager G   bottom\r
-bind pager j   next-line\r
-bind pager k   previous-line\r
-\r
-bind index,attach gg  first-entry\r
-bind index,attach G   last-entry\r
-\r
-bind index,pager L   list-reply\r
-# bind index,pager P   print-message\r
-bind index,pager R   group-reply\r
-bind index,pager \Cd half-down\r
-bind index,pager \Cu half-up\r
-bind index,pager \Cf next-page\r
-bind index,pager \Cb previous-page\r
-bind index,pager \Cn next-thread\r
-bind index,pager \Cp previous-thread\r
-\r
-bind index,pager f forward-message\r
-bind index,pager p previous-undeleted\r
-bind index,pager N next-unread\r
-bind index,pager P previous-unread\r
-\r
-bind index,pager X print-message\r
-\r
-macro index Z "<shell-escape>mu find --clearlinks --format=links --linksdir=~/.mu/results " "mu find"\r
-macro index S "<change-folder-readonly>~/.mu/results<enter>" "mu find results"\r
-\r
-macro attach s <save-entry><kill-line>$HOME<enter> "Save to default directory for attachments"\r
-\r
-# vim: ft=muttrc\r
+bind generic,index Q exit
+bind editor <space> noop
+bind editor <Tab> complete-query
+
+bind browser gg  top-page
+bind browser G   bottom-page
+bind browser \Cb previous-page
+bind browser \Cf next-page
+bind browser A   check-new
+bind browser v   view-file
+
+bind index ~   set-flag
+bind index \Cv what-key
+bind index H   current-top
+bind index M   current-middle
+bind index L   current-bottom
+bind index /   search
+bind index :   enter-command
+bind index i   mail
+
+bind pager i   edit
+bind pager u   mark-as-new
+bind pager gg  top
+bind pager G   bottom
+bind pager j   next-line
+bind pager k   previous-line
+
+bind index,attach gg  first-entry
+bind index,attach G   last-entry
+
+bind index,pager L   list-reply
+# bind index,pager P   print-message
+bind index,pager R   group-reply
+bind index,pager \Cd half-down
+bind index,pager \Cu half-up
+bind index,pager \Cf next-page
+bind index,pager \Cb previous-page
+bind index,pager \Cn next-thread
+bind index,pager \Cp previous-thread
+
+bind index,pager f forward-message
+bind index,pager p previous-undeleted
+bind index,pager N next-unread
+bind index,pager P previous-unread
+
+bind index,pager X print-message
+
+macro index Z "<shell-escape>mu find --clearlinks --format=links --linksdir=~/.mu/results " "mu find"
+macro index S "<change-folder-readonly>~/.mu/results<enter>" "mu find results"
+
+macro attach s <save-entry><kill-line>$HOME<enter> "Save to default directory for attachments"
+
+# vim: ft=muttrc
index 4c952039ffafa6cd9af414c9357e81e592aa2c49..82b861ac70ac90fb9439078fb2506daf57e43556 100644 (file)
@@ -1,62 +1,62 @@
-set editor              = "vim -c start"\r
-set realname            = "Jannik Zander"\r
-\r
-source ~/.mutt/accounts/gmail\r
-#source ~/.mutt/muttgpg\r
-source ~/.mutt/keybindings\r
-#source ~/.mutt/colorscheme\r
-\r
-set mbox_type           = Maildir\r
-set mbox                = "+[Gmail].All Mail"\r
-set postponed           = "+[Gmail].Drafts"\r
-set mail_check          = 0\r
-\r
-# goobook\r
-set sort_alias          = alias\r
-set reverse_alias       = yes\r
-\r
-mailboxes +INBOX +UTHSCSA\r
-alternative_order text/plain text/enriched text/html\r
-auto_view text/html\r
-\r
-set print_command="muttdoc | pandoc --template=email.tex -V fullpage --latex-engine=xelatex --listings -o ~/email.pdf"\r
-\r
-ignore *\r
-unignore from: subject to cc date x-mailer x-url user-agent\r
-hdr_order date from to cc subject\r
-\r
-set header_cache        = ~/.mutt/cache/headers\r
-set message_cachedir    = ~/.mutt/cache/bodies\r
-set certificate_file    = ~/.mutt/certificates\r
-set mailcap_path        = ~/.mutt/mailcap\r
-set signature           = ~/.mutt/signature\r
-\r
-set forward_edit        = ask-yes\r
-set forward_format      = "Fwd: %s"\r
-set include             = yes\r
-set mime_forward        = yes\r
-set mime_forward_rest   = yes\r
-set move                = no\r
-set print               = yes\r
-set quit                = yes\r
-set sig_dashes          = no\r
-set sort                = 'threads'\r
-set sort_aux            = 'reverse-last-date-received'\r
-set text_flowed         = yes\r
-set timeout             = 1\r
-\r
-set delete\r
-set envelope_from\r
-set fast_reply\r
-set forward_quote\r
-set reverse_name\r
-set sig_on_top\r
-set smart_wrap\r
-\r
-unset markers\r
-unset wait_key\r
-unset reply_self\r
-unset confirmappend\r
-unset move\r
-\r
-# vim: ft=muttrc\r
+set editor              = "vim -c start"
+set realname            = "Jannik Zander"
+
+source ~/.mutt/accounts/gmail
+#source ~/.mutt/muttgpg
+source ~/.mutt/keybindings
+#source ~/.mutt/colorscheme
+
+set mbox_type           = Maildir
+set mbox                = "+[Gmail].All Mail"
+set postponed           = "+[Gmail].Drafts"
+set mail_check          = 0
+
+# goobook
+set sort_alias          = alias
+set reverse_alias       = yes
+
+mailboxes +INBOX +UTHSCSA
+alternative_order text/plain text/enriched text/html
+auto_view text/html
+
+set print_command="muttdoc | pandoc --template=email.tex -V fullpage --latex-engine=xelatex --listings -o ~/email.pdf"
+
+ignore *
+unignore from: subject to cc date x-mailer x-url user-agent
+hdr_order date from to cc subject
+
+set header_cache        = ~/.mutt/cache/headers
+set message_cachedir    = ~/.mutt/cache/bodies
+set certificate_file    = ~/.mutt/certificates
+set mailcap_path        = ~/.mutt/mailcap
+set signature           = ~/.mutt/signature
+
+set forward_edit        = ask-yes
+set forward_format      = "Fwd: %s"
+set include             = yes
+set mime_forward        = yes
+set mime_forward_rest   = yes
+set move                = no
+set print               = yes
+set quit                = yes
+set sig_dashes          = no
+set sort                = 'threads'
+set sort_aux            = 'reverse-last-date-received'
+set text_flowed         = yes
+set timeout             = 1
+
+set delete
+set envelope_from
+set fast_reply
+set forward_quote
+set reverse_name
+set sig_on_top
+set smart_wrap
+
+unset markers
+unset wait_key
+unset reply_self
+unset confirmappend
+unset move
+
+# vim: ft=muttrc
index 17ceed3a6e7c93dab7f6feb81eca4903fb0d1169..a4b8a612c0597bd3e6cd10e450e40c2aa8673614 100644 (file)
@@ -1,5 +1,5 @@
-\r
-\r
-- Jannik Zander \r
-\r
-\r
+
+
+- Jannik Zander 
+
+
index 0e04a8b50f6dad216b161874e877dfbafe8f2895..f82b46c6dfdc5213d1e0c02c588e6ad26508e522 100644 (file)
--- a/.profile
+++ b/.profile
@@ -1,39 +1,39 @@
-# .profile is for things not specifically related to Bash, like environment variables PATH and others, and should be available anytime.\r
-\r
-# call shell specific settings\r
-if [ ! "x${BASH_VERSION}" = "x" ]; then\r
-  [ -f ~/.bashrc ] && . ~/.bashrc\r
-fi\r
-\r
-# set PATH to bin directory\r
-export PATH=~/.local/bin:~/bin:$PATH\r
-\r
-# Set default programs\r
-export SHELL='bash'\r
-export EDITOR='vim'\r
-export VISUAL='vim'\r
-export PAGER='less'\r
-export MANPAGER='less'\r
-\r
-# Prefer US language with SI units (Danish)\r
-export LANG="en_DK.UTF-8"\r
-export LANGUAGE="en_US.UTF-8"\r
-export KEYMAP=us\r
-\r
-# Set XDG directories\r
-if [ -f ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs ]; then\r
-  . ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs\r
-  export XDG_DESKTOP_DIR XDG_DOWNLOAD_DIR XDG_TEMPLATES_DIR XDG_PUBLICSHARE_DIR XDG_DOCUMENTS_DIR XDG_MUSIC_DIR XDG_PICTURES_DIR XDG_VIDEOS_DIR\r
-fi\r
-\r
-# Enable syntax-highlighting in less.\r
-if [[ -f /mingw64/bin/src-hilite-lesspipe.sh ]]; then\r
-  export LESSOPEN="| /mingw64/bin/src-hilite-lesspipe.sh %s"\r
-elif [[ -f /usr/share/source-highlight/src-hilite-lesspipe.sh ]]; then\r
-  export LESSOPEN="| /usr/share/source-highlight/src-hilite-lesspipe.sh %s"\r
-fi\r
-export LESS="-FiRSX --SILENT "\r
-\r
-# colored GCC warnings and errors\r
-export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'\r
-\r
+# .profile is for things not specifically related to Bash, like environment variables PATH and others, and should be available anytime.
+
+# call shell specific settings
+if [ ! "x${BASH_VERSION}" = "x" ]; then
+  [ -f ~/.bashrc ] && . ~/.bashrc
+fi
+
+# set PATH to bin directory
+export PATH=~/.local/bin:~/bin:$PATH
+
+# Set default programs
+export SHELL='bash'
+export EDITOR='vim'
+export VISUAL='vim'
+export PAGER='less'
+export MANPAGER='less'
+
+# Prefer US language with SI units (Danish)
+export LANG="en_DK.UTF-8"
+export LANGUAGE="en_US.UTF-8"
+export KEYMAP=us
+
+# Set XDG directories
+if [ -f ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs ]; then
+  . ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs
+  export XDG_DESKTOP_DIR XDG_DOWNLOAD_DIR XDG_TEMPLATES_DIR XDG_PUBLICSHARE_DIR XDG_DOCUMENTS_DIR XDG_MUSIC_DIR XDG_PICTURES_DIR XDG_VIDEOS_DIR
+fi
+
+# Enable syntax-highlighting in less.
+if [[ -f /mingw64/bin/src-hilite-lesspipe.sh ]]; then
+  export LESSOPEN="| /mingw64/bin/src-hilite-lesspipe.sh %s"
+elif [[ -f /usr/share/source-highlight/src-hilite-lesspipe.sh ]]; then
+  export LESSOPEN="| /usr/share/source-highlight/src-hilite-lesspipe.sh %s"
+fi
+export LESS="-FiRSX --SILENT "
+
+# colored GCC warnings and errors
+export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
+
index aa2d2f46477710e97ddb092434131f4fecd16dff..4dcc3d2e049098084a8343f0ea22d4d3cf8f5907 100644 (file)
@@ -1,16 +1,16 @@
-# default for all\r
-\r
-# override as per host\r
-Host jaza\r
-  HostName 192.168.1.100\r
-  User jaz\r
-  IdentityFile ~/.ssh/jaza.key\r
-\r
-Host jaza.me\r
-  IdentityFile ~/.ssh/jaza.key\r
-\r
-Host bitbucket.grundfos.com\r
-  IdentityFile ~/.ssh/gf_rsa\r
-\r
-\r
-\r
+# default for all
+
+# override as per host
+Host jaza
+  HostName 192.168.1.100
+  User jaz
+  IdentityFile ~/.ssh/jaza.key
+
+Host jaza.me
+  IdentityFile ~/.ssh/jaza.key
+
+Host bitbucket.grundfos.com
+  IdentityFile ~/.ssh/gf_rsa
+
+
+
index ecbbbdcf45e65a8890295ae7394102e49a6dfe8e..4c56589237040b9357074308722bf357efbe0956 100644 (file)
-# Setting the prefix from C-b to C-a\r
-set -g prefix C-a\r
-# Free the original Ctrl-b prefix keybinding\r
-unbind C-b\r
-#setting the delay between prefix and command\r
-set -sg escape-time 1\r
-# Ensure that we can send Ctrl-A to other apps\r
-bind C-a send-prefix\r
-# Set the base index for windows to 1 instead of 0\r
-set -g base-index 1\r
-# Set the base index for panes to 1 instead of 0\r
-setw -g pane-base-index 1\r
-\r
-# Set the default terminal mode to 256color mode\r
-set -g default-terminal "screen-256color"\r
-# enable activity alerts\r
-setw -g monitor-activity on\r
-set -g visual-activity on\r
-# set the status line's colors\r
-set -g status-fg white\r
-set -g status-bg black\r
-# set the color of the window list\r
-setw -g window-status-fg cyan\r
-setw -g window-status-bg default\r
-setw -g window-status-attr dim\r
-# set colors for the active window\r
-setw -g window-status-current-fg white\r
-setw -g window-status-current-bg red\r
-setw -g window-status-current-attr bright\r
-# pane colors\r
-set -g pane-border-fg green\r
-set -g pane-border-bg black\r
-set -g pane-active-border-fg white\r
-set -g pane-active-border-bg yellow\r
-# Command / message line\r
-set -g message-fg white\r
-set -g message-bg black\r
-set -g message-attr bright\r
-# Status line left side\r
-set -g status-left-length 40\r
-set -g status-left "#[fg=green]Session: #S #[fg=yellow]#I #[fg=cyan]#P"\r
-set -g status-utf8 on\r
-# Status line right side\r
-# 15% | 28 Nov 18:15\r
-set -g status-right "#(~/battery Discharging) | #[fg=cyan]%d %b %R"\r
-# Update the status bar every sixty seconds\r
-set -g status-interval 60\r
-# Center the window list\r
-set -g status-justify centre\r
-set -g detach-on-destroy off\r
-# Increase history-limit for scrolling (default is 2000)\r
-set-option -g history-limit 15000\r
-# mouse support - set to on if you want to use the mouse\r
-#setw -g mode-mouse on\r
-#set -g mouse-select-pane on\r
-#set -g mouse-resize-pane on\r
-#set -g mouse-select-window on\r
-#set -g mouse-utf8 on\r
-# enable vi keys.\r
-setw -g mode-keys vi\r
-# Reload the file with Prefix r\r
-bind r source-file ~/.tmux.conf \; display "Reloaded!"\r
-# splitting panes\r
-bind c neww -c "#{pane_current_path}"\r
-bind | split-window -h -c "#{pane_current_path}"\r
-bind - split-window -v -c "#{pane_current_path}"\r
-# moving between panes\r
-bind h select-pane -L\r
-bind j select-pane -D\r
-bind k select-pane -U\r
-bind l select-pane -R\r
-# Quick pane selection\r
-bind -r C-h select-window -t :-\r
-bind -r C-l select-window -t :+\r
-# Pane resizing\r
-bind -r H resize-pane -L 5\r
-bind -r J resize-pane -D 5\r
-bind -r K resize-pane -U 5\r
-bind -r L resize-pane -R 5\r
-# Open panes in the same directory using the tmux-panes script\r
-unbind v\r
-unbind n\r
-bind v send-keys " ~/tmux-panes -h" C-m\r
-bind n send-keys " ~/tmux-panes -v" C-m\r
-# Maximize and restore a pane\r
-unbind Up\r
-bind Up new-window -d -n tmp \; swap-pane -s tmp.1 \; select-window -t tmp\r
-unbind Down\r
-bind Down last-window \; swap-pane -s tmp.1 \; kill-window -t tmp\r
-# Log output to a text file on demand\r
-bind P pipe-pane -o "cat >>~/#W.log" \; display "Toggled logging to ~/#W.log"\r
-# better binding for copy mode\r
-bind v copy-mode\r
-# Select/yank like vim\r
-bind -t vi-copy 'v' begin-selection\r
-bind -t vi-copy 'y' copy-selection\r
-# open tree instead of session list\r
-bind s run 'tmuxer choose-session'\r
-bind-key -t vi-choice h tree-collapse\r
-bind-key -t vi-choice l tree-expand\r
-# local/private settings\r
-source-file ~/.tmux_local.conf\r
+# Setting the prefix from C-b to C-a
+set -g prefix C-a
+# Free the original Ctrl-b prefix keybinding
+unbind C-b
+#setting the delay between prefix and command
+set -sg escape-time 1
+# Ensure that we can send Ctrl-A to other apps
+bind C-a send-prefix
+# Set the base index for windows to 1 instead of 0
+set -g base-index 1
+# Set the base index for panes to 1 instead of 0
+setw -g pane-base-index 1
+
+# Set the default terminal mode to 256color mode
+set -g default-terminal "screen-256color"
+# enable activity alerts
+setw -g monitor-activity on
+set -g visual-activity on
+# set the status line's colors
+set -g status-fg white
+set -g status-bg black
+# set the color of the window list
+setw -g window-status-fg cyan
+setw -g window-status-bg default
+setw -g window-status-attr dim
+# set colors for the active window
+setw -g window-status-current-fg white
+setw -g window-status-current-bg red
+setw -g window-status-current-attr bright
+# pane colors
+set -g pane-border-fg green
+set -g pane-border-bg black
+set -g pane-active-border-fg white
+set -g pane-active-border-bg yellow
+# Command / message line
+set -g message-fg white
+set -g message-bg black
+set -g message-attr bright
+# Status line left side
+set -g status-left-length 40
+set -g status-left "#[fg=green]Session: #S #[fg=yellow]#I #[fg=cyan]#P"
+set -g status-utf8 on
+# Status line right side
+# 15% | 28 Nov 18:15
+set -g status-right "#(~/battery Discharging) | #[fg=cyan]%d %b %R"
+# Update the status bar every sixty seconds
+set -g status-interval 60
+# Center the window list
+set -g status-justify centre
+set -g detach-on-destroy off
+# Increase history-limit for scrolling (default is 2000)
+set-option -g history-limit 15000
+# mouse support - set to on if you want to use the mouse
+#setw -g mode-mouse on
+#set -g mouse-select-pane on
+#set -g mouse-resize-pane on
+#set -g mouse-select-window on
+#set -g mouse-utf8 on
+# enable vi keys.
+setw -g mode-keys vi
+# Reload the file with Prefix r
+bind r source-file ~/.tmux.conf \; display "Reloaded!"
+# splitting panes
+bind c neww -c "#{pane_current_path}"
+bind | split-window -h -c "#{pane_current_path}"
+bind - split-window -v -c "#{pane_current_path}"
+# moving between panes
+bind h select-pane -L
+bind j select-pane -D
+bind k select-pane -U
+bind l select-pane -R
+# Quick pane selection
+bind -r C-h select-window -t :-
+bind -r C-l select-window -t :+
+# Pane resizing
+bind -r H resize-pane -L 5
+bind -r J resize-pane -D 5
+bind -r K resize-pane -U 5
+bind -r L resize-pane -R 5
+# Open panes in the same directory using the tmux-panes script
+unbind v
+unbind n
+bind v send-keys " ~/tmux-panes -h" C-m
+bind n send-keys " ~/tmux-panes -v" C-m
+# Maximize and restore a pane
+unbind Up
+bind Up new-window -d -n tmp \; swap-pane -s tmp.1 \; select-window -t tmp
+unbind Down
+bind Down last-window \; swap-pane -s tmp.1 \; kill-window -t tmp
+# Log output to a text file on demand
+bind P pipe-pane -o "cat >>~/#W.log" \; display "Toggled logging to ~/#W.log"
+# better binding for copy mode
+bind v copy-mode
+# Select/yank like vim
+bind -t vi-copy 'v' begin-selection
+bind -t vi-copy 'y' copy-selection
+# open tree instead of session list
+bind s run 'tmuxer choose-session'
+bind-key -t vi-choice h tree-collapse
+bind-key -t vi-choice l tree-expand
+# local/private settings
+source-file ~/.tmux_local.conf
index a253f2688877748e8c8e481beb0f7eea7f1184f9..4896219ffdb4ec1a9a71727f21c192b144822425 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,13 +1,13 @@
-# dotfiles\r
-\r
-1) First download 'dit-init.sh'\r
-\r
->     $ git archive --remote=git@jaza.me:jaz/dit.git master bin/dit-init.sh | tar -x --strip-components 1\r
-\r
-2) Next execute it\r
-\r
->     $ ./dit-init.sh\r
-\r
-3) Now you can manage dotfiles with 'dit' (same as 'git')\r
-\r
->     $ dit <command>\r
+# dotfiles
+
+1) First download 'dit-init.sh'
+
+>     $ git archive --remote=git@jaza.me:jaz/dit.git master bin/dit-init.sh | tar -x --strip-components 1
+
+2) Next execute it
+
+>     $ ./dit-init.sh
+
+3) Now you can manage dotfiles with 'dit' (same as 'git')
+
+>     $ dit <command>
index c451db775f477c10a3192b3cbdf2e8edd366805d..ddcec7d59e4eaad60a6befa3b3bb6f2c7c631a82 100755 (executable)
@@ -1,5 +1,5 @@
-#!/bin/sh\r
-\r
-sudo dnf install kernel-$1\r
-sudo dnf install akmod-wl "kernel-devel-uname-r == $(uname -r)"\r
-sudo akmods\r
+#!/bin/sh
+
+sudo dnf install kernel-$1
+sudo dnf install akmod-wl "kernel-devel-uname-r == $(uname -r)"
+sudo akmods
index 29892786206bf4826a34f5e10acf55f48eeac3fb..5d635d9f6895a22db82f763745105aee34ea563a 100755 (executable)
@@ -1,3 +1,3 @@
-#!/bin/sh\r
-make PREFIX=$PREFIX MULTILIB=lib\r
-make install PREFIX=$PREFIX/apps/luajit MULTILIB=lib\r
+#!/bin/sh
+make PREFIX=$PREFIX MULTILIB=lib
+make install PREFIX=$PREFIX/apps/luajit MULTILIB=lib
index b0938ccd24ff56b8e92fe788cf97e412fee9b764..09274d086ba0239caee04f878d0a7458a8660a7c 100755 (executable)
@@ -1,18 +1,18 @@
-#!/bin/sh\r
-\r
-./configure \\r
---prefix=$PREFIX \\r
---with-features=huge \\r
---with-compiledby="ejannza" \\r
---enable-multibyte \\r
---enable-gui=gtk2 \\r
---enable-luainterp \\r
---with-lua-prefix=$PREFIX --with-luajit \\r
---enable-gpm \\r
---enable-cscope \\r
---enable-fontset \\r
---enable-fail-if-missing\r
-\r
-\r
-make\r
-make install prefix=$PREFIX/apps/vim\r
+#!/bin/sh
+
+./configure \
+--prefix=$PREFIX \
+--with-features=huge \
+--with-compiledby="ejannza" \
+--enable-multibyte \
+--enable-gui=gtk2 \
+--enable-luainterp \
+--with-lua-prefix=$PREFIX --with-luajit \
+--enable-gpm \
+--enable-cscope \
+--enable-fontset \
+--enable-fail-if-missing
+
+
+make
+make install prefix=$PREFIX/apps/vim
index 407dfd1489955e2fd70b8636e9b0e71aeb13d618..550eba316eab1ade5bfd9dcef3be29c7b6ed258e 100644 (file)
@@ -1,31 +1,31 @@
-#NoEnv\r
-SendMode Input\r
-\r
-; Disable default CapsLock functionality\r
-SetCapsLockState, AlwaysOff\r
-\r
-; Post Esc if pressed alone\r
-CapsLock::\r
-\r
-    ; If you want to override CapsLock functionality for specific windows, etc.\r
-    ; Just define an OverrideCapsLock() function where you #include this script!\r
-    OverrideFunction := "OverrideCapsLock"\r
-    \r
-    ; Call the function dynamically to allow for silent failure.\r
-    if (Overridden := %OverrideFunction%()) {\r
-        Send {%Overridden%}\r
-        return\r
-    }\r
-    \r
-    KeyWait, CapsLock\r
-    if (A_PriorKey="CapsLock")\r
-        Send {Esc}\r
-return\r
-\r
-; Map CapsLock modified hjkl movement\r
-#If, GetKeyState("CapsLock", "P")\r
-h::Left\r
-j::Down\r
-k::Up\r
-l::Right\r
-#If\r
+#NoEnv
+SendMode Input
+
+; Disable default CapsLock functionality
+SetCapsLockState, AlwaysOff
+
+; Post Esc if pressed alone
+CapsLock::
+
+    ; If you want to override CapsLock functionality for specific windows, etc.
+    ; Just define an OverrideCapsLock() function where you #include this script!
+    OverrideFunction := "OverrideCapsLock"
+    
+    ; Call the function dynamically to allow for silent failure.
+    if (Overridden := %OverrideFunction%()) {
+        Send {%Overridden%}
+        return
+    }
+    
+    KeyWait, CapsLock
+    if (A_PriorKey="CapsLock")
+        Send {Esc}
+return
+
+; Map CapsLock modified hjkl movement
+#If, GetKeyState("CapsLock", "P")
+h::Left
+j::Down
+k::Up
+l::Right
+#If
index d4b758624d0cccf9e44225b99b144bbd5ec935bb..e29534abcea1612881bfd7cd98d7b4c2d865997a 100644 (file)
@@ -1,10 +1,10 @@
-@echo off\r
-SET vim_path = %USERPROFILE%\apps\vim\vim73\gvim.exe\r
->  edit_with_vim.reg ECHO REGEDIT4\r
->> edit_with_vim.reg ECHO [HKEY_CLASSES_ROOT\*\shell\vim]\r
->> edit_with_vim.reg ECHO @="Edit with &Vim"\r
->> edit_with_vim.reg ECHO [HKEY_CLASSES_ROOT\*\shell\vim\command]\r
-SET v_test=%USERPROFILE%\apps\vim\vim73\gvim.exe\r
-Set v_replacement=\\\r
-SET v_result=%v_test:\=\\%\r
+@echo off
+SET vim_path = %USERPROFILE%\apps\vim\vim73\gvim.exe
+>  edit_with_vim.reg ECHO REGEDIT4
+>> edit_with_vim.reg ECHO [HKEY_CLASSES_ROOT\*\shell\vim]
+>> edit_with_vim.reg ECHO @="Edit with &Vim"
+>> edit_with_vim.reg ECHO [HKEY_CLASSES_ROOT\*\shell\vim\command]
+SET v_test=%USERPROFILE%\apps\vim\vim73\gvim.exe
+Set v_replacement=\\
+SET v_result=%v_test:\=\\%
 >> edit_with_vim.reg ECHO @="%v_result% \"%%1\""
\ No newline at end of file
index 25fdda9d11fb53b353695735af28d59fe7429ad0..2ae11eaca9db64d19693589672c1be85d75c807a 100755 (executable)
-#!/bin/sh\r
-# Copyright 2010 - 2012, Tim Henigan <tim.henigan@gmail.com>\r
-#\r
-# Permission is hereby granted, free of charge, to any person obtaining\r
-# a copy of this software and associated documentation files (the\r
-# "Software"), to deal in the Software without restriction, including\r
-# without limitation the rights to use, copy, modify, merge, publish,\r
-# distribute, sublicense, and/or sell copies of the Software, and to\r
-# permit persons to whom the Software is furnished to do so, subject to\r
-# the following conditions:\r
-#\r
-# The above copyright notice and this permission notice shall be included\r
-# in all copies or substantial portions of the Software.\r
-#\r
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS\r
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r
-# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r
-# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r
-# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r
-# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
-\r
-\r
-# Perform a directory diff between commits in the repository using\r
-# the external diff or merge tool specified in the user's config.\r
-\r
-USAGE='[--cached] [--copy-back] [-x|--extcmd=<command>] <commit>{0,2} [-- <path>*]\r
-\r
-    --cached     Compare to the index rather than the working tree.\r
-\r
-    --copy-back  Copy files back to the working tree when the diff\r
-                 tool exits (in case they were modified by the\r
-                 user).  This option is only valid if the diff\r
-                 compared with the working tree.\r
-\r
-    -x=<command>\r
-    --extcmd=<command>  Specify a custom command for viewing diffs.\r
-                 git-diffall ignores the configured defaults and\r
-                 runs $command $LOCAL $REMOTE when this option is\r
-                 specified. Additionally, $BASE is set in the\r
-                 environment.\r
-'\r
-\r
-SUBDIRECTORY_OK=1\r
-. "$(git --exec-path)/git-sh-setup"\r
-\r
-TOOL_MODE=diff\r
-. "$(git --exec-path)/git-mergetool--lib"\r
-\r
-merge_tool="$(get_merge_tool)"\r
-if test -z "$merge_tool"\r
-then\r
-                    echo "Error: Either the 'diff.tool' or 'merge.tool' option must be set."\r
-                    usage\r
-fi\r
-\r
-start_dir=$(pwd)\r
-\r
-# All the file paths returned by the diff command are relative to the root\r
-# of the working copy. So if the script is called from a subdirectory, it\r
-# must switch to the root of working copy before trying to use those paths.\r
-cdup=$(git rev-parse --show-cdup) &&\r
-cd "$cdup" || {\r
-                    echo >&2 "Cannot chdir to $cdup, the toplevel of the working tree"\r
-                    exit 1\r
-}\r
-\r
-# set up temp dir\r
-tmp=$(perl -e 'use File::Temp qw(tempdir);\r
-                    $t=tempdir("/tmp/git-diffall.XXXXX") or exit(1);\r
-                    print $t') || exit 1\r
-#trap 'rm -rf "$tmp"' EXIT\r
-\r
-left=\r
-right=\r
-paths=\r
-dashdash_seen=\r
-compare_staged=\r
-merge_base=\r
-left_dir=\r
-right_dir=\r
-diff_tool=\r
-copy_back=\r
-\r
-while test $# != 0\r
-do\r
-                    case "$1" in\r
-                    -h|--h|--he|--hel|--help)\r
-                                        usage\r
-                                        ;;\r
-                    --cached)\r
-                                        compare_staged=1\r
-                                        ;;\r
-                    --copy-back)\r
-                                        copy_back=1\r
-                                        ;;\r
-                    -x|--e|--ex|--ext|--extc|--extcm|--extcmd)\r
-                                        if test $# = 1\r
-                                        then\r
-                                                            echo You must specify the tool for use with --extcmd\r
-                                                            usage\r
-                                        else\r
-                                                            diff_tool=$2\r
-                                                            shift\r
-                                        fi\r
-                                        ;;\r
-                    --)\r
-                                        dashdash_seen=1\r
-                                        ;;\r
-                    -*)\r
-                                        echo Invalid option: "$1"\r
-                                        usage\r
-                                        ;;\r
-                    *)\r
-                                        # could be commit, commit range or path limiter\r
-                                        case "$1" in\r
-                                        *...*)\r
-                                                            left=${1%...*}\r
-                                                            right=${1#*...}\r
-                                                            merge_base=1\r
-                                                            ;;\r
-                                        *..*)\r
-                                                            left=${1%..*}\r
-                                                            right=${1#*..}\r
-                                                            ;;\r
-                                        *)\r
-                                                            if test -n "$dashdash_seen"\r
-                                                            then\r
-                                                                                paths="$paths$1 "\r
-                                                            elif test -z "$left"\r
-                                                            then\r
-                                                                                left=$1\r
-                                                            elif test -z "$right"\r
-                                                            then\r
-                                                                                right=$1\r
-                                                            else\r
-                                                                                paths="$paths$1 "\r
-                                                            fi\r
-                                                            ;;\r
-                                        esac\r
-                                        ;;\r
-                    esac\r
-                    shift\r
-done\r
-\r
-# Determine the set of files which changed\r
-if test -n "$left" && test -n "$right"\r
-then\r
-                    left_dir="cmt-$(git rev-parse --short $left)"\r
-                    right_dir="cmt-$(git rev-parse --short $right)"\r
-\r
-                    if test -n "$compare_staged"\r
-                    then\r
-                                        usage\r
-                    elif test -n "$merge_base"\r
-                    then\r
-                                        git diff --name-only "$left"..."$right" -- $paths >"$tmp/filelist"\r
-                    else\r
-                                        git diff --name-only "$left" "$right" -- $paths >"$tmp/filelist"\r
-                    fi\r
-elif test -n "$left"\r
-then\r
-                    left_dir="cmt-$(git rev-parse --short $left)"\r
-\r
-                    if test -n "$compare_staged"\r
-                    then\r
-                                        right_dir="staged"\r
-                                        git diff --name-only --cached "$left" -- $paths >"$tmp/filelist"\r
-                    else\r
-                                        right_dir="working_tree"\r
-                                        git diff --name-only "$left" -- $paths >"$tmp/filelist"\r
-                    fi\r
-else\r
-                    left_dir="HEAD"\r
-\r
-                    if test -n "$compare_staged"\r
-                    then\r
-                                        right_dir="staged"\r
-                                        git diff --name-only --cached -- $paths >"$tmp/filelist"\r
-                    else\r
-                                        right_dir="working_tree"\r
-                                        git diff --name-only -- $paths >"$tmp/filelist"\r
-                    fi\r
-fi\r
-\r
-# Exit immediately if there are no diffs\r
-if test ! -s "$tmp/filelist"\r
-then\r
-                    exit 0\r
-fi\r
-\r
-if test -n "$copy_back" && test "$right_dir" != "working_tree"\r
-then\r
-                    echo "--copy-back is only valid when diff includes the working tree."\r
-                    exit 1\r
-fi\r
-\r
-# Create the named tmp directories that will hold the files to be compared\r
-mkdir -p "$tmp/$left_dir" "$tmp/$right_dir"\r
-\r
-# Populate the tmp/right_dir directory with the files to be compared\r
-while read name\r
-do\r
-                    if test -n "$right"\r
-                    then\r
-                                        ls_list=$(git ls-tree $right "$name")\r
-                                        if test -n "$ls_list"\r
-                                        then\r
-                                                            mkdir -p "$tmp/$right_dir/$(dirname "$name")"\r
-                                                            git show "$right":"$name" >"$tmp/$right_dir/$name" || true\r
-                                        fi\r
-                    elif test -n "$compare_staged"\r
-                    then\r
-                                        ls_list=$(git ls-files -- "$name")\r
-                                        if test -n "$ls_list"\r
-                                        then\r
-                                                            mkdir -p "$tmp/$right_dir/$(dirname "$name")"\r
-                                                            git show :"$name" >"$tmp/$right_dir/$name"\r
-                                        fi\r
-                    else\r
-                                        if test -e "$name"\r
-                                        then\r
-                                                            mkdir -p "$tmp/$right_dir/$(dirname "$name")"\r
-                                                            cp "$name" "$tmp/$right_dir/$name"\r
-                                        fi\r
-                    fi\r
-done < "$tmp/filelist"\r
-\r
-# Populate the tmp/left_dir directory with the files to be compared\r
-while read name\r
-do\r
-                    if test -n "$left"\r
-                    then\r
-                                        ls_list=$(git ls-tree $left "$name")\r
-                                        if test -n "$ls_list"\r
-                                        then\r
-                                                            mkdir -p "$tmp/$left_dir/$(dirname "$name")"\r
-                                                            git show "$left":"$name" >"$tmp/$left_dir/$name" || true\r
-                                        fi\r
-                    else\r
-                                        if test -n "$compare_staged"\r
-                                        then\r
-                                                            ls_list=$(git ls-tree HEAD "$name")\r
-                                                            if test -n "$ls_list"\r
-                                                            then\r
-                                                                                mkdir -p "$tmp/$left_dir/$(dirname "$name")"\r
-                                                                                git show HEAD:"$name" >"$tmp/$left_dir/$name"\r
-                                                            fi\r
-                                        else\r
-                                                            mkdir -p "$tmp/$left_dir/$(dirname "$name")"\r
-                                                            git show :"$name" >"$tmp/$left_dir/$name"\r
-                                        fi\r
-                    fi\r
-done < "$tmp/filelist"\r
-\r
-LOCAL="$tmp/$left_dir"\r
-REMOTE="$tmp/$right_dir"\r
-\r
-if test -n "$diff_tool"\r
-then\r
-                    export BASE\r
-                    eval $diff_tool '"$LOCAL"' '"$REMOTE"'\r
-else\r
-                    run_merge_tool "$merge_tool" false\r
-fi\r
-\r
-# Copy files back to the working dir, if requested\r
-if test -n "$copy_back" && test "$right_dir" = "working_tree"\r
-then\r
-                    cd "$start_dir"\r
-                    git_top_dir=$(git rev-parse --show-toplevel)\r
-                    find "$tmp/$right_dir" -type f |\r
-                    while read file\r
-                    do\r
-                                        cp "$file" "$git_top_dir/${file#$tmp/$right_dir/}"\r
-                    done\r
+#!/bin/sh
+# Copyright 2010 - 2012, Tim Henigan <tim.henigan@gmail.com>
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+# Perform a directory diff between commits in the repository using
+# the external diff or merge tool specified in the user's config.
+
+USAGE='[--cached] [--copy-back] [-x|--extcmd=<command>] <commit>{0,2} [-- <path>*]
+
+    --cached     Compare to the index rather than the working tree.
+
+    --copy-back  Copy files back to the working tree when the diff
+                 tool exits (in case they were modified by the
+                 user).  This option is only valid if the diff
+                 compared with the working tree.
+
+    -x=<command>
+    --extcmd=<command>  Specify a custom command for viewing diffs.
+                 git-diffall ignores the configured defaults and
+                 runs $command $LOCAL $REMOTE when this option is
+                 specified. Additionally, $BASE is set in the
+                 environment.
+'
+
+SUBDIRECTORY_OK=1
+. "$(git --exec-path)/git-sh-setup"
+
+TOOL_MODE=diff
+. "$(git --exec-path)/git-mergetool--lib"
+
+merge_tool="$(get_merge_tool)"
+if test -z "$merge_tool"
+then
+                    echo "Error: Either the 'diff.tool' or 'merge.tool' option must be set."
+                    usage
+fi
+
+start_dir=$(pwd)
+
+# All the file paths returned by the diff command are relative to the root
+# of the working copy. So if the script is called from a subdirectory, it
+# must switch to the root of working copy before trying to use those paths.
+cdup=$(git rev-parse --show-cdup) &&
+cd "$cdup" || {
+                    echo >&2 "Cannot chdir to $cdup, the toplevel of the working tree"
+                    exit 1
+}
+
+# set up temp dir
+tmp=$(perl -e 'use File::Temp qw(tempdir);
+                    $t=tempdir("/tmp/git-diffall.XXXXX") or exit(1);
+                    print $t') || exit 1
+#trap 'rm -rf "$tmp"' EXIT
+
+left=
+right=
+paths=
+dashdash_seen=
+compare_staged=
+merge_base=
+left_dir=
+right_dir=
+diff_tool=
+copy_back=
+
+while test $# != 0
+do
+                    case "$1" in
+                    -h|--h|--he|--hel|--help)
+                                        usage
+                                        ;;
+                    --cached)
+                                        compare_staged=1
+                                        ;;
+                    --copy-back)
+                                        copy_back=1
+                                        ;;
+                    -x|--e|--ex|--ext|--extc|--extcm|--extcmd)
+                                        if test $# = 1
+                                        then
+                                                            echo You must specify the tool for use with --extcmd
+                                                            usage
+                                        else
+                                                            diff_tool=$2
+                                                            shift
+                                        fi
+                                        ;;
+                    --)
+                                        dashdash_seen=1
+                                        ;;
+                    -*)
+                                        echo Invalid option: "$1"
+                                        usage
+                                        ;;
+                    *)
+                                        # could be commit, commit range or path limiter
+                                        case "$1" in
+                                        *...*)
+                                                            left=${1%...*}
+                                                            right=${1#*...}
+                                                            merge_base=1
+                                                            ;;
+                                        *..*)
+                                                            left=${1%..*}
+                                                            right=${1#*..}
+                                                            ;;
+                                        *)
+                                                            if test -n "$dashdash_seen"
+                                                            then
+                                                                                paths="$paths$1 "
+                                                            elif test -z "$left"
+                                                            then
+                                                                                left=$1
+                                                            elif test -z "$right"
+                                                            then
+                                                                                right=$1
+                                                            else
+                                                                                paths="$paths$1 "
+                                                            fi
+                                                            ;;
+                                        esac
+                                        ;;
+                    esac
+                    shift
+done
+
+# Determine the set of files which changed
+if test -n "$left" && test -n "$right"
+then
+                    left_dir="cmt-$(git rev-parse --short $left)"
+                    right_dir="cmt-$(git rev-parse --short $right)"
+
+                    if test -n "$compare_staged"
+                    then
+                                        usage
+                    elif test -n "$merge_base"
+                    then
+                                        git diff --name-only "$left"..."$right" -- $paths >"$tmp/filelist"
+                    else
+                                        git diff --name-only "$left" "$right" -- $paths >"$tmp/filelist"
+                    fi
+elif test -n "$left"
+then
+                    left_dir="cmt-$(git rev-parse --short $left)"
+
+                    if test -n "$compare_staged"
+                    then
+                                        right_dir="staged"
+                                        git diff --name-only --cached "$left" -- $paths >"$tmp/filelist"
+                    else
+                                        right_dir="working_tree"
+                                        git diff --name-only "$left" -- $paths >"$tmp/filelist"
+                    fi
+else
+                    left_dir="HEAD"
+
+                    if test -n "$compare_staged"
+                    then
+                                        right_dir="staged"
+                                        git diff --name-only --cached -- $paths >"$tmp/filelist"
+                    else
+                                        right_dir="working_tree"
+                                        git diff --name-only -- $paths >"$tmp/filelist"
+                    fi
+fi
+
+# Exit immediately if there are no diffs
+if test ! -s "$tmp/filelist"
+then
+                    exit 0
+fi
+
+if test -n "$copy_back" && test "$right_dir" != "working_tree"
+then
+                    echo "--copy-back is only valid when diff includes the working tree."
+                    exit 1
+fi
+
+# Create the named tmp directories that will hold the files to be compared
+mkdir -p "$tmp/$left_dir" "$tmp/$right_dir"
+
+# Populate the tmp/right_dir directory with the files to be compared
+while read name
+do
+                    if test -n "$right"
+                    then
+                                        ls_list=$(git ls-tree $right "$name")
+                                        if test -n "$ls_list"
+                                        then
+                                                            mkdir -p "$tmp/$right_dir/$(dirname "$name")"
+                                                            git show "$right":"$name" >"$tmp/$right_dir/$name" || true
+                                        fi
+                    elif test -n "$compare_staged"
+                    then
+                                        ls_list=$(git ls-files -- "$name")
+                                        if test -n "$ls_list"
+                                        then
+                                                            mkdir -p "$tmp/$right_dir/$(dirname "$name")"
+                                                            git show :"$name" >"$tmp/$right_dir/$name"
+                                        fi
+                    else
+                                        if test -e "$name"
+                                        then
+                                                            mkdir -p "$tmp/$right_dir/$(dirname "$name")"
+                                                            cp "$name" "$tmp/$right_dir/$name"
+                                        fi
+                    fi
+done < "$tmp/filelist"
+
+# Populate the tmp/left_dir directory with the files to be compared
+while read name
+do
+                    if test -n "$left"
+                    then
+                                        ls_list=$(git ls-tree $left "$name")
+                                        if test -n "$ls_list"
+                                        then
+                                                            mkdir -p "$tmp/$left_dir/$(dirname "$name")"
+                                                            git show "$left":"$name" >"$tmp/$left_dir/$name" || true
+                                        fi
+                    else
+                                        if test -n "$compare_staged"
+                                        then
+                                                            ls_list=$(git ls-tree HEAD "$name")
+                                                            if test -n "$ls_list"
+                                                            then
+                                                                                mkdir -p "$tmp/$left_dir/$(dirname "$name")"
+                                                                                git show HEAD:"$name" >"$tmp/$left_dir/$name"
+                                                            fi
+                                        else
+                                                            mkdir -p "$tmp/$left_dir/$(dirname "$name")"
+                                                            git show :"$name" >"$tmp/$left_dir/$name"
+                                        fi
+                    fi
+done < "$tmp/filelist"
+
+LOCAL="$tmp/$left_dir"
+REMOTE="$tmp/$right_dir"
+
+if test -n "$diff_tool"
+then
+                    export BASE
+                    eval $diff_tool '"$LOCAL"' '"$REMOTE"'
+else
+                    run_merge_tool "$merge_tool" false
+fi
+
+# Copy files back to the working dir, if requested
+if test -n "$copy_back" && test "$right_dir" = "working_tree"
+then
+                    cd "$start_dir"
+                    git_top_dir=$(git rev-parse --show-toplevel)
+                    find "$tmp/$right_dir" -type f |
+                    while read file
+                    do
+                                        cp "$file" "$git_top_dir/${file#$tmp/$right_dir/}"
+                    done
 fi
\ No newline at end of file
index 6524bf131f827369a65f6f377f644b44ac55beab..a3865cb0c65648fa4107aa48662d9bc290001f87 100644 (file)
@@ -1,17 +1,17 @@
-#!/usr/bin/env bash\r
-\r
-git init --bare $HOME/.githome\r
-\r
-# Define githome function\r
-function githome()\r
-{\r
-  git --git-dir=$HOME/.githome --work-tree=$HOME "$@"\r
-}\r
-\r
-# Initial setup\r
-githome config --local status.showUntrackedFiles no\r
-githome remote add origin git@jaza.me:jaz/dotfiles.git\r
-githome fetch\r
-githome reset --hard origin/master\r
-githome branch -u origin/master\r
-\r
+#!/usr/bin/env bash
+
+git init --bare $HOME/.githome
+
+# Define githome function
+function githome()
+{
+  git --git-dir=$HOME/.githome --work-tree=$HOME "$@"
+}
+
+# Initial setup
+githome config --local status.showUntrackedFiles no
+githome remote add origin git@jaza.me:jaz/dotfiles.git
+githome fetch
+githome reset --hard origin/master
+githome branch -u origin/master
+