# 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
done
+ t r
-p View the file in the pager
- exec $PAGER %f
+p View the file in a pager
+ exec ${PAGER:-more} %f
+ t r
b View the file in a browser
exec webbrowser -t file://%d/%f
+= f \.fb2(\.bz2|\.gz|\.zip)?$ | f \.(chm|epub|htm(l?)|txt|rtf)$ & t r
-f FBReader
+f View fb2/chm/epub with fbreader
fbreader %f &
+ t r & f \.fb2(\.bz2|\.gz|\.zip)$
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 r & f \.(pdf|PDF|ps|PS|djvu)(\.bz2|\.gz)?$
+e View pdf/ps/djvu with evince
evince %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
+ libreoffice %f &
+
+= t r & f \.(doc|DOC|rtf)$
-d catdoc
- catdoc %f | less
+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 xls2csv
- xls2csv %f | less
+x View xls with xls2csv
+ xls2csv %f | ${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 r & f \.(bmp|BMP|gif|GIF|jpg|JPG|jpeg|JPEG|pbm|PBM|ppm|PPM|png|PNG|xbm|xpm)$ | t t
+= t r & f \.(bmp|BMP|gif|GIF|jpg|JPG|jpeg|JPEG|pbm|PBM|ppm|PPM|png|PNG|xbm|xpm)$
i View image(s) scaled
- xli -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 r & 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 %s &
+ 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
display %s &
-+ t r & f \.(aac|ac3|ape|cue|flac|m3u|mka|mp3|MP3|pls|wv)$ | t t
++ t r & f \.(aac|ac3|ape|cue|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
#smplayer -add-to-playlist %s &
deadbeef --queue %s &
-+ t r & f \.(aac|ac3|ape|cue|flac|m3u|mka|mp3|MP3|pls|wv)$ | t t
-= t r & f \.(m3u|mp3|MP3|cue|ac3|ape|flac|wv)$
++ 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)$
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
#smplayer -add-to-playlist %s &
deadbeef --queue %s &
-+ t r & f \.(aac|ac3|ape|cue|flac|m3u|mka|mp3|MP3|pls|wv)$ | t t
++ t r & f \.(aac|ac3|ape|cue|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
+ t r & f \.m3u
R Play the playlist in random order
- "$HOME"/admin/prog/audio-cdr-video/shuffle-playlist.py %f random-playlist-tmp.m3u
+ "$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
#audtool --playlist-clear
#audtool --playlist-addurl random-playlist-tmp.m3u
#mediaplayer_open random-playlist-tmp.m3u
(sleep 5; exec rm random-playlist-tmp.m3u) &
-+ f \.(aac|ac3|ape|cue|flac|m3u|mp3|MP3|pls|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wmv)$ | t d | t t
-= t r & f \.(aac|ac3|ape|cue|flac|m3u|mp3|MP3|pls|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wmv)$
++ 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 &
c Play the current directory with smplayer
smplayer . &
-+ t r & f \.(m3u|mp3|MP3|cue|aac|ac3|ape|flac|pls|wv|avi|AVI|flv|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wmv)$ | t t
++ 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
i Audio/video info
exec mplayer -msglevel identify=6 -frames 0 %s
i DVD info
exec mplayer -dvd-device . dvd:// -msglevel identify=6 -frames 0
-+ f \.(avi|AVI|flv|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wmv)$ | t t
++ 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
mplayer %s &
-+ f \.(m3u|mp3|MP3|cue|aac|ac3|ape|flac|pls|wv|avi|AVI|flv|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wmv)$ | t t
++ 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
gmplayer %s &
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
+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 with recoded 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$ & ! f \.gz$ & ! f \.lz$ & ! f \.lzma$ & ! f \.7z$ & ! f \.xz$ & ! f \.(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
+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
+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
+z lzma the file
+ exec lzma -9 %f
+
++ ! f \.bz2$ & ! f \.gz$ & ! f \.lz$ & ! f \.lzma$ & ! f \.7z$ & ! f \.xz$ & ! f \.(zip|ZIP)$
+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
+z xz the file
+ exec xz -9 %f
+
++ ! f \.bz2$ & ! f \.gz$ & ! f \.lz$ & ! f \.lzma$ & ! f \.7z$ & ! f \.xz$ & ! f \.(zip|ZIP)$
z zip the file/directory
exec zip -r9 %f.zip %f
-+ ! f \.(\.|zip|ZIP)$
++ ! f \.bz2$ & ! f \.gz$ & ! f \.lz$ & ! f \.lzma$ & ! f \.7z$ & ! f \.xz$ & ! f \.(zip|ZIP)$
y zip the file/directory with recoded filename(s)
exec zip.py %f.zip %f
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\.bz2$ | f \.tar\.gz$ | f \.tgz$ | f \.tar\.lz$ | f \.tar\.lzma$ | f \.(zip|ZIP)$ | f \.(rar|RAR)$ | f \.7z$ | f \.xz$ & 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`";;
+ *.tar.lz) D="`basename %f .tar.lz`";;
+ *.tar.lzma) D="`basename %f .tar.lzma`";;
+ *.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`";;
+ esac
+ exec mkdir "$D"
-+ f \.tar\.gz$ | f \.tgz$ & t r
-u Extract from tar-gzip
- exec gzip -cd %f | tar xpvf -
++ 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
+N Create a directory for the other archive
+ case %D/%F in
+ *.tar.bz2) D="`basename %F .tar.bz2`";;
+ *.tar.gz) D="`basename %F .tar.gz`";;
+ *.tgz) D="`basename %F .tgz`";;
+ *.tar.lz) D="`basename %F .tar.lz`";;
+ *.tar.lzma) D="`basename %F .tar.lzma`";;
+ *.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`";;
+ esac
+ exec mkdir "$D"
-+ t r & f \.tar$
-u Extract from tar
- exec tar xpvf %f
++ 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
+x Extract the contents of a compressed tar file
+ unset PRG
+ case %f in
+ *.tar.bz2)
+ PRG="bunzip2 -c"
+ ;;
+ *.tar.gz|*.tar.z|*.tgz|*.tpz|*.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\.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
+X Extract the contents of an other compressed tar file
+ unset PRG
+ case %F in
+ *.tar.bz2)
+ PRG="bunzip2 -c"
+ ;;
+ *.tar.gz|*.tar.z|*.tgz|*.tpz|*.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|gz|lz|lzma|7z|xz|tar|zip|ZIP|rar|RAR)$ & t r
+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";;
+ *.zip|*.ZIP) P="unzip";;
+ *.rar|*.RAR) P="rar x -y";;
+ esac
+ exec $P %f
+
++ F \.(bz2|gz|lz|lzma|7z|xz|tar|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";;
+ *.zip|*.ZIP) P="unzip";;
+ *.rar|*.RAR) P="rar x -y";;
+ esac
+ exec $P %D/%F
+ t r & f \.(zip|ZIP)$
y Extract from zip with recoded 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 with recoded 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
v View via mailcap
exec see %f