From 545447c9b0fdfdc7a375d63332e852147c905114 Mon Sep 17 00:00:00 2001 From: fbt Date: Fri, 21 Nov 2014 13:48:09 +0300 Subject: [PATCH] Handling files by name. Takes precedence over mimes. --- sx-open | 9 +++++++++ sx-open.cfg | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/sx-open b/sx-open index 538556b..63b49d1 100755 --- a/sx-open +++ b/sx-open @@ -23,6 +23,15 @@ handle_uri() { handle_fs_target() { local target="${1##*file://}" + target_filename="${target##*/}" + + for n in "${!filename_handlers[@]}"; do + [[ "$target_filename" =~ ${filename_handlers[${n}]} ]] && { + ${n} "$target" & + return 0 + } + done + target_mimetype=$(file -ib "$target") for m in "${!mime_handlers[@]}"; do diff --git a/sx-open.cfg b/sx-open.cfg index 2c1b3fa..cc4e526 100644 --- a/sx-open.cfg +++ b/sx-open.cfg @@ -3,12 +3,17 @@ declare -A uri_handlers declare -A mime_handlers +declare -A filename_handlers uri_handlers=( ["steam"]='^steam://.+' ["browser"]='.+' ) +filename_handlers=( + ["javaws"]='^kvm.+?\.cgi$' +) + mime_handlers=( ["sxiv"]='image/.+' )