diff --git a/.config/aliasrc b/.config/aliasrc index 4e8fbf8..7ae7ae0 100644 --- a/.config/aliasrc +++ b/.config/aliasrc @@ -28,9 +28,6 @@ sd() { find ~/ownCloud/* -type f | grep ".pdf" | fzf | xargs -r $READER ;} # grep alias grep="grep --color=auto" -# lastpass -alias lastpass="lpass" - # ls(d) alias l="lsd" alias la="lsd -la" diff --git a/.config/profile b/.config/profile index aca0aee..2ca2b5e 100644 --- a/.config/profile +++ b/.config/profile @@ -7,7 +7,7 @@ export EDITOR="nvim" export TERMINAL="st" export BROWSER="firefox" export READER="zathura" -export FILE="vifm" +export FILE="vifmrun" export SUDO_ASKPASS="$HOME/.local/bin/tools/dmenupass" export NOTMUCH_CONFIG="$HOME/.config/notmuch-config" export GTK2_RC_FILES="$HOME/.config/gtk-2.0/gtkrc-2.0" @@ -18,7 +18,7 @@ export VIDEO="mpv" export AUDIO="mpv" export TABLE="sc-im" export IMAGE="sxiv" -export LATEX="code" +export LATEX="nvim" export MAIL="thunderbird" export MUSIC="ncmpcpp" diff --git a/.config/vifm/vifmrc b/.config/vifm/vifmrc index 6a2ee3f..77d0ba5 100644 --- a/.config/vifm/vifmrc +++ b/.config/vifm/vifmrc @@ -12,8 +12,6 @@ " you will need to change this setting. set vicmd=nvim -" set vicmd=elvis\ -G\ termcap -" set vicmd=vile " This makes vifm perform file operations on its own instead of relying on " standard utilities like `cp`. While using `cp` and alike is a more universal @@ -70,7 +68,7 @@ colorscheme Default " TIME_STAMP_FORMAT=%m/%d-%H:%M " See man date or man strftime for details. -set timefmt=%m/%d\ %H:%M +set timefmt=%d.%m.%y\ %H:%M " Show list of matches on tab completion in command-line mode @@ -172,7 +170,11 @@ command! reload :write | restart " Pdf filextype *.pdf zathura %c %i &, apvlv %c, xpdf %c -fileviewer *.pdf pdftotext -nopgbrk %c - +fileviewer *.pdf + \ vifmimg pdfpreview %px %py %pw %ph %c + \ %pc + \ vifmimg clear + "\ pdftotext -nopgbrk %c - " PostScript filextype *.ps,*.eps,*.ps.gz @@ -214,12 +216,8 @@ fileviewer *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob, " Web filextype *.html,*.htm - \ {Open with dwb} - \ dwb %f %i &, \ {Open with firefox} \ firefox %f &, - \ {Open with uzbl} - \ uzbl-browser %f %i &, filetype *.html,*.htm links, lynx " Object @@ -232,13 +230,15 @@ fileviewer *.[1-8] man ./%c | col -b " Images filextype *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm \ {View in sxiv} - \ sxiv %f, - \ {View in gpicview} - \ gpicview %c, - \ {View in shotwell} - \ shotwell, + \ sxiv -ia %c %d &, fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm - \ identify %f + \ vifmimg draw %px %py %pw %ph %c + \ %pc + \ vifmimg clear +fileviewer *.gif + \ vifmimg gifpreview %px %py %pw %ph %c + \ %pc + \vifmimg clear " OpenRaster filextype *.ora @@ -393,6 +393,25 @@ set vifminfo=dhistory,savedirs,chistory,state,tui,shistory, " ------------------------------------------------------------------------------ + +" GETTING ICONS TO DISPLAY IN VIFM +" You need the next 14 lines! + +" file types +set classify=' :dir:/, :exe:, :reg:, :link:' +" various file names +set classify+=' ::../::, ::*.sh::, ::*.[hc]pp::, ::*.[hc]::, ::/^copying|license$/::, ::.git/,,*.git/::, ::*.epub,,*.fb2,,*.djvu::, ::*.pdf::, ::*.htm,,*.html,,**.[sx]html,,*.xml::' +" archives +set classify+=' ::*.7z,,*.ace,,*.arj,,*.bz2,,*.cpio,,*.deb,,*.dz,,*.gz,,*.jar,,*.lzh,,*.lzma,,*.rar,,*.rpm,,*.rz,,*.tar,,*.taz,,*.tb2,,*.tbz,,*.tbz2,,*.tgz,,*.tlz,,*.trz,,*.txz,,*.tz,,*.tz2,,*.xz,,*.z,,*.zip,,*.zoo::' +" images +set classify+=' ::*.bmp,,*.gif,,*.jpeg,,*.jpg,,*.ico,,*.png,,*.ppm,,*.svg,,*.svgz,,*.tga,,*.tif,,*.tiff,,*.xbm,,*.xcf,,*.xpm,,*.xspf,,*.xwd::' +" audio +set classify+=' ::*.aac,,*.anx,,*.asf,,*.au,,*.axa,,*.flac,,*.m2a,,*.m4a,,*.mid,,*.midi,,*.mp3,,*.mpc,,*.oga,,*.ogg,,*.ogx,,*.ra,,*.ram,,*.rm,,*.spx,,*.wav,,*.wma,,*.ac3::' +" media +set classify+=' ::*.avi,,*.ts,,*.axv,,*.divx,,*.m2v,,*.m4p,,*.m4v,,.mka,,*.mkv,,*.mov,,*.mp4,,*.flv,,*.mp4v,,*.mpeg,,*.mpg,,*.nuv,,*.ogv,,*.pbm,,*.pgm,,*.qt,,*.vob,,*.wmv,,*.xvid::' +" office files +set classify+=' ::*.doc,,*.docx::, ::*.xls,,*.xls[mx]::, ::*.pptx,,*.ppt::' + " Sample mappings " Start shell in current directory diff --git a/.local/bin/vifm/vifmimg b/.local/bin/vifm/vifmimg new file mode 100644 index 0000000..e5d8763 --- /dev/null +++ b/.local/bin/vifm/vifmimg @@ -0,0 +1,53 @@ +#!/usr/bin/env bash +readonly ID_PREVIEW="preview" + +#AUTO_REMOVE="yes" +# By enabling this option the script will remove the preview file after it is drawn +# and by doing so the preview will always be up-to-date with the file. +# This however, requires more CPU and therefore affects the overall performance. + +if [ -e "$FIFO_UEBERZUG" ]; then + if [[ "$1" == "draw" ]]; then + declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" + [x]="$2" [y]="$3" [width]="$4" [height]="$5" \ + [path]="${PWD}/$6") \ + > "$FIFO_UEBERZUG" + + elif [[ "$1" == "videopreview" ]]; then + echo -e "Loading preview..\nFile: $6" + [[ ! -d "/tmp${PWD}/$6/" ]] && mkdir -p "/tmp${PWD}/$6/" + [[ ! -f "/tmp${PWD}/$6.png" ]] && ffmpegthumbnailer -i "${PWD}/$6" -o "/tmp${PWD}/$6.png" -s 0 -q 10 + declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" + [x]="$2" [y]="$3" [width]="$4" [height]="$5" \ + [path]="/tmp${PWD}/$6.png") \ + > "$FIFO_UEBERZUG" + + elif [[ "$1" == "gifpreview" ]]; then + echo -e "Loading preview..\nFile: $6" + [[ ! -d "/tmp${PWD}/$6/" ]] && mkdir -p "/tmp${PWD}/$6/" && convert -coalesce "${PWD}/$6" "/tmp${PWD}/$6/$6.png" + for frame in $(ls -1 /tmp${PWD}/$6/$6*.png | sort -V); do + declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" + [x]="$2" [y]="$3" [width]="$4" [height]="$5" \ + [path]="$frame") \ + > "$FIFO_UEBERZUG" + # Sleep between frames to make the animation smooth. + sleep .07 + done + + elif [[ "$1" == "pdfpreview" ]]; then + echo -e "Loading preview..\nFile: $6" + [[ ! -d "/tmp${PWD}/$6/" ]] && mkdir -p "/tmp${PWD}/$6/" + [[ ! -f "/tmp${PWD}/$6.png" ]] && pdftoppm -png -singlefile "$6" "/tmp${PWD}/$6" + declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" + [x]="$2" [y]="$3" [width]="$4" [height]="$5" \ + [path]="/tmp${PWD}/$6.png") \ + > "$FIFO_UEBERZUG" + + elif [[ "$1" == "clear" ]]; then + declare -p -A cmd=([action]=remove [identifier]="$ID_PREVIEW") \ + > "$FIFO_UEBERZUG" + [[ ! -z $AUTO_REMOVE ]] && [[ -f "/tmp${PWD}/$6.png" ]] && rm -f "/tmp${PWD}/$6.png" + [[ ! -z $AUTO_REMOVE ]] && [[ -d "/tmp${PWD}/$6/" ]] && rm -rf "/tmp${PWD}/$6/" + + fi +fi diff --git a/.local/bin/vifm/vifmrun b/.local/bin/vifm/vifmrun new file mode 100644 index 0000000..9eda32a --- /dev/null +++ b/.local/bin/vifm/vifmrun @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +export FIFO_UEBERZUG="/tmp/vifm-ueberzug-${PPID}" + +function cleanup { + rm "$FIFO_UEBERZUG" 2>/dev/null + pkill -P $$ 2>/dev/null +} + +rm "$FIFO_UEBERZUG" 2>/dev/null +mkfifo "$FIFO_UEBERZUG" +trap cleanup EXIT +tail --follow "$FIFO_UEBERZUG" | ueberzug layer --silent --parser bash & + +vifm +cleanup