]> git.phdru.name Git - dotfiles.git/blobdiff - .mc/menu
.mc: Treat `*.m3u8` as playlists
[dotfiles.git] / .mc / menu
index c2172ca397c46278730a9dd91440215938b04e0f..18340985d878c579a55316b1143c327561ebf2f3 100644 (file)
--- a/.mc/menu
+++ b/.mc/menu
@@ -61,39 +61,55 @@ T  fb2txt
    esac
    $A %f | xsltproc /usr/local/src/FictionBook/FB2_2_txt_ru.xsl - | webstdin -e txt -t
 
-+= t lr & f \.(pdf|PDF)$
-e  View pdf
++ t lr & f \.(pdf|PDF)$
+v  View pdf
+   pdftotext -layout -q %f - | iconv.py -f utf-8 | ${PAGER:-more}
+
++ t lr & f \.(pdf|PDF)$
+e  View pdf with evince
    evince %f &
 
++= t lr & f \.(pdf|PDF)$
+e  View pdf with qpdfview
+   if [ "%d/%f" = "`echo %d/%f | iconv -t utf-8`" ]; then qpdfview %f & else src=%d/%f; dest="$HOME/tmp/`echo $src | koi2lat | sed 's!/!%!g'`"; ln -s "$src" "$dest" && qpdfview "$dest" & (sleep 3; exec rm -f "$dest") & fi
+
 += t lr & f \.djvu(\.bz2|\.gz)?$
 e  View djvu
    djview %f &
 
-+= t lr & f \.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg)$
-o  View OpenDoc with odt2txt
-   odt2txt %f | ${PAGER:-more}
-
 + t lr & f \.((pdf|PDF|ps|PS)(\.bz2|\.gz)?|odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg|doc|DOC|rtf|docx|DOCX|xls|XLS|xlsx|XLSX)$
 e  Edit (Open)Docs with libreoffice
    libreoffice %f &
 
++ t lr & f \.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg|doc|DOC|rtf|docx|DOCX|xls|XLS|xlsx|XLSX)$
+v  View (Open)Docs with libreoffice
+   #libreoffice --headless --convert-to "txt:Text (encoded):UTF8" %f
+   libreoffice --cat %f | ${PAGER:-more}
+
 += t lr & f \.(doc|DOC|rtf)$
 d  View doc with catdoc
    catdoc %f | ${PAGER:-more}
 
++= t lr & f \.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg)$
+o  View OpenDoc with odt2txt
+   odt2txt %f | ${PAGER:-more}
+
 += t lr & f \.(docx|DOCX)$
 d  View docx with docx2txt
    docx2txt %f - | iconv.py -f utf-8 | ${PAGER:-more}
 
-+ t lr & f \.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg|doc|DOC|rtf|docx|DOCX|xls|XLS|xlsx|XLSX)$
-v  View (Open)Docs with libreoffice
-   #libreoffice --headless --convert-to "txt:Text (encoded):UTF8" %f
-   libreoffice --cat %f | ${PAGER:-more}
++= t lr & f \.(xls|XLS|xlsx|XLSX)$
+o  View OpenXlsx with xlsx2csv
+   xlsx2csv %f | iconv.py -f utf-8 | ${PAGER:-more}
 
 += t lr & f \.(xls|XLS)$
 x  View xls with xls2csv
    xls2csv %f | ${PAGER:-more}
 
++ t lr & f \.(bmp|BMP|gif|GIF|jpg|JPG|jpeg|JPEG|pbm|PBM|ppm|PPM|png|PNG|xbm|xpm|ico|jp2|tif|TIF|tiff|TIFF|webp)$ | t t
+e  Edit image(s)
+   gimp %s &
+
 + t lr & f \.(bmp|BMP|gif|GIF|jpg|JPG|jpeg|JPEG|pbm|PBM|ppm|PPM|png|PNG|xbm|xpm)$ | t t
 = t lr & f \.(bmp|BMP|gif|GIF|jpg|JPG|jpeg|JPEG|pbm|PBM|ppm|PPM|png|PNG|xbm|xpm)$
 i  View image(s) scaled
@@ -112,47 +128,68 @@ I  Identify image
 I  View icon, JPEG-2000, TIFF, WebP image
    display %s &
 
-+ t lr & f \.(aac|ac3|ape|cue|dts|flac|m3u|mka|mp3|MP3|ogg|OGG|pls|WAV|wav|wv)$ | t t
++ t lr & f \.(ico|jp2|tif|TIF|tiff|TIFF|webp)$
+I  Identify image
+   identify %f
+
++ t lr & f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mka|mp3|MP3|ogg|OGG|pls|WAV|wav|wv)$ | t t
 a  Add the audiofile(s) or playlist(s)
-   if [ "`audtool --get-volume`" -eq 0 ]; then cgmem_nice 200 audacious & sleep 3; fi
+   if [ "`audtool --get-volume`" -eq 0 ]; then audacious & sleep 3; fi
    for f in %s; do
-      audtool --playlist-addurl "$f"
+      case "$f" in
+         *.m3u8?) while read song; do
+            audtool --playlist-addurl "$song"
+         done < "$f" ;;
+         *) audtool --playlist-addurl "$f" ;;
+      esac
    done
    #deadbeef --queue %s &
 
-+ t lr & f \.(aac|ac3|ape|cue|dts|flac|m3u|mka|mp3|MP3|ogg|OGG|pls|WAV|wav|wv)$ | t t
-= t lr & f \.(aac|ac3|ape|cue|dts|flac|m3u|mka|mp3|MP3|ogg|OGG|pls|WAV|wav|wv)$
++ t lr & f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mka|mp3|MP3|ogg|OGG|pls|WAV|wav|wv)$ | t t
+= t lr & f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mka|mp3|MP3|ogg|OGG|pls|WAV|wav|wv)$
 p  Load the audiofile(s) or playlist(s)
-   if [ "`audtool --get-volume`" -eq 0 ]; then cgmem_nice 200 audacious & sleep 3; fi
+   if [ "`audtool --get-volume`" -eq 0 ]; then audacious & sleep 3; fi
    audtool --playlist-clear
    for f in %s; do
-      audtool --playlist-addurl "$f"
+      case "$f" in
+         *.m3u8?) while read song; do
+            audtool --playlist-addurl "$song"
+         done < "$f" ;;
+         *) audtool --playlist-addurl "$f" ;;
+      esac
    done
    #deadbeef --queue %s &
 
-+ t lr & f \.(aac|ac3|ape|cue|dts|flac|m3u|mka|mp3|MP3|ogg|OGG|pls|WAV|wav|wv)$ | t t
++ t lr & f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mka|mp3|MP3|ogg|OGG|pls|WAV|wav|wv)$ | t t
 P  Play the audiofile(s) or playlist(s)
-   if [ "`audtool --get-volume`" -eq 0 ]; then cgmem_nice 200 audacious & sleep 3; fi
+   if [ "`audtool --get-volume`" -eq 0 ]; then audacious & sleep 3; fi
    audtool --playlist-clear
    for f in %s; do
-      audtool --playlist-addurl "$f"
+      case "$f" in
+         *.m3u8?) while read song; do
+            audtool --playlist-addurl "$song"
+         done < "$f" ;;
+         *) audtool --playlist-addurl "$f" ;;
+      esac
    done
    exec audtool --playback-play
    #mplayer -playlist %f &
    #deadbeef %s &
 
-+ t lr & f \.m3u
++ t lr & f \.m3u8?
 R  Play the playlist in random order
    "$HOME"/admin/prog/audio-cdr-video/audio/shuffle-playlist.py %f random-playlist-tmp.m3u
-   if [ "`audtool --get-volume`" -eq 0 ]; then cgmem_nice 200 audacious & sleep 3; fi
+   if [ "`audtool --get-volume`" -eq 0 ]; then audacious & sleep 3; fi
    audtool --playlist-clear
-   audtool --playlist-addurl random-playlist-tmp.m3u
+   while read song; do
+      audtool --playlist-addurl "$song"
+   done < random-playlist-tmp.m3u
    audtool --playback-play
    #mplayer -playlist random-playlist-tmp.m3u &
    #deadbeef --queue random-playlist-tmp.m3u & deadbeef --play
    (sleep 5; exec rm random-playlist-tmp.m3u) &
 
-+ t lr & f \.(m3u|mp3|MP3|cue|aac|ac3|ape|dts|flac|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$
++ t lr & f \.(m3u8?|mp3|MP3|cue|aac|ac3|ape|dts|flac|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$
 i  Audio/video info
    exec "$HOME"/.config/mpv/mpv_identify.sh %f
 
@@ -160,30 +197,30 @@ i  Audio/video info
 i  DVD info
    exec "$HOME"/.config/mpv/mpv_identify.sh .
 
-+ f \.(aac|ac3|ape|cue|dts|flac|m3u|mp3|MP3|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t d | t t
++ f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mp3|MP3|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t d | t t
 m  Play video file(s) with mpv
    mplayer %s &
 
-+ f \.(aac|ac3|ape|cue|dts|flac|m3u|mp3|MP3|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t d | t t
++ f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mp3|MP3|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t d | t t
 m  Play video file(s) with mpv (loud)
    AUDIO_VOLUME=120
    export AUDIO_VOLUME
    mplayer %s &
 
-+ f \.(aac|ac3|ape|cue|dts|flac|m3u|mp3|MP3|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t d | t t
-= f \.(aac|ac3|ape|cue|dts|flac|m3u|mp3|MP3|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$
++ f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mp3|MP3|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t d | t t
+= f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mp3|MP3|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$
 m  Play video file(s) with mpv (louder)
    AUDIO_VOLUME=150
    export AUDIO_VOLUME
    mplayer %s &
 
-+ f \.(aac|ac3|ape|cue|dts|flac|m3u|mp3|MP3|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t d | t t
++ f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mp3|MP3|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t d | t t
 m  Play video file(s) with mpv (ask for volume)
    AUDIO_VOLUME=%{Enter volume}
    export AUDIO_VOLUME
    mplayer %s &
 
-+ f \.(m3u|mp3|MP3|cue|aac|ac3|ape|dts|flac|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t t
++ f \.(m3u8?|mp3|MP3|cue|aac|ac3|ape|dts|flac|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t t
 M  Play audio/video with mpv GUI
    gmplayer %s &