X-Git-Url: https://git.phdru.name/?p=dotfiles.git;a=blobdiff_plain;f=.mc%2Fmenu;h=c2198c8978457c3e3ae2b81f25ad519b2ef36151;hp=a111a659fba320815e10dc10b5f92e6bd1e8ade5;hb=HEAD;hpb=bd9f52051e2858f794875a3332896e7362c14f08 diff --git a/.mc/menu b/.mc/menu index a111a65..c2198c8 100644 --- a/.mc/menu +++ b/.mc/menu @@ -2,7 +2,7 @@ shell_patterns=0 # This is necessary to overcome a bug in mc - without this # mc makes default wrong item -N NOOP +: NOOP : @ Do something on all of the file(s) at once @@ -10,34 +10,42 @@ N NOOP exec $CMD %s + t t -@ Do something on the tagged files one by one +@ Do something on the selected files one by one CMD=%{Enter command} - for f in %t; do + for f in %s; do $CMD "$f" done -+ t r -p View the file in the pager - exec $PAGER %f ++ t lr +p View the file in a pager + exec ${PAGER:-more} %f -+ t r ++ t lr +g Edit the file in gvim + gvim %f & + ++ t lr b View the file in a browser - exec webbrowser file://%d/%f + exec webbrowser-encode-url -e utf-8 file://%d/%f -+ t r ++ t lr += f \.(htm(l?)|txt)$ w View the file in a new browser window - exec webbrowser -n file://%d/%f + exec webbrowser-encode-url -e utf-8 -n file://%d/%f -+ t r -= f \.(htm(l?)|txt)$ ++ t lr t View the file in a new browser tab - exec webbrowser -t file://%d/%f + exec webbrowser-encode-url -e utf-8 -t file://%d/%f -+= f \.fb2(\.bz2|\.gz|\.zip)?$ | f \.(chm|epub|htm(l?)|txt|rtf)$ & t r -f FBReader ++ t lr +p View the file in a new private browser tab + exec webbrowser -p file://%d/%f + ++= f \.fb2(\.bz2|\.gz|\.zip)?$ | f \.(chm|epub|htm(l?)|txt|rtf)$ & t lr +f View fb2/chm/epub with fbreader fbreader %f & -+ t r & f \.fb2(\.bz2|\.gz|\.zip)$ ++ t lr & f \.fb2(\.bz2|\.gz|\.zip)$ H fb2html case %f in *.fb2.bz2) A="bunzip2 -c" ;; @@ -47,7 +55,7 @@ H fb2html esac $A %f | xsltproc /usr/local/src/FictionBook/FB2_2_html_ru.xsl - | webstdin -t -+ t r & f \.fb2(\.bz2|\.gz|\.zip)$ ++ t lr & f \.fb2(\.bz2|\.gz|\.zip)$ T fb2txt case %f in *.fb2.bz2) A="bunzip2 -c" ;; @@ -57,317 +65,498 @@ T fb2txt esac $A %f | xsltproc /usr/local/src/FictionBook/FB2_2_txt_ru.xsl - | webstdin -e txt -t -+= t r & f \.(pdf|PDF|djvu)(\.bz2|\.gz)?$ -e evince ++ 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 r & f \.(doc|DOC|rtf)$ -d catdoc - catdoc %f | less ++= 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 | iconv -t koi8-r | 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 \.((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 r & f \.(docx|DOCX)$ -d docx2txt - docx2txt %f - | less ++= t lr & f \.(docx|DOCX)$ +d View docx with docx2txt + docx2txt %f - | iconv.py -f utf-8 | ${PAGER:-more} -+= t r & f \.(xls|XLS)$ -x xls2csv - xls2csv %f | less ++= t lr & f \.(xls|XLS|xlsx|XLSX)$ +o View OpenXlsx with xlsx2csv + xlsx2csv %f | iconv.py -f utf-8 | ${PAGER:-more} -+ t r & f \.(bmp|BMP|gif|GIF|jpg|JPG|jpeg|JPEG|png|PNG|xpm)$ | t t -= t r & f \.(bmp|BMP|gif|GIF|jpg|JPG|jpeg|JPEG|png|PNG|xpm)$ ++= 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 - xli -title "`echo %s | sed 's/ /_/g'`" -zoom auto %s & + xli -title "`echo %s | sed 's/[ .]/_/g'`" -zoom auto %s & -+ t r & f \.(bmp|BMP|gif|GIF|jpg|JPG|jpeg|JPEG|png|PNG|xpm)$ | t t ++ t lr & f \.(bmp|BMP|gif|GIF|jpg|JPG|jpeg|JPEG|pbm|PBM|ppm|PPM|png|PNG|xbm|xpm)$ | t t I View image(s) full size - xli -title "`echo %s | sed 's/ /_/g'`" %s & + xli -title "`echo %s | sed 's/[ .]/_/g'`" %s & + ++ t lr & f \.(bmp|BMP|gif|GIF|jpg|JPG|jpeg|JPEG|pbm|PBM|ppm|PPM|png|PNG|xbm|xpm)$ +I Identify image + xli -identify %f -+ t r & f \.(ico|jp2|tif|TIF|tiff|TIFF)$ | t t -= t r & f \.(ico|jp2|tif|TIF|tiff|TIFF)$ -I View icon, JPEG-2000 or TIFF image ++ t lr & f \.(ico|jp2|tif|TIF|tiff|TIFF|webp)$ | t t += t lr & f \.(ico|jp2|tif|TIF|tiff|TIFF|webp)$ +I View icon, JPEG-2000, TIFF, WebP image display %s & -+ t r & f \.(aac|ac3|ape|cue|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 500 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 - #smplayer -add-to-playlist %s & deadbeef --queue %s & -+ t r & f \.(aac|ac3|ape|cue|flac|m3u|mka|mp3|MP3|ogg|OGG|pls|WAV|wav|wv)$ | t t -= t r & f \.(aac|ac3|ape|cue|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 500 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 - #smplayer -send-action pl_remove_all - #smplayer -add-to-playlist %s & - deadbeef --queue %s & + deadbeef %s & (sleep 1; exec deadbeef --stop) -+ t r & f \.(aac|ac3|ape|cue|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 500 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 & - #smplayer %s & deadbeef %s & - #exec mediaplayer_open %f + #mplayer -playlist %f & -+ t r & 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 500 audacious & sleep 3; fi + "$HOME"/prog/audio-cdr-video/audio/shuffle-playlist.py %f /tmp/random-playlist-tmp.m3u + #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 < /tmp/random-playlist-tmp.m3u #audtool --playback-play - #mplayer -playlist random-playlist-tmp.m3u & - #smplayer random-playlist-tmp.m3u & - #smplayer -actions pl_shuffle %f & - deadbeef --queue random-playlist-tmp.m3u & deadbeef --play - #mediaplayer_open random-playlist-tmp.m3u - (sleep 5; exec rm random-playlist-tmp.m3u) & - -+ f \.(aac|ac3|ape|cue|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 -= t r & f \.(aac|ac3|ape|cue|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)$ -s Play audio/video file(s) or directory with smplayer - smplayer %s & + deadbeef /tmp/random-playlist-tmp.m3u & + #mplayer -playlist /tmp/random-playlist-tmp.m3u & + (sleep 5; exec rm /tmp/random-playlist-tmp.m3u) & -+= t d & f (video_ts|VIDEO_TS)$ -c Play the current directory with smplayer - smplayer . & - -+ t r & f \.(m3u|mp3|MP3|cue|aac|ac3|ape|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 ++ 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 mplayer -msglevel identify=6 -frames 0 %s + exec "$HOME"/.config/mpv/mpv_identify.sh %f + t d & f (video_ts|VIDEO_TS)$ i DVD info - exec mplayer -dvd-device . dvd:// -msglevel identify=6 -frames 0 + exec "$HOME"/.config/mpv/mpv_identify.sh . + ++ 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 (quiet) + AUDIO_VOLUME=80 + export AUDIO_VOLUME + mplayer %s & + ++ 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 (normal) + mplayer %s & + ++ 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 (loud) + AUDIO_VOLUME=120 + export AUDIO_VOLUME + mplayer %s & -+ f \.(avi|AVI|flv|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t t -m Play video file(s) with mplayer ++ 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 (louder) + AUDIO_VOLUME=150 + export AUDIO_VOLUME mplayer %s & -+ f \.(m3u|mp3|MP3|cue|aac|ac3|ape|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 gmplayer ++ 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 \.(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 & -+ t d & f (video_ts|VIDEO_TS)$ -d Play DVD directory with mplayer ++= t d & f (video_ts|VIDEO_TS)$ +d Play DVD directory with mpv mplayer -dvd-device . dvd:// & + t d & f (video_ts|VIDEO_TS)$ -D Play DVD directory with gmplayer +D Play DVD directory with mpv GUI gmplayer -dvd-device . dvd:// & + t d & f (video_ts|VIDEO_TS)$ -t Play DVD title with mplayer +t Play DVD title with mpv title=%{Enter title} mplayer -dvd-device . dvd://"$title" & + t d & f (video_ts|VIDEO_TS)$ -T Play DVD title with gmplayer +T Play DVD title with mpv GUI title=%{Enter title} gmplayer -dvd-device . dvd://"$title" & + t d -p Play directory with mplayer +p Play directory with mpv mplayer %f/* & + t d -P Play directory with gmplayer +P Play directory with mpv GUI gmplayer %f/* & + t d & f ^\.\.$ -b Make a .tar.bz2 release of the current directory +b Compress the current subdirectory to tar.bz2 Pwd="`basename %d /`" echo -n "Name of the distribution file (without extension) [$Pwd]: " read tar if [ "$tar"x = x ]; then tar="$Pwd"; fi - cd .. && tar cvf - "$Pwd" | bzip2 -f9 > "$tar".tar.bz2 + cd .. && tar cvf - "$Pwd" | bzip2 -f9 > "$tar".tar.bz2 && echo ../"$tar".tar.bz2 created. + t d & f ^\.\.$ -g Make a .tar.gz release of the current directory +g Compress the current subdirectory to tar.gz Pwd="`basename %d /`" echo -n "Name of the distribution file (without extension) [$Pwd]: " read tar if [ "$tar"x = x ]; then tar="$Pwd"; fi - cd .. && tar cvf - "$Pwd" | gzip -f9 > "$tar".tar.gz + cd .. && tar cvf - "$Pwd" | gzip -f9 > "$tar".tar.gz && echo ../"$tar".tar.gz created. + t d & f ^\.\.$ -t Make a .tar release of the current directory +l Compress the current subdirectory to tar.lzma + Pwd="`basename %d /`" + echo -n "Name of the distribution file (without extension) [$Pwd]: " + read tar + if [ "$tar"x = x ]; then tar="$Pwd"; fi + cd .. && tar cvf - "$Pwd" | lzma -f9 > "$tar".tar.lzma && + echo ../"$tar".tar.lzma created. + ++ t d & f ^\.\.$ +x Compress the current subdirectory to tar.xz + Pwd="`basename %d /`" + echo -n "Name of the distribution file (without extension) [$Pwd]: " + read tar + if [ "$tar"x = x ]; then tar="$Pwd"; fi + cd .. && tar cvf - "$Pwd" | xz -f9 > "$tar".tar.xz && + echo ../"$tar".tar.xz created. + ++ t d & f ^\.\.$ +t Compress the current subdirectory to tar Pwd="`basename %d /`" echo -n "Name of the distribution file (without extension) [$Pwd]: " read tar if [ "$tar"x = x ]; then tar="$Pwd"; fi - cd .. && tar cvf - "$Pwd" > "$tar".tar + cd .. && tar cvf - "$Pwd" > "$tar".tar && echo ../"$tar".tar created. + t d & f ^\.\.$ -z Make a .zip release of the current directory +z Compress the current subdirectory to zip Pwd="`basename %d /`" echo -n "Name of the distribution file (without extension) [$Pwd]: " read zip if [ "$zip"x = x ]; then zip="$Pwd"; fi - cd .. && zip -r9 "$zip".zip "$Pwd" + cd .. && zip -r9 "$zip".zip "$Pwd" && echo ../"$zip".zip created. + t d & f ^\.\.$ -y Make a .zip release of the current directory with recoded filenames +y Compress the current subdirectory to zip recoding filenames Pwd="`basename %d /`" echo -n "Name of the distribution file (without extension) [$Pwd]: " read zip if [ "$zip"x = x ]; then zip="$Pwd"; fi - cd .. && zip.py "$zip".zip "$Pwd" + cd .. && zip.py "$zip".zip "$Pwd" && echo ../"$zip".zip created. -+ ! f \.(\.|zip|ZIP)$ ++ t d & f ^\.\.$ +7 Compress the current subdirectory to 7z + Pwd="`basename %d /`" + echo -n "Name of the distribution file (without extension) [$Pwd]: " + read ar + if [ "$ar"x = x ]; then ar="$Pwd"; fi + cd .. && 7zr a "$ar".7z "$Pwd" && + echo ../"$ar".7z created. + ++ ! f \.(bz2|gz|lz|lzma|7z|xz|zip|ZIP)$ & t lr +z bzip2 the file + exec bzip2 -9 %f + ++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t lr +z gzip the file + exec gzip -9 %f + ++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t lr +z lzip the file + exec lzip -9 %f + ++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t lr +z lzma the file + exec lzma -9 %f + ++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t lr +z 7z the file/directory + exec 7zr a %f.7z %f + ++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t lr +z xz the file + exec xz -9 %f + ++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t lr z zip the file/directory exec zip -r9 %f.zip %f -+ ! f \.(\.|zip|ZIP)$ -y zip the file/directory with recoded filename(s) ++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t lr +y zip the file/directory recoding filename(s) exec zip.py %f.zip %f + t t -Z zip these files/directories +Z zip selected files/directories ZIP=%{Enter zip name} exec zip -r9 "$ZIP" %s + t t -Y zip these files/directories with recoded filenames +Y zip selected files/directories recoding filenames ZIP=%{Enter zip name} exec zip.py "$ZIP" %s -+ t r & f \.tar\.bz2$ -u Extract from tar-bzip2 - exec bzip2 -cd %f | tar xpvf - ++ f \.(tar\.(z|Z|bz2|gz|lz|lzma))|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t lr +n Create a directory for this archive + case %f in + *.tar.Z) D="`basename %f .tar.Z`";; + *.tar.bz2) D="`basename %f .tar.bz2`";; + *.tar.gz) D="`basename %f .tar.gz`";; + *.tbz2) D="`basename %f .tbz2`";; + *.tgz) D="`basename %f .tgz`";; + *.tz) D="`basename %f .tz`";; + *.tar.lz) D="`basename %f .tar.lz`";; + *.tar.lzma) D="`basename %f .tar.lzma`";; + *.tar.7z) D="`basename %f .tar.7z`";; + *.zip) D="`basename %f .zip`";; + *.ZIP) D="`basename %f .ZIP`";; + *.rar) D="`basename %f .rar`";; + *.RAR) D="`basename %f .RAR`";; + *.xz) D="`basename %f .xz`";; + *.7z) D="`basename %f .7z`";; + esac + exec mkdir "$D" -+ f \.tar\.gz$ | f \.tgz$ & t r -u Extract from tar-gzip - exec gzip -cd %f | tar xpvf - ++ F \.(tar\.(z|Z|bz2|gz|lz|lzma))|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & T r +N Create a directory for the other archive + case %D/%F in + *.tar.Z) D="`basename %F .tar.Z`";; + *.tar.bz2) D="`basename %F .tar.bz2`";; + *.tar.gz) D="`basename %F .tar.gz`";; + *.tbz2) D="`basename %F .tbz2`";; + *.tgz) D="`basename %F .tgz`";; + *.tz) D="`basename %F .tz`";; + *.tar.lz) D="`basename %F .tar.lz`";; + *.tar.lzma) D="`basename %F .tar.lzma`";; + *.tar.7z) D="`basename %F .tar.7z`";; + *.zip) D="`basename %F .zip`";; + *.ZIP) D="`basename %F .ZIP`";; + *.rar) D="`basename %F .rar`";; + *.RAR) D="`basename %F .RAR`";; + *.xz) D="`basename %F .xz`";; + *.7z) D="`basename %F .7z`";; + esac + exec mkdir "$D" -+ t r & f \.tar$ -u Extract from tar - exec tar xpvf %f ++ f \.(tar\.(z|Z|bz2|gz|lz|lzma|7z|xz))|(tbz2|tgz|tz)$ & t lr +x Extract the contents of a compressed tar file + unset PRG + case %f in + *.tar.bz2|*.tbz2) + PRG="bunzip2 -c" + ;; + *.tar.gz|*.tar.z|*.tgz|*.tz|*.tar.Z) + PRG="gzip -dc" + ;; + *.tar.lz) + PRG="lzip -dc" + ;; + *.tar.lzma) + PRG="lzma -dc" + ;; + *.tar.7z) + PRG="7zr e -so" + ;; + *.tar.xz) + PRG="xz -dc" + ;; + *) + exit 1 + ;; + esac + $PRG %f | tar xvpf - + ++ F \.(tar\.(z|Z|bz2|gz|lz|lzma|7z|xz))|(tbz2|tgz|tz)$ & T r +X Extract the contents of an other compressed tar file + unset PRG + case %F in + *.tar.bz2|*.tbz2) + PRG="bunzip2 -c" + ;; + *.tar.gz|*.tar.z|*.tgz|*.tz|*.tar.Z) + PRG="gzip -dc" + ;; + *.tar.lz) + PRG="lzip -dc" + ;; + *.tar.lzma) + PRG="lzma -dc" + ;; + *.tar.7z) + PRG="7zr e -so" + ;; + *.tar.xz) + PRG="xz -dc" + ;; + *) + exit 1 + ;; + esac + $PRG %D/%F | tar xvpf - -+ t r & f \.(zip|ZIP)$ -u Extract from zip - exec unzip %f ++ f \.(bz2|egg|gz|lz|lzma|7z|xz|tar|whl|zip|ZIP|rar|RAR)$ & t lr +x Extract a compressed file + case %f in + *.bz2) P="bzip2 -d";; + *.gz) P="gzip -d";; + *.lz) P="lzip -d";; + *.lzma) P="lzma -d";; + *.7z) P="7zr x";; + *.xz) P="xz -d";; + *.tar) P="tar xvpf";; + *.egg|*.whl|*.zip|*.ZIP) P="unzip";; + *.rar|*.RAR) P="unrar x -y";; + esac + exec $P %f + ++ F \.(bz2|egg|gz|lz|lzma|7z|xz|tar|whl|zip|ZIP|rar|RAR)$ & T r +X Extract another compressed file + case %F in + *.bz2) P="bzip2 -d";; + *.gz) P="gzip -d";; + *.lz) P="lzip -d";; + *.lzma) P="lzma -d";; + *.7z) P="7zr x";; + *.xz) P="xz -d";; + *.tar) P="tar xvpf";; + *.egg|*.whl|*.zip|*.ZIP) P="unzip";; + *.rar|*.RAR) P="unrar x -y";; + esac + exec $P %D/%F -+ t r & f \.(zip|ZIP)$ -y Extract from zip with recoded filenames ++ t lr & f \.(zip|ZIP)$ +y Extract from zip recoding filenames exec unzip.py %f -+ t r & f \.7z$ -u Extract from 7zip - exec 7zr x %f - -+ t r & f \.(rar|RAR)$ -u Extract from rar - exec unrar x -y %f - -+ t r & f \.tar\.xz$ -u Extract from tar-xz - exec xz -cd %f | tar xpvf - - -+ T r & F \.tar\.bz2$ -U Extract from the other tar-bzip2 - exec bzip2 -cd %D/%F | tar xpvf - - -+ F \.tar\.gz$ | F \.tgz$ & T r -U Extract from the other tar-gzip - exec gzip -cd %D/%F | tar xpvf - - -+ T r & F \.tar$ -U Extract from the other tar - exec tar xpvf %D/%F - -+ T r & F \.(zip|ZIP)$ -U Extract from the other zip - exec unzip %D/%F - + T r & F \.(zip|ZIP)$ -Y Extract from the other zip with recoded filenames +Y Extract from other zip recoding filenames exec unzip.py %D/%F -+ T r & F \.(rar|RAR)$ -U Extract from the other rar - exec unrar x -y %D/%F - -+ T r & F \.7z$ -U Extract from 7zip - exec 7zr x %D/%F - -+ T r & F \.tar\.xz$ -U Extract from tar-xz - exec xz -cd %D/%F | tar xpvf - - -+ f \.tar\.bz2$ | f \.tar\.gz$ | f \.tgz$ | f \.(zip|ZIP)$ | f \.(rar|RAR)$ | f \.7z$ & t r -n Create a directory for this archive - case %f in - *.tar.bz2) D="`basename %f .tar.bz2`";; - *.tar.gz) D="`basename %f .tar.gz`";; - *.tgz) D="`basename %f .tgz`";; - *.zip) D="`basename %f .zip`";; - *.ZIP) D="`basename %f .ZIP`";; - *.rar) D="`basename %f .rar`";; - *.RAR) D="`basename %f .RAR`";; - *.7z) D="`basename %f .7z`";; - esac - exec mkdir "$D" - -+ t r ++ t lr v View via mailcap exec see %f -+ t r ++ t lr c Compare the file exec cmp %D/%f %f -+ t r & T r ++ t lr & T r C Compare these files exec cmp %D/%F %f -+ t r ++ t lr d Diff the file exec diff -u --speed-large-files %D/%f %f -+ t r & T r ++ t lr & T r D Diff these files exec diff -u --speed-large-files %D/%F %f -+ t r ++ t lr v vimdiff the file exec vim -d %D/%f %f -+ t r & T r ++ t lr & T r V vimdiff these files exec vim -d %D/%F %f + t d & ! f ^\.\.$ d Diff the directory - exec diff -ru --speed-large-files %D/%f %f + exec diff -ru --speed-large-files \ + -x CVS -x .git -x .hg -x .svn -x '*.py[co]' -x __pycache__ %D/%f %f + t d & T d & ! F ^\.\.$ D Diff these directories - exec diff -ru --speed-large-files %D/%F %f + exec diff -ru --speed-large-files \ + -x CVS -x .git -x .hg -x .svn -x '*.py[co]' -x __pycache__ %D/%F %f -+= f \.(asc|sig(n)?)$ & t r ++= f \.(asc|gpg|sig(n)?)$ & t lr v Verify signature exec gpg --verify %f -+= f \.[1-8]$ | f \.man$ & t r ++ f \.(asc|gpg|sig(n)?)$ & t lr +v Verify detached signature + exec gpg --verify %f "`echo %f | sed 's/\.[^.]*$//'`" + ++= f \.[1-8]$ | f \.man$ & t lr 1 Display the file with roff -man %view nroff -man %f @@ -375,6 +564,6 @@ m View a manual page MAN=%{Enter manual name} %view man -P cat $MAN -+ t r | t d | t t ++ t dlr | t t r rsync the file(s) there - rsync -ahP --del %s %D + rsync -ahPv --del %s %D