vifm: improve file opener; add/update more file icons

Put filextype commands to background (via %i).
This commit is contained in:
Hoang Nguyen 2024-02-09 00:00:00 +07:00
parent 43dca23e90
commit e18d3d120d
Signed by: folliehiyuki
GPG Key ID: B0567C20730E9B11
1 changed files with 77 additions and 70 deletions

View File

@ -190,40 +190,31 @@ mark r /
" ------------------------------------------------------------------------------
" Pdf
filextype {*.pdf},<application/pdf>
\ zathura %c %i,
" PDF, PostScript, djvu, comics, epub
filextype {*.pdf,*.ps,*.eps,*.ps.gz,*.djvu,*.djv,*.epub,*.cbr,*.cbz,*.cbt,*.cb7},<application/pdf,application/postscript,application/epub+zip,image/vnd.djvu,image/x-djvu>
\ zathura %f %i,
" PostScript
filextype {*.ps,*.eps,*.ps.gz},<application/postscript>
\ zathura %f,
" Djvu, comics, epub
filextype {*.mobi,*.pdb}
\ ebook-viewer %f,
\ FBReader %f,
filextype {*.djvu,*.epub,*.cbr,*.cbz,*.cbt,*.cb7}
\ zathura %f,
\ ebook-viewer %f %i,
\ FBReader %f %i,
" Audio
filetype {*.wav,*.mp3,*.flac,*.m4a,*.wma,*.ape,*.ac3,*.og[agx],*.spx,*.opus},<audio/*>
\ ffplay -hide_banner -nodisp -autoexit %c,
\ mplayer %c,
\ ffplay -hide_banner -nodisp -autoexit %c %s,
\ mpv --no-video %c %s,
" Video
filextype {*.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob,*.fl[icv],*.m2v,*.mov,*.webm,,*.m4v,*.r[am],*.divx,*.as[fx]},<video/*>
\ mpv %c %f,
\ ffplay -hide_banner -autoexit %f,
\ mplayer %f,
\ mpv %c %i,
\ ffplay -hide_banner -autoexit %f %i,
" Web
filextype {*.html,*.htm,*.xhtml}
\ firefox %f &,
\ qutebrowser %f %i &,
\ librewolf %f &,
\ chromium-browser %f,
\ vieb %f &,
\ firefox %f %i,
\ qutebrowser %f %i,
\ librewolf %f %i,
\ chromium-browser %f %i,
\ vieb %f %i,
" Object
filetype {*.o},<application/x-object> nm %f | less
@ -232,20 +223,21 @@ filetype {*.o},<application/x-object> nm %f | less
filetype {*.[1-8]} man ./%c
" Images
filextype {*.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm},<image/*>
\ qimgv %f,
\ vimiv %f,
\ imv %f,
filextype {*.bmp,*.jpg,*.jpeg,*.png,*.webp,*.gif,*.xpm},<image/*>
\ qimgv %f %i,
\ vimiv %f %i,
\ imv %f %i,
filextype *.svg
\ inkscape %f,
\ inkscape %f %i,
" OpenRaster
filextype *.ora
\ krita %f,
\ krita %f %i,
" Mindmap
filextype *.vym
\ vym %f,
\ vym %f %i,
" MD5
filetype *.md5
@ -307,13 +299,13 @@ filextype {*.odt,*.doc,*.docx,*.sxw,*.xls,*.xlsx,*.ods,*.odp,*.pptx},
\<application/vnd.openxmlformats-officedocument.*,
\application/msword,
\application/vnd.ms-excel>
\ libreoffice %f &,
\ libreoffice %f %i,
" TuDu files
filetype *.tudu tudu -f %c
" Qt projects
filextype *.pro qtcreator %f &
filextype *.pro qtcreator %f %i
" mbox
filetype *.mbox aerc %f
@ -322,12 +314,11 @@ filetype *.mbox aerc %f
{% set preview_cmd = xdg_dir.libexec_dir ~ '/preview %c:p %pw %ph' -%}
" Overwrite the image previewer
fileviewer <image/vnd.djvu>,<image/x-djvu>
\ {{ preview_cmd }} 2>/dev/null
fileviewer <image/vnd.djvu,image/x-djvu> {{ preview_cmd }} 2>/dev/null
" https://www.arewesixelyet.com/
if $TERM != 'alacritty'
fileviewer <image/*>,<video/*>,<application/x-font*>,<font/*>
fileviewer <image/*,video/*,application/x-font*,font/*>
\ {{ preview_cmd }} %pd %N 2>/dev/null
endif
@ -407,35 +398,46 @@ set classify+='-:char:'
set classify+='+:block:'
set classify+=' ::.Xdefaults,,.Xresources,,.bashprofile,,.bash_profile,,.bashrc,,.dmrc,,.d_store,,.fasd,,.jack-settings,,.mime.types,,.nvidia-settings-rc,,.pam_environment,,.profile,,.recently-used,,.selected_editor,,.xinitpurc,,.zprofile,,.yarnc,,.snclirc,,.tmux.conf,,.urlview,,.config,,.ini,,.user-dirs.dirs,,.mimeapps.list,,.offlineimaprc,,.msmtprc,,.Xauthority,,config::'
set classify+=' ::.gitignore,,.gitconfig,,.gitattributes,,.gitmodules::'
set classify+=' ::.gitlab-ci.yml::'
set classify+=' ::VERSION::'
set classify+=' ::BUILD,,BUCK,,WORKSPACE,,*.bazel,,*.bzl::'
set classify+=' ::favicon.*,,README,,readme::'
set classify+=' ::*.vim,,.vimrc,,.gvimrc,,*.vifm::'
set classify+=' ::gruntfile.coffee,,gruntfile.js,,gruntfile.ls::'
set classify+=' ::gulpfile.coffee,,gulpfile.js,,gulpfile.ls::'
set classify+=' ::*.ledger,,*.hledger,,*.beancount::'
set classify+=' ::license,,copyright,,copying,,LICENSE,,COPYRIGHT,,COPYING::'
set classify+=' ::authors,,AUTHORS,,.mailmap::'
set classify+='󰡨 ::Dockerfile::'
set classify+=' ::Makefile,,Makefile.*,,*.mk::'
set classify+=' ::VERSION::'
set classify+=' ::.gitignore,,.gitconfig,,.gitattributes,,.gitmodules::'
set classify+=' ::.gitlab-ci.yml::'
set classify+=' ::.editorconfig::'
set classify+='󱂚 ::ansible.cfg::'
set classify+=' ::yarn.lock::'
set classify+=' ::pom.xml::'
set classify+='󰟓 ::go.mod::'
set classify+=' ::build.cake::'
set classify+=' ::.bowerrc::'
set classify+=' ::gruntfile.coffee,,gruntfile.js,,gruntfile.ls::'
set classify+=' ::gulpfile.coffee,,gulpfile.js,,gulpfile.ls::'
set classify+=' ::rollup.config.js,,rollup.config.mjs::'
set classify+=' ::babel.config.json,,.babelrc.json::'
set classify+=' ::.stylelintrc,,.stylelintrc.config.*,,.stylelintrc.*::'
set classify+=' ::.eslintrc,,.eslintrc.*::'
set classify+=' ::yarn.lock::'
set classify+=' ::*.lock::'
set classify+='󱂚 ::ansible.cfg::'
set classify+='󰡨 ::Dockerfile,,Dockerfile.*::'
set classify+=' ::favicon.*::'
set classify+=' ::Makefile,,Makefile.*,,*.mk::'
set classify+=' ::Pulumi.yaml,,Pulumi.*.yaml::'
set classify+=' ::*.tf,,*.tfvars::'
set classify+=' ::BUILD,,BUCK,,WORKSPACE,,*.bazel,,*.bzl,,*.star::'
set classify+=' ::*.ledger,,*.hledger,,*.beancount::'
set classify+=' ::*.lock::'
set classify+=' ::*.info,,*.[0-8]::'
set classify+=' ::*.tf,,*.tfvars,,*.hcl::'
set classify+=' ::*.vim,,.vimrc,,.gvimrc,,*.vifm::'
set classify+=' ::*.tt[fc],,*.otf,,*.woff,,*.woff2::'
set classify+='󱂅 ::*.log::'
set classify+=' ::*.asm::'
set classify+='󰯄 ::*.kdbx::'
set classify+=' ::*.styl::'
set classify+='󰅍 ::*.txt::'
set classify+='󰅍 ::*.txt,,*.csv::'
set classify+=' ::*.scss,,*.sass::'
set classify+='󰌜 ::*.css::'
set classify+='󰌜 ::*.css,,*.less::'
set classify+=' ::*.py,,*.pyc,,*.pyx,,*.pyd,,*.pyo,,*.ipynb::'
set classify+=' ::*.r,,*.rdata,,*.rds,,*.rda,,*.rhistory::'
set classify+=' ::*.php::'
set classify+=' ::*.bicep::'
set classify+=' ::*.zig::'
set classify+=' ::*.markdown,,*.md,,*.mkd::'
set classify+='󰍘 ::*.adoc,,*.asciidoc::'
@ -444,27 +446,36 @@ set classify+=' ::*.ts,,*.mts,,*.cts::'
set classify+='󰜈 ::*.jsx,,*.tsx::'
set classify+=' ::*.svelte::'
set classify+='󰡄 ::*.vue::'
set classify+=' ::*.purs::'
set classify+=' ::*.res::'
set classify+=' ::*.graphql::'
set classify+=' ::*.v::'
set classify+='󰌔 ::*.kk::'
set classify+=' ::*.cr::'
set classify+=' ::*.wasm::'
set classify+=' ::*.j2,,*.jinja::'
set classify+='󰮄 ::*.jsonnet,,*.libsonnet::'
set classify+=' ::*.json,,*.jsonc,,*.yaml,,*.yml::'
set classify+='󰮄 ::*.jsonnet,,*.libsonnet,,*.k,,*.cue,,*.ncl,,*.dhall::'
set classify+=' ::*.json,,*.json[c5],,*.yaml,,*.yml,,*.kdl::'
set classify+=' ::*.toml::'
set classify+='󱅧 ::*.rego::'
set classify+=' ::*.ejs,,*.slim,,*.xml::'
set classify+=' ::*.hx,,*.hxml::'
set classify+=' ::*.htm,,*.html::'
set classify+=' ::*.templ::'
set classify+=' ::*.gd::'
set classify+=' ::*.mustasche::'
set classify+=' ::*.less,,*.bat,,*.conf,,*.ini,,*.rc,,*.cfg::'
set classify+=' ::*.bat,,*.conf,,*.ini,,*.rc,,*.cfg::'
set classify+=' ::*.rss::'
set classify+=' ::*.coffee::'
set classify+=' ::*.twig::'
set classify+=' ::*.c++,,*.cc,,*.[hc],,*.[hc]pp,,*.cxx::'
set classify+=' ::*.cuda::'
set classify+=' ::*.hs,,*.lhs::'
set classify+=' ::*.el::'
set classify+=' ::*.scm::'
set classify+=' ::*.nix::'
set classify+=' ::*.nim::'
set classify+=' ::*.hack::'
set classify+=' ::*.org::'
set classify+=' ::*.kt::'
set classify+='󰢱 ::*.lua::'
@ -476,26 +487,24 @@ set classify+=' ::*.ls::'
set classify+=' ::*.tex::'
set classify+=' ::*.jl::'
set classify+=' ::*.go::'
set classify+='󰟓 ::go.mod::'
set classify+=' ::*.rs,,*.rlib::'
set classify+=' ::*.db,,*.dump,,*.sql::'
set classify+=' ::*.sln,,*.suo::'
set classify+=' ::*.exe::'
set classify+=' ::*.diff,,*.sum,,*.md5,,*.sha512,,*.sha256::'
set classify+=' ::*.diff,,*.patch,,*.sum,,*.md5,,*.sha512,,*.sha256::'
set classify+=' ::*.scala::'
set classify+=' ::*.pug::'
set classify+=' ::*.pp::'
set classify+='󰬷 ::*.java,,*.jar::'
set classify+=' ::*.xul::'
set classify+=' ::*.clj,,*.cljc::'
set classify+=' ::*.clj,,*.cljs,,*.cljr,,*.cljc,,*.edn::'
set classify+=' ::*.pl,,*.pm,,*.t::'
set classify+=' ::*.mli,,*.ml::'
set classify+=' ::*.opam::'
set classify+=' ::*.cljs,,*.edn::'
set classify+=' ::*.rb::'
set classify+='󰌟 ::*.php::'
set classify+=' ::*.fish,,*.sh,,*.bash,,*.zsh,,*.nu,,*.xsh,,*.ps1::'
set classify+=' ::*.fish,,*.sh,,*.bash,,*.zsh,,*.nu,,*.xsh,,*.ps1,,*.elv::'
set classify+=' ::*.dart::'
set classify+=' ::*.elm::'
set classify+=' ::*.swift::'
set classify+='󰌛 ::*.cs::'
set classify+=' ::*.f#,,*.fs,,*.fsi,,*.fsscript,,*.fsx::'
@ -503,13 +512,15 @@ set classify+=' ::*.d::'
set classify+=' ::*.erl,,*.hrl::'
set classify+=' ::*.ex::'
set classify+=' ::*.exs::'
set classify+=' ::*.hex::'
set classify+=' ::*.ai::'
set classify+=' ::*.psb,,*.psd::'
set classify+=' ::*.aac,,*.anx,,*.asf,,*.au,,*.axa,,*.flac,,*.m2a,,*.m4a,,*.mid,,*.midi,,*.mp3,,*.mpc,,*.oga,,*.ogg,,*.ogx,,*.ra,,*.ram,,*.rm,,*.spx,,*.wav,,*.wma,,*.ac3::'
set classify+=' ::*.bmp,,*.gif,,*.ico,,*.jxl,,*.jpeg,,*.jpg,,*.png,,*.svg,,*.svgz,,*.tga,,*.tiff,,*.xmb,,*.xcf,,*.xpm,,*.xspf,,*.xwd,,*.cr2,,*.dng,,*.3fr,,*.ari,,*.arw,,*.bay,,*.crw,,*.cr3,,*.cap,,*.data,,*.dcs,,*.dcr,,*drf,,*.eip,,*.erf,,*.fff,,*.gpr,,*.iiq,,*.k25,,*.kdc,,*.mdc,,*.mef,,*.mos,,*.mrw,,*.obm,,*.orf,,*.pef,,*.ptx,,*.pxn,,*.r3d,,*.raf,,*.raw,,*.rwl,,*.rw2,,*.rwz,,*.sr2,,*.srf,,*.srf,,*.srw,,*.tif,,*.x3f::'
set classify+=' ::*.bmp,,*.gif,,*.ico,,*.jxl,,*.jpeg,,*.jpg,,*.png,,*.webp,,*.tga,,*.tiff,,*.xmb,,*.xcf,,*.xpm,,*.xspf,,*.xwd,,*.cr2,,*.dng,,*.3fr,,*.ari,,*.arw,,*.bay,,*.crw,,*.cr3,,*.cap,,*.data,,*.dcs,,*.dcr,,*drf,,*.eip,,*.erf,,*.fff,,*.gpr,,*.iiq,,*.k25,,*.kdc,,*.mdc,,*.mef,,*.mos,,*.mrw,,*.obm,,*.orf,,*.pef,,*.ptx,,*.pxn,,*.r3d,,*.raf,,*.raw,,*.rwl,,*.rw2,,*.rwz,,*.sr2,,*.srf,,*.srf,,*.srw,,*.tif,,*.x3f::'
set classify+=' ::*.svg,,*.svgz::'
set classify+=' ::*.avi,,*.flv,,*.mkv,,*.mov,,*.mp4,,*.mpeg,,*.mpg,,*.webm::'
set classify+=' ::*.epub,,*.pdf,,*.fb2,,*.djvu::'
set classify+=' ::*.7z,,*.apk,,*.bz2,,*.cab,,*.cpio,,*.deb,,*.gem,,*.gz,,*.gzip,,*.lh,,*.lzh,,*.lzma,,*.rar,,*.rpm,,*.tar,,*.tgz,,*.xz,,*.zip,,*.zst::'
set classify+=' ::*.epub,,*.pdf,,*.fb2,,*.djvu,,*.djv::'
set classify+=' ::*.7z,,*.apk,,*.bz2,,*.cab,,*.cpio,,*.deb,,*.gem,,*.gz,,*.gzip,,*.lh,,*.lzh,,*.lzma,,*.rar,,*.rpm,,*.tar,,*.tgz,,*.xz,,*.zip,,*.zst::'
set classify+=' ::*.cbr,,*.cbz::'
set classify+=' ::*.doc,,*.docx,,*.odt::'
set classify+=' ::*.xls,,*.xlsx,,*.xlsmx,,*.ods::'
@ -521,18 +532,14 @@ set classify+=' ::.git/::/,
\ 󰃨 ::.cache/::/,
\  ::.config/::/,
\  ::.local/::/,
\  ::.firefox/,,.librewolf/::/,
\  ::Android/::/,
\  ::Archives/::/,
\  ::Books/::/,
\  ::Code/::/,
\  ::Desktop/::/,
\  ::Documents/::/,
\  ::Downloads/::/,
\  ::Mail/::/,
\  ::Music/::/,
\  ::Notes/::/,
\  ::Downloads/::/,
\ 󰌳 ::Music/::/,
\  ::Pictures/::/,
\  ::Public/::/,
\  ::Template/::/,
\ ::Videos/::/'
\ 󰨜 ::Videos/::/'