diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2004-07-26 16:59:53 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2004-07-26 16:59:53 +0000 |
commit | 8c9a6b01d1bf727d27bc12d7e63fbb34fa157587 (patch) | |
tree | 3932e6e59f6b42c1b9be84c4b375c412c10a708a /Functions | |
parent | 17e576782c4fd64194d4908af5b9774308f1205f (diff) | |
download | zsh-8c9a6b01d1bf727d27bc12d7e63fbb34fa157587.tar.gz zsh-8c9a6b01d1bf727d27bc12d7e63fbb34fa157587.tar.xz zsh-8c9a6b01d1bf727d27bc12d7e63fbb34fa157587.zip |
20199: improve MIME handling.
Diffstat (limited to 'Functions')
-rw-r--r-- | Functions/MIME/pick-web-browser | 9 | ||||
-rw-r--r-- | Functions/MIME/zsh-mime-setup | 24 |
2 files changed, 27 insertions, 6 deletions
diff --git a/Functions/MIME/pick-web-browser b/Functions/MIME/pick-web-browser index 6f4650c12..1a73b4de7 100644 --- a/Functions/MIME/pick-web-browser +++ b/Functions/MIME/pick-web-browser @@ -82,8 +82,13 @@ if [[ -n $DISPLAY ]]; then for browser in $xbrowsers; do if [[ $windows[(I)(#i)$browser] -ne 0 ]]; then if [[ $browser = konqueror ]]; then - # I'm sure there's documentation for this somewhere... - dcop $(dcop|grep konqueror) default openBrowserWindow $url + # kfmclient is less hairy and better supported than direct + # use of dcop. Run kfmclient --commands + # for more information. Note that as konqueror is a fully + # featured file manager, this will actually do complete + # MIME handling, not just web pages. + kfmclient openURL $url || + dcop $(dcop|grep konqueror) default openBrowserWindow $url else # Mozilla bells and whistles are described at: # http://www.mozilla.org/unix/remote.html diff --git a/Functions/MIME/zsh-mime-setup b/Functions/MIME/zsh-mime-setup index fee3237f7..d0149ba29 100644 --- a/Functions/MIME/zsh-mime-setup +++ b/Functions/MIME/zsh-mime-setup @@ -53,14 +53,30 @@ fi # to handlers and their flags. typeset -A suffix_type_map type_handler_map type_flags_map +local -a default_type_files default_cap_files local -a type_files cap_files array match mbegin mend local file line type suffix exts elt flags line2 +integer ind + +default_type_files=(~/.mime.types /etc/mime.types) +default_cap_files=(~/.mailcap /etc/mailcap) # Customizable list of files to examine. -zstyle -a :mime: mime-types type_files || - type_files=(~/.mime.types /etc/mime.types) -zstyle -a :mime: mailcap cap_files || - cap_files=(~/.mailcap /etc/mailcap) +if zstyle -a :mime: mime-types type_files; then + while (( (ind = ${type_files[(I)+]}) > 0 )); do + type_files[$ind]=($default_type_files) + done +else + type_files=($default_type_files) +fi + +if zstyle -a :mime: mailcap cap_files; then + while (( (ind = ${cap_files[(I)+]}) > 0 )); do + cap_files[$ind]=($default_cap_files) + done +else + cap_files=($default_cap_files) +fi { mime-setup-add-type() { |