98 lines
4.4 KiB
Plaintext
98 lines
4.4 KiB
Plaintext
# Websites
|
|
ext x?html?, has brave, X, flag f = brave -- "$@"
|
|
|
|
# Misc
|
|
mime ^text, label editor = nvim -- "$@"
|
|
mime ^text, label pager = "$PAGER" -- "$@"
|
|
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = nvim -- "$@"
|
|
!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
|
|
|
|
ext 1 = man "$1"
|
|
ext s[wmf]c, has zsnes, X = zsnes "$1"
|
|
ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1"
|
|
ext nes, has fceux, X = fceux "$1"
|
|
ext exe = wine "$1"
|
|
name ^[mM]akefile$ = make
|
|
|
|
# Code
|
|
ext py = python -- "$1"
|
|
ext pl = perl -- "$1"
|
|
ext rb = ruby -- "$1"
|
|
ext js = node -- "$1"
|
|
ext sh = sh -- "$1"
|
|
ext php = php -- "$1"
|
|
|
|
# Audio without X
|
|
mime ^audio|ogg$, terminal, has mpv = mpv -- "$@"
|
|
|
|
# Video/Audio with a GUI
|
|
mime ^video, has mpv, X, flag f = mpv -- "$@"
|
|
mime ^video, has mpv, X, flag f = mpv --fs -- "$@"
|
|
|
|
# Video without X:
|
|
mime ^video, terminal, !X, has mpv = mpv -- "$@"
|
|
|
|
# Documents
|
|
ext pdf, has zathura, X, flag f = zathura -- "$@"
|
|
ext pdf, has mupdf, X, flag f = mupdf "$@"
|
|
ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@"
|
|
ext pdf, has apvlv, X, flag f = apvlv -- "$@"
|
|
ext pdf, has xpdf, X, flag f = xpdf -- "$@"
|
|
ext pdf, has evince, X, flag f = evince -- "$@"
|
|
ext pdf, has atril, X, flag f = atril -- "$@"
|
|
ext pdf, has okular, X, flag f = okular -- "$@"
|
|
ext pdf, has epdfview, X, flag f = epdfview -- "$@"
|
|
ext pdf, has qpdfview, X, flag f = qpdfview "$@"
|
|
ext pdf, has open, X, flag f = open "$@"
|
|
ext docx?, has catdoc, terminal = catdoc -- "$@" | "$PAGER"
|
|
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f = gnumeric -- "$@"
|
|
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has kspread, X, flag f = kspread -- "$@"
|
|
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@"
|
|
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f = soffice "$@"
|
|
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@"
|
|
ext djvu, has zathura,X, flag f = zathura -- "$@"
|
|
ext djvu, has evince, X, flag f = evince -- "$@"
|
|
ext djvu, has atril, X, flag f = atril -- "$@"
|
|
ext djvu, has djview, X, flag f = djview -- "$@"
|
|
ext epub, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
|
|
ext mobi, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
|
|
|
|
# Image Viewing:
|
|
mime ^image, has feh, X, flag f = feh -- "$@"
|
|
ext xcf, X, flag f = gimp -- "$@"
|
|
|
|
# Archives
|
|
# avoid password prompt by providing empty password
|
|
ext 7z, has 7z = 7z -p l "$@" | "$PAGER"
|
|
ext ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --list --each -- "$@" | "$PAGER"
|
|
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --list --each -- "$@" | "$PAGER"
|
|
ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --extract --each -- "$@"
|
|
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --extract --each -- "$@"
|
|
|
|
# Listing and extracting archives without atool:
|
|
ext tar|gz|bz2|xz, has tar = tar vvtf "$1" | "$PAGER"
|
|
ext tar|gz|bz2|xz, has tar = for file in "$@"; do tar vvxf "$file"; done
|
|
ext bz2, has bzip2 = for file in "$@"; do bzip2 -dk "$file"; done
|
|
ext zip, has unzip = unzip -l "$1" | less
|
|
ext zip, has unzip = for file in "$@"; do unzip -d "${file%.*}" "$file"; done
|
|
ext ace, has unace = unace l "$1" | less
|
|
ext ace, has unace = for file in "$@"; do unace e "$file"; done
|
|
ext rar, has unrar = unrar l "$1" | less
|
|
ext rar, has unrar = for file in "$@"; do unrar x "$file"; done
|
|
|
|
# Flag t fallback terminals
|
|
mime ^ranger/x-terminal-emulator, has alacritty = alacritty -e "$@"
|
|
|
|
# Misc
|
|
label wallpaper, number 11, mime ^image, has feh, X = feh --bg-scale "$1"
|
|
label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1"
|
|
label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1"
|
|
label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1"
|
|
|
|
# Define the editor for non-text files + pager as last action
|
|
!mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ask
|
|
label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@"
|
|
label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
|
|
|
|
# The very last action, so that it's never triggered accidentally, is to execute a program:
|
|
mime application/x-executable = "$1" |