X-Git-Url: https://git.phdru.name/?p=dotfiles.git;a=blobdiff_plain;f=.mc%2Fmenu;h=d2191068875771f4e66679d34d8fafbe3b54b6f3;hp=f549ae4765ba61cd162632acbe68bf437f9bfc46;hb=87a7e52a49c6171d9b0de67e07778b3009d17a99;hpb=20dbc72a4a57ee86da2883ecdcdc6d128675a905 diff --git a/.mc/menu b/.mc/menu index f549ae4..d219106 100644 --- a/.mc/menu +++ b/.mc/menu @@ -10,9 +10,9 @@ shell_patterns=0 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 @@ -20,6 +20,10 @@ shell_patterns=0 p View the file in a pager exec ${PAGER:-more} %f ++ t r +g Edit the file in gvim + gvim %f & + + t r b View the file in a browser exec webbrowser file://%d/%f @@ -57,34 +61,30 @@ T fb2txt esac $A %f | xsltproc /usr/local/src/FictionBook/FB2_2_txt_ru.xsl - | webstdin -e txt -t -+= t r & f \.(pdf|PDF|ps|PS|djvu)(\.bz2|\.gz)?$ -e View pdf/ps/djvu with evince - evince %f & ++= t r & f \.(pdf|PDF|ps|PS)(\.bz2|\.gz)?$ +e View pdf/ps + qpdfview %f & + ++= t r & f \.djvu(\.bz2|\.gz)?$ +e View djvu + djview %f & += t r & 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 \.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg)$ -e Edit OpenDoc with libreoffice ++ t r & 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)$ +e Edit (Open)Docs with libreoffice libreoffice %f & += t r & f \.(doc|DOC|rtf)$ d View doc with catdoc catdoc %f | ${PAGER:-more} -+ t r & f \.(doc|DOC|rtf)$ -e Edit doc with libreoffice - libreoffice %f & - += t r & f \.(docx|DOCX)$ d View docx with docx2txt docx2txt %f - | iconv.py -f utf-8 | ${PAGER:-more} -+ t r & f \.(docx|DOCX)$ -e Edit docx with libreoffice - libreoffice %f & - += t r & f \.(xls|XLS)$ x View xls with xls2csv xls2csv %f | ${PAGER:-more} @@ -98,12 +98,16 @@ i View image(s) scaled I View image(s) full size xli -title "`echo %s | sed 's/ /_/g'`" %s & -+ 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 r & 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|webp)$ | t t += t r & 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 r & f \.(aac|ac3|ape|cue|dts|flac|m3u|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 #for f in %s; do @@ -112,8 +116,8 @@ a Add the audiofile(s) or playlist(s) #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 r & f \.(aac|ac3|ape|cue|dts|flac|m3u|mka|mp3|MP3|ogg|OGG|pls|WAV|wav|wv)$ | t t += t r & f \.(aac|ac3|ape|cue|dts|flac|m3u|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 #audtool --playlist-clear @@ -124,7 +128,7 @@ p Load the audiofile(s) or playlist(s) #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|dts|flac|m3u|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 #audtool --playlist-clear @@ -151,32 +155,32 @@ R Play the playlist in random order #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)$ ++ 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 s Play audio/video file(s) or directory with smplayer smplayer %s & -+= t d & f (video_ts|VIDEO_TS)$ ++ 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 r & 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)$ 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 \.(avi|AVI|flv|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | 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)$ | 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)$ m Play video file(s) with mplayer 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 ++ 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 M Play audio/video with gmplayer gmplayer %s & -+ t d & f (video_ts|VIDEO_TS)$ ++= t d & f (video_ts|VIDEO_TS)$ d Play DVD directory with mplayer mplayer -dvd-device . dvd:// & @@ -220,6 +224,24 @@ g Compress the current subdirectory to tar.gz cd .. && tar cvf - "$Pwd" | gzip -f9 > "$tar".tar.gz && echo ../"$tar".tar.gz created. ++ t d & f ^\.\.$ +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 /`" @@ -256,40 +278,40 @@ y Compress the current subdirectory to zip with recoded filenames cd .. && 7zr a "$ar".7z "$Pwd" && echo ../"$ar".7z created. -+ ! f \.bz2$ & ! f \.gz$ & ! f \.lz$ & ! f \.lzma$ & ! f \.7z$ & ! f \.xz$ & ! f \.(zip|ZIP)$ & t r ++ ! f \.(bz2|gz|lz|lzma|7z|xz|zip|ZIP)$ & t r z bzip2 the file exec bzip2 -9 %f -+ ! f \.bz2$ & ! f \.gz$ & ! f \.lz$ & ! f \.lzma$ & ! f \.7z$ & ! f \.xz$ & ! f \.(zip|ZIP)$ & t r ++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t r z gzip the file exec gzip -9 %f -+ ! f \.bz2$ & ! f \.gz$ & ! f \.lz$ & ! f \.lzma$ & ! f \.7z$ & ! f \.xz$ & ! f \.(zip|ZIP)$ & t r ++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t r z lzip the file exec lzip -9 %f -+ ! f \.bz2$ & ! f \.gz$ & ! f \.lz$ & ! f \.lzma$ & ! f \.7z$ & ! f \.xz$ & ! f \.(zip|ZIP)$ & t r ++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t r z lzma the file exec lzma -9 %f -+ ! f \.bz2$ & ! f \.gz$ & ! f \.lz$ & ! f \.lzma$ & ! f \.7z$ & ! f \.xz$ & ! f \.(zip|ZIP)$ ++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t r z 7z the file/directory exec 7zr a %f.7z %f -+ ! f \.bz2$ & ! f \.gz$ & ! f \.lz$ & ! f \.lzma$ & ! f \.7z$ & ! f \.xz$ & ! f \.(zip|ZIP)$ & t r ++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t r z xz the file exec xz -9 %f -+ ! f \.bz2$ & ! f \.gz$ & ! f \.lz$ & ! f \.lzma$ & ! f \.7z$ & ! f \.xz$ & ! f \.(zip|ZIP)$ ++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t r z zip the file/directory exec zip -r9 %f.zip %f -+ ! f \.bz2$ & ! f \.gz$ & ! f \.lz$ & ! f \.lzma$ & ! f \.7z$ & ! f \.xz$ & ! f \.(zip|ZIP)$ ++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t r y zip the file/directory with recoded 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 @@ -298,48 +320,56 @@ Y zip these files/directories with recoded filenames ZIP=%{Enter zip name} exec zip.py "$ZIP" %s -+ f \.tar\.bz2$ | f \.tar\.gz$ | f \.tgz$ | f \.tar\.lz$ | f \.tar\.lzma$ | f \.(zip|ZIP)$ | f \.(rar|RAR)$ | f \.7z$ | f \.xz$ & t r ++ f \.(tar\.(z|Z|bz2|gz|lz|lzma))|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t r 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`";; - *.7z) D="`basename %f .7z`";; *.xz) D="`basename %f .xz`";; + *.7z) D="`basename %f .7z`";; esac exec mkdir "$D" -+ F \.tar\.bz2$ | F \.tar\.gz$ | F \.tgz$ | F \.tar\.lz$ | F \.tar\.lzma$ | F \.(zip|ZIP)$ | F \.(rar|RAR)$ | F \.7z$ | F \.xz$ & T r ++ 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`";; - *.7z) D="`basename %F .7z`";; *.xz) D="`basename %F .xz`";; + *.7z) D="`basename %F .7z`";; esac exec mkdir "$D" -+ f \.tar\.gz$ | f \.tar\.z$ | f \.tgz$ | f \.tpz$ | f \.tar\.lz$ | f \.tar\.lzma$ | f \.tar\.7z$ | f \.tar\.xz$ | f \.tar\.Z$ | f \.tar\.bz2$ & t r ++ f \.(tar\.(z|Z|bz2|gz|lz|lzma|7z|xz))|(tbz2|tgz|tz)$ & t r x Extract the contents of a compressed tar file unset PRG case %f in - *.tar.bz2) + *.tar.bz2|*.tbz2) PRG="bunzip2 -c" ;; - *.tar.gz|*.tar.z|*.tgz|*.tpz|*.tar.Z) + *.tar.gz|*.tar.z|*.tgz|*.tz|*.tar.Z) PRG="gzip -dc" ;; *.tar.lz) @@ -360,14 +390,14 @@ x Extract the contents of a compressed tar file esac $PRG %f | tar xvpf - -+ F \.tar\.gz$ | F \.tar\.z$ | F \.tgz$ | F \.tpz$ | F \.tar\.lz$ | F \.tar\.lzma$ | F \.tar\.7z$ | F \.tar\.xz$ | F \.tar\.Z$ | F \.tar\.bz2$ & T r ++ 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) + *.tar.bz2|*.tbz2) PRG="bunzip2 -c" ;; - *.tar.gz|*.tar.z|*.tgz|*.tpz|*.tar.Z) + *.tar.gz|*.tar.z|*.tgz|*.tz|*.tar.Z) PRG="gzip -dc" ;; *.tar.lz) @@ -388,7 +418,7 @@ X Extract the contents of an other compressed tar file esac $PRG %D/%F | tar xvpf - -+ f \.(bz2|gz|lz|lzma|7z|xz|tar|zip|ZIP|rar|RAR)$ & t r ++ f \.(bz2|egg|gz|lz|lzma|7z|xz|tar|whl|zip|ZIP|rar|RAR)$ & t r x Extract a compressed file case %f in *.bz2) P="bzip2 -d";; @@ -398,12 +428,12 @@ x Extract a compressed file *.7z) P="7zr x";; *.xz) P="xz -d";; *.tar) P="tar xvpf";; - *.zip|*.ZIP) P="unzip";; - *.rar|*.RAR) P="rar x -y";; + *.egg|*.whl|*.zip|*.ZIP) P="unzip";; + *.rar|*.RAR) P="unrar x -y";; esac exec $P %f -+ F \.(bz2|gz|lz|lzma|7z|xz|tar|zip|ZIP|rar|RAR)$ & T r ++ 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";; @@ -413,8 +443,8 @@ X Extract another compressed file *.7z) P="7zr x";; *.xz) P="xz -d";; *.tar) P="tar xvpf";; - *.zip|*.ZIP) P="unzip";; - *.rar|*.RAR) P="rar x -y";; + *.egg|*.whl|*.zip|*.ZIP) P="unzip";; + *.rar|*.RAR) P="unrar x -y";; esac exec $P %D/%F @@ -456,11 +486,13 @@ V vimdiff these files + 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 v Verify signature @@ -476,4 +508,4 @@ m View a manual page + t r | t d | t t r rsync the file(s) there - rsync -ahP --del %s %D + rsync -ahPv --del %s %D