+++ /dev/null
-# See ldap.conf(5) and README.LDAP for details
-# This file should only be readable by root
-
-# supported directives: host, port, ssl, ldap_version
-# uri, binddn, bindpw, sudoers_base, sudoers_debug
-# tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key
mkdir -p './texmf/dvips.d'
mkdir -p './unixODBC/ODBCDataSources'
maybe chmod 0755 '.'
-maybe chmod 0440 './._cfg0000_ldap.conf.sudo'
maybe chmod 0700 './.etckeeper'
maybe chmod 0644 './.gitignore'
maybe chmod 0600 './.pwd.lock'
maybe chmod 0644 './DIR_COLORS'
maybe chmod 0644 './GeoIP.conf'
maybe chmod 0755 './ImageMagick'
-maybe chmod 0644 './ImageMagick/._cfg0000_delegates.xml'
-maybe chmod 0644 './ImageMagick/._cfg0000_policy.xml'
maybe chmod 0644 './ImageMagick/coder.xml'
maybe chmod 0644 './ImageMagick/colors.xml'
maybe chmod 0644 './ImageMagick/delegates.xml'
maybe chmod 0644 './colordiffrc'
maybe chmod 0644 './colordiffrc-lightbg'
maybe chmod 0755 './conf.d'
-maybe chmod 0644 './conf.d/._cfg0000_postgresql-9.1'
maybe chmod 0644 './conf.d/apache2'
maybe chmod 0644 './conf.d/auditd'
maybe chmod 0644 './conf.d/autofs'
maybe chmod 0644 './conf.d/urandom'
maybe chmod 0700 './config-archive'
maybe chmod 0755 './config-archive/etc'
+maybe chmod 0755 './config-archive/etc/ImageMagick'
+maybe chmod 0644 './config-archive/etc/ImageMagick/delegates.xml'
+maybe chmod 0644 './config-archive/etc/ImageMagick/delegates.xml.dist'
+maybe chmod 0644 './config-archive/etc/ImageMagick/policy.xml'
+maybe chmod 0644 './config-archive/etc/ImageMagick/policy.xml.dist'
maybe chmod 0755 './config-archive/etc/bash'
maybe chmod 0644 './config-archive/etc/bash/bashrc'
maybe chmod 0644 './config-archive/etc/bash/bashrc.dist.new'
maybe chmod 0644 './config-archive/etc/conf.d/fsck.dist'
maybe chmod 0644 './config-archive/etc/conf.d/keymaps'
maybe chmod 0644 './config-archive/etc/conf.d/keymaps.dist.new'
+maybe chmod 0644 './config-archive/etc/conf.d/postgresql-9.1'
+maybe chmod 0644 './config-archive/etc/conf.d/postgresql-9.1.dist'
maybe chmod 0644 './config-archive/etc/conf.d/udev'
maybe chmod 0644 './config-archive/etc/conf.d/udev.dist'
maybe chmod 0644 './config-archive/etc/conf.d/urandom'
maybe chmod 0660 './config-archive/etc/courier/authlib/authdaemonrc'
maybe chmod 0660 './config-archive/etc/courier/authlib/authdaemonrc.dist'
maybe chmod 0660 './config-archive/etc/courier/authlib/authdaemonrc.dist.dist'
+maybe chmod 0755 './config-archive/etc/eselect'
+maybe chmod 0755 './config-archive/etc/eselect/postgresql'
+maybe chmod 0755 './config-archive/etc/eselect/postgresql/slots'
+maybe chmod 0755 './config-archive/etc/eselect/postgresql/slots/9.1'
+maybe chmod 0644 './config-archive/etc/eselect/postgresql/slots/9.1/base'
+maybe chmod 0644 './config-archive/etc/eselect/postgresql/slots/9.1/base.dist'
+maybe chmod 0644 './config-archive/etc/eselect/postgresql/slots/9.1/docs'
+maybe chmod 0644 './config-archive/etc/eselect/postgresql/slots/9.1/docs.dist'
+maybe chmod 0644 './config-archive/etc/eselect/postgresql/slots/9.1/server'
+maybe chmod 0644 './config-archive/etc/eselect/postgresql/slots/9.1/server.dist'
maybe chmod 0644 './config-archive/etc/hosts'
maybe chmod 0644 './config-archive/etc/hosts.dist.new'
maybe chmod 0755 './config-archive/etc/init.d'
maybe chmod 0755 './config-archive/etc/init.d/modules'
maybe chmod 0755 './config-archive/etc/init.d/modules.dist'
maybe chmod 0755 './config-archive/etc/init.d/net.lo'
+maybe chmod 0755 './config-archive/etc/init.d/net.lo.1'
maybe chmod 0755 './config-archive/etc/init.d/net.lo.dist'
maybe chmod 0755 './config-archive/etc/init.d/network'
maybe chmod 0755 './config-archive/etc/init.d/network.dist'
maybe chmod 0755 './config-archive/etc/init.d/numlock'
maybe chmod 0755 './config-archive/etc/init.d/numlock.dist'
+maybe chmod 0755 './config-archive/etc/init.d/postgresql-9.1'
+maybe chmod 0755 './config-archive/etc/init.d/postgresql-9.1.dist'
maybe chmod 0755 './config-archive/etc/init.d/staticroute'
maybe chmod 0755 './config-archive/etc/init.d/staticroute.dist'
maybe chmod 0755 './config-archive/etc/init.d/sysfs'
+maybe chmod 0755 './config-archive/etc/init.d/sysfs.1'
maybe chmod 0755 './config-archive/etc/init.d/sysfs.dist'
maybe chmod 0755 './config-archive/etc/init.d/termencoding'
maybe chmod 0755 './config-archive/etc/init.d/termencoding.dist'
maybe chmod 0755 './config-archive/etc/init.d/udev.dist'
maybe chmod 0755 './config-archive/etc/init.d/urandom'
maybe chmod 0755 './config-archive/etc/init.d/urandom.dist'
+maybe chmod 0440 './config-archive/etc/ldap.conf.sudo'
+maybe chmod 0440 './config-archive/etc/ldap.conf.sudo.dist'
maybe chmod 0755 './config-archive/etc/lvm'
maybe chmod 0644 './config-archive/etc/lvm/lvm.conf'
maybe chmod 0644 './config-archive/etc/lvm/lvm.conf.dist'
+maybe chmod 0755 './config-archive/etc/mc'
+maybe chmod 0644 './config-archive/etc/mc/filehighlight.ini'
+maybe chmod 0644 './config-archive/etc/mc/filehighlight.ini.dist'
+maybe chmod 0644 './config-archive/etc/mc/mc.ext'
+maybe chmod 0644 './config-archive/etc/mc/mc.ext.dist'
+maybe chmod 0644 './config-archive/etc/mc/mc.keymap'
+maybe chmod 0644 './config-archive/etc/mc/mc.keymap.default'
+maybe chmod 0644 './config-archive/etc/mc/mc.keymap.default.dist'
+maybe chmod 0644 './config-archive/etc/mc/mc.keymap.dist'
+maybe chmod 0644 './config-archive/etc/mc/mc.keymap.emacs'
+maybe chmod 0644 './config-archive/etc/mc/mc.keymap.emacs.dist'
+maybe chmod 0644 './config-archive/etc/mc/mc.menu'
+maybe chmod 0644 './config-archive/etc/mc/mc.menu.dist'
+maybe chmod 0755 './config-archive/etc/mysql'
+maybe chmod 0644 './config-archive/etc/mysql/my.cnf'
+maybe chmod 0644 './config-archive/etc/mysql/my.cnf.dist'
maybe chmod 0755 './config-archive/etc/pam.d'
maybe chmod 0644 './config-archive/etc/pam.d/system-login'
maybe chmod 0644 './config-archive/etc/pam.d/system-login.dist'
+maybe chmod 0755 './config-archive/etc/php'
+maybe chmod 0755 './config-archive/etc/php/apache2-php5.3'
+maybe chmod 0755 './config-archive/etc/php/apache2-php5.3/ext'
+maybe chmod 0644 './config-archive/etc/php/apache2-php5.3/ext/apc.ini'
+maybe chmod 0644 './config-archive/etc/php/apache2-php5.3/ext/apc.ini.dist'
+maybe chmod 0755 './config-archive/etc/php/cgi-php5.3'
+maybe chmod 0755 './config-archive/etc/php/cgi-php5.3/ext'
+maybe chmod 0644 './config-archive/etc/php/cgi-php5.3/ext/apc.ini'
+maybe chmod 0644 './config-archive/etc/php/cgi-php5.3/ext/apc.ini.dist'
+maybe chmod 0755 './config-archive/etc/php/cli-php5.3'
+maybe chmod 0755 './config-archive/etc/php/cli-php5.3/ext'
+maybe chmod 0644 './config-archive/etc/php/cli-php5.3/ext/apc.ini'
+maybe chmod 0644 './config-archive/etc/php/cli-php5.3/ext/apc.ini.dist'
+maybe chmod 0755 './config-archive/etc/php/fpm-php5.3'
+maybe chmod 0755 './config-archive/etc/php/fpm-php5.3/ext'
+maybe chmod 0644 './config-archive/etc/php/fpm-php5.3/ext/apc.ini'
+maybe chmod 0644 './config-archive/etc/php/fpm-php5.3/ext/apc.ini.dist'
maybe chmod 0755 './config-archive/etc/portage'
maybe chmod 0755 './config-archive/etc/portage/savedconfig'
maybe chmod 0755 './config-archive/etc/portage/savedconfig/sys-apps'
maybe chmod 0644 './eselect/postgresql/active.links91'
maybe chmod 0755 './eselect/postgresql/slots'
maybe chmod 0755 './eselect/postgresql/slots/9.1'
-maybe chmod 0644 './eselect/postgresql/slots/9.1/._cfg0000_base'
-maybe chmod 0644 './eselect/postgresql/slots/9.1/._cfg0000_docs'
-maybe chmod 0644 './eselect/postgresql/slots/9.1/._cfg0000_server'
maybe chmod 0644 './eselect/postgresql/slots/9.1/base'
maybe chmod 0644 './eselect/postgresql/slots/9.1/docs'
maybe chmod 0644 './eselect/postgresql/slots/9.1/server'
maybe chmod 0644 './idnalias.conf'
maybe chmod 0644 './idnalias.conf.sample'
maybe chmod 0755 './init.d'
-maybe chmod 0755 './init.d/._cfg0000_net.lo'
-maybe chmod 0755 './init.d/._cfg0000_postgresql-9.1'
-maybe chmod 0755 './init.d/._cfg0000_sysfs'
maybe chmod 0755 './init.d/amavisd'
maybe chmod 0755 './init.d/apache2'
maybe chmod 0755 './init.d/atd'
maybe chmod 0644 './make.conf.catalyst'
maybe chmod 0644 './man.conf'
maybe chmod 0755 './mc'
-maybe chmod 0644 './mc/._cfg0000_filehighlight.ini'
-maybe chmod 0644 './mc/._cfg0000_mc.ext'
-maybe chmod 0644 './mc/._cfg0000_mc.keymap'
-maybe chmod 0644 './mc/._cfg0000_mc.keymap.default'
-maybe chmod 0644 './mc/._cfg0000_mc.keymap.emacs'
-maybe chmod 0644 './mc/._cfg0000_mc.menu'
maybe chmod 0644 './mc/edit.indent.rc'
maybe chmod 0644 './mc/edit.spell.rc'
maybe chmod 0644 './mc/filehighlight.ini'
maybe chmod 0644 './mutt/Muttrc.dist'
maybe chmod 0644 './mutt/mime.types.dist'
maybe chmod 0755 './mysql'
-maybe chmod 0644 './mysql/._cfg0000_my.cnf'
maybe chmod 0644 './mysql/my.cnf'
maybe chmod 0644 './mysql/mysqlaccess.conf'
maybe chown nagios './nagios'
maybe chmod 0755 './php/apache2-php5.3'
maybe chmod 0755 './php/apache2-php5.3/ext'
maybe chmod 0755 './php/apache2-php5.3/ext-active'
-maybe chmod 0644 './php/apache2-php5.3/ext/._cfg0000_apc.ini'
maybe chmod 0644 './php/apache2-php5.3/ext/apc.ini'
maybe chmod 0644 './php/apache2-php5.3/ext/crack.ini'
maybe chmod 0644 './php/apache2-php5.3/ext/http.ini'
maybe chmod 0755 './php/cgi-php5.3'
maybe chmod 0755 './php/cgi-php5.3/ext'
maybe chmod 0755 './php/cgi-php5.3/ext-active'
-maybe chmod 0644 './php/cgi-php5.3/ext/._cfg0000_apc.ini'
maybe chmod 0644 './php/cgi-php5.3/ext/apc.ini'
maybe chmod 0644 './php/cgi-php5.3/ext/crack.ini'
maybe chmod 0644 './php/cgi-php5.3/ext/http.ini'
maybe chmod 0755 './php/cli-php5.3'
maybe chmod 0755 './php/cli-php5.3/ext'
maybe chmod 0755 './php/cli-php5.3/ext-active'
-maybe chmod 0644 './php/cli-php5.3/ext/._cfg0000_apc.ini'
maybe chmod 0644 './php/cli-php5.3/ext/apc.ini'
maybe chmod 0644 './php/cli-php5.3/ext/crack.ini'
maybe chmod 0644 './php/cli-php5.3/ext/http.ini'
maybe chmod 0755 './php/fpm-php5.3'
maybe chmod 0755 './php/fpm-php5.3/ext'
maybe chmod 0755 './php/fpm-php5.3/ext-active'
-maybe chmod 0644 './php/fpm-php5.3/ext/._cfg0000_apc.ini'
maybe chmod 0644 './php/fpm-php5.3/ext/apc.ini'
maybe chmod 0644 './php/fpm-php5.3/ext/crack.ini'
maybe chmod 0644 './php/fpm-php5.3/ext/http.ini'
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE delegatemap [
-<!ELEMENT delegatemap (delegate)+>
-<!ELEMENT delegate (#PCDATA)>
-<!ATTLIST delegate decode CDATA #IMPLIED>
-<!ATTLIST delegate encode CDATA #IMPLIED>
-<!ATTLIST delegate mode CDATA #IMPLIED>
-<!ATTLIST delegate spawn CDATA #IMPLIED>
-<!ATTLIST delegate stealth CDATA #IMPLIED>
-<!ATTLIST delegate thread-support CDATA #IMPLIED>
-<!ATTLIST delegate command CDATA #REQUIRED>
-]>
-<!--
- Delegate command file.
-
- Commands which specify
-
- decode="in_format" encode="out_format"
-
- specify the rules for converting from in_format to out_format These
- rules may be used to translate directly between formats.
-
- Commands which specify only
-
- decode="in_format"
-
- specify the rules for converting from in_format to some format that
- ImageMagick will automatically recognize. These rules are used to
- decode formats.
-
- Commands which specify only
-
- encode="out_format"
-
- specify the rules for an "encoder" which may accept any input format.
-
- For delegates other than ps:*, pcl:*, and mpeg:* the substitution rules are
- as follows:
-
- %i input image filename
- %o output image filename
- %u unique temporary filename
- %Z unique temporary filename
- %# input image signature
- %b image file size
- %c input image comment
- %g image geometry
- %h image rows (height)
- %k input image number colors
- %l image label
- %m input image format
- %p page number
- %q input image depth
- %s scene number
- %w image columns (width)
- %x input image x resolution
- %y input image y resolution
-
- Set option delegate:bimodal=true to process bimodal delegates otherwise they
- are ignored.
--->
-<delegatemap>
- <delegate decode="autotrace" stealth="True" command=""convert" "%i" "pnm:%u"\n"autotrace" -input-format pnm -output-format svg -output-file "%o" "%u""/>
- <delegate decode="blender" command=""blender" -b "%i" -F PNG -o "%o""\n"convert" -concatenate "%o*.png" "%o""/>
- <delegate decode="browse" stealth="True" spawn="True" command=""xdg-open" http://www.imagemagick.org/"/>
- <delegate decode="cdr" command=""uniconvertor" "%i" "%o.svg"; mv "%o.svg" "%o""/>
- <delegate decode="cgm" thread-support="False" command=""ralcgm" -d ps -oC < "%i" > "%o" 2> "%Z""/>
- <delegate decode="dvi" command=""dvips" -q -o "%o" "%i""/>
- <delegate decode="dng:decode" command=""/usr/bin/ufraw-batch" --silent --create-id=also --out-type=png --out-depth=16 "--output=%u.png" "%i""/>
- <delegate decode="edit" stealth="True" command=""xterm" -title "Edit Image Comment" -e vi "%o""/>
- <delegate decode="eps" encode="pdf" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
- <delegate decode="eps" encode="ps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
- <delegate decode="fig" command=""fig2dev" -L ps "%i" "%o""/>
- <delegate decode="plt" command=""echo" "set size 1.25,0.62; set terminal postscript portrait color solid; set output \'%o\'; load \'%i\'" > "%u";"gnuplot" "%u""/>
- <delegate decode="hpg" command=""hp2xx" -q -m eps -f `basename "%o"` "%i"; mv -f `basename "%o"` "%o""/>
- <delegate decode="hpgl" command="if [ -e hp2xx -o -e /usr/bin/hp2xx ]; then hp2xx -q -m eps -f `basename "%o"` "%i"; mv -f `basename "%o"` "%o"; else echo "You need to install hp2xx to use HPGL files with ImageMagick."; exit 1; fi"/>
- <delegate decode="htm" command=""html2ps" -U -o "%o" "%i""/>
- <delegate decode="html" command=""html2ps" -U -o "%o" "%i""/>
- <delegate decode="https" command=""curl" -s -k -o "%o" "https:%M""/>
- <delegate decode="ilbm" command=""ilbmtoppm" "%i" > "%o""/>
- <delegate decode="man" command=""groff" -man -Tps "%i" > "%o""/>
- <delegate decode="mpeg:decode" command=""ffmpeg" -v -1 -vframes %S -i "%i" -vcodec pam -an -f rawvideo -y "%u.pam" 2> "%Z""/>
- <delegate encode="mpeg:encode" stealth="True" command=""ffmpeg" -v -1 -mbd rd -trellis 2 -cmp 2 -subcmp 2 -g 300 -i "%M%%d.jpg" "%u.%m" 2> "%Z""/>
- <delegate decode="sid" command=""mrsidgeodecode" -if sid -i "%i" -of tif -o "%o" > "%u""/>
- <delegate decode="pcl:color" stealth="True" command=""pcl6" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=ppmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
- <delegate decode="pcl:cmyk" stealth="True" command=""pcl6" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pamcmyk32" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
- <delegate decode="pcl:mono" stealth="True" command=""pcl6" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pbmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
- <delegate decode="pdf" encode="eps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
- <delegate decode="pdf" encode="ps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
- <delegate decode="tiff" encode="launch" mode="encode" command=""gimp" "%i""/>
- <delegate decode="pnm" encode="ilbm" mode="encode" command=""ppmtoilbm" -24if "%i" > "%o""/>
- <delegate decode="pov" command=""povray" "+i%i" -D0 +o"%o" +fn%q +w%w +h%h +a -q9 -kfi"%s" -kff"%n"\n"convert" -concatenate "%o*.png" "%o""/>
- <delegate decode="ps" encode="eps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
- <delegate decode="ps" encode="pdf" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
- <delegate decode="ps" encode="print" mode="encode" command="lpr "%i""/>
- <delegate decode="ps:alpha" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pnmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
- <delegate decode="ps:cmyk" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=bmpsep8" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
- <delegate decode="ps:color" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pnmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
- <delegate decode="ps:mono" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pnmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
- <delegate decode="rgba" encode="rle" mode="encode" command=""rawtorle" -o "%o" -v "%i""/>
- <delegate decode="scan" command=""scanimage" -d "%i" > "%o""/>
- <delegate decode="scanx" command=""scanimage" > "%o""/>
- <delegate decode="miff" encode="show" spawn="True" command=""/usr/bin/display" -delay 0 -window-group %[group] -title "%l " "ephemeral:%i""/>
- <delegate decode="shtml" command=""html2ps" -U -o "%o" "%i""/>
- <delegate decode="svg" command=""rsvg" "%i" "%o""/>
- <delegate decode="txt" encode="ps" mode="bi" command=""enscript" -o "%o" "%i""/>
- <delegate decode="miff" encode="win" stealth="True" spawn="True" command=""/usr/bin/display" -immutable -delay 0 -window-group %[group] -title "%l " "ephemeral:%i""/>
- <delegate decode="wmf" command=""wmf2eps" -o "%o" "%i""/>
- <delegate decode="xps:color" stealth="True" command=""gxps" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=ppmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
- <delegate decode="xps:cmyk" stealth="True" command=""gxps" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=bmpsep8" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
- <delegate decode="xps:mono" stealth="True" command=""gxps" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pbmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
-</delegatemap>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE policymap [
-<!ELEMENT policymap (policy)+>
-<!ELEMENT policy (#PCDATA)>
-<!ATTLIST policy domain (delegate|coder|filter|path|resource) #IMPLIED>
-<!ATTLIST policy name CDATA #IMPLIED>
-<!ATTLIST policy rights CDATA #IMPLIED>
-<!ATTLIST policy pattern CDATA #IMPLIED>
-<!ATTLIST policy value CDATA #IMPLIED>
-]>
-<!--
- Configure ImageMagick policies.
-
- Domains include system, delegate, coder, filter, path, or resource.
-
- Rights include none, read, write, and execute. Use | to combine them,
- for example: "read | write" to permit read from, or write to, a path.
-
- Use a glob expression as a pattern.
-
- Suppose we do not want users to process MPEG video images:
-
- <policy domain="delegate" rights="none" pattern="mpeg:decode" />
-
- Here we do not want users reading images from HTTP:
-
- <policy domain="coder" rights="none" pattern="HTTP" />
-
- Lets prevent users from executing any image filters:
-
- <policy domain="filter" rights="none" pattern="*" />
-
- The /repository file system is restricted to read only. We use a glob
- expression to match all paths that start with /repository:
-
- <policy domain="path" rights="read" pattern="/repository/*" />
-
- Any large image is cached to disk rather than memory:
-
- <policy domain="resource" name="area" value="1GB"/>
-
- Note, resource policies are maximums for each instance of ImageMagick (e.g.
- policy memory limit 1GB, -limit 2GB exceeds policy maximum so memory limit
- is 1GB).
--->
-<policymap>
- <!-- <policy domain="system" name="precision" value="6"/> -->
- <!-- <policy domain="resource" name="temporary-path" value="/tmp"/> -->
- <!-- <policy domain="resource" name="memory" value="2GiB"/> -->
- <!-- <policy domain="resource" name="map" value="4GiB"/> -->
- <!-- <policy domain="resource" name="area" value="1GB"/> -->
- <!-- <policy domain="resource" name="disk" value="16EB"/> -->
- <!-- <policy domain="resource" name="file" value="768"/> -->
- <!-- <policy domain="resource" name="thread" value="4"/> -->
- <!-- <policy domain="resource" name="throttle" value="0"/> -->
- <!-- <policy domain="resource" name="time" value="3600"/> -->
-</policymap>
<delegate decode="dvi" command=""dvips" -q -o "%o" "%i""/>
<delegate decode="dng:decode" command=""/usr/bin/ufraw-batch" --silent --create-id=also --out-type=png --out-depth=16 "--output=%u.png" "%i""/>
<delegate decode="edit" stealth="True" command=""xterm" -title "Edit Image Comment" -e vi "%o""/>
- <delegate decode="eps" encode="pdf" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 "-sDEVICE=pdfwrite" "-sOutputFile=%o" "-f%i""/>
- <delegate decode="eps" encode="ps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pswrite" "-sOutputFile=%o" "-f%i""/>
+ <delegate decode="eps" encode="pdf" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
+ <delegate decode="eps" encode="ps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
<delegate decode="fig" command=""fig2dev" -L ps "%i" "%o""/>
<delegate decode="plt" command=""echo" "set size 1.25,0.62; set terminal postscript portrait color solid; set output \'%o\'; load \'%i\'" > "%u";"gnuplot" "%u""/>
<delegate decode="hpg" command=""hp2xx" -q -m eps -f `basename "%o"` "%i"; mv -f `basename "%o"` "%o""/>
<delegate decode="ilbm" command=""ilbmtoppm" "%i" > "%o""/>
<delegate decode="man" command=""groff" -man -Tps "%i" > "%o""/>
<delegate decode="mpeg:decode" command=""ffmpeg" -v -1 -vframes %S -i "%i" -vcodec pam -an -f rawvideo -y "%u.pam" 2> "%Z""/>
- <delegate encode="mpeg:encode" stealth="True" command=""ffmpeg" -v -1 -mbd rd -trellis 2 -cmp 2 -subcmp 2 -g 300 -pass 1/2 -i "%M%%d.jpg" "%u.%m" 2> "%Z""/>
+ <delegate encode="mpeg:encode" stealth="True" command=""ffmpeg" -v -1 -mbd rd -trellis 2 -cmp 2 -subcmp 2 -g 300 -i "%M%%d.jpg" "%u.%m" 2> "%Z""/>
<delegate decode="sid" command=""mrsidgeodecode" -if sid -i "%i" -of tif -o "%o" > "%u""/>
<delegate decode="pcl:color" stealth="True" command=""pcl6" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=ppmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
- <delegate decode="pcl:cmyk" stealth="True" command=""pcl6" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=bmpsep8" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
+ <delegate decode="pcl:cmyk" stealth="True" command=""pcl6" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pamcmyk32" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
<delegate decode="pcl:mono" stealth="True" command=""pcl6" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pbmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
- <delegate decode="pdf" encode="eps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=epswrite" "-sOutputFile=%o" "-f%i""/>
- <delegate decode="pdf" encode="ps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pswrite" "-sOutputFile=%o" "-f%i""/>
- <delegate decode="png" encode="launch" mode="encode" command=""gimp" "%i""/>
+ <delegate decode="pdf" encode="eps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
+ <delegate decode="pdf" encode="ps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
+ <delegate decode="tiff" encode="launch" mode="encode" command=""gimp" "%i""/>
<delegate decode="pnm" encode="ilbm" mode="encode" command=""ppmtoilbm" -24if "%i" > "%o""/>
<delegate decode="pov" command=""povray" "+i%i" -D0 +o"%o" +fn%q +w%w +h%h +a -q9 -kfi"%s" -kff"%n"\n"convert" -concatenate "%o*.png" "%o""/>
- <delegate decode="ps" encode="eps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=epswrite" "-sOutputFile=%o" "-f%i""/>
- <delegate decode="ps" encode="pdf" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pdfwrite" "-sOutputFile=%o" "-f%i""/>
+ <delegate decode="ps" encode="eps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
+ <delegate decode="ps" encode="pdf" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
<delegate decode="ps" encode="print" mode="encode" command="lpr "%i""/>
- <delegate decode="ps:alpha" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pngalpha" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
- <delegate decode="ps:cmyk" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pam" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
+ <delegate decode="ps:alpha" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pnmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
+ <delegate decode="ps:cmyk" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=bmpsep8" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
<delegate decode="ps:color" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pnmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
- <delegate decode="ps:mono" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pbmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
+ <delegate decode="ps:mono" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pnmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
<delegate decode="rgba" encode="rle" mode="encode" command=""rawtorle" -o "%o" -v "%i""/>
<delegate decode="scan" command=""scanimage" -d "%i" > "%o""/>
<delegate decode="scanx" command=""scanimage" > "%o""/>
- <delegate decode="png" encode="show" spawn="True" command=""/usr/bin/display" -delay 0 -window-group %[group] -title "%l " "ephemeral:%i""/>
+ <delegate decode="miff" encode="show" spawn="True" command=""/usr/bin/display" -delay 0 -window-group %[group] -title "%l " "ephemeral:%i""/>
<delegate decode="shtml" command=""html2ps" -U -o "%o" "%i""/>
<delegate decode="svg" command=""rsvg" "%i" "%o""/>
<delegate decode="txt" encode="ps" mode="bi" command=""enscript" -o "%o" "%i""/>
- <delegate decode="png" encode="win" stealth="True" spawn="True" command=""/usr/bin/display" -immutable -delay 0 -window-group %[group] -title "%l " "ephemeral:%i""/>
+ <delegate decode="miff" encode="win" stealth="True" spawn="True" command=""/usr/bin/display" -immutable -delay 0 -window-group %[group] -title "%l " "ephemeral:%i""/>
<delegate decode="wmf" command=""wmf2eps" -o "%o" "%i""/>
<delegate decode="xps:color" stealth="True" command=""gxps" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=ppmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
<delegate decode="xps:cmyk" stealth="True" command=""gxps" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=bmpsep8" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
Any large image is cached to disk rather than memory:
- <policy domain="resource" name="area" value="1gb"/>
+ <policy domain="resource" name="area" value="1GB"/>
Note, resource policies are maximums for each instance of ImageMagick (e.g.
policy memory limit 1GB, -limit 2GB exceeds policy maximum so memory limit
<!-- <policy domain="resource" name="temporary-path" value="/tmp"/> -->
<!-- <policy domain="resource" name="memory" value="2GiB"/> -->
<!-- <policy domain="resource" name="map" value="4GiB"/> -->
- <!-- <policy domain="resource" name="area" value="1gb"/> -->
- <!-- <policy domain="resource" name="disk" value="16eb"/> -->
+ <!-- <policy domain="resource" name="area" value="1GB"/> -->
+ <!-- <policy domain="resource" name="disk" value="16EB"/> -->
<!-- <policy domain="resource" name="file" value="768"/> -->
<!-- <policy domain="resource" name="thread" value="4"/> -->
<!-- <policy domain="resource" name="throttle" value="0"/> -->
+++ /dev/null
-# Which port and socket to bind PostgreSQL
-PGPORT="5432"
-
-# How long to wait for server to start in seconds
-START_TIMEOUT=10
-
-# NICE_QUIT ignores new connections and wait for clients to disconnect from
-# server before shutting down. NICE_TIMEOUT in seconds determines how long to
-# wait for this to succeed.
-NICE_TIMEOUT=60
-
-# Forecfully disconnect clients from server and shut down. This is performed
-# after NICE_QUIT. Terminated client connections have their open transactions
-# rolled back.
-# Set RUDE_QUIT to "NO" to disable. RUDE_TIMEOUT in seconds.
-RUDE_QUIT="YES"
-RUDE_TIMEOUT=30
-
-# If the server still fails to shutdown, you can force it to quit by setting
-# this to YES and a recover-run will execute on the next startup.
-# Set FORCE_QUIT to "YES" to enable. FORCE_TIMEOUT in seconds.
-FORCE_QUIT="NO"
-FORCE_TIMEOUT=2
-
-# Extra options to run postmaster with, e.g.:
-# -N is the maximal number of client connections
-# -B is the number of shared buffers and has to be at least 2x the value for -N
-# Please read the man-page to postmaster for more options. Many of these
-# options can be set directly in the configuration file.
-#PGOPTS="-N 512 -B 1024"
-
-# Pass extra environment variables. If you have to export environment variables
-# for the database process, this can be done here.
-# Don't forget to escape quotes.
-#PG_EXTRA_ENV="PGPASSFILE=\"/path/to/.pgpass\""
-
-##############################################################################
-#
-# The following values should not be arbitrarily changed.
-#
-# `emerge --config dev-db/postgresql-server:9.1' uses these values to
-# determine where to create the data directory, where to place the
-# configuration files, and any additional options to pass to initdb.
-#
-# The initscript also uses these variables to inform PostgreSQL where to find
-# its data directory and configuration files.
-#
-##############################################################################
-
-# Location of configuration files
-PGDATA="/etc/postgresql-9.1/"
-
-# Where the data directory is located/to be created
-DATA_DIR="/var/lib/postgresql/9.1/data"
-
-# Additional options to pass to initdb.
-# See `man initdb' for available options.
-#PG_INITDB_OPTS="--locale=en_US.UTF-8"
# Which port and socket to bind PostgreSQL
PGPORT="5432"
-# Allow *_TIMEOUT to run its course.
-# Disable timeouts by changing to '-W' (capital W)
-WAIT_FOR_START="-w"
-WAIT_FOR_STOP="-w"
-
# How long to wait for server to start in seconds
-START_TIMEOUT=60
+START_TIMEOUT=10
-# Ignore new connections and wait for clients to disconnect from server before
-# shutting down.
-# Set NICE_QUIT to "NO" to disable. NICE_TIMEOUT in seconds.
-NICE_QUIT="YES"
+# NICE_QUIT ignores new connections and wait for clients to disconnect from
+# server before shutting down. NICE_TIMEOUT in seconds determines how long to
+# wait for this to succeed.
NICE_TIMEOUT=60
# Forecfully disconnect clients from server and shut down. This is performed
-# after NICE_QUIT. Terminating a client results in a rollback of open
-# transactions for that client.
+# after NICE_QUIT. Terminated client connections have their open transactions
+# rolled back.
# Set RUDE_QUIT to "NO" to disable. RUDE_TIMEOUT in seconds.
RUDE_QUIT="YES"
RUDE_TIMEOUT=30
# If the server still fails to shutdown, you can force it to quit by setting
-# this to yes and a recover-run will execute on the next startup.
+# this to YES and a recover-run will execute on the next startup.
# Set FORCE_QUIT to "YES" to enable. FORCE_TIMEOUT in seconds.
FORCE_QUIT="NO"
FORCE_TIMEOUT=2
# Extra options to run postmaster with, e.g.:
# -N is the maximal number of client connections
# -B is the number of shared buffers and has to be at least 2x the value for -N
-# Please read the man-page to postmaster for more options. Many of
-# these options can be set directly in the configuration file.
+# Please read the man-page to postmaster for more options. Many of these
+# options can be set directly in the configuration file.
#PGOPTS="-N 512 -B 1024"
-# Pass extra environment variables. If you have to export environment
-# variables for the database process, this can be done here.
+# Pass extra environment variables. If you have to export environment variables
+# for the database process, this can be done here.
# Don't forget to escape quotes.
#PG_EXTRA_ENV="PGPASSFILE=\"/path/to/.pgpass\""
##############################################################################
#
# The following values should not be arbitrarily changed.
-# emerge --config dev-db/postgresql-server:9.1 uses these values to
+#
+# `emerge --config dev-db/postgresql-server:9.1' uses these values to
# determine where to create the data directory, where to place the
-# configuration files and any additional options you'd like to pass to initdb.
+# configuration files, and any additional options to pass to initdb.
#
-# The init script also uses these variables to inform pg_ctl where to find
-# the same data and configuration files.
+# The initscript also uses these variables to inform PostgreSQL where to find
+# its data directory and configuration files.
#
##############################################################################
DATA_DIR="/var/lib/postgresql/9.1/data"
# Additional options to pass to initdb.
-# See 'man initdb' for available options.
+# See `man initdb' for available options.
#PG_INITDB_OPTS="--locale=en_US.UTF-8"
-PG_INITDB_OPTS="--locale=en_US.UTF-8"
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE delegatemap [
+<!ELEMENT delegatemap (delegate)+>
+<!ELEMENT delegate (#PCDATA)>
+<!ATTLIST delegate decode CDATA #IMPLIED>
+<!ATTLIST delegate encode CDATA #IMPLIED>
+<!ATTLIST delegate mode CDATA #IMPLIED>
+<!ATTLIST delegate spawn CDATA #IMPLIED>
+<!ATTLIST delegate stealth CDATA #IMPLIED>
+<!ATTLIST delegate thread-support CDATA #IMPLIED>
+<!ATTLIST delegate command CDATA #REQUIRED>
+]>
+<!--
+ Delegate command file.
+
+ Commands which specify
+
+ decode="in_format" encode="out_format"
+
+ specify the rules for converting from in_format to out_format These
+ rules may be used to translate directly between formats.
+
+ Commands which specify only
+
+ decode="in_format"
+
+ specify the rules for converting from in_format to some format that
+ ImageMagick will automatically recognize. These rules are used to
+ decode formats.
+
+ Commands which specify only
+
+ encode="out_format"
+
+ specify the rules for an "encoder" which may accept any input format.
+
+ For delegates other than ps:*, pcl:*, and mpeg:* the substitution rules are
+ as follows:
+
+ %i input image filename
+ %o output image filename
+ %u unique temporary filename
+ %Z unique temporary filename
+ %# input image signature
+ %b image file size
+ %c input image comment
+ %g image geometry
+ %h image rows (height)
+ %k input image number colors
+ %l image label
+ %m input image format
+ %p page number
+ %q input image depth
+ %s scene number
+ %w image columns (width)
+ %x input image x resolution
+ %y input image y resolution
+
+ Set option delegate:bimodal=true to process bimodal delegates otherwise they
+ are ignored.
+-->
+<delegatemap>
+ <delegate decode="autotrace" stealth="True" command=""convert" "%i" "pnm:%u"\n"autotrace" -input-format pnm -output-format svg -output-file "%o" "%u""/>
+ <delegate decode="blender" command=""blender" -b "%i" -F PNG -o "%o""\n"convert" -concatenate "%o*.png" "%o""/>
+ <delegate decode="browse" stealth="True" spawn="True" command=""xdg-open" http://www.imagemagick.org/"/>
+ <delegate decode="cdr" command=""uniconvertor" "%i" "%o.svg"; mv "%o.svg" "%o""/>
+ <delegate decode="cgm" thread-support="False" command=""ralcgm" -d ps -oC < "%i" > "%o" 2> "%Z""/>
+ <delegate decode="dvi" command=""dvips" -q -o "%o" "%i""/>
+ <delegate decode="dng:decode" command=""/usr/bin/ufraw-batch" --silent --create-id=also --out-type=png --out-depth=16 "--output=%u.png" "%i""/>
+ <delegate decode="edit" stealth="True" command=""xterm" -title "Edit Image Comment" -e vi "%o""/>
+ <delegate decode="eps" encode="pdf" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 "-sDEVICE=pdfwrite" "-sOutputFile=%o" "-f%i""/>
+ <delegate decode="eps" encode="ps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pswrite" "-sOutputFile=%o" "-f%i""/>
+ <delegate decode="fig" command=""fig2dev" -L ps "%i" "%o""/>
+ <delegate decode="plt" command=""echo" "set size 1.25,0.62; set terminal postscript portrait color solid; set output \'%o\'; load \'%i\'" > "%u";"gnuplot" "%u""/>
+ <delegate decode="hpg" command=""hp2xx" -q -m eps -f `basename "%o"` "%i"; mv -f `basename "%o"` "%o""/>
+ <delegate decode="hpgl" command="if [ -e hp2xx -o -e /usr/bin/hp2xx ]; then hp2xx -q -m eps -f `basename "%o"` "%i"; mv -f `basename "%o"` "%o"; else echo "You need to install hp2xx to use HPGL files with ImageMagick."; exit 1; fi"/>
+ <delegate decode="htm" command=""html2ps" -U -o "%o" "%i""/>
+ <delegate decode="html" command=""html2ps" -U -o "%o" "%i""/>
+ <delegate decode="https" command=""curl" -s -k -o "%o" "https:%M""/>
+ <delegate decode="ilbm" command=""ilbmtoppm" "%i" > "%o""/>
+ <delegate decode="man" command=""groff" -man -Tps "%i" > "%o""/>
+ <delegate decode="mpeg:decode" command=""ffmpeg" -v -1 -vframes %S -i "%i" -vcodec pam -an -f rawvideo -y "%u.pam" 2> "%Z""/>
+ <delegate encode="mpeg:encode" stealth="True" command=""ffmpeg" -v -1 -mbd rd -trellis 2 -cmp 2 -subcmp 2 -g 300 -pass 1/2 -i "%M%%d.jpg" "%u.%m" 2> "%Z""/>
+ <delegate decode="sid" command=""mrsidgeodecode" -if sid -i "%i" -of tif -o "%o" > "%u""/>
+ <delegate decode="pcl:color" stealth="True" command=""pcl6" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=ppmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
+ <delegate decode="pcl:cmyk" stealth="True" command=""pcl6" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=bmpsep8" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
+ <delegate decode="pcl:mono" stealth="True" command=""pcl6" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pbmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
+ <delegate decode="pdf" encode="eps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=epswrite" "-sOutputFile=%o" "-f%i""/>
+ <delegate decode="pdf" encode="ps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pswrite" "-sOutputFile=%o" "-f%i""/>
+ <delegate decode="png" encode="launch" mode="encode" command=""gimp" "%i""/>
+ <delegate decode="pnm" encode="ilbm" mode="encode" command=""ppmtoilbm" -24if "%i" > "%o""/>
+ <delegate decode="pov" command=""povray" "+i%i" -D0 +o"%o" +fn%q +w%w +h%h +a -q9 -kfi"%s" -kff"%n"\n"convert" -concatenate "%o*.png" "%o""/>
+ <delegate decode="ps" encode="eps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=epswrite" "-sOutputFile=%o" "-f%i""/>
+ <delegate decode="ps" encode="pdf" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pdfwrite" "-sOutputFile=%o" "-f%i""/>
+ <delegate decode="ps" encode="print" mode="encode" command="lpr "%i""/>
+ <delegate decode="ps:alpha" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pngalpha" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
+ <delegate decode="ps:cmyk" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pam" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
+ <delegate decode="ps:color" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pnmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
+ <delegate decode="ps:mono" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pbmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
+ <delegate decode="rgba" encode="rle" mode="encode" command=""rawtorle" -o "%o" -v "%i""/>
+ <delegate decode="scan" command=""scanimage" -d "%i" > "%o""/>
+ <delegate decode="scanx" command=""scanimage" > "%o""/>
+ <delegate decode="png" encode="show" spawn="True" command=""/usr/bin/display" -delay 0 -window-group %[group] -title "%l " "ephemeral:%i""/>
+ <delegate decode="shtml" command=""html2ps" -U -o "%o" "%i""/>
+ <delegate decode="svg" command=""rsvg" "%i" "%o""/>
+ <delegate decode="txt" encode="ps" mode="bi" command=""enscript" -o "%o" "%i""/>
+ <delegate decode="png" encode="win" stealth="True" spawn="True" command=""/usr/bin/display" -immutable -delay 0 -window-group %[group] -title "%l " "ephemeral:%i""/>
+ <delegate decode="wmf" command=""wmf2eps" -o "%o" "%i""/>
+ <delegate decode="xps:color" stealth="True" command=""gxps" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=ppmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
+ <delegate decode="xps:cmyk" stealth="True" command=""gxps" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=bmpsep8" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
+ <delegate decode="xps:mono" stealth="True" command=""gxps" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pbmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
+</delegatemap>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE delegatemap [
+<!ELEMENT delegatemap (delegate)+>
+<!ELEMENT delegate (#PCDATA)>
+<!ATTLIST delegate decode CDATA #IMPLIED>
+<!ATTLIST delegate encode CDATA #IMPLIED>
+<!ATTLIST delegate mode CDATA #IMPLIED>
+<!ATTLIST delegate spawn CDATA #IMPLIED>
+<!ATTLIST delegate stealth CDATA #IMPLIED>
+<!ATTLIST delegate thread-support CDATA #IMPLIED>
+<!ATTLIST delegate command CDATA #REQUIRED>
+]>
+<!--
+ Delegate command file.
+
+ Commands which specify
+
+ decode="in_format" encode="out_format"
+
+ specify the rules for converting from in_format to out_format These
+ rules may be used to translate directly between formats.
+
+ Commands which specify only
+
+ decode="in_format"
+
+ specify the rules for converting from in_format to some format that
+ ImageMagick will automatically recognize. These rules are used to
+ decode formats.
+
+ Commands which specify only
+
+ encode="out_format"
+
+ specify the rules for an "encoder" which may accept any input format.
+
+ For delegates other than ps:*, pcl:*, and mpeg:* the substitution rules are
+ as follows:
+
+ %i input image filename
+ %o output image filename
+ %u unique temporary filename
+ %Z unique temporary filename
+ %# input image signature
+ %b image file size
+ %c input image comment
+ %g image geometry
+ %h image rows (height)
+ %k input image number colors
+ %l image label
+ %m input image format
+ %p page number
+ %q input image depth
+ %s scene number
+ %w image columns (width)
+ %x input image x resolution
+ %y input image y resolution
+
+ Set option delegate:bimodal=true to process bimodal delegates otherwise they
+ are ignored.
+-->
+<delegatemap>
+ <delegate decode="autotrace" stealth="True" command=""convert" "%i" "pnm:%u"\n"autotrace" -input-format pnm -output-format svg -output-file "%o" "%u""/>
+ <delegate decode="blender" command=""blender" -b "%i" -F PNG -o "%o""\n"convert" -concatenate "%o*.png" "%o""/>
+ <delegate decode="browse" stealth="True" spawn="True" command=""xdg-open" http://www.imagemagick.org/"/>
+ <delegate decode="cdr" command=""uniconvertor" "%i" "%o.svg"; mv "%o.svg" "%o""/>
+ <delegate decode="cgm" thread-support="False" command=""ralcgm" -d ps -oC < "%i" > "%o" 2> "%Z""/>
+ <delegate decode="dvi" command=""dvips" -q -o "%o" "%i""/>
+ <delegate decode="dng:decode" command=""/usr/bin/ufraw-batch" --silent --create-id=also --out-type=png --out-depth=16 "--output=%u.png" "%i""/>
+ <delegate decode="edit" stealth="True" command=""xterm" -title "Edit Image Comment" -e vi "%o""/>
+ <delegate decode="eps" encode="pdf" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
+ <delegate decode="eps" encode="ps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
+ <delegate decode="fig" command=""fig2dev" -L ps "%i" "%o""/>
+ <delegate decode="plt" command=""echo" "set size 1.25,0.62; set terminal postscript portrait color solid; set output \'%o\'; load \'%i\'" > "%u";"gnuplot" "%u""/>
+ <delegate decode="hpg" command=""hp2xx" -q -m eps -f `basename "%o"` "%i"; mv -f `basename "%o"` "%o""/>
+ <delegate decode="hpgl" command="if [ -e hp2xx -o -e /usr/bin/hp2xx ]; then hp2xx -q -m eps -f `basename "%o"` "%i"; mv -f `basename "%o"` "%o"; else echo "You need to install hp2xx to use HPGL files with ImageMagick."; exit 1; fi"/>
+ <delegate decode="htm" command=""html2ps" -U -o "%o" "%i""/>
+ <delegate decode="html" command=""html2ps" -U -o "%o" "%i""/>
+ <delegate decode="https" command=""curl" -s -k -o "%o" "https:%M""/>
+ <delegate decode="ilbm" command=""ilbmtoppm" "%i" > "%o""/>
+ <delegate decode="man" command=""groff" -man -Tps "%i" > "%o""/>
+ <delegate decode="mpeg:decode" command=""ffmpeg" -v -1 -vframes %S -i "%i" -vcodec pam -an -f rawvideo -y "%u.pam" 2> "%Z""/>
+ <delegate encode="mpeg:encode" stealth="True" command=""ffmpeg" -v -1 -mbd rd -trellis 2 -cmp 2 -subcmp 2 -g 300 -i "%M%%d.jpg" "%u.%m" 2> "%Z""/>
+ <delegate decode="sid" command=""mrsidgeodecode" -if sid -i "%i" -of tif -o "%o" > "%u""/>
+ <delegate decode="pcl:color" stealth="True" command=""pcl6" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=ppmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
+ <delegate decode="pcl:cmyk" stealth="True" command=""pcl6" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pamcmyk32" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
+ <delegate decode="pcl:mono" stealth="True" command=""pcl6" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pbmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
+ <delegate decode="pdf" encode="eps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
+ <delegate decode="pdf" encode="ps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
+ <delegate decode="tiff" encode="launch" mode="encode" command=""gimp" "%i""/>
+ <delegate decode="pnm" encode="ilbm" mode="encode" command=""ppmtoilbm" -24if "%i" > "%o""/>
+ <delegate decode="pov" command=""povray" "+i%i" -D0 +o"%o" +fn%q +w%w +h%h +a -q9 -kfi"%s" -kff"%n"\n"convert" -concatenate "%o*.png" "%o""/>
+ <delegate decode="ps" encode="eps" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
+ <delegate decode="ps" encode="pdf" mode="bi" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=nodevice" "-sOutputFile=%o" "-f%i""/>
+ <delegate decode="ps" encode="print" mode="encode" command="lpr "%i""/>
+ <delegate decode="ps:alpha" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pnmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
+ <delegate decode="ps:cmyk" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=bmpsep8" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
+ <delegate decode="ps:color" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pnmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
+ <delegate decode="ps:mono" stealth="True" command=""gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pnmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
+ <delegate decode="rgba" encode="rle" mode="encode" command=""rawtorle" -o "%o" -v "%i""/>
+ <delegate decode="scan" command=""scanimage" -d "%i" > "%o""/>
+ <delegate decode="scanx" command=""scanimage" > "%o""/>
+ <delegate decode="miff" encode="show" spawn="True" command=""/usr/bin/display" -delay 0 -window-group %[group] -title "%l " "ephemeral:%i""/>
+ <delegate decode="shtml" command=""html2ps" -U -o "%o" "%i""/>
+ <delegate decode="svg" command=""rsvg" "%i" "%o""/>
+ <delegate decode="txt" encode="ps" mode="bi" command=""enscript" -o "%o" "%i""/>
+ <delegate decode="miff" encode="win" stealth="True" spawn="True" command=""/usr/bin/display" -immutable -delay 0 -window-group %[group] -title "%l " "ephemeral:%i""/>
+ <delegate decode="wmf" command=""wmf2eps" -o "%o" "%i""/>
+ <delegate decode="xps:color" stealth="True" command=""gxps" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=ppmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
+ <delegate decode="xps:cmyk" stealth="True" command=""gxps" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=bmpsep8" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
+ <delegate decode="xps:mono" stealth="True" command=""gxps" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pbmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
+</delegatemap>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE policymap [
+<!ELEMENT policymap (policy)+>
+<!ELEMENT policy (#PCDATA)>
+<!ATTLIST policy domain (delegate|coder|filter|path|resource) #IMPLIED>
+<!ATTLIST policy name CDATA #IMPLIED>
+<!ATTLIST policy rights CDATA #IMPLIED>
+<!ATTLIST policy pattern CDATA #IMPLIED>
+<!ATTLIST policy value CDATA #IMPLIED>
+]>
+<!--
+ Configure ImageMagick policies.
+
+ Domains include system, delegate, coder, filter, path, or resource.
+
+ Rights include none, read, write, and execute. Use | to combine them,
+ for example: "read | write" to permit read from, or write to, a path.
+
+ Use a glob expression as a pattern.
+
+ Suppose we do not want users to process MPEG video images:
+
+ <policy domain="delegate" rights="none" pattern="mpeg:decode" />
+
+ Here we do not want users reading images from HTTP:
+
+ <policy domain="coder" rights="none" pattern="HTTP" />
+
+ Lets prevent users from executing any image filters:
+
+ <policy domain="filter" rights="none" pattern="*" />
+
+ The /repository file system is restricted to read only. We use a glob
+ expression to match all paths that start with /repository:
+
+ <policy domain="path" rights="read" pattern="/repository/*" />
+
+ Any large image is cached to disk rather than memory:
+
+ <policy domain="resource" name="area" value="1gb"/>
+
+ Note, resource policies are maximums for each instance of ImageMagick (e.g.
+ policy memory limit 1GB, -limit 2GB exceeds policy maximum so memory limit
+ is 1GB).
+-->
+<policymap>
+ <!-- <policy domain="system" name="precision" value="6"/> -->
+ <!-- <policy domain="resource" name="temporary-path" value="/tmp"/> -->
+ <!-- <policy domain="resource" name="memory" value="2GiB"/> -->
+ <!-- <policy domain="resource" name="map" value="4GiB"/> -->
+ <!-- <policy domain="resource" name="area" value="1gb"/> -->
+ <!-- <policy domain="resource" name="disk" value="16eb"/> -->
+ <!-- <policy domain="resource" name="file" value="768"/> -->
+ <!-- <policy domain="resource" name="thread" value="4"/> -->
+ <!-- <policy domain="resource" name="throttle" value="0"/> -->
+ <!-- <policy domain="resource" name="time" value="3600"/> -->
+</policymap>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE policymap [
+<!ELEMENT policymap (policy)+>
+<!ELEMENT policy (#PCDATA)>
+<!ATTLIST policy domain (delegate|coder|filter|path|resource) #IMPLIED>
+<!ATTLIST policy name CDATA #IMPLIED>
+<!ATTLIST policy rights CDATA #IMPLIED>
+<!ATTLIST policy pattern CDATA #IMPLIED>
+<!ATTLIST policy value CDATA #IMPLIED>
+]>
+<!--
+ Configure ImageMagick policies.
+
+ Domains include system, delegate, coder, filter, path, or resource.
+
+ Rights include none, read, write, and execute. Use | to combine them,
+ for example: "read | write" to permit read from, or write to, a path.
+
+ Use a glob expression as a pattern.
+
+ Suppose we do not want users to process MPEG video images:
+
+ <policy domain="delegate" rights="none" pattern="mpeg:decode" />
+
+ Here we do not want users reading images from HTTP:
+
+ <policy domain="coder" rights="none" pattern="HTTP" />
+
+ Lets prevent users from executing any image filters:
+
+ <policy domain="filter" rights="none" pattern="*" />
+
+ The /repository file system is restricted to read only. We use a glob
+ expression to match all paths that start with /repository:
+
+ <policy domain="path" rights="read" pattern="/repository/*" />
+
+ Any large image is cached to disk rather than memory:
+
+ <policy domain="resource" name="area" value="1GB"/>
+
+ Note, resource policies are maximums for each instance of ImageMagick (e.g.
+ policy memory limit 1GB, -limit 2GB exceeds policy maximum so memory limit
+ is 1GB).
+-->
+<policymap>
+ <!-- <policy domain="system" name="precision" value="6"/> -->
+ <!-- <policy domain="resource" name="temporary-path" value="/tmp"/> -->
+ <!-- <policy domain="resource" name="memory" value="2GiB"/> -->
+ <!-- <policy domain="resource" name="map" value="4GiB"/> -->
+ <!-- <policy domain="resource" name="area" value="1GB"/> -->
+ <!-- <policy domain="resource" name="disk" value="16EB"/> -->
+ <!-- <policy domain="resource" name="file" value="768"/> -->
+ <!-- <policy domain="resource" name="thread" value="4"/> -->
+ <!-- <policy domain="resource" name="throttle" value="0"/> -->
+ <!-- <policy domain="resource" name="time" value="3600"/> -->
+</policymap>
--- /dev/null
+# Which port and socket to bind PostgreSQL
+PGPORT="5432"
+
+# Allow *_TIMEOUT to run its course.
+# Disable timeouts by changing to '-W' (capital W)
+WAIT_FOR_START="-w"
+WAIT_FOR_STOP="-w"
+
+# How long to wait for server to start in seconds
+START_TIMEOUT=60
+
+# Ignore new connections and wait for clients to disconnect from server before
+# shutting down.
+# Set NICE_QUIT to "NO" to disable. NICE_TIMEOUT in seconds.
+NICE_QUIT="YES"
+NICE_TIMEOUT=60
+
+# Forecfully disconnect clients from server and shut down. This is performed
+# after NICE_QUIT. Terminating a client results in a rollback of open
+# transactions for that client.
+# Set RUDE_QUIT to "NO" to disable. RUDE_TIMEOUT in seconds.
+RUDE_QUIT="YES"
+RUDE_TIMEOUT=30
+
+# If the server still fails to shutdown, you can force it to quit by setting
+# this to yes and a recover-run will execute on the next startup.
+# Set FORCE_QUIT to "YES" to enable. FORCE_TIMEOUT in seconds.
+FORCE_QUIT="NO"
+FORCE_TIMEOUT=2
+
+# Extra options to run postmaster with, e.g.:
+# -N is the maximal number of client connections
+# -B is the number of shared buffers and has to be at least 2x the value for -N
+# Please read the man-page to postmaster for more options. Many of
+# these options can be set directly in the configuration file.
+#PGOPTS="-N 512 -B 1024"
+
+# Pass extra environment variables. If you have to export environment
+# variables for the database process, this can be done here.
+# Don't forget to escape quotes.
+#PG_EXTRA_ENV="PGPASSFILE=\"/path/to/.pgpass\""
+
+##############################################################################
+#
+# The following values should not be arbitrarily changed.
+# emerge --config dev-db/postgresql-server:9.1 uses these values to
+# determine where to create the data directory, where to place the
+# configuration files and any additional options you'd like to pass to initdb.
+#
+# The init script also uses these variables to inform pg_ctl where to find
+# the same data and configuration files.
+#
+##############################################################################
+
+# Location of configuration files
+PGDATA="/etc/postgresql-9.1/"
+
+# Where the data directory is located/to be created
+DATA_DIR="/var/lib/postgresql/9.1/data"
+
+# Additional options to pass to initdb.
+# See 'man initdb' for available options.
+#PG_INITDB_OPTS="--locale=en_US.UTF-8"
+PG_INITDB_OPTS="--locale=en_US.UTF-8"
--- /dev/null
+# Which port and socket to bind PostgreSQL
+PGPORT="5432"
+
+# How long to wait for server to start in seconds
+START_TIMEOUT=10
+
+# NICE_QUIT ignores new connections and wait for clients to disconnect from
+# server before shutting down. NICE_TIMEOUT in seconds determines how long to
+# wait for this to succeed.
+NICE_TIMEOUT=60
+
+# Forecfully disconnect clients from server and shut down. This is performed
+# after NICE_QUIT. Terminated client connections have their open transactions
+# rolled back.
+# Set RUDE_QUIT to "NO" to disable. RUDE_TIMEOUT in seconds.
+RUDE_QUIT="YES"
+RUDE_TIMEOUT=30
+
+# If the server still fails to shutdown, you can force it to quit by setting
+# this to YES and a recover-run will execute on the next startup.
+# Set FORCE_QUIT to "YES" to enable. FORCE_TIMEOUT in seconds.
+FORCE_QUIT="NO"
+FORCE_TIMEOUT=2
+
+# Extra options to run postmaster with, e.g.:
+# -N is the maximal number of client connections
+# -B is the number of shared buffers and has to be at least 2x the value for -N
+# Please read the man-page to postmaster for more options. Many of these
+# options can be set directly in the configuration file.
+#PGOPTS="-N 512 -B 1024"
+
+# Pass extra environment variables. If you have to export environment variables
+# for the database process, this can be done here.
+# Don't forget to escape quotes.
+#PG_EXTRA_ENV="PGPASSFILE=\"/path/to/.pgpass\""
+
+##############################################################################
+#
+# The following values should not be arbitrarily changed.
+#
+# `emerge --config dev-db/postgresql-server:9.1' uses these values to
+# determine where to create the data directory, where to place the
+# configuration files, and any additional options to pass to initdb.
+#
+# The initscript also uses these variables to inform PostgreSQL where to find
+# its data directory and configuration files.
+#
+##############################################################################
+
+# Location of configuration files
+PGDATA="/etc/postgresql-9.1/"
+
+# Where the data directory is located/to be created
+DATA_DIR="/var/lib/postgresql/9.1/data"
+
+# Additional options to pass to initdb.
+# See `man initdb' for available options.
+#PG_INITDB_OPTS="--locale=en_US.UTF-8"
--- /dev/null
+postgres_ebuilds="${postgres_ebuilds} postgresql-base-9.1.1"
--- /dev/null
+postgres_ebuilds="${postgres_ebuilds} postgresql-base-9.1.2"
--- /dev/null
+postgres_ebuilds="${postgres_ebuilds} postgresql-docs-9.1.1"
--- /dev/null
+postgres_ebuilds="${postgres_ebuilds} postgresql-docs-9.1.2"
--- /dev/null
+postgres_ebuilds="${postgres_ebuilds} postgresql-server-9.1.1"
--- /dev/null
+postgres_ebuilds="${postgres_ebuilds} postgresql-server-9.1.2-r2"
need localmount
after bootmisc
provide net
- keyword -jail -prefix -vserver
+ keyword -shutdown -jail -prefix -vserver
case "${IFACE}" in
lo|lo0);;
- *) after net.lo net.lo0;;
+ *) after net.lo net.lo0 dbus;;
esac
if [ "$(command -v "depend_${IFVAR}")" = "depend_${IFVAR}" ]; then
eend 0
return 0
fi
- timeout=$((${timeout} - 1))
+ : $(( timeout -= 1 ))
[ "${efunc}" = "einfon" ] && printf "."
done
local i= len=
local IFS=.
for i in $1; do
- while [ ${i} != "0" ]; do
- len=$((${len} + ${i} % 2))
- i=$((${i} >> 1))
+ while [ ${i} -ne 0 ]; do
+ : $(( len += i % 2 ))
+ : $(( i >>= 1 ))
done
done
done
}
+_which()
+{
+ local i OIFS
+ # Empty
+ [ -z "$1" ] && return
+ # check paths
+ OIFS="$IFS"
+ IFS=:
+ for i in $PATH ; do
+ [ -x $i/$1 ] && echo $i/$1 && break
+ done
+ IFS=$OIFS
+}
+
+# Like _which, but also consider shell builtins, and multiple alternatives
+_program_available()
+{
+ [ -z "$1" ] && return 0
+ local x=
+ for x; do
+ case "${x}" in
+ /*) [ -x "${x}" ] && break;;
+ *) type "${x}" >/dev/null 2>&1 && break;;
+ esac
+ unset x
+ done
+ [ -n "${x}" ] && echo $x && return 0
+ return 1
+}
+
_show_address()
{
einfo "received address $(_get_inet_address "${IFACE}")"
echo "module_${i}_program_start='${PROGRAM_START}'" >> "${MODULESLIST}"
echo "module_${i}_program_stop='${PROGRAM_STOP}'" >> "${MODULESLIST}"
echo "module_${i}_provide='${PROVIDE}'" >> "${MODULESLIST}"
- i=$((${i} + 1))
+ : $(( i += 1 ))
done
echo "module_${i}=" >> "${MODULESLIST}"
)
local i=-1 x= mod= f= provides=
while true; do
- i=$((${i} + 1))
+ : $(( i += 1 ))
eval mod=\$module_${i}
[ -z "${mod}" ] && break
[ -e "${MODULESDIR}/${mod}.sh" ] || continue
eval set -- \$module_${i}_program
if [ -n "$1" ]; then
- x=
- for x; do
- [ -x "${x}" ] && break
- done
- [ -x "${x}" ] || continue
+ if ! _program_available "$@" >/dev/null; then
+ vewarn "Skipping module $mod due to missing program: $@"
+ continue
+ fi
fi
if ${starting}; then
eval set -- \$module_${i}_program_start
eval set -- \$module_${i}_program_stop
fi
if [ -n "$1" ]; then
- x=
- for x; do
- case "${x}" in
- /*) [ -x "${x}" ] && break;;
- *) type "${x}" >/dev/null 2>&1 && break;;
- esac
- unset x
- done
- [ -n "${x}" ] || continue
+ if ! _program_available "$@" >/dev/null; then
+ vewarn "Skipping module $mod due to missing program: $@"
+ continue
+ fi
fi
eval provides=\$module_${i}_provide
set -- ${config}
# We should support a space separated array for cidr configs
+ # But only as long as they do not contain other parameters for the address
if [ $# = 1 ]; then
unset IFS
set -- ${config}
# Of course, we may have a single address added old style.
- case "$2" in
- netmask|broadcast|brd|brd+|peer|pointopoint)
- local IFS="$__IFS"
- set -- ${config}
- ;;
- esac
+ # If the NEXT argument is a v4 or v6 address, it's the next config.
+ # Otherwise, it's arguments to the first config...
+ if [ "${2#*.*}" = "${2}" -a "${2#*:*}" = "${2}" ]; then
+ # Not an IPv4/IPv6
+ local IFS="$__IFS"
+ set -- ${config}
+ fi
fi
# Ensure that loopback has the correct address
# so modules can influence it
for cmd; do
eval config_${config_index}="'${cmd}'"
- config_index=$((${config_index} + 1))
+ : $(( config_index += 1 ))
done
# Terminate the list
eval config_${config_index}=
config_index=0
for cmd in ${fallback}; do
eval fallback_${config_index}="'${cmd}'"
- config_index=$((${config_index} + 1))
+ : $(( config_index += 1 ))
done
# Terminate the list
eval fallback_${config_index}=
{
local IFACE=${RC_SVCNAME#*.} oneworked=false fallback=false module=
local IFVAR=$(shell_var "${IFACE}") cmd= our_metric=
- local metric=0
+ local metric=0 _up_before_preup
+ eval _up_before_preup="\$up_before_preup_${IFVAR}"
+ [ -z "${_up_before_preup}" ] && _up_before_preup=$up_before_preup
einfo "Bringing up interface ${IFACE}"
eindent
# available in preup and afterwards incase the user inadvertently
# brings it down
if [ "$(command -v preup)" = "preup" ]; then
- _up 2>/dev/null
+ yesno "${_up_before_preup:-yes}" && _up 2>/dev/null
ebegin "Running preup"
eindent
preup || return 1
if [ -n "${our_metric}" ]; then
metric=${our_metric}
elif [ "${IFACE}" != "lo" -a "${IFACE}" != "lo0" ]; then
- metric=$((${metric} + $(_ifindex)))
+ : $(( metric += $(_ifindex) ))
fi
while true; do
eindent
eval config_${config_index}=\$config
unset fallback_${config_index}
- config_index=$((${config_index} - 1))
+ : $(( config_index -= 1 ))
fi
fi
eoutdent
- config_index=$((${config_index} + 1))
+ : $(( config_index += 1 ))
done
if ! ${oneworked}; then
--- /dev/null
+#!/sbin/runscript
+# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
+# Released under the 2-clause BSD license.
+
+MODULESDIR="${RC_LIBEXECDIR}/net"
+MODULESLIST="${RC_SVCDIR}/nettree"
+_config_vars="config routes"
+
+[ -z "${IN_BACKGROUND}" ] && IN_BACKGROUND="NO"
+
+description="Configures network interfaces."
+
+# Handy var so we don't have to embed new lines everywhere for array splitting
+__IFS="
+"
+depend()
+{
+ local IFACE=${RC_SVCNAME#*.}
+ local IFVAR=$(shell_var "${IFACE}")
+
+ need localmount
+ after bootmisc
+ provide net
+ keyword -jail -prefix -vserver
+
+ case "${IFACE}" in
+ lo|lo0);;
+ *) after net.lo net.lo0;;
+ esac
+
+ if [ "$(command -v "depend_${IFVAR}")" = "depend_${IFVAR}" ]; then
+ depend_${IFVAR}
+ fi
+
+ local dep= prov=
+ for dep in need use before after provide keyword; do
+ eval prov=\$rc_${dep}_${IFVAR}
+ if [ -n "${prov}" ]; then
+ ${dep} ${prov}
+ fi
+ done
+}
+
+# Support bash arrays - sigh
+_array_helper()
+{
+ local _a=
+
+ eval _a=\$$1
+ _a=$(echo "${_a}" | sed -e 's:^[[:space:]]*::' -e 's:[[:space:]]*$::' -e '/^$/d' -e 's:[[:space:]]\{1,\}: :g')
+
+ [ -n "${_a}" ] && printf "%s\n" "${_a}"
+}
+
+_get_array()
+{
+ local _a=
+ if [ -n "${BASH}" ]; then
+ case "$(declare -p "$1" 2>/dev/null)" in
+ "declare -a "*)
+ ewarn "You are using a bash array for $1."
+ ewarn "This feature will be removed in the future."
+ ewarn "Please see net.example for the correct format for $1."
+ eval "set -- \"\${$1[@]}\""
+ for _a; do
+ printf "%s\n" "${_a}"
+ done
+ return 0
+ ;;
+ esac
+ fi
+
+ _array_helper $1
+}
+
+# Flatten bash arrays to simple strings
+_flatten_array()
+{
+ if [ -n "${BASH}" ]; then
+ case "$(declare -p "$1" 2>/dev/null)" in
+ "declare -a "*)
+ ewarn "You are using a bash array for $1."
+ ewarn "This feature will be removed in the future."
+ ewarn "Please see net.example for the correct format for $1."
+ eval "set -- \"\${$1[@]}\""
+ for x; do
+ printf "'%s' " "$(printf "$x" | sed "s:':'\\\'':g")"
+ done
+ return 0
+ ;;
+ esac
+ fi
+
+ _array_helper $1
+}
+
+_wait_for_carrier()
+{
+ local timeout= efunc=einfon
+
+ _has_carrier && return 0
+
+ eval timeout=\$carrier_timeout_${IFVAR}
+ timeout=${timeout:-${carrier_timeout:-5}}
+
+ # Incase users don't want this nice feature ...
+ [ ${timeout} -le 0 ] && return 0
+
+ yesno ${RC_PARALLEL} && efunc=einfo
+ ${efunc} "Waiting for carrier (${timeout} seconds) "
+ while [ ${timeout} -gt 0 ]; do
+ sleep 1
+ if _has_carrier; then
+ [ "${efunc}" = "einfon" ] && echo
+ eend 0
+ return 0
+ fi
+ timeout=$((${timeout} - 1))
+ [ "${efunc}" = "einfon" ] && printf "."
+ done
+
+ [ "${efunc}" = "einfon" ] && echo
+ eend 1
+ return 1
+}
+
+_netmask2cidr()
+{
+ # Some shells cannot handle hex arithmetic, so we massage it slightly
+ # Buggy shells include FreeBSD sh, dash and busybox.
+ # bash and NetBSD sh don't need this.
+ case $1 in
+ 0x*)
+ local hex=${1#0x*} quad=
+ while [ -n "${hex}" ]; do
+ local lastbut2=${hex#??*}
+ quad=${quad}${quad:+.}0x${hex%${lastbut2}*}
+ hex=${lastbut2}
+ done
+ set -- ${quad}
+ ;;
+ esac
+
+ local i= len=
+ local IFS=.
+ for i in $1; do
+ while [ ${i} != "0" ]; do
+ len=$((${len} + ${i} % 2))
+ i=$((${i} >> 1))
+ done
+ done
+
+ echo "${len}"
+}
+
+_configure_variables()
+{
+ local var= v= t=
+
+ for var in ${_config_vars}; do
+ local v=
+ for t; do
+ eval v=\$${var}_${t}
+ if [ -n "${v}" ]; then
+ eval ${var}_${IFVAR}=\$${var}_${t}
+ continue 2
+ fi
+ done
+ done
+}
+
+_show_address()
+{
+ einfo "received address $(_get_inet_address "${IFACE}")"
+}
+
+# Basically sorts our modules into order and saves the list
+_gen_module_list()
+{
+ local x= f= force=$1
+ if ! ${force} && [ -s "${MODULESLIST}" -a "${MODULESLIST}" -nt "${MODULESDIR}" ]; then
+ local update=false
+ for x in "${MODULESDIR}"/*.sh; do
+ [ -e "${x}" ] || continue
+ if [ "${x}" -nt "${MODULESLIST}" ]; then
+ update=true
+ break
+ fi
+ done
+ ${update} || return 0
+ fi
+
+ einfo "Caching network module dependencies"
+ # Run in a subshell to protect the main script
+ (
+ after() {
+ eval ${MODULE}_after="\"\${${MODULE}_after}\${${MODULE}_after:+ }$*\""
+ }
+
+ before() {
+ local mod=${MODULE}
+ local MODULE=
+ for MODULE; do
+ after "${mod}"
+ done
+ }
+
+ program() {
+ if [ "$1" = "start" -o "$1" = "stop" ]; then
+ local s="$1"
+ shift
+ eval ${MODULE}_program_${s}="\"\${${MODULE}_program_${s}}\${${MODULE}_program_${s}:+ }$*\""
+ else
+ eval ${MODULE}_program="\"\${${MODULE}_program}\${${MODULE}_program:+ }$*\""
+ fi
+ }
+
+ provide() {
+ eval ${MODULE}_provide="\"\${${MODULE}_provide}\${${MODULE}_provide:+ }$*\""
+ local x
+ for x in $*; do
+ eval ${x}_providedby="\"\${${MODULE}_providedby}\${${MODULE}_providedby:+ }${MODULE}\""
+ done
+ }
+
+ for MODULE in "${MODULESDIR}"/*.sh; do
+ sh -n "${MODULE}" || continue
+ . "${MODULE}" || continue
+ MODULE=${MODULE#${MODULESDIR}/}
+ MODULE=${MODULE%.sh}
+ eval ${MODULE}_depend
+ MODULES="${MODULES} ${MODULE}"
+ done
+
+ VISITED=
+ SORTED=
+ visit() {
+ case " ${VISITED} " in
+ *" $1 "*) return;;
+ esac
+ VISITED="${VISITED} $1"
+
+ eval AFTER=\$${1}_after
+ for MODULE in ${AFTER}; do
+ eval PROVIDEDBY=\$${MODULE}_providedby
+ if [ -n "${PROVIDEDBY}" ]; then
+ for MODULE in ${PROVIDEDBY}; do
+ visit "${MODULE}"
+ done
+ else
+ visit "${MODULE}"
+ fi
+ done
+
+ eval PROVIDE=\$${1}_provide
+ for MODULE in ${PROVIDE}; do
+ visit "${MODULE}"
+ done
+
+ eval PROVIDEDBY=\$${1}_providedby
+ [ -z "${PROVIDEDBY}" ] && SORTED="${SORTED} $1"
+ }
+
+ for MODULE in ${MODULES}; do
+ visit "${MODULE}"
+ done
+
+ printf "" > "${MODULESLIST}"
+ i=0
+ for MODULE in ${SORTED}; do
+ eval PROGRAM=\$${MODULE}_program
+ eval PROGRAM_START=\$${MODULE}_program_start
+ eval PROGRAM_STOP=\$${MODULE}_program_stop
+ eval PROVIDE=\$${MODULE}_provide
+ echo "module_${i}='${MODULE}'" >> "${MODULESLIST}"
+ echo "module_${i}_program='${PROGRAM}'" >> "${MODULESLIST}"
+ echo "module_${i}_program_start='${PROGRAM_START}'" >> "${MODULESLIST}"
+ echo "module_${i}_program_stop='${PROGRAM_STOP}'" >> "${MODULESLIST}"
+ echo "module_${i}_provide='${PROVIDE}'" >> "${MODULESLIST}"
+ i=$((${i} + 1))
+ done
+ echo "module_${i}=" >> "${MODULESLIST}"
+ )
+
+ return 0
+}
+
+_load_modules()
+{
+ local starting=$1 mymods=
+
+ # Ensure our list is up to date
+ _gen_module_list false
+ if ! . "${MODULESLIST}"; then
+ _gen_module_list true
+ . "${MODULESLIST}"
+ fi
+
+ MODULES=
+ if [ "${IFACE}" != "lo" -a "${IFACE}" != "lo0" ]; then
+ eval mymods=\$modules_${IFVAR}
+ [ -z "${mymods}" ] && mymods=${modules}
+ fi
+
+ local i=-1 x= mod= f= provides=
+ while true; do
+ i=$((${i} + 1))
+ eval mod=\$module_${i}
+ [ -z "${mod}" ] && break
+ [ -e "${MODULESDIR}/${mod}.sh" ] || continue
+
+ eval set -- \$module_${i}_program
+ if [ -n "$1" ]; then
+ x=
+ for x; do
+ [ -x "${x}" ] && break
+ done
+ [ -x "${x}" ] || continue
+ fi
+ if ${starting}; then
+ eval set -- \$module_${i}_program_start
+ else
+ eval set -- \$module_${i}_program_stop
+ fi
+ if [ -n "$1" ]; then
+ x=
+ for x; do
+ case "${x}" in
+ /*) [ -x "${x}" ] && break;;
+ *) type "${x}" >/dev/null 2>&1 && break;;
+ esac
+ unset x
+ done
+ [ -n "${x}" ] || continue
+ fi
+
+ eval provides=\$module_${i}_provide
+ if ${starting}; then
+ case " ${mymods} " in
+ *" !${mod} "*) continue;;
+ *" !${provides} "*) [ -n "${provides}" ] && continue;;
+ esac
+ fi
+ MODULES="${MODULES}${MODULES:+ }${mod}"
+
+ # Now load and wrap our functions
+ if ! . "${MODULESDIR}/${mod}.sh"; then
+ eend 1 "${RC_SVCNAME}: error loading module \`${mod}'"
+ exit 1
+ fi
+
+ [ -z "${provides}" ] && continue
+
+ # Wrap our provides
+ local f=
+ for f in pre_start start post_start; do
+ eval "${provides}_${f}() { [ "$(command -v "${mod}_${f}")" = "${mod}_${f}" ] || return 0; ${mod}_${f} \"\$@\"; }"
+ done
+
+ eval module_${mod}_provides="${provides}"
+ eval module_${provides}_providedby="${mod}"
+ done
+
+ # Wrap our preferred modules
+ for mod in ${mymods}; do
+ case " ${MODULES} " in
+ *" ${mod} "*)
+ eval x=\$module_${mod}_provides
+ [ -z "${x}" ] && continue
+ for f in pre_start start post_start; do
+ eval "${x}_${f}() { [ "$(command -v "${mod}_${f}")" = "${mod}_${f}" ] || return 0; ${mod}_${f} \"\$@\"; }"
+ done
+ eval module_${x}_providedby="${mod}"
+ ;;
+ esac
+ done
+
+ # Finally remove any duplicated provides from our list if we're starting
+ # Otherwise reverse the list
+ local LIST="${MODULES}" p=
+ MODULES=
+ if ${starting}; then
+ for mod in ${LIST}; do
+ eval x=\$module_${mod}_provides
+ if [ -n "${x}" ]; then
+ eval p=\$module_${x}_providedby
+ [ "${mod}" != "${p}" ] && continue
+ fi
+ MODULES="${MODULES}${MODULES:+ }${mod}"
+ done
+ else
+ for mod in ${LIST}; do
+ MODULES="${mod}${MODULES:+ }${MODULES}"
+ done
+ fi
+
+ veinfo "Loaded modules: ${MODULES}"
+}
+
+_load_config()
+{
+ local config="$(_get_array "config_${IFVAR}")"
+ local fallback="$(_get_array fallback_${IFVAR})"
+
+ config_index=0
+ local IFS="$__IFS"
+ set -- ${config}
+
+ # We should support a space separated array for cidr configs
+ if [ $# = 1 ]; then
+ unset IFS
+ set -- ${config}
+ # Of course, we may have a single address added old style.
+ case "$2" in
+ netmask|broadcast|brd|brd+|peer|pointopoint)
+ local IFS="$__IFS"
+ set -- ${config}
+ ;;
+ esac
+ fi
+
+ # Ensure that loopback has the correct address
+ if [ "${IFACE}" = "lo" -o "${IFACE}" = "lo0" ]; then
+ if [ "$1" != "null" ]; then
+ config_0="127.0.0.1/8"
+ config_index=1
+ fi
+ else
+ if [ -z "$1" ]; then
+ ewarn "No configuration specified; defaulting to DHCP"
+ config_0="dhcp"
+ config_index=1
+ fi
+ fi
+
+
+ # We store our config in an array like vars
+ # so modules can influence it
+ for cmd; do
+ eval config_${config_index}="'${cmd}'"
+ config_index=$((${config_index} + 1))
+ done
+ # Terminate the list
+ eval config_${config_index}=
+
+ config_index=0
+ for cmd in ${fallback}; do
+ eval fallback_${config_index}="'${cmd}'"
+ config_index=$((${config_index} + 1))
+ done
+ # Terminate the list
+ eval fallback_${config_index}=
+
+ # Don't set to zero, so any net modules don't have to do anything extra
+ config_index=-1
+}
+
+# Support functions
+_run_if()
+{
+ local cmd=$1 iface=$2 ifr=${IFACE} ifv=${IFVAR}
+ # Ensure that we don't stamp on real values
+ local IFACE= IFVAR=
+ shift
+ if [ -n "${iface}" ]; then
+ IFACE="${iface}"
+ [ "${iface}" != "${ifr}" ] && IFVAR=$(shell_var "${IFACE}")
+ else
+ IFACE=${ifr}
+ IFVAR=${ifv}
+ fi
+ ${cmd}
+}
+interface_exists()
+{
+ _run_if _exists "$@"
+}
+interface_up()
+{
+ _run_if _up "$@"
+}
+interface_down()
+{
+ _run_if _down "$@"
+}
+
+start()
+{
+ local IFACE=${RC_SVCNAME#*.} oneworked=false fallback=false module=
+ local IFVAR=$(shell_var "${IFACE}") cmd= our_metric=
+ local metric=0
+
+ einfo "Bringing up interface ${IFACE}"
+ eindent
+
+ if [ -z "${MODULES}" ]; then
+ local MODULES=
+ _load_modules true
+ fi
+
+ # We up the iface twice if we have a preup to ensure it's up if
+ # available in preup and afterwards incase the user inadvertently
+ # brings it down
+ if [ "$(command -v preup)" = "preup" ]; then
+ _up 2>/dev/null
+ ebegin "Running preup"
+ eindent
+ preup || return 1
+ eoutdent
+ fi
+
+ _up 2>/dev/null
+
+ for module in ${MODULES}; do
+ if [ "$(command -v "${module}_pre_start")" = "${module}_pre_start" ]; then
+ ${module}_pre_start || exit $?
+ fi
+ done
+
+ if ! _exists; then
+ eerror "ERROR: interface ${IFACE} does not exist"
+ eerror "Ensure that you have loaded the correct kernel module for your hardware"
+ return 1
+ fi
+
+ if ! _wait_for_carrier; then
+ if service_started devd; then
+ ewarn "no carrier, but devd will start us when we have one"
+ mark_service_inactive "${RC_SVCNAME}"
+ else
+ eerror "no carrier"
+ fi
+ return 1
+ fi
+
+ local config= config_index=
+ _load_config
+ config_index=0
+
+ eval our_metric=\$metric_${IFVAR}
+ if [ -n "${our_metric}" ]; then
+ metric=${our_metric}
+ elif [ "${IFACE}" != "lo" -a "${IFACE}" != "lo0" ]; then
+ metric=$((${metric} + $(_ifindex)))
+ fi
+
+ while true; do
+ eval config=\$config_${config_index}
+ [ -z "${config}" ] && break
+
+ set -- ${config}
+ if [ "$1" != "null" -a "$1" != "noop" ]; then
+ ebegin "$1"
+ fi
+ eindent
+ case "$1" in
+ noop)
+ if [ -n "$(_get_inet_address)" ]; then
+ oneworked=true
+ break
+ fi
+ ;;
+ null) :;;
+ [0-9]*|*:*) _add_address ${config};;
+ *)
+ if [ "$(command -v "${config}_start")" = "${config}_start" ]; then
+ "${config}"_start
+ else
+ eerror "nothing provides \`${config}'"
+ fi
+ ;;
+ esac
+ if eend $?; then
+ oneworked=true
+ else
+ eval config=\$fallback_${config_index}
+ if [ -n "${config}" ]; then
+ fallback=true
+ eoutdent
+ ewarn "Trying fallback configuration ${config}"
+ eindent
+ eval config_${config_index}=\$config
+ unset fallback_${config_index}
+ config_index=$((${config_index} - 1))
+ fi
+ fi
+ eoutdent
+ config_index=$((${config_index} + 1))
+ done
+
+ if ! ${oneworked}; then
+ if [ "$(command -v failup)" = "failup" ]; then
+ ebegin "Running failup"
+ eindent
+ failup
+ eoutdent
+ fi
+ return 1
+ fi
+
+ local hidefirstroute=false first=true routes=
+ if ${fallback}; then
+ routes="$(_get_array "fallback_routes_${IFVAR}")"
+ fi
+ if [ -z "${routes}" ]; then
+ routes="$(_get_array "routes_${IFVAR}")"
+ fi
+ if [ "${IFACE}" = "lo" -o "${IFACE}" = "lo0" ]; then
+ if [ "${config_0}" != "null" ]; then
+ routes="127.0.0.0/8 via 127.0.0.1
+${routes}"
+ hidefirstroute=true
+ fi
+ fi
+
+ local OIFS="${IFS}" SIFS="${IFS-y}"
+ local IFS="$__IFS"
+ for cmd in ${routes}; do
+ unset IFS
+ if ${first}; then
+ first=false
+ einfo "Adding routes"
+ fi
+ eindent
+ ebegin ${cmd}
+ # Work out if we're a host or a net if not told
+ case ${cmd} in
+ -net" "*|-host" "*);;
+ *" "netmask" "*) cmd="-net ${cmd}";;
+ *.*.*.*/32*) cmd="-host ${cmd}";;
+ *.*.*.*/*|0.0.0.0|0.0.0.0" "*) cmd="-net ${cmd}";;
+ default|default" "*) cmd="-net ${cmd}";;
+ *) cmd="-host ${cmd}";;
+ esac
+ if ${hidefirstroute}; then
+ _add_route ${cmd} >/dev/null 2>&1
+ hidefirstroute=false
+ else
+ _add_route ${cmd} >/dev/null
+ fi
+ eend $?
+ eoutdent
+ done
+ if [ "${SIFS}" = "y" ]; then
+ unset IFS
+ else
+ IFS="${OIFS}"
+ fi
+
+ for module in ${MODULES}; do
+ if [ "$(command -v "${module}_post_start")" = "${module}_post_start" ]; then
+ ${module}_post_start || exit $?
+ fi
+ done
+
+ if [ "$(command -v postup)" = "postup" ]; then
+ ebegin "Running postup"
+ eindent
+ postup
+ eoutdent
+ fi
+
+ return 0
+}
+
+stop()
+{
+ local IFACE=${RC_SVCNAME#*.} module=
+ local IFVAR=$(shell_var "${IFACE}") opts=
+
+ einfo "Bringing down interface ${IFACE}"
+ eindent
+
+ if [ -z "${MODULES}" ]; then
+ local MODULES=
+ _load_modules false
+ fi
+
+ if [ "$(command -v predown)" = "predown" ]; then
+ ebegin "Running predown"
+ eindent
+ predown || return 1
+ eoutdent
+ else
+ if is_net_fs /; then
+ eerror "root filesystem is network mounted -- can't stop ${IFACE}"
+ return 1
+ fi
+ fi
+
+ for module in ${MODULES}; do
+ if [ "$(command -v "${module}_pre_stop")" = "${module}_pre_stop" ]; then
+ ${module}_pre_stop || exit $?
+ fi
+ done
+
+ for module in ${MODULES}; do
+ if [ "$(command -v "${module}_stop")" = "${module}_stop" ]; then
+ ${module}_stop
+ fi
+ done
+
+ # Only delete addresses for interfaces that exist
+ if _exists; then
+ # PPP can manage it's own addresses when IN_BACKGROUND
+ # Important in case "demand" set on the ppp link
+ if ! (yesno ${IN_BACKGROUND} && is_ppp) ; then
+ _delete_addresses "${IFACE}"
+ fi
+ fi
+
+ for module in ${MODULES}; do
+ if [ "$(command -v "${module}_post_stop")" = "${module}_post_stop" ]; then
+ ${module}_post_stop
+ fi
+ done
+
+ # If not in background, and not loopback then bring the interface down
+ # unless overridden.
+ if ! yesno ${IN_BACKGROUND} && \
+ [ "${IFACE}" != "lo" -a "${IFACE}" != "lo0" ]; then
+ eval module=\$ifdown_${IFVAR}
+ module=${module:-${ifdown:-YES}}
+ yesno ${module} && _down 2>/dev/null
+ fi
+
+ type resolvconf >/dev/null 2>&1 && resolvconf -d "${IFACE}" 2>/dev/null
+
+ if [ "$(command -v "postdown")" = "postdown" ]; then
+ ebegin "Running postdown"
+ eindent
+ postdown
+ eoutdent
+ fi
+
+ return 0
+}
need localmount
after bootmisc
provide net
- keyword -shutdown -jail -prefix -vserver
+ keyword -jail -prefix -vserver
case "${IFACE}" in
lo|lo0);;
--- /dev/null
+#!/sbin/runscript
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+opts="${opts} reload"
+
+depend() {
+ use net
+ provide postgresql
+ provide postgresql-9.1
+}
+
+checkconfig() {
+ if [ -z ${DATA_DIR} ] ; then
+ eerror "DATA_DIR not set"
+ eerror "HINT: Did you not update /etc/conf.d/postgresql-9.1"
+ fi
+ if [ ! -d ${DATA_DIR} ] ; then
+ eerror "Directory not found: ${DATA_DIR}"
+ eerror "HINT: Ensure that DATA_DIR points to the right path."
+ eerror "HINT: Or perhaps you need to create the database cluster:"
+ eerror " emerge --config dev-db/postgresql-server:9.1"
+ return 1
+ fi
+ if [ ! -f ${PGDATA}/postgresql.conf -o \
+ ! -f ${PGDATA}/pg_hba.conf -o ! -f ${PGDATA}/pg_ident.conf ] ; then
+ eerror "The following file(s) were not found in ${PGDATA}:"
+ [ ! -f ${PGDATA}/postgresql.conf ] && eerror " postgresql.conf"
+ [ ! -f ${PGDATA}/pg_hba.conf ] && eerror " pg_hba.conf"
+ [ ! -f ${PGDATA}/pg_ident.conf ] && eerror " pg_ident.conf"
+ eerror "HINT: Try:"
+ eerror "mv ${DATA_DIR}/*.conf ${PGDATA}"
+ return 1
+ fi
+ local file
+ local failed
+ for file in pg_hba pg_ident postgresql ; do
+ file="${PGDATA}/${file}.conf"
+ su postgres -c "test -r ${file}" || failed="${file} ${failed}"
+ done
+ if [ -n "${failed}" ] ; then
+ eerror "The following file(s) are not readable by 'postgres':"
+ local x
+ for x in ${failed} ; do
+ eerror " ${x}"
+ done
+ eerror "HINT: Try: 'chmod 644 ${PGDATA}/*.conf'"
+ return 1
+ fi
+ if [ -e /var/run/postgresql/.s.PGSQL.${PGPORT} ] ; then
+ eerror "Socket conflict."
+ eerror "A server is already listening on:"
+ eerror " /var/run/postgresql/.s.PGSQL.${PGPORT}"
+ eerror "HINT: Change PGPORT to listen on a different socket."
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting PostgreSQL"
+
+ if [ -f ${DATA_DIR}/postmaster.pid ] ; then
+ rm -f ${DATA_DIR}/postmaster.pid
+ fi
+
+ local retval
+
+ su -l postgres \
+ -c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
+ /usr/lib/postgresql-9.1/bin/pg_ctl \
+ start ${WAIT_FOR_START} -t ${START_TIMEOUT} -s -D ${DATA_DIR} \
+ -o '-D ${PGDATA} --data-directory=${DATA_DIR} --silent-mode=true ${PGOPTS}'"
+ retval=$?
+
+ if [ $retval -ne 0 ] ; then
+ eerror "Check the PostgreSQL 9.1 log for a detailed explanation of the above error."
+ eend $retval
+ return $retval
+ fi
+
+ # The following is to catch the case of an already running server
+ # in which pg_ctl doesn't know to which server it connected to and
+ # falsely reports the server as 'up'
+ if [ ! -f ${DATA_DIR}/postmaster.pid ] ; then
+ eerror "The PID file doesn't exist but pg_ctl reported a running server."
+ eerror "Please check whether there is another server running on the same port or read the log-file."
+ eend 1
+ return 1
+ fi
+
+ eend $retval
+}
+
+stop() {
+ ebegin "Stopping PostgreSQL (this can take up to $(( ${NICE_TIMEOUT} + ${RUDE_TIMEOUT} + ${FORCE_TIMEOUT} )) seconds)"
+
+ local retval
+
+ if [ "${NICE_QUIT}" != "NO" ] ; then
+ su -l postgres \
+ -c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
+ /usr/lib/postgresql-9.1/bin/pg_ctl \
+ stop ${WAIT_FOR_STOP} -t ${NICE_TIMEOUT} -s -D ${DATA_DIR} \
+ -m smart"
+ retval=$?
+
+ if [ $retval -eq 0 ] ; then
+ eend $retval
+ return $retval
+ fi
+
+ ewarn "Shutting down the server gracefully failed."
+ ewarn "Probably because some clients did not disconnect within ${NICE_TIMEOUT} seconds."
+ else
+ ewarn "NICE_QUIT disabled."
+ ewarn "You really should have it enabled."
+ fi
+
+ if [ "${RUDE_QUIT}" != "NO" ] ; then
+ ewarn "RUDE_QUIT enabled."
+ ewarn "Going to shutdown the server anyway."
+
+ su -l postgres \
+ -c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
+ /usr/lib/postgresql-9.1/bin/pg_ctl \
+ stop ${WAIT_FOR_STOP} -t ${RUDE_TIMEOUT} -s -D ${DATA_DIR} \
+ -m fast"
+ retval=$?
+
+ if [ $retval -eq 0 ] ; then
+ eend $retval
+ return $retval
+ fi
+
+ eerror "Failed to shutdown server."
+ else
+ ewarn "RUDE_QUIT disabled."
+ fi
+
+ if [ "${FORCE_QUIT}" = "YES" ] ; then
+ ewarn "FORCE_QUIT enabled."
+ ewarn "Forcing server to shutdown."
+ ewarn "A recover-run will be executed on the next startup."
+
+ su -l postgres \
+ -c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
+ /usr/lib/postgresql-9.1/bin/pg_ctl \
+ stop ${WAIT_FOR_STOP} -t ${FORCE_TIMEOUT} -s -D ${DATA_DIR} \
+ -m immediate"
+
+ retval=$?
+
+ if [ $retval -eq 0 ] ; then
+ ewarn "Server forced down."
+ eend $retval
+ return $retval
+ fi
+
+ eerror "Forced shutdown failed!!!"
+ eerror "Something is wrong with your system."
+ eerror "Please take care of it manually."
+ eerror "Unable to stop server."
+ eend $retval
+ return $retval
+ else
+ ewarn "FORCE_QUIT disabled."
+ eerror "Unable to shutdown server."
+ eend 1
+ return 1
+ fi
+}
+
+reload() {
+ ebegin "Reloading PostgreSQL configuration"
+ su -l postgres \
+ -c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
+ /usr/lib/postgresql-9.1/bin/pg_ctl \
+ reload -s -D ${DATA_DIR}"
+ eend $?
+}
+
+status() {
+ ebegin "Reloading PostgreSQL configuration"
+ su -l postgres \
+ -c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
+ /usr/lib/postgresql-9.1/bin/pg_ctl \
+ status -D ${DATA_DIR}"
+ eend $?
+}
--- /dev/null
+#!/sbin/runscript
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+extra_started_commands="reload"
+
+get_config() {
+ [ -f ${PGDATA}/postgresql.conf ] || return 1
+
+ eval echo $(sed -e 's:#.*::' ${PGDATA}/postgresql.conf | awk '$1 == "'$1'" { print $2 == "=" ? $3 : $2 }')
+}
+
+depend() {
+ use net
+ provide postgresql
+
+ if [ "$(get_config log_destination)" = "syslog" ]; then
+ use logger
+ fi
+}
+
+configured_port=$(get_config port)
+: ${configured_port:=${PGPORT}}
+socket_path=$(get_config unix_socket_path)
+: ${socket_path:=/var/run/postgresql}
+
+checkconfig() {
+ # Check that DATA_DIR has been set and exists
+ if [ -z ${DATA_DIR} ] ; then
+ eerror "DATA_DIR not set"
+ eerror "HINT: Perhaps you need to update /etc/conf.d/postgresql-9.1"
+ fi
+ if [ ! -d ${DATA_DIR} ] ; then
+ eerror "Directory not found: ${DATA_DIR}"
+ eerror "HINT: Ensure that DATA_DIR points to the right path."
+ eerror "HINT: Or perhaps you need to create the database cluster:"
+ eerror " emerge --config dev-db/postgresql-server:9.1"
+ return 1
+ fi
+
+ # Check for the existence of and PostgreSQL's ability to read the config files.
+ if [ ! -f ${PGDATA}/postgresql.conf -o \
+ ! -f ${PGDATA}/pg_hba.conf -o ! -f ${PGDATA}/pg_ident.conf ] ; then
+ eerror "The following file(s) were not found in ${PGDATA}:"
+ [ ! -f ${PGDATA}/postgresql.conf ] && eerror " postgresql.conf"
+ [ ! -f ${PGDATA}/pg_hba.conf ] && eerror " pg_hba.conf"
+ [ ! -f ${PGDATA}/pg_ident.conf ] && eerror " pg_ident.conf"
+ eerror "HINT: Try:"
+ eerror " mv ${DATA_DIR}/*.conf ${PGDATA}"
+ return 1
+ fi
+
+ local file
+ local failed
+ for file in pg_hba pg_ident postgresql ; do
+ file="${PGDATA}/${file}.conf"
+ su postgres -c "test -r ${file}" || failed="${file} ${failed}"
+ done
+ if [ -n "${failed}" ] ; then
+ eerror "The following file(s) are not readable by 'postgres':"
+ local x
+ for x in ${failed} ; do
+ eerror " ${x}"
+ done
+ eerror "HINT: Try: 'chmod 644 ${PGDATA}/*.conf'"
+ return 1
+ fi
+
+ checkpath -d -m 0770 -o postgres:postgres ${socket_path}
+ if [ -e ${socket_path}/.s.PGSQL.${configured_port} ] ; then
+ eerror "Socket conflict."
+ eerror "A server is already listening on:"
+ eerror " ${socket_path}/.s.PGSQL.${configured_port}"
+ eerror "HINT: Change PGPORT to listen on a different socket."
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting PostgreSQL"
+
+ rm -f ${DATA_DIR}/postmaster.pid
+
+ local extraenv
+ local x
+ for x in ${PG_EXTRA_ENV} ; do
+ extraenv="${extraenv} --env ${x}"
+ done
+
+ start-stop-daemon --start \
+ --user postgres \
+ --exec /usr/lib/postgresql-9.1/bin/postgres \
+ --env "PGPORT=${configured_port}" \
+ ${extraenv} \
+ --wait $((${START_TIMEOUT}*1000)) \
+ --pidfile ${DATA_DIR}/postmaster.pid \
+ -- -D ${PGDATA} --data-directory=${DATA_DIR} --silent-mode=true ${PGOPTS}
+ local retval=$?
+
+ if [ $retval -ne 0 ] ; then
+ eerror "Check the PostgreSQL 9.1 log for a detailed explanation of the above error."
+ eend $retval
+ return $retval
+ fi
+
+ eend $retval
+}
+
+stop() {
+ local seconds=$(( ${NICE_TIMEOUT} + ${RUDE_TIMEOUT} + ${FORCE_TIMEOUT} ))
+ ebegin "Stopping PostgreSQL (this can take up to ${seconds} seconds)"
+
+ local retval
+ local retries=SIGTERM/${NICE_TIMEOUT}
+
+ if [ "${RUDE_QUIT}" != "NO" ] ; then
+ einfo "RUDE_QUIT enabled."
+ retries="${retries}/SIGINT/${RUDE_TIMEOUT}"
+ fi
+ if [ "${FORCE_QUIT}" = "YES" ] ; then
+ einfo "FORCE_QUIT enabled."
+ ewarn "A recover-run might be executed on next startup."
+ retries="${retries}/SIGQUIT/${FORCE_TIMEOUT}"
+ fi
+
+ start-stop-daemon --stop \
+ --exec /usr/lib/postgresql-9.1/bin/postgres \
+ --retry ${retries} \
+ --pidfile ${DATA_DIR}/postmaster.pid
+
+ eend
+}
+
+reload() {
+ ebegin "Reloading PostgreSQL configuration"
+ kill -HUP $(head -n1 ${DATA_DIR}/postmaster.pid)
+ eend $?
+}
eend $?
fi
fi
+
+ # Setup Kernel Support for configfs
+ if [ -d /sys/kernel/config ] && ! mountinfo -q /sys/kernel/config; then
+ if grep -qs configfs /proc/filesystems; then
+ ebegin "Mounting config filesystem"
+ mount -n -t configfs -o nodev,noexec,nosuid \
+ configfs /sys/kernel/config
+ eend $?
+ fi
+ fi
+
+ # set up kernel support for cgroups
+ if [ -d /sys/fs/cgroup ] && ! mountinfo -q /sys/fs/cgroup; then
+ if grep -qs cgroup /proc/filesystems; then
+ ebegin "Mounting cgroup filesystem"
+ local opts="nodev,noexec,nosuid,mode=755,size=${rc_cgroupsize:-10m}"
+ mount -n -t tmpfs -o ${opts} cgroup_root /sys/fs/cgroup
+ eend $?
+ fi
+ fi
+}
+
+mount_cgroups()
+{
+ yesno ${rc_cgroups:-YES} || return 0
+ if [ ! -e /proc/cgroups ]; then
+ return 0
+ fi
+
+ while read name hier groups enabled rest; do
+ case "${enabled}" in
+ 1) mkdir /sys/fs/cgroup/${name}
+ mount -t cgroup -o nodev,noexec,nosuid,${name} \
+ ${name} /sys/fs/cgroup/${name}
+ ;;
+ esac
+ done < /proc/cgroups
}
start()
retval=$?
if [ $retval -eq 0 ]; then
mount_misc
+ retval=$?
+ fi
+ if [ $retval -eq 0 ]; then
+ mount_cgroups
+ retval=$?
fi
return $retval
}
--- /dev/null
+#!/sbin/runscript
+# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
+# Released under the 2-clause BSD license.
+
+description="Mount the sys filesystem."
+
+depend()
+{
+ keyword -prefix -vserver
+}
+
+mount_sys()
+{
+ grep -Eq "[[:space:]]+sysfs$" /proc/filesystems || return 1
+ mountinfo -q /sys && return 0
+
+ if [ ! -d /sys ]; then
+ if ! mkdir -m 0755 /sys; then
+ ewarn "Could not create /sys!"
+ return 1
+ fi
+ fi
+
+ ebegin "Mounting /sys"
+ if ! fstabinfo --mount /sys; then
+ mount -n -t sysfs -o noexec,nosuid,nodev sysfs /sys
+ fi
+ eend $?
+}
+
+mount_misc()
+{
+ # Setup Kernel Support for securityfs
+ if [ -d /sys/kernel/security ] && \
+ ! mountinfo -q /sys/kernel/security; then
+ if grep -qs securityfs /proc/filesystems; then
+ ebegin "Mounting security filesystem"
+ mount -n -t securityfs -o nodev,noexec,nosuid \
+ securityfs /sys/kernel/security
+ eend $?
+ fi
+ fi
+
+ # Setup Kernel Support for debugfs
+ if [ -d /sys/kernel/debug ] && ! mountinfo -q /sys/kernel/debug; then
+ if grep -qs debugfs /proc/filesystems; then
+ ebegin "Mounting debug filesystem"
+ mount -n -t debugfs -o nodev,noexec,nosuid \
+ debugfs /sys/kernel/debug
+ eend $?
+ fi
+ fi
+}
+
+start()
+{
+ local retval
+ mount_sys
+ retval=$?
+ if [ $retval -eq 0 ]; then
+ mount_misc
+ fi
+ return $retval
+}
mount_cgroups()
{
- yesno ${rc_cgroups:-YES} || return 0
- if [ ! -e /proc/cgroups ]; then
- return 0
- fi
+ yesno ${rc_cgroups:-YES} && [ -e /proc/cgroups ] && \
+ mountinfo -q /sys/fs/cgroup || return 0
while read name hier groups enabled rest; do
case "${enabled}" in
1) mkdir /sys/fs/cgroup/${name}
- mount -t cgroup -o nodev,noexec,nosuid,${name} \
+ mount -n -t cgroup -o nodev,noexec,nosuid,${name} \
${name} /sys/fs/cgroup/${name}
;;
esac
--- /dev/null
+# See ldap.conf(5) and README.LDAP for details\n"
+# This file should only be readable by root\n\n"
+# supported directives: host, port, ssl, ldap_version\n"
+# uri, binddn, bindpw, sudoers_base, sudoers_debug\n"
+# tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key
--- /dev/null
+# See ldap.conf(5) and README.LDAP for details
+# This file should only be readable by root
+
+# supported directives: host, port, ssl, ldap_version
+# uri, binddn, bindpw, sudoers_base, sudoers_debug
+# tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key
--- /dev/null
+[executable]
+ type=FILE_EXE
+
+[directory]
+ type=DIR
+
+
+[device]
+ type=DEVICE
+
+[special]
+ type=SPECIAL
+
+[stalelink]
+ type=STALE_LINK
+
+[symlink]
+ type=SYMLINK
+
+[core]
+ regexp=^core\\.*\\d*$
+
+[temp]
+ extensions=tmp;$$$;~;bak
+ extensions_case=false
+ regexp=(^#.*|.*~$)
+
+[archive]
+ extensions=gz;bz2;tar;tgz;rpm;Z;rar;zip;arj;cab;lzh;lha;zoo;arc;ark;xz;tbz;tbz2;
+
+[doc]
+ extensions=txt;doc;rtf;diz;ctl;me;ps;pdf;xml;xsd;xslt;dtd;html;shtml;htm;mail;msg;lsm;po;nroff;man;tex;sgml;css;text;letter;chm
+
+[source]
+ extensions=c;h;cc;hh;cpp;cxx;hpp;asm;py;pl;pm;inc;cgi;php;phps;js;java;jav;jasm;sh;bash;diff;patch;pas;tcl;tk;awk;m4;st;mak;sl;ada;caml;ml;mli;mly;mll;mlp;sas;prg;hs;hi;erl
+
+[media]
+ extensions=mp2;mp3;mpg;ogg;mpeg;wav;avi;asf;mov;mol;mpl;xm;mod;it;med;mid;midi;s3m;umx;vob;mkv;flv;mp4;m3u
+
+[graph]
+ extensions=jpg;jpeg;gif;png;tif;pcx;bmp;xpm;xbm;eps;pic;rle;ico;wmf;omf;ai;cdr
+
+[database]
+ extensions=dbf;mdn;db;mdb;dat;fox;dbx;mdx;sql;mssql;msql;ssql;pgsql;xls;cdx;dbi
+
--- /dev/null
+[executable]
+ type=FILE_EXE
+
+[directory]
+ type=DIR
+
+[device]
+ type=DEVICE
+
+[special]
+ type=SPECIAL
+
+[stalelink]
+ type=STALE_LINK
+
+[symlink]
+ type=SYMLINK
+
+[hardlink]
+ type=HARDLINK
+
+[core]
+ regexp=^core\\.*\\d*$
+
+[temp]
+ extensions=tmp;$$$;~;bak
+ extensions_case=false
+ regexp=(^#.*|.*~$)
+
+[archive]
+ extensions=gz;bz2;tar;tgz;rpm;Z;rar;zip;arj;cab;lzh;lha;zoo;arc;ark;xz;tbz;tbz2;7z;ace
+
+[doc]
+ extensions=txt;doc;rtf;diz;ctl;me;ps;pdf;xml;xsd;xslt;dtd;html;shtml;htm;mail;msg;lsm;po;nroff;man;tex;sgml;css;text;letter;chm;docx;docm;xlsx;xlsm;pptx;pptm
+
+[source]
+ extensions=c;h;cc;hh;cpp;cxx;hpp;asm;py;pl;pm;inc;cgi;php;phps;js;java;jav;jasm;sh;bash;diff;patch;pas;tcl;tk;awk;m4;st;mak;sl;ada;caml;ml;mli;mly;mll;mlp;sas;prg;hs;hi;erl
+
+[media]
+ extensions=mp2;mp3;mpg;ogg;mpeg;wav;avi;asf;mov;mol;mpl;xm;mod;it;med;mid;midi;s3m;umx;vob;mkv;flv;mp4;m3u;flac;ape;wma;wmv;3gp
+
+[graph]
+ extensions=jpg;jpeg;gif;png;tif;pcx;bmp;xpm;xbm;eps;pic;rle;ico;wmf;omf;ai;cdr
+
+[database]
+ extensions=dbf;mdn;db;mdb;dat;fox;dbx;mdx;sql;mssql;msql;ssql;pgsql;xls;cdx;dbi
+
--- /dev/null
+# Midnight Commander 3.0 extension file
+# Warning: Structure of this file has changed completely with version 3.0
+#
+# All lines starting with # or empty lines are thrown away.
+# Lines starting in the first column should have following format:
+#
+# keyword/descNL, i.e. everything after keyword/ until new line is desc
+#
+# keyword can be:
+#
+# shell (desc is, when starting with a dot, any extension (no wildcars),
+# i.e. matches all the files *desc . Example: .tar matches *.tar;
+# if it doesn't start with a dot, it matches only a file of that name)
+#
+# regex (desc is an extended regular expression)
+# Please note that we are using the GNU regex library and thus
+# \| matches the literal | and | has special meaning (or) and
+# () have special meaning and \( \) stand for literal ( ).
+#
+# type (file matches this if `file %f` matches regular expression desc
+# (the filename: part from `file %f` is removed))
+#
+# directory (matches any directory matching regular expression desc)
+#
+# include (matches an include directive)
+#
+# default (matches any file no matter what desc is)
+#
+# Other lines should start with a space or tab and should be in the format:
+#
+# keyword=commandNL (with no spaces around =), where keyword should be:
+#
+# Open (if the user presses Enter or doubleclicks it),
+#
+# View (F3), Edit (F4)
+#
+# Include is the keyword used to add any further entries from an include/
+# section
+#
+# command is any one-line shell command, with the following substitutions:
+#
+# %% -> % character
+# %p -> name of the current file (without path, but pwd is its path)
+# %f -> name of the current file. Unlike %p, if file is located on a
+# non-local virtual filesystem, i.e. either tarfs or ftpfs,
+# then the file will be temporarily copied into a local directory
+# and %f will be the full path to this local temporal file.
+# If you don't want to get a local copy and want to get the
+# virtual fs path (like /#ftp:ftp.cvut.cz/pub/hungry/xword), then
+# use %d/%p instead of %f.
+# %d -> name of the current directory (pwd, without trailing slash)
+# %s -> "selected files", i.e. space separated list of tagged files if any
+# or name of the current file
+# %t -> list of tagged files
+# %u -> list of tagged files (they'll be untaged after the command)
+#
+# (If these 6 letters are in uppercase, they refer to the other panel.
+# But you shouldn't have to use it in this file.)
+#
+#
+# %cd -> the rest is a path mc should change into (cd won't work, since it's
+# a child process). %cd handles even vfs names.
+#
+# %view -> the command you type will be piped into mc's internal file viewer
+# if you type only the %view and no command, viewer will load %f file
+# instead (i.e. no piping, so it is different to %view cat %f)
+# %view may be directly followed by {} with a list of any of
+# ascii (Ascii mode), hex (Hex mode), nroff (color highlighting for
+# text using backspace for bold and underscore) and unform
+# (no highlighting for nroff sequences) separated by commas.
+#
+# %var -> You use it like this: %var{VAR:default}. This macro will expand
+# to the value of the VAR variable in the environment if it's set
+# otherwise the value in default will be used. This is similar to
+# the Bourne shell ${VAR-default} construct.
+#
+# Rules are applied from top to bottom, thus the order is important.
+# If some actions are missing, search continues as if this target didn't
+# match (i.e. if a file matches the first and second entry and View action
+# is missing in the first one, then on pressing F3 the View action from
+# the second entry will be used. default should catch all the actions.
+#
+# Any new entries you develop for you are always welcome if they are
+# useful on more than one system. You can post your modifications
+# as tickets at www.midnight-commander.org
+
+
+### Changes ###
+#
+# Reorganization: 2000-05-01 Michal Svec <rebel@penguin.cz>
+
+
+### TODO ###
+#
+# Postscript Open: ps2svga [gs -DEVICE=jpeg|zgv or something]
+# Images asciiview
+#
+# All X Apps [Nothing/Warning] if no DISPLAY
+# Not found [Default/Warning]
+# Empty Output [Default/Warning]
+# Edit: CopyOut+EDIT+CopyIn
+# Security Check gzip/bzip EDIT (mktemp)
+#
+# Maybe: Open/XOpen/GOpen/KOpen/... for Console/X/GNOME/KDE/etc.
+
+
+### Archives ###
+
+# .tgz, .tpz, .tar.gz, .tar.z, .tar.Z, .ipk
+regex/\.t([gp]?z|ar\.g?[zZ])$|\.ipk$
+ Open=%cd %p#utar
+ View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
+
+regex/\.tar\.bz$
+ # Open=%cd %p#utar
+ View=%view{ascii} bzip -dc %f 2>/dev/null | tar tvvf -
+
+regex/\.t(ar\.bz2|bz2?|b2)$
+ Open=%cd %p#utar
+ View=%view{ascii} bzip2 -dc %f 2>/dev/null | tar tvvf -
+
+# .tar.lzma, .tlz
+regex/\.t(ar\.lzma|lz)$
+ Open=%cd %p#utar
+ View=%view{ascii} lzma -dc %f 2>/dev/null | tar tvvf -
+
+# .tar.xz, .txz
+regex/\.t(ar\.xz|xz)$
+ Open=%cd %p#utar
+ View=%view{ascii} xz -dc %f 2>/dev/null | tar tvvf -
+
+# .tar.F - used in QNX
+regex/\.tar\.F$
+ # Open=%cd %p#utar
+ View=%view{ascii} freeze -dc %f 2>/dev/null | tar tvvf -
+
+# .qpr/.qpk - QNX Neutrino package installer files
+regex/\.(qp[rk])$
+ Open=%cd %p#utar
+ View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
+
+# tar
+regex/\.(tar|TAR)$
+ Open=%cd %p#utar
+ View=%view{ascii} tar tvvf - < %f
+
+# lha
+type/^LHa\ .*archive
+ Open=%cd %p#ulha
+ View=%view{ascii} lha l %f
+
+# arj
+regex/\.a(rj|[0-9][0-9])$
+ Open=%cd %p#uarj
+ View=%view{ascii} unarj l %f
+
+# cab
+regex/\.([cC][aA][bB])$
+ Open=%cd %p#ucab
+ View=%view{ascii} cabextract -l %f
+
+# ha
+regex/\.([Hh][Aa])$
+ Open=%cd %p#uha
+ View=%view{ascii} ha lf %f
+
+# rar
+regex/\.[rR]([aA][rR]|[0-9][0-9])$
+ Open=%cd %p#urar
+ View=%view{ascii} rar v -c- %f
+
+# ALZip
+regex/\.(alz|ALZ)$
+ Open=%cd %p#ualz
+ View=%view{ascii} unalz -l %f
+
+# cpio
+shell/.cpio.Z
+ Open=%cd %p#ucpio
+ View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
+
+shell/.cpio.gz
+ Open=%cd %p#ucpio
+ View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
+
+shell/.cpio
+ Open=%cd %p#ucpio
+ View=%view{ascii} cpio -itv < %f 2>/dev/null
+
+# ls-lR
+regex/(^|\.)ls-?lR(\.gz|Z|bz2)$
+ Open=%cd %p#lslR
+
+# patch
+regex/\.(diff|patch)(\.bz2)$
+ Open=%cd %p#patchfs
+ View=%view{ascii} bzip2 -dc %f 2>/dev/null
+
+regex/\.(diff|patch)(\.(gz|Z))$
+ Open=%cd %p#patchfs
+ View=%view{ascii} gzip -dc %f 2>/dev/null
+
+regex/\.(diff|patch)$
+ Open=%cd %p#patchfs
+ View=%view{ascii} /bin/cat %f 2>/dev/null
+
+# ar library
+regex/\.s?a$
+ Open=%cd %p#uar
+ #Open=%view{ascii} ar tv %f
+ View=%view{ascii} file %f && nm -C %f
+
+# trpm
+regex/\.trpm$
+ Open=%cd %p#trpm
+ View=%view{ascii} rpm -qivl --scripts `basename %p .trpm`
+
+# RPM packages (SuSE uses *.spm for source packages)
+regex/\.(src\.rpm|spm)$
+ Open=%cd %p#rpm
+ View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
+
+regex/\.rpm$
+ Open=%cd %p#rpm
+ View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
+
+# deb
+regex/\.u?deb$
+ Open=%cd %p#deb
+ View=%view{ascii} dpkg-deb -I %f && echo && dpkg-deb -c %f
+
+# dpkg
+shell/.debd
+ Open=%cd %p#debd
+ View=%view{ascii} dpkg -s `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
+# apt
+shell/.deba
+ Open=%cd %p#deba
+ View=%view{ascii} apt-cache show `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
+
+# ISO9660
+regex/\.([iI][sS][oO])$
+ Open=%cd %p#iso9660
+ View=%view{ascii} isoinfo -l -i %f
+
+# 7zip archives (they are not man pages)
+regex/\.(7z|7Z)$
+ Open=%cd %p#u7z
+ View=%view{ascii} 7za l %f 2>/dev/null
+
+# Mailboxes
+type/^ASCII\ mail\ text
+ Open=%cd %p#mailfs
+
+
+### Sources ###
+
+# C
+shell/.c
+ Open=%var{EDITOR:vi} %f
+
+# Fortran
+shell/.f
+ Open=%var{EDITOR:vi} %f
+
+# Header
+regex/\.(h|hpp)$
+ Open=%var{EDITOR:vi} %f
+
+# Asm
+shell/.s
+ Open=%var{EDITOR:vi} %f
+
+# C++
+regex/\.(C|cc|cpp)$
+ Open=%var{EDITOR:vi} %f
+
+# .so libraries
+regex/\.(so|so\.[0-9\.]*)$
+ View=%view{ascii} file %f && nm -C -D %f
+
+# Object
+type/^ELF
+ #Open=%var{PAGER:more} %f
+ View=%view{ascii} file %f && nm -C %f
+
+### Documentation ###
+
+# Texinfo
+regex/\.(te?xi|texinfo)$
+
+# GNU Info page
+type/^Info\ text
+ Open=info -f %f
+
+shell/.info
+ Open=info -f %f
+
+# Manual page
+regex/(([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])|\.man)$
+ Open=case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff -c -Tlatin1 -mandoc ;; esac
+
+# Perl pod page
+shell/.pod
+ Open=pod2man %f | nroff -c -Tlatin1 -mandoc | %var{PAGER:more}
+ View=%view{ascii,nroff} pod2man %f | nroff -c -Tlatin1 -mandoc
+
+# Troff with me macros.
+# Exception - "read.me" is not a nroff file.
+shell/read.me
+ Open=
+ View=
+
+shell/.me
+ Open=nroff -c -Tlatin1 -me %f | %var{PAGER:more}
+ View=%view{ascii,nroff} nroff -c -Tlatin1 -me %f
+
+# Troff with ms macros.
+shell/.ms
+ Open=nroff -c -Tlatin1 -ms %f | %var{PAGER:more}
+ View=%view{ascii,nroff} nroff -c -Tlatin1 -ms %f
+
+# Manual page - compressed
+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.g?[Zz]$
+ Open=case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
+
+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz$
+ Open=case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
+
+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz2$
+ Open=case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
+
+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lzma$
+ Open=case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
+
+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.xz$
+ Open=case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
+
+# CHM
+regex/\.(chm|CHM)$
+ Open=which kchmviewer > /dev/null 2>&1 && (kchmviewer %f &) || (xchm %f &)
+
+### Images ###
+
+type/^GIF
+ Include=image
+
+type/^JPEG
+ View=%view{ascii} identify %f; test -x /usr/bin/exif && echo && exif %f 2>/dev/null
+ Include=image
+
+type/^PC\ bitmap
+ Include=image
+
+type/^PNG
+ Include=image
+
+type/^TIFF
+ Include=image
+
+type/^PBM
+ Include=image
+
+type/^PGM
+ Include=image
+
+type/^PPM
+ Include=image
+
+type/^Netpbm
+ Include=image
+
+shell/.xcf
+ Open=(gimp %f &)
+
+shell/.xbm
+ Open=bitmap %f
+
+shell/.xpm
+ Include=image
+ View=sxpm %f
+
+shell/.ico
+ Include=image
+
+include/image
+ Open=if [ "$DISPLAY" = "" ]; then zgv %f; else (gqview %f &); fi
+ View=%view{ascii} identify %f
+ #View=%view{ascii} asciiview %f
+
+
+### Sound files ###
+
+regex/\.([wW][aA][vV]|[sS][nN][dD]|[vV][oO][cC]|[aA][uU]|[sS][mM][pP]|[aA][iI][fF][fF]|[sS][nN][dD])$
+ Open=if [ "$DISPLAY" = "" ]; then play %f; else (xmms %f >/dev/null 2>&1 &); fi
+
+regex/\.([mM][oO][dD]|[sS]3[mM]|[xX][mM]|[iI][tT]|[mM][tT][mM]|669|[sS][tT][mM]|[uU][lL][tT]|[fF][aA][rR])$
+ Open=mikmod %f
+ #Open=tracker %f
+
+regex/\.([wW][aA][wW]22)$
+ Open=vplay -s 22 %f
+
+regex/\.([mM][pP]3)$
+ Open=if [ "$DISPLAY" = "" ]; then mpg123 %f; else (xmms %f >/dev/null 2>&1 &); fi
+ View=%view{ascii} mpg123 -vtn1 %f 2>&1 | sed -n '/^Title/,/^Comment/p;/^MPEG/,/^Audio/p'
+
+regex/\.([oO][gG][gG|aA|vV|xX])$
+ Open=if [ "$DISPLAY" = "" ]; then ogg123 %f; else (xmms %f >/dev/null 2>&1 &); fi
+ View=%view{ascii} ogginfo %s
+
+regex/\.([sS][pP][xX]|[fF][lL][aA][cC])$
+ Open=if [ "$DISPLAY" = "" ]; then play %f; else (xmms %f >/dev/null 2>&1 &); fi
+
+regex/\.([mM][iI][dD][iI]?|[rR][mM][iI][dD]?)$
+ Open=timidity %f
+
+regex/\.([wW][mM][aA])$
+ Open=mplayer -vo null %f
+ View=%view{ascii} mplayer -quiet -slave -frames 0 -vo null -ao null -identify %f 2>/dev/null | tail +13 || file %f
+
+
+### Play lists ###
+
+regex/\.([mM]3[uU]|[pP][lL][sS])$
+ Open=if [ -z "$DISPLAY" ]; then mplayer -vo null -playlist %f; else (xmms -p %f >/dev/null 2>&1 &); fi
+
+
+### Video ###
+
+regex/\.([aA][vV][iI])$
+ Include=video
+
+regex/\.([aA][sS][fFxX])$
+ Include=video
+
+regex/\.([dD][iI][vV][xX])$
+ Include=video
+
+regex/\.([mM][kK][vV])$
+ Include=video
+
+regex/\.([mM][oO][vV]|[qQ][tT])$
+ Include=video
+
+regex/\.([mM][pP]4|[mM][pP][eE]?[gG])$
+ Include=video
+
+regex/\.([vV][oO][bB])$
+ Include=video
+
+regex/\.([wW][mM][vV])$
+ Include=video
+
+regex/\.([fF][lL][iIcCvV])$
+ Include=video
+
+regex/\.([oO][gG][mM])$
+ Include=video
+
+regex/\.([rR][aA]?[mM])$
+ Open=(realplay %f >/dev/null 2>&1 &)
+
+include/video
+ Open=(mplayer %f >/dev/null 2>&1 &)
+ #Open=(gtv %f >/dev/null 2>&1 &)
+ #Open=(xanim %f >/dev/null 2>&1 &)
+
+
+### Documents ###
+
+# Postscript
+type/^PostScript
+ Open=(gv %f &)
+ View=%view{ascii} ps2ascii %f
+
+# PDF
+type/^PDF
+ Open=(xpdf %f &)
+ #Open=(acroread %f &)
+ #Open=(ghostview %f &)
+ View=%view{ascii} pdftotext %f -
+
+# The following code very ugly and should not be taken as example.
+# It should be cleaned up when the new format of mc.ext is developed.
+
+# html
+regex/\.([hH][tT][mM][lL]?)$
+ Open=(if test -n "" && test -n "$DISPLAY"; then ( file://%d/%p &) 1>&2; else links %f || lynx -force_html %f || ${PAGER:-more} %f; fi) 2>/dev/null
+ View=%view{ascii} links -dump %f 2>/dev/null || w3m -dump %f 2>/dev/null || lynx -dump -force_html %f
+
+# StarOffice 5.2
+shell/.sdw
+ Open=(ooffice %f &)
+
+# StarOffice 6 and OpenOffice.org formats
+regex/\.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg)$
+ Open=(ooffice %f &)
+ View=%view{ascii} odt2txt %f
+
+# AbiWord
+shell/.abw
+ Open=(abiword %f &)
+
+# Microsoft Word Document
+regex/\.([Dd][oO][cCtT]|[Ww][rR][iI])$
+ Open=(abiword %f >/dev/null 2>&1 &)
+ View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f
+type/^Microsoft\ Word
+ Open=(abiword %f >/dev/null 2>&1 &)
+ View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f
+
+# RTF document
+regex/\.([rR][tT][fF])$
+ Open=(abiword %f >/dev/null 2>&1 &)
+
+# Microsoft Excel Worksheet
+regex/\.([xX][lL][sSwW])$
+ Open=(gnumeric %f >/dev/null 2>&1 &)
+ View=%view{ascii} xls2csv %f || strings %f
+type/^Microsoft\ Excel
+ Open=(gnumeric %f >/dev/null 2>&1 &)
+ View=%view{ascii} xls2csv %f || strings %f
+
+# Use OpenOffice.org to open any MS Office documents
+type/^Microsoft\ Office\ Document
+ Open=(ooffice %f &)
+
+# Framemaker
+type/^FrameMaker
+ Open=fmclient -f %f
+
+# DVI
+regex/\.([dD][vV][iI])$
+ Open=if [ x$DISPLAY = x ]; then dvisvga %f; else (xdvi %f &); fi
+ View=%view{ascii} dvi2tty %f
+
+# TeX
+regex/\.([Tt][Ee][Xx])$
+ Open=%var{EDITOR:vi} %f
+
+# DjVu
+regex/\.(djvu|DJVU)$
+ Open=djview %f &
+
+### Miscellaneous ###
+
+# Makefile
+regex/[Mm]akefile$
+ Open=make -f %f %{Enter parameters}
+
+# Imakefile
+shell/Imakefile
+ Open=xmkmf -a
+
+# Makefile.PL (MakeMaker)
+regex/^Makefile.(PL|pl)$
+ Open=%var{PERL:perl} %f
+
+# dbf
+regex/\.([dD][bB][fF])$
+ Open=%view{ascii} dbview %f
+ View=%view{ascii} dbview -b %f
+
+# REXX script
+regex/\.(rexx?|cmd)$
+ Open=rexx %f %{Enter parameters};echo "Press ENTER";read y
+
+# Disk images for Commodore computers (VIC20, C64, C128)
+regex/\.(d64|D64)$
+ Open=%cd %p#uc1541
+ View=%view{ascii} c1541 %f -list
+ Extract=c1541 %f -extract
+
+# Glade, a user interface designer for GTK+ and GNOME
+regex/\.([Gg][Ll][Aa][Dd][Ee])$
+ Open=if glade-3 --version >/dev/null 2>&1; then (glade-3 %f >/dev/null 2>&1 &); else (glade-2 %f >/dev/null 2>&1 &); fi
+
+# Gettext Catalogs
+shell/.mo
+ View=%view{ascii} msgunfmt %f || cat %f
+
+# lyx
+regex/\.(lyx|LYX)$
+ Open=lyx %f
+ View=%view{ascii} lyxcat %f
+
+### Plain compressed files ###
+
+# ace
+regex/\.(ace|ACE)$
+ Open=%cd %p#uace
+ View=%view{ascii} unace l %f
+ Extract=unace x %f
+
+# arc
+regex/\.(arc|ARC)$
+ Open=%cd %p#uarc
+ View=%view{ascii} arc l %f
+ Extract=arc x %f '*'
+ Extract (with flags)=I=%{Enter any Arc flags:}; if test -n "$I"; then arc x $I %f; fi
+
+# zip
+type/^([Zz][Ii][Pp])\ archive
+ Open=%cd %p#uzip
+ View=%view{ascii} unzip -v %f
+
+# zoo
+regex/\.([Zz][Oo][Oo])$
+ Open=%cd %p#uzoo
+ View=%view{ascii} zoo l %f
+
+# gzip
+type/^gzip
+ Open=gzip -dc %f | %var{PAGER:more}
+ View=%view{ascii} gzip -dc %f 2>/dev/null
+
+regex/\.(gz|Z)$
+ View=%view{ascii} gzip -dc %f 2>/dev/null
+
+# bzip2
+type/^bzip2
+ Open=bzip2 -dc %f | %var{PAGER:more}
+ View=%view{ascii} bzip2 -dc %f 2>/dev/null
+
+regex/\.bz2?$
+ View=%view{ascii} bzip2 -dc %f 2>/dev/null
+
+# bzip
+type/^bzip
+ Open=bzip -dc %f | %var{PAGER:more}
+ View=%view{ascii} bzip -dc %f 2>/dev/null
+
+# compress
+type/^compress
+ Open=gzip -dc %f | %var{PAGER:more}
+ View=%view{ascii} gzip -dc %f 2>/dev/null
+
+# lzma
+regex/\.lzma$
+ Open=lzma -dc %f | %var{PAGER:more}
+ View=%view{ascii} lzma -dc %f 2>/dev/null
+
+# xz
+regex/\.xz$
+ Open=xz -dc %f | %var{PAGER:more}
+ View=%view{ascii} xz -dc %f 2>/dev/null
+
+
+### Default ###
+
+# Default target for anything not described above
+default/*
+ Open=
+ View=
+
+
+### EOF ###
--- /dev/null
+# Midnight Commander 3.0 extension file
+# Warning: Structure of this file has changed completely with version 3.0
+#
+# All lines starting with # or empty lines are thrown away.
+# Lines starting in the first column should have following format:
+#
+# keyword/descNL, i.e. everything after keyword/ until new line is desc
+#
+# keyword can be:
+#
+# shell (desc is, when starting with a dot, any extension (no wildcars),
+# i.e. matches all the files *desc . Example: .tar matches *.tar;
+# if it doesn't start with a dot, it matches only a file of that name)
+#
+# regex (desc is an extended regular expression)
+# Please note that we are using the GNU regex library and thus
+# \| matches the literal | and | has special meaning (or) and
+# () have special meaning and \( \) stand for literal ( ).
+#
+# type (file matches this if `file %f` matches regular expression desc
+# (the filename: part from `file %f` is removed))
+#
+# directory (matches any directory matching regular expression desc)
+#
+# include (matches an include directive)
+#
+# default (matches any file no matter what desc is)
+#
+# Other lines should start with a space or tab and should be in the format:
+#
+# keyword=commandNL (with no spaces around =), where keyword should be:
+#
+# Open (if the user presses Enter or doubleclicks it),
+#
+# View (F3), Edit (F4)
+#
+# Include is the keyword used to add any further entries from an include/
+# section
+#
+# command is any one-line shell command, with the following substitutions:
+#
+# %% -> % character
+# %p -> name of the current file (without path, but pwd is its path)
+# %f -> name of the current file. Unlike %p, if file is located on a
+# non-local virtual filesystem, i.e. either tarfs or ftpfs,
+# then the file will be temporarily copied into a local directory
+# and %f will be the full path to this local temporal file.
+# If you don't want to get a local copy and want to get the
+# virtual fs path (like /#ftp:ftp.cvut.cz/pub/hungry/xword), then
+# use %d/%p instead of %f.
+# %d -> name of the current directory (pwd, without trailing slash)
+# %s -> "selected files", i.e. space separated list of tagged files if any
+# or name of the current file
+# %t -> list of tagged files
+# %u -> list of tagged files (they'll be untaged after the command)
+#
+# (If these 6 letters are in uppercase, they refer to the other panel.
+# But you shouldn't have to use it in this file.)
+#
+#
+# %cd -> the rest is a path mc should change into (cd won't work, since it's
+# a child process). %cd handles even vfs names.
+#
+# %view -> the command you type will be piped into mc's internal file viewer
+# if you type only the %view and no command, viewer will load %f file
+# instead (i.e. no piping, so it is different to %view cat %f)
+# %view may be directly followed by {} with a list of any of
+# ascii (Ascii mode), hex (Hex mode), nroff (color highlighting for
+# text using backspace for bold and underscore) and unform
+# (no highlighting for nroff sequences) separated by commas.
+#
+# %var -> You use it like this: %var{VAR:default}. This macro will expand
+# to the value of the VAR variable in the environment if it's set
+# otherwise the value in default will be used. This is similar to
+# the Bourne shell ${VAR-default} construct.
+#
+# Rules are applied from top to bottom, thus the order is important.
+# If some actions are missing, search continues as if this target didn't
+# match (i.e. if a file matches the first and second entry and View action
+# is missing in the first one, then on pressing F3 the View action from
+# the second entry will be used. default should catch all the actions.
+#
+# Any new entries you develop for you are always welcome if they are
+# useful on more than one system. You can post your modifications
+# as tickets at www.midnight-commander.org
+
+
+### Changes ###
+#
+# Reorganization: 2000-05-01 Michal Svec <rebel@penguin.cz>
+
+
+### TODO ###
+#
+# Postscript Open: ps2svga [gs -DEVICE=jpeg|zgv or something]
+# Images asciiview
+#
+# All X Apps [Nothing/Warning] if no DISPLAY
+# Not found [Default/Warning]
+# Empty Output [Default/Warning]
+# Edit: CopyOut+EDIT+CopyIn
+# Security Check gzip/bzip EDIT (mktemp)
+#
+# Maybe: Open/XOpen/GOpen/KOpen/... for Console/X/GNOME/KDE/etc.
+
+
+### GIT Repo ###
+# gitfs changeset
+regex/^\[git\]
+ Open=%cd %p/changesetfs://
+ View=%cd %p/patchsetfs://
+
+### Archives ###
+
+# .tgz, .tpz, .tar.gz, .tar.z, .tar.Z, .ipk
+regex/\.t([gp]?z|ar\.g?[zZ])$|\.ipk$
+ Open=%cd %p/utar://
+ View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
+
+regex/\.tar\.bz$
+ # Open=%cd %p/utar://
+ View=%view{ascii} bzip -dc %f 2>/dev/null | tar tvvf -
+
+regex/\.t(ar\.bz2|bz2?|b2)$
+ Open=%cd %p/utar://
+ View=%view{ascii} bzip2 -dc %f 2>/dev/null | tar tvvf -
+
+# .tar.lzma, .tlz
+regex/\.t(ar\.lzma|lz)$
+ Open=%cd %p/utar://
+ View=%view{ascii} lzma -dc %f 2>/dev/null | tar tvvf -
+
+# .tar.xz, .txz
+regex/\.t(ar\.xz|xz)$
+ Open=%cd %p/utar://
+ View=%view{ascii} xz -dc %f 2>/dev/null | tar tvvf -
+
+# .tar.F - used in QNX
+regex/\.tar\.F$
+ # Open=%cd %p/utar://
+ View=%view{ascii} freeze -dc %f 2>/dev/null | tar tvvf -
+
+# .qpr/.qpk - QNX Neutrino package installer files
+regex/\.(qp[rk])$
+ Open=%cd %p/utar://
+ View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
+
+# tar
+regex/\.(tar|TAR)$
+ Open=%cd %p/utar://
+ View=%view{ascii} tar tvvf - < %f
+
+# lha
+type/^LHa\ .*archive
+ Open=%cd %p/ulha://
+ View=%view{ascii} lha l %f
+
+# arj
+regex/\.a(rj|[0-9][0-9])$
+ Open=%cd %p/uarj://
+ View=%view{ascii} unarj l %f
+
+# cab
+regex/\.([cC][aA][bB])$
+ Open=%cd %p/ucab://
+ View=%view{ascii} cabextract -l %f
+
+# ha
+regex/\.([Hh][Aa])$
+ Open=%cd %p/uha://
+ View=%view{ascii} ha lf %f
+
+# rar
+regex/\.[rR]([aA][rR]|[0-9][0-9])$
+ Open=%cd %p/urar://
+ View=%view{ascii} rar v -c- %f
+
+# ALZip
+regex/\.(alz|ALZ)$
+ Open=%cd %p/ualz://
+ View=%view{ascii} unalz -l %f
+
+# cpio
+shell/.cpio.Z
+ Open=%cd %p/ucpio://
+ View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
+
+shell/.cpio.gz
+ Open=%cd %p/ucpio://
+ View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
+
+shell/.cpio
+ Open=%cd %p/ucpio://
+ View=%view{ascii} cpio -itv < %f 2>/dev/null
+
+# ls-lR
+regex/(^|\.)ls-?lR(\.gz|Z|bz2)$
+ Open=%cd %p/lslR://
+
+# patch
+regex/\.(diff|patch)(\.bz2)$
+ Open=%cd %p/patchfs://
+ View=%view{ascii} bzip2 -dc %f 2>/dev/null
+
+regex/\.(diff|patch)(\.(gz|Z))$
+ Open=%cd %p/patchfs://
+ View=%view{ascii} gzip -dc %f 2>/dev/null
+
+regex/\.(diff|patch)$
+ Open=%cd %p/patchfs://
+ View=%view{ascii} /bin/cat %f 2>/dev/null
+
+# ar library
+regex/\.s?a$
+ Open=%cd %p/uar://
+ #Open=%view{ascii} ar tv %f
+ View=%view{ascii} file %f && nm -C %f
+
+# trpm
+regex/\.trpm$
+ Open=%cd %p/trpm://
+ View=%view{ascii} rpm -qivl --scripts `basename %p .trpm`
+
+# RPM packages (SuSE uses *.spm for source packages)
+regex/\.(src\.rpm|spm)$
+ Open=%cd %p/rpm://
+ View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
+
+regex/\.rpm$
+ Open=%cd %p/rpm://
+ View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
+
+# deb
+regex/\.u?deb$
+ Open=%cd %p/deb://
+ View=%view{ascii} dpkg-deb -I %f && echo && dpkg-deb -c %f
+
+# dpkg
+shell/.debd
+ Open=%cd %p/debd://
+ View=%view{ascii} dpkg -s `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
+# apt
+shell/.deba
+ Open=%cd %p/deba://
+ View=%view{ascii} apt-cache show `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
+
+# ISO9660
+regex/\.([iI][sS][oO])$
+ Open=%cd %p/iso9660://
+ View=%view{ascii} isoinfo -l -i %f
+
+# 7zip archives (they are not man pages)
+regex/\.(7z|7Z)$
+ Open=%cd %p/u7z://
+ View=%view{ascii} 7za l %f 2>/dev/null
+
+# Mailboxes
+type/^ASCII\ mail\ text
+ Open=%cd %p/mailfs://
+
+
+### Sources ###
+
+# C
+shell/.c
+ Include=editor
+
+# Fortran
+shell/.f
+ Include=editor
+
+# Header
+regex/\.(h|hpp)$
+ Include=editor
+
+# Asm
+shell/.s
+ Include=editor
+
+# C++
+regex/\.(C|cc|cpp)$
+ Include=editor
+
+include/editor
+ Open=%var{EDITOR:vi} %f
+
+# .so libraries
+regex/\.(so|so\.[0-9\.]*)$
+ View=%view{ascii} file %f && nm -C -D %f
+
+# Object
+type/^ELF
+ #Open=%var{PAGER:more} %f
+ View=%view{ascii} file %f && nm -C %f
+
+### Documentation ###
+
+# Texinfo
+regex/\.(te?xi|texinfo)$
+
+# GNU Info page
+type/^Info\ text
+ Open=info -f %f
+
+shell/.info
+ Open=info -f %f
+
+# Exception: .3gp are video files not manual pages
+regex/\.(3[gG][pP])$
+ Include=video
+
+# Manual page
+regex/(([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])|\.man)$
+ Open=case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff -c -Tlatin1 -mandoc ;; esac
+
+# Perl pod page
+shell/.pod
+ Open=pod2man %f | nroff -c -Tlatin1 -mandoc | %var{PAGER:more}
+ View=%view{ascii,nroff} pod2man %f | nroff -c -Tlatin1 -mandoc
+
+# Troff with me macros.
+# Exception - "read.me" is not a nroff file.
+shell/read.me
+ Open=
+ View=
+
+shell/.me
+ Open=nroff -c -Tlatin1 -me %f | %var{PAGER:more}
+ View=%view{ascii,nroff} nroff -c -Tlatin1 -me %f
+
+# Troff with ms macros.
+shell/.ms
+ Open=nroff -c -Tlatin1 -ms %f | %var{PAGER:more}
+ View=%view{ascii,nroff} nroff -c -Tlatin1 -ms %f
+
+# Manual page - compressed
+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.g?[Zz]$
+ Open=case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
+
+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz$
+ Open=case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
+
+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz2$
+ Open=case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
+
+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lzma$
+ Open=case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
+
+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.xz$
+ Open=case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
+
+# CHM
+regex/\.(chm|CHM)$
+ Open=which kchmviewer > /dev/null 2>&1 && (kchmviewer %f &) || (xchm %f &)
+
+### Images ###
+
+type/^GIF
+ Include=image
+
+type/^JPEG
+ View=%view{ascii} identify %f; test -x /usr/bin/exif && echo && exif %f 2>/dev/null
+ Include=image
+
+type/^PC\ bitmap
+ Include=image
+
+type/^PNG
+ Include=image
+
+type/^TIFF
+ Include=image
+
+type/^PBM
+ Include=image
+
+type/^PGM
+ Include=image
+
+type/^PPM
+ Include=image
+
+type/^Netpbm
+ Include=image
+
+shell/.xcf
+ Open=(gimp %f &)
+
+shell/.xbm
+ Open=bitmap %f
+
+shell/.xpm
+ Include=image
+ View=sxpm %f
+
+shell/.ico
+ Include=image
+
+include/image
+ Open=if [ "$DISPLAY" = "" ]; then zgv %f; else (gqview %f &); fi
+ View=%view{ascii} identify %f
+ #View=%view{ascii} asciiview %f
+
+
+### Sound files ###
+
+regex/\.([wW][aA][vV]|[sS][nN][dD]|[vV][oO][cC]|[aA][uU]|[sS][mM][pP]|[aA][iI][fF][fF]|[sS][nN][dD])$
+ Open=if [ "$DISPLAY" = "" ]; then play %f; else (xmms %f >/dev/null 2>&1 &); fi
+
+regex/\.([mM][oO][dD]|[sS]3[mM]|[xX][mM]|[iI][tT]|[mM][tT][mM]|669|[sS][tT][mM]|[uU][lL][tT]|[fF][aA][rR])$
+ Open=mikmod %f
+ #Open=tracker %f
+
+regex/\.([wW][aA][wW]22)$
+ Open=vplay -s 22 %f
+
+regex/\.([mM][pP]3)$
+ Open=if [ "$DISPLAY" = "" ]; then mpg123 %f; else (xmms %f >/dev/null 2>&1 &); fi
+ View=%view{ascii} mpg123 -vtn1 %f 2>&1 | sed -n '/^Title/,/^Comment/p;/^MPEG/,/^Audio/p'
+
+regex/\.([oO][gG][gG|aA|vV|xX])$
+ Open=if [ "$DISPLAY" = "" ]; then ogg123 %f; else (xmms %f >/dev/null 2>&1 &); fi
+ View=%view{ascii} ogginfo %s
+
+regex/\.([sS][pP][xX]|[fF][lL][aA][cC])$
+ Open=if [ "$DISPLAY" = "" ]; then play %f; else (xmms %f >/dev/null 2>&1 &); fi
+
+regex/\.([mM][iI][dD][iI]?|[rR][mM][iI][dD]?)$
+ Open=timidity %f
+
+regex/\.([wW][mM][aA])$
+ Open=mplayer -vo null %f
+ View=%view{ascii} mplayer -quiet -slave -frames 0 -vo null -ao null -identify %f 2>/dev/null | tail +13 || file %f
+
+
+### Play lists ###
+
+regex/\.([mM]3[uU]|[pP][lL][sS])$
+ Open=if [ -z "$DISPLAY" ]; then mplayer -vo null -playlist %f; else (xmms -p %f >/dev/null 2>&1 &); fi
+
+
+### Video ###
+
+regex/\.([aA][vV][iI])$
+ Include=video
+
+regex/\.([aA][sS][fFxX])$
+ Include=video
+
+regex/\.([dD][iI][vV][xX])$
+ Include=video
+
+regex/\.([mM][kK][vV])$
+ Include=video
+
+regex/\.([mM][oO][vV]|[qQ][tT])$
+ Include=video
+
+regex/\.([mM][pP]4|[mM][pP][eE]?[gG])$
+ Include=video
+
+# MPEG-2 TS container + H.264 codec
+regex/\.([mM][tT][sS])$
+ Include=video
+
+regex/\.([vV][oO][bB])$
+ Include=video
+
+regex/\.([wW][mM][vV])$
+ Include=video
+
+regex/\.([fF][lL][iIcCvV])$
+ Include=video
+
+regex/\.([oO][gG][mM])$
+ Include=video
+
+regex/\.([rR][aA]?[mM])$
+ Open=(realplay %f >/dev/null 2>&1 &)
+
+include/video
+ Open=(mplayer %f >/dev/null 2>&1 &)
+ #Open=(gtv %f >/dev/null 2>&1 &)
+ #Open=(xanim %f >/dev/null 2>&1 &)
+
+
+### Documents ###
+
+# Postscript
+type/^PostScript
+ Open=(gv %f &)
+ View=%view{ascii} ps2ascii %f
+
+# PDF
+type/^PDF
+ Open=(xpdf %f &)
+ #Open=(acroread %f &)
+ #Open=(ghostview %f &)
+ View=%view{ascii} pdftotext %f -
+
+# The following code very ugly and should not be taken as example.
+# It should be cleaned up when the new format of mc.ext is developed.
+
+# html
+regex/\.([hH][tT][mM][lL]?)$
+ Open=(if test -n "" && test -n "$DISPLAY"; then ( file://%d/%p &) 1>&2; else links %f || lynx -force_html %f || ${PAGER:-more} %f; fi) 2>/dev/null
+ View=%view{ascii} links -dump %f 2>/dev/null || w3m -dump %f 2>/dev/null || lynx -dump -force_html %f
+
+# StarOffice 5.2
+shell/.sdw
+ Open=(ooffice %f &)
+
+# StarOffice 6 and OpenOffice.org formats
+regex/\.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg)$
+ Open=(ooffice %f &)
+ View=%view{ascii} odt2txt %f
+
+# AbiWord
+shell/.abw
+ Open=(abiword %f &)
+
+# Microsoft Word Document
+regex/\.([Dd][oO][cCtT]|[Ww][rR][iI])$
+ Open=(abiword %f >/dev/null 2>&1 &)
+ View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f
+type/^Microsoft\ Word
+ Open=(abiword %f >/dev/null 2>&1 &)
+ View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f
+
+# RTF document
+regex/\.([rR][tT][fF])$
+ Open=(abiword %f >/dev/null 2>&1 &)
+
+# Microsoft Excel Worksheet
+regex/\.([xX][lL][sSwW])$
+ Open=(gnumeric %f >/dev/null 2>&1 &)
+ View=%view{ascii} xls2csv %f || strings %f
+type/^Microsoft\ Excel
+ Open=(gnumeric %f >/dev/null 2>&1 &)
+ View=%view{ascii} xls2csv %f || strings %f
+
+# Use OpenOffice.org to open any MS Office documents
+type/^Microsoft\ Office\ Document
+ Open=(ooffice %f &)
+
+# Framemaker
+type/^FrameMaker
+ Open=fmclient -f %f
+
+# DVI
+regex/\.([dD][vV][iI])$
+ Open=if [ x$DISPLAY = x ]; then dvisvga %f; else (xdvi %f &); fi
+ View=%view{ascii} dvi2tty %f
+
+# TeX
+regex/\.([Tt][Ee][Xx])$
+ Include=editor
+
+# DjVu
+regex/\.(djvu|DJVU)$
+ Open=djview %f &
+
+### Miscellaneous ###
+
+# Makefile
+regex/[Mm]akefile$
+ Open=make -f %f %{Enter parameters}
+
+# Imakefile
+shell/Imakefile
+ Open=xmkmf -a
+
+# Makefile.PL (MakeMaker)
+regex/^Makefile.(PL|pl)$
+ Open=%var{PERL:perl} %f
+
+# dbf
+regex/\.([dD][bB][fF])$
+ Open=%view{ascii} dbview %f
+ View=%view{ascii} dbview -b %f
+
+# REXX script
+regex/\.(rexx?|cmd)$
+ Open=rexx %f %{Enter parameters};echo "Press ENTER";read y
+
+# Disk images for Commodore computers (VIC20, C64, C128)
+regex/\.(d64|D64)$
+ Open=%cd %p/uc1541://
+ View=%view{ascii} c1541 %f -list
+ Extract=c1541 %f -extract
+
+# Glade, a user interface designer for GTK+ and GNOME
+regex/\.([Gg][Ll][Aa][Dd][Ee])$
+ Open=if glade-3 --version >/dev/null 2>&1; then (glade-3 %f >/dev/null 2>&1 &); else (glade-2 %f >/dev/null 2>&1 &); fi
+
+# Gettext Catalogs
+shell/.mo
+ View=%view{ascii} msgunfmt %f || cat %f
+
+# lyx
+regex/\.(lyx|LYX)$
+ Open=lyx %f
+ View=%view{ascii} lyxcat %f
+
+# torrent
+regex/\.([tT][oO][rR][rR][eE][nN][tT])$
+ View=%view{ascii} ctorrent -x %f 2>/dev/null
+
+### Plain compressed files ###
+
+# ace
+regex/\.(ace|ACE)$
+ Open=%cd %p/uace://
+ View=%view{ascii} unace l %f
+ Extract=unace x %f
+
+# arc
+regex/\.(arc|ARC)$
+ Open=%cd %p/uarc://
+ View=%view{ascii} arc l %f
+ Extract=arc x %f '*'
+ Extract (with flags)=I=%{Enter any Arc flags:}; if test -n "$I"; then arc x $I %f; fi
+
+# zip
+type/^([Zz][Ii][Pp])\ archive
+ Open=%cd %p/uzip://
+ View=%view{ascii} unzip -v %f
+
+# zoo
+regex/\.([Zz][Oo][Oo])$
+ Open=%cd %p/uzoo://
+ View=%view{ascii} zoo l %f
+
+# gzip
+type/^gzip
+ Open=gzip -dc %f | %var{PAGER:more}
+ View=%view{ascii} gzip -dc %f 2>/dev/null
+
+regex/\.(gz|Z)$
+ View=%view{ascii} gzip -dc %f 2>/dev/null
+
+# bzip2
+type/^bzip2
+ Open=bzip2 -dc %f | %var{PAGER:more}
+ View=%view{ascii} bzip2 -dc %f 2>/dev/null
+
+regex/\.bz2?$
+ View=%view{ascii} bzip2 -dc %f 2>/dev/null
+
+# bzip
+type/^bzip
+ Open=bzip -dc %f | %var{PAGER:more}
+ View=%view{ascii} bzip -dc %f 2>/dev/null
+
+# compress
+type/^compress
+ Open=gzip -dc %f | %var{PAGER:more}
+ View=%view{ascii} gzip -dc %f 2>/dev/null
+
+# lzma
+regex/\.lzma$
+ Open=lzma -dc %f | %var{PAGER:more}
+ View=%view{ascii} lzma -dc %f 2>/dev/null
+
+# xz
+regex/\.xz$
+ Open=xz -dc %f | %var{PAGER:more}
+ View=%view{ascii} xz -dc %f 2>/dev/null
+
+### Default ###
+
+# Default target for anything not described above
+default/*
+ Open=
+ View=
+
+
+### EOF ###
--- /dev/null
+[editor]
+EditXStore = ctrl-insert
+EditXPaste = shift-insert
+EditXCut = shift-delete
+
+EditDeleteLine = ctrl-y
+EditDeleteToLineEnd = ctrl-k
+EditDeleteToLineBegin =
+
+EditLeft = left
+EditRight = right
+EditUp = up
+EditDown = down
+EditEnter = enter
+EditReturn = shift-enter
+EditBackSpace = backspace; ctrl-h
+EditDelete = delete; ctrl-d
+EditPageUp = pgup
+EditPageDown = pgdn
+EditWordLeft = ctrl-left; ctrl-z
+EditWordRight = ctrl-right; ctrl-x
+EditHome = home
+EditEnd = end
+EditTab = tab
+EditUndo = ctrl-u
+EditBeginningOfText = ctrl-home; alt-lt
+EditEndOfText = ctrl-end; alt-gt
+EditScrollUp = ctrl-up
+EditScrollDown = ctrl-down
+EditBeginPage = ctrl-pgup
+EditEndPage = ctrl-pgdn
+EditDeleteWordLeft = alt-backspace
+EditDeleteWordRight = alt-d
+EditParagraphUp =
+EditParagraphDown =
+EditSave = f2
+EditLoad =
+EditNew = ctrl-n
+EditSaveas = f12
+EditMark = f3
+EditCopy = f5
+EditMove = f6
+EditRemove = f8
+EditMarkAll =
+EditUnmark =
+EditFind = f7
+EditMarkLine =
+EditMarkWord =
+
+EditShiftBlockLeft =
+EditShiftBlockRight =
+
+EditPageUpHighlight = shift-pgup
+EditPageDownHighlight = shift-pgdn
+EditLeftHighlight = shift-left
+EditRightHighlight = shift-right
+EditWordLeftHighlight = ctrl-shift-left
+EditWordRightHighlight = ctrl-shift-right
+EditUpHighlight = shift-up
+EditDownHighlight = shift-down
+EditHomeHighlight = shift-home
+EditEndHighlight = shift-end
+EditBeginningOfTextHighlight = ctrl-shift-home
+EditEndOfTextHighlight = ctrl-shift-end
+EditBeginPageHighlight = ctrl-shift-pgup
+EditEndPageHighlight = ctrl-shift-pgdn
+EditScrollUpHighlight = ctrl-shift-up
+EditScrollDownHighlight = ctrl-shift-down
+EditParagraphUpHighlight =
+EditParagraphDownHighlight =
+
+EditPageUpAltHighlight = alt-pgup
+EditPageDownAltHighlight = alt-pgdn
+EditLeftAltHighlight = alt-left
+EditRightAltHighlight = alt-right
+EditWordLeftAltHighlight = ctrl-alt-left
+EditWordRightAltHighlight = ctrl-alt-right
+EditUpAltHighlight = alt-up
+EditDownAltHighlight = alt-down
+EditHomeAltHighlight = alt-home
+EditEndAltHighlight = alt-end
+EditBeginningOfTextAltHighlight = ctrl-alt-home
+EditEndOfTextHighlight = ctrl-alt-end
+EditBeginPageHighlight = ctrl-alt-pgup
+EditEndPageAltHighlight = ctrl-alt-pgdn
+EditScrollUpAltHighlight =
+EditScrollDownAltHighlight =
+EditParagraphUpAltHighlight =
+EditParagraphDownAltHighlight =
+
+EditSaveBlock = ctrl-f
+EditColumnMark = f13
+EditFindAgain = f17
+EditReplace = f4
+EditReplaceAgain = f14
+EditCompleteWord = alt-tab
+EditDebugStart =
+EditDebugStop =
+EditDebugToggleBreak =
+EditDebugClear =
+EditDebugNext =
+EditDebugStep =
+EditDebugBackTrace =
+EditDebugContinue =
+EditDebugEnterCommand =
+EditDebugUntilCurser =
+EditInsertFile = f15
+EditQuit = f10
+EditToggleInsert = insert
+EditHelp = f1
+EditDate =
+EditRefresh = ctrl-l
+EditGoto = alt-l
+EditManPage =
+EditSort = alt-t
+EditMail = alt-m
+EditCancel =
+EditComplete =
+
+EditParagraphFormat = alt-p
+EditUtil =
+EditTypeLoadPython =
+EditFindFile =
+EditCtags =
+EditMatchBracket = alt-b
+EditTerminal =
+EditTerminalApp =
+EditExtCmd = alt-u
+EditUserMenu = f11
+EditSaveDesktop =
+EditNewWindow =
+EditCycle =
+EditMenu = f9
+EditSaveAndQuit =
+EditRunAnother =
+EditCheckSaveAndQuit =
+EditMaximize =
+EditToggleBookmark = alt-k
+EditFlushBookmarks = alt-o
+EditNextBookmark = alt-j
+EditPrevBookmark = alt-i
+
+EditSelectionHistory =
+EditShell = ctrl-o
+EditInsertLiteral = ctrl-q
+
+EditBeginRecordMacro =
+EditEndRecordMacro =
+EditBeginOrEndMacro = ctrl-r
+EditExecuteMacro = ctrl-a
+EditDeleteMacro =
+
+EditToggleLineState = alt-n
+EditToggleTabTWS = alt-underline
+EditToggleSyntax = ctrl-s
+EditToggleShowMargin =
+
+EditFindDefinition = alt-enter
+EditLoadPrevFile = alt-minus
+EditLoadNextFile = alt-plus
+
+SelectCodepage = alt-e
+
+[viewer]
+ViewHelp = f1
+ViewToggleWrapMode = f2
+ViewQuit = f3; f10; q; esc
+ViewToggleHexMode = f4
+ViewGoto = f5
+ViewSearch = f7; question; slash
+ViewToggleMagicMode = f8
+ViewToggleNroffMode = f9
+ViewContinueSearch = ctrl-r; ctrl-s; f17; n
+ViewMoveToBol = ctrl-a
+ViewMoveToEol = ctrl-e
+ViewMoveLeft = h; left
+ViewMoveRight = l; right
+ViewMoveLeft10 = ctrl-left
+ViewMoveRight10 = ctrl-right
+ViewMoveUp = k; y; insert; up; ctrl-p
+ViewMoveDown = j; e; delete; down; enter; ctrl-n
+ViewMovePgDn = f; space; pgdn; ctrl-v
+ViewMovePgUp = b; pgup; alt-v; backspace
+ViewMoveHalfPgDn = d
+ViewMoveHalfPgUp = u
+ViewMoveTop = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+ViewMoveBottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+ViewGotoBookmark = m
+ViewNewBookmark = r
+ViewNextFile = ctrl-f
+ViewPrevFile = ctrl-b
+SelectCodepage = alt-e
+ShowCommandLine = ctrl-o
+ViewToggleRuler = alt-r
+
+[viewer:hex]
+ViewHelp = f1
+ViewToggleHexEditMode = f2
+ViewQuit = f3; f10; q; esc
+ViewToggleHexMode = f4
+ViewGoto = f5
+ViewHexEditSave = f6
+ViewSearch = f7; question; slash
+ViewToggleMagicMode = f8
+ViewToggleNroffMode = f9
+ViewToggleHexNavMode = tab
+ViewMoveToBol = ctrl-a; home
+ViewMoveToEol = ctrl-e; end
+ViewMoveLeft = b; left
+ViewMoveRight = f; right
+ViewMoveUp = k; y; up
+ViewMoveDown = j; delete; down
+ViewMovePgDn = pgdn; ctrl-v
+ViewMovePgUp = pgup; alt-v
+ViewMoveTop = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+ViewMoveBottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+
+[main]
+CmdHelp = f1
+CmdUserMenu = f2
+CmdView = f3
+CmdViewFile = f13
+CmdEdit = f4
+CmdEditForceInternal =
+CmdCopy = f5
+CmdRename = f6
+CmdMkdir = f7
+CmdDelete = f8
+CmdMenu = f9
+CmdQuit = f10
+CmdMenuLastSelected = f19
+CmdQuietQuit = f20
+CmdFind = alt-question
+CmdQuickCd = alt-c
+CmdQuickChdir = ctrl-backslash
+CmdReread = ctrl-r
+CmdSingleDirsize = ctrl-space
+CmdSuspend = ctrl-z
+CmdSwapPanel = ctrl-u
+CmdHistory = alt-h
+CmdListing =
+CmdToggleListing = alt-t
+CmdToggleShowHidden = alt-dot
+CmdTogglePanelsSplit = alt-comma
+ShowCommandLine = ctrl-o
+CmdCopyCurrentPathname = alt-a
+CmdCopyOtherPathname = alt-shift-a
+CmdFilteredView = alt-exclamation
+CmdSelect = kpplus
+CmdUnselect = kpminus
+CmdReverseSelection = kpasterisk
+CmdDialogList = alt-prime
+ExtMap1 = ctrl-x
+
+[main:xmap]
+CmdChmod = c
+CmdChown = o
+CmdCompareDirs = d
+CmdEditSymlink = ctrl-s
+CmdLink = l
+CmdSymlink = s
+CmdRelativeSymlink = v
+CmdInfo = i
+CmdQuickView = q
+CmdExternalPanelize = exclamation
+CmdReselectVfs = a
+CmdJobs = j
+CmdCopyCurrentPathname = p
+CmdCopyOtherPathname = ctrl-p
+CmdCopyCurrentTagged = t
+CmdCopyOtherTagged = ctrl-t
+CmdDiffView = ctrl-d
+
+[panel]
+PanelStartSearch = ctrl-s; alt-s
+PanelMarkFile = insert; ctrl-t
+PanelMarkFileUp = shift-up
+PanelMarkFileDown = shift-down
+PanelMoveDown = down; ctrl-n
+PanelMoveUp = up; ctrl-p
+PanelMoveLeft = left
+PanelMoveRight = right
+PanelPrevPage = pgup; alt-v
+PanelNextPage = pgdn; ctrl-v
+PanelDoEnter = enter
+PanelChdirOtherPanel = alt-o
+PanelChdirToReadlink = alt-l
+PanelViewSimple = F13
+PanelEditNew = F14
+PanelCopyLocal = F15
+PanelRenameLocal = F16
+PanelDeleteLocal = F18
+PanelReverseSelection = alt-asterisk
+PanelSelect = alt-plus
+PanelUnselect = alt-minus
+PanelGotoChildDir = ctrl-pgdn
+PanelGotoParentDir = ctrl-pgup
+PanelDirectoryHistoryList = alt-shift-h
+PanelDirectoryHistoryNext = alt-u
+PanelDirectoryHistoryPrev = alt-y
+PanelGotoBottomFile = alt-j
+PanelGotoMiddleFile = alt-r
+PanelSyncOtherPanel = alt-i
+PanelGotoTopFile = alt-g
+PanelSetPanelEncoding = alt-e
+PanelMoveHome = alt-lt; home; a1
+PanelMoveEnd = alt-gt; end; c1
+PanelSelectSortOrder=
+PanelToggleSortOrderPrev=
+PanelToggleSortOrderNext=
+PanelReverseSort=
+PanelSortOrderByName=
+PanelSortOrderByExt=
+PanelSortOrderBySize=
+PanelSortOrderByMTime=
+PanelSmartGotoParentDir=
+
+[input]
+InputBol = ctrl-a; alt-lt; home; a1
+InputEol = ctrl-e; alt-gt; end; c1
+InputMoveLeft = left; alt-left
+InputWordLeft = ctrl-left
+InputBackwardChar = ctrl-b
+InputBackwardWord = alt-b
+InputMoveRight = right; alt-right
+InputWordRight = ctrl-right
+InputForwardChar = ctrl-f
+InputForwardWord = alt-f
+InputBackwardDelete = backspace; ctrl-h
+InputDeleteChar = delete; ctrl-d
+InputKillWord = alt-d
+InputBackwardKillWord = alt-backspace
+InputSetMark =
+InputKillRegion = ctrl-w
+InputXCut =
+InputXStore = alt-w
+InputXPaste =
+InputYank = ctrl-y
+InputKillLine = ctrl-k
+InputHistoryPrev = alt-p; ctrl-down
+InputHistoryNext = alt-n; ctrl-up
+InputHistoryShow = alt-h
+InputComplete = alt-tab
+InputClearLine =
+InputLeftHighlight = shift-left
+InputRightHighlight = shift-right
+InputWordLeftHighlight = ctrl-shift-left
+InputWordRightHighlight = ctrl-shift-right
+InputBolHighlight = shift-home
+InputEolHighlight = shift-end
+
+[listbox]
+ListboxMoveUp = up; ctrl-p
+ListboxMoveDown = down; ctrl-n
+ListboxMoveHome = home; alt-lt; a1
+ListboxMoveEnd = end; alt-gt; c1
+ListboxMovePgUp = pgup; alt-v
+ListboxMovePgDn = pgdn; ctrl-v
+ListboxDeleteItem = delete; d
+ListboxDeleteAll = shift-delete; shift-d
+
+[tree]
+TreeHelp = f1
+TreeForget = f3
+TreeToggleNav = f4
+TreeCopy = f5
+TreeMove = f6
+TreeMoveUp = up; ctrl-p
+TreeMoveDown = down; ctrl-n
+TreeMoveLeft = left
+TreeMoveRight = right
+TreeMoveHome = home; alt-lt; a1
+TreeMoveEnd = end; alt-gt; c1
+TreeMovePgUp = pgup; alt-v
+TreeMovePgDn = pgdn; ctrl-v
+TreeOpen = enter
+TreeRescan = f2; ctrl-r
+TreeStartSearch = ctrl-s; alt-s
+TreeRemove = f8; delete
+
+[help]
+HelpHelp = f1
+HelpIndex = f2; c
+HelpBack = f3; left; l
+HelpQuit = f10; esc
+HelpMoveUp = up; ctrl-p
+HelpMoveDown = down; ctrl-n
+HelpMovePgDn = f; space; pgdn; ctrl-v
+HelpMovePgUp = b; pgup; alt-v; backspace
+HelpMoveHalfPgDn = d
+HelpMoveHalfPgUp = u
+HelpMoveTop = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+HelpMoveBottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+HelpSelectLink = right; enter
+HelpNextLink = tab
+HelpPrevLink = alt-tab
+HelpNextNode = n
+HelpPrevNode = p
+
+[dialog]
+DialogOK = enter
+DialogCancel = f10; esc; ctrl-g
+DialogPrevItem = left; up
+DialogNextItem = right; down
+DialogHelp = f1
+DialogSuspend = ctrl-z
+DialogRefresh = ctrl-l
+CmdDialogList = alt-prime
+CmdDialogNext = alt-rbrace
+CmdDialogPrev = alt-lbrace
+
+
+[diffviewer]
+DiffDisplaySymbols = alt-s; s
+DiffDisplayNumbers = alt-n; l
+DiffFull = f
+DiffEqual = equal
+DiffSplitMore = gt
+DiffSplitLess = lt
+DiffSetTab2 = 2
+DiffSetTab3 = 3
+DiffSetTab4 = 4
+DiffSetTab8 = 8
+DiffSwapPanel = ctrl-u
+DiffRedo = ctrl-r
+DiffNextHunk = n; enter; space
+DiffPrevHunk = p; backspace
+DiffGoto = g; shift-g
+DiffSave = f2
+DiffEditCurrent = f4
+DiffEditOther = f14
+DiffMergeCurrentHunk = f5
+DiffSearch = f7
+DiffContinueSearch = f17
+DiffOptions = f9
+DiffBOF = ctrl-home
+DiffEOF = ctrl-end
+DiffDown = down
+DiffUp = up
+DiffQuickLeft = ctrl-left
+DiffQuickRight = ctrl-right
+DiffLeft = left
+DiffRight = right
+DiffPageDown = pgdn
+DiffPageUp = pgup
+DiffHome = home
+DiffEnd = end
+DiffHelp = f1
+DiffQuit = f10; q; shift-q; esc
+ShowCommandLine = ctrl-o
+SelectCodepage = alt-e
--- /dev/null
+[editor]
+EditXStore = ctrl-insert
+EditXPaste = shift-insert
+EditXCut = shift-delete
+
+EditDeleteLine = ctrl-y
+EditDeleteToLineEnd = ctrl-k
+EditDeleteToLineBegin =
+
+EditLeft = left
+EditRight = right
+EditUp = up
+EditDown = down
+EditEnter = enter
+EditReturn = shift-enter
+EditBackSpace = backspace; ctrl-h
+EditDelete = delete; ctrl-d
+EditPageUp = pgup
+EditPageDown = pgdn
+EditWordLeft = ctrl-left; ctrl-z
+EditWordRight = ctrl-right; ctrl-x
+EditHome = home
+EditEnd = end
+EditTab = tab
+EditUndo = ctrl-u
+EditBeginningOfText = ctrl-home; alt-lt
+EditEndOfText = ctrl-end; alt-gt
+EditScrollUp = ctrl-up
+EditScrollDown = ctrl-down
+EditBeginPage = ctrl-pgup
+EditEndPage = ctrl-pgdn
+EditDeleteWordLeft = alt-backspace
+EditDeleteWordRight = alt-d
+EditParagraphUp =
+EditParagraphDown =
+EditSave = f2
+EditLoad =
+EditNew = ctrl-n
+EditSaveas = f12
+EditMark = f3
+EditCopy = f5
+EditMove = f6
+EditRemove = f8
+EditMarkAll =
+EditUnmark =
+EditFind = f7
+EditMarkLine =
+EditMarkWord =
+
+EditShiftBlockLeft =
+EditShiftBlockRight =
+
+EditPageUpHighlight = shift-pgup
+EditPageDownHighlight = shift-pgdn
+EditLeftHighlight = shift-left
+EditRightHighlight = shift-right
+EditWordLeftHighlight = ctrl-shift-left
+EditWordRightHighlight = ctrl-shift-right
+EditUpHighlight = shift-up
+EditDownHighlight = shift-down
+EditHomeHighlight = shift-home
+EditEndHighlight = shift-end
+EditBeginningOfTextHighlight = ctrl-shift-home
+EditEndOfTextHighlight = ctrl-shift-end
+EditBeginPageHighlight = ctrl-shift-pgup
+EditEndPageHighlight = ctrl-shift-pgdn
+EditScrollUpHighlight = ctrl-shift-up
+EditScrollDownHighlight = ctrl-shift-down
+EditParagraphUpHighlight =
+EditParagraphDownHighlight =
+
+EditPageUpAltHighlight = alt-pgup
+EditPageDownAltHighlight = alt-pgdn
+EditLeftAltHighlight = alt-left
+EditRightAltHighlight = alt-right
+EditWordLeftAltHighlight = ctrl-alt-left
+EditWordRightAltHighlight = ctrl-alt-right
+EditUpAltHighlight = alt-up
+EditDownAltHighlight = alt-down
+EditHomeAltHighlight = alt-home
+EditEndAltHighlight = alt-end
+EditBeginningOfTextAltHighlight = ctrl-alt-home
+EditEndOfTextHighlight = ctrl-alt-end
+EditBeginPageHighlight = ctrl-alt-pgup
+EditEndPageAltHighlight = ctrl-alt-pgdn
+EditScrollUpAltHighlight =
+EditScrollDownAltHighlight =
+EditParagraphUpAltHighlight =
+EditParagraphDownAltHighlight =
+
+EditSaveBlock = ctrl-f
+EditColumnMark = f13
+EditFindAgain = f17
+EditReplace = f4
+EditReplaceAgain = f14
+EditCompleteWord = alt-tab
+EditDebugStart =
+EditDebugStop =
+EditDebugToggleBreak =
+EditDebugClear =
+EditDebugNext =
+EditDebugStep =
+EditDebugBackTrace =
+EditDebugContinue =
+EditDebugEnterCommand =
+EditDebugUntilCurser =
+EditInsertFile = f15
+EditQuit = f10
+EditToggleInsert = insert
+EditHelp = f1
+EditDate =
+EditRefresh = ctrl-l
+EditGoto = alt-l
+EditManPage =
+EditSort = alt-t
+EditMail = alt-m
+EditCancel =
+EditComplete =
+
+EditParagraphFormat = alt-p
+EditUtil =
+EditTypeLoadPython =
+EditFindFile =
+EditCtags =
+EditMatchBracket = alt-b
+EditTerminal =
+EditTerminalApp =
+EditExtCmd = alt-u
+EditUserMenu = f11
+EditSaveDesktop =
+EditNewWindow =
+EditCycle =
+EditMenu = f9
+EditSaveAndQuit =
+EditRunAnother =
+EditCheckSaveAndQuit =
+EditMaximize =
+EditToggleBookmark = alt-k
+EditFlushBookmarks = alt-o
+EditNextBookmark = alt-j
+EditPrevBookmark = alt-i
+
+EditSelectionHistory =
+EditShell = ctrl-o
+EditInsertLiteral = ctrl-q
+
+EditBeginRecordMacro =
+EditEndRecordMacro =
+EditBeginOrEndMacro = ctrl-r
+EditExecuteMacro = ctrl-a
+EditDeleteMacro =
+
+EditToggleLineState = alt-n
+EditToggleTabTWS = alt-underline
+EditToggleSyntax = ctrl-s
+EditToggleShowMargin =
+
+EditFindDefinition = alt-enter
+EditLoadPrevFile = alt-minus
+EditLoadNextFile = alt-plus
+
+SelectCodepage = alt-e
+
+[viewer]
+ViewHelp = f1
+ViewToggleWrapMode = f2
+ViewQuit = f3; f10; q; esc
+ViewToggleHexMode = f4
+ViewGoto = f5
+ViewSearch = f7; question; slash
+ViewToggleMagicMode = f8
+ViewToggleNroffMode = f9
+ViewContinueSearch = ctrl-r; ctrl-s; f17; n
+ViewMoveToBol = ctrl-a
+ViewMoveToEol = ctrl-e
+ViewMoveLeft = h; left
+ViewMoveRight = l; right
+ViewMoveLeft10 = ctrl-left
+ViewMoveRight10 = ctrl-right
+ViewMoveUp = k; y; insert; up; ctrl-p
+ViewMoveDown = j; e; delete; down; enter; ctrl-n
+ViewMovePgDn = f; space; pgdn; ctrl-v
+ViewMovePgUp = b; pgup; alt-v; backspace
+ViewMoveHalfPgDn = d
+ViewMoveHalfPgUp = u
+ViewMoveTop = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+ViewMoveBottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+ViewGotoBookmark = m
+ViewNewBookmark = r
+ViewNextFile = ctrl-f
+ViewPrevFile = ctrl-b
+SelectCodepage = alt-e
+ShowCommandLine = ctrl-o
+ViewToggleRuler = alt-r
+
+[viewer:hex]
+ViewHelp = f1
+ViewToggleHexEditMode = f2
+ViewQuit = f3; f10; q; esc
+ViewToggleHexMode = f4
+ViewGoto = f5
+ViewHexEditSave = f6
+ViewSearch = f7; question; slash
+ViewToggleMagicMode = f8
+ViewToggleNroffMode = f9
+ViewToggleHexNavMode = tab
+ViewMoveToBol = ctrl-a; home
+ViewMoveToEol = ctrl-e; end
+ViewMoveLeft = b; left
+ViewMoveRight = f; right
+ViewMoveUp = k; y; up
+ViewMoveDown = j; delete; down
+ViewMovePgDn = pgdn; ctrl-v
+ViewMovePgUp = pgup; alt-v
+ViewMoveTop = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+ViewMoveBottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+
+[main]
+CmdHelp = f1
+CmdUserMenu = f2
+CmdView = f3
+CmdViewFile = f13
+CmdEdit = f4
+CmdEditForceInternal =
+CmdCopy = f5
+CmdRename = f6
+CmdMkdir = f7
+CmdDelete = f8
+CmdMenu = f9
+CmdQuit = f10
+CmdMenuLastSelected = f19
+CmdQuietQuit = f20
+CmdFind = alt-question
+CmdQuickCd = alt-c
+CmdQuickChdir = ctrl-backslash
+CmdReread = ctrl-r
+CmdSingleDirsize = ctrl-space
+CmdSuspend = ctrl-z
+CmdSwapPanel = ctrl-u
+CmdHistory = alt-h
+CmdListing =
+CmdToggleListing = alt-t
+CmdToggleShowHidden = alt-dot
+CmdTogglePanelsSplit = alt-comma
+ShowCommandLine = ctrl-o
+CmdCopyCurrentPathname = alt-a
+CmdCopyOtherPathname = alt-shift-a
+CmdFilteredView = alt-exclamation
+CmdSelect = kpplus
+CmdUnselect = kpminus
+CmdReverseSelection = kpasterisk
+CmdDialogList = alt-prime
+ExtMap1 = ctrl-x
+
+[main:xmap]
+CmdChmod = c
+CmdChown = o
+CmdCompareDirs = d
+CmdEditSymlink = ctrl-s
+CmdLink = l
+CmdSymlink = s
+CmdRelativeSymlink = v
+CmdInfo = i
+CmdQuickView = q
+CmdExternalPanelize = exclamation
+CmdReselectVfs = a
+CmdJobs = j
+CmdCopyCurrentPathname = p
+CmdCopyOtherPathname = ctrl-p
+CmdCopyCurrentTagged = t
+CmdCopyOtherTagged = ctrl-t
+CmdDiffView = ctrl-d
+
+[panel]
+PanelStartSearch = ctrl-s; alt-s
+PanelMarkFile = insert; ctrl-t
+PanelMarkFileUp = shift-up
+PanelMarkFileDown = shift-down
+PanelMoveDown = down; ctrl-n
+PanelMoveUp = up; ctrl-p
+PanelMoveLeft = left
+PanelMoveRight = right
+PanelPrevPage = pgup; alt-v
+PanelNextPage = pgdn; ctrl-v
+PanelDoEnter = enter
+PanelChdirOtherPanel = alt-o
+PanelChdirToReadlink = alt-l
+PanelViewSimple = F13
+PanelEditNew = F14
+PanelCopyLocal = F15
+PanelRenameLocal = F16
+PanelDeleteLocal = F18
+PanelReverseSelection = alt-asterisk
+PanelSelect = alt-plus
+PanelUnselect = alt-minus
+PanelGotoChildDir = ctrl-pgdn
+PanelGotoParentDir = ctrl-pgup
+PanelDirectoryHistoryList = alt-shift-h
+PanelDirectoryHistoryNext = alt-u
+PanelDirectoryHistoryPrev = alt-y
+PanelGotoBottomFile = alt-j
+PanelGotoMiddleFile = alt-r
+PanelSyncOtherPanel = alt-i
+PanelGotoTopFile = alt-g
+PanelSetPanelEncoding = alt-e
+PanelMoveHome = alt-lt; home; a1
+PanelMoveEnd = alt-gt; end; c1
+PanelSelectSortOrder=
+PanelToggleSortOrderPrev=
+PanelToggleSortOrderNext=
+PanelReverseSort=
+PanelSortOrderByName=
+PanelSortOrderByExt=
+PanelSortOrderBySize=
+PanelSortOrderByMTime=
+PanelSmartGotoParentDir=
+
+[input]
+InputBol = ctrl-a; alt-lt; home; a1
+InputEol = ctrl-e; alt-gt; end; c1
+InputMoveLeft = left; alt-left
+InputWordLeft = ctrl-left
+InputBackwardChar = ctrl-b
+InputBackwardWord = alt-b
+InputMoveRight = right; alt-right
+InputWordRight = ctrl-right
+InputForwardChar = ctrl-f
+InputForwardWord = alt-f
+InputBackwardDelete = backspace; ctrl-h
+InputDeleteChar = delete; ctrl-d
+InputKillWord = alt-d
+InputBackwardKillWord = alt-backspace
+InputSetMark =
+InputKillRegion = ctrl-w
+InputXCut =
+InputXStore = alt-w
+InputXPaste =
+InputYank = ctrl-y
+InputKillLine = ctrl-k
+InputHistoryPrev = alt-p; ctrl-down
+InputHistoryNext = alt-n; ctrl-up
+InputHistoryShow = alt-h
+InputComplete = alt-tab
+InputClearLine =
+InputLeftHighlight = shift-left
+InputRightHighlight = shift-right
+InputWordLeftHighlight = ctrl-shift-left
+InputWordRightHighlight = ctrl-shift-right
+InputBolHighlight = shift-home
+InputEolHighlight = shift-end
+
+[listbox]
+ListboxMoveUp = up; ctrl-p
+ListboxMoveDown = down; ctrl-n
+ListboxMoveHome = home; alt-lt; a1
+ListboxMoveEnd = end; alt-gt; c1
+ListboxMovePgUp = pgup; alt-v
+ListboxMovePgDn = pgdn; ctrl-v
+ListboxDeleteItem = delete; d
+ListboxDeleteAll = shift-delete; shift-d
+
+[tree]
+TreeHelp = f1
+TreeForget = f3
+TreeToggleNav = f4
+TreeCopy = f5
+TreeMove = f6
+TreeMoveUp = up; ctrl-p
+TreeMoveDown = down; ctrl-n
+TreeMoveLeft = left
+TreeMoveRight = right
+TreeMoveHome = home; alt-lt; a1
+TreeMoveEnd = end; alt-gt; c1
+TreeMovePgUp = pgup; alt-v
+TreeMovePgDn = pgdn; ctrl-v
+TreeOpen = enter
+TreeRescan = f2; ctrl-r
+TreeStartSearch = ctrl-s; alt-s
+TreeRemove = f8; delete
+
+[help]
+HelpHelp = f1
+HelpIndex = f2; c
+HelpBack = f3; left; l
+HelpQuit = f10; esc
+HelpMoveUp = up; ctrl-p
+HelpMoveDown = down; ctrl-n
+HelpMovePgDn = f; space; pgdn; ctrl-v
+HelpMovePgUp = b; pgup; alt-v; backspace
+HelpMoveHalfPgDn = d
+HelpMoveHalfPgUp = u
+HelpMoveTop = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+HelpMoveBottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+HelpSelectLink = right; enter
+HelpNextLink = tab
+HelpPrevLink = alt-tab
+HelpNextNode = n
+HelpPrevNode = p
+
+[dialog]
+DialogOK = enter
+DialogCancel = f10; esc; ctrl-g
+DialogPrevItem = left; up
+DialogNextItem = right; down
+DialogHelp = f1
+DialogSuspend = ctrl-z
+DialogRefresh = ctrl-l
+CmdDialogList = alt-prime
+CmdDialogNext = alt-rbrace
+CmdDialogPrev = alt-lbrace
+
+
+[diffviewer]
+DiffDisplaySymbols = alt-s; s
+DiffDisplayNumbers = alt-n; l
+DiffFull = f
+DiffEqual = equal
+DiffSplitMore = gt
+DiffSplitLess = lt
+DiffSetTab2 = 2
+DiffSetTab3 = 3
+DiffSetTab4 = 4
+DiffSetTab8 = 8
+DiffSwapPanel = ctrl-u
+DiffRedo = ctrl-r
+DiffNextHunk = n; enter; space
+DiffPrevHunk = p; backspace
+DiffGoto = g; shift-g
+DiffSave = f2
+DiffEditCurrent = f4
+DiffEditOther = f14
+DiffMergeCurrentHunk = f5
+DiffSearch = f7
+DiffContinueSearch = f17
+DiffOptions = f9
+DiffBOF = ctrl-home
+DiffEOF = ctrl-end
+DiffDown = down
+DiffUp = up
+DiffQuickLeft = ctrl-left
+DiffQuickRight = ctrl-right
+DiffLeft = left
+DiffRight = right
+DiffPageDown = pgdn
+DiffPageUp = pgup
+DiffHome = home
+DiffEnd = end
+DiffHelp = f1
+DiffQuit = f10; q; shift-q; esc
+ShowCommandLine = ctrl-o
+SelectCodepage = alt-e
--- /dev/null
+[main]
+Help = f1
+UserMenu = f2
+View = f3
+ViewFile =
+Edit = f4
+EditForceInternal =
+Copy = f5
+Move = f6
+MakeDir = f7
+Delete = f8
+Menu = f9
+Quit = f10
+MenuLastSelected = f19
+QuitQuiet = f20
+Find = alt-question
+CdQuick = alt-c
+HotList = ctrl-backslash
+Reread = ctrl-r
+DirSize = ctrl-space
+Suspend = ctrl-z
+Swap = ctrl-u
+History = alt-h
+PanelListing =
+PanelListingSwitch = alt-t
+PanelListingChange =
+ShowHidden = alt-dot
+SplitVertHoriz = alt-comma
+Shell = ctrl-o
+PutCurrentPath = alt-a
+PutOtherPath = alt-shift-a
+ViewFiltered = alt-exclamation
+Select = kpplus
+Unselect = kpminus
+SelectInvert = kpasterisk
+ScreenList = alt-prime
+OptionsLayout =
+OptionsPanel =
+OptionsConfirm =
+OptionsDisplayBits =
+OptionsVfs =
+LearnKeys =
+SaveSetup =
+EditExtensionsFile =
+EditFileHighlightFile =
+Filter =
+ConnectFish =
+ConnectFtp =
+ConnectSmb =
+Undelete =
+ExtendedKeyMap = ctrl-x
+
+[main:xmap]
+ChangeMode = c
+ChangeOwn = o
+CompareDirs = d
+CompareFiles = ctrl-d
+HotListAdd = h
+LinkSymbolicEdit = ctrl-s
+Link = l
+LinkSymbolic = s
+LinkSymbolicRelative = v
+PanelInfo = i
+PanelQuickView = q
+ExternalPanelize = exclamation
+VfsList = a
+Jobs = j
+PutCurrentPath = p
+PutOtherPath = ctrl-p
+PutCurrentTagged = t
+PutOtherTagged = ctrl-t
+PutCurrentLink = r
+PutOtherLink = ctrl-r
+
+[panel]
+Search = ctrl-s; alt-s
+Mark = insert; ctrl-t
+MarkUp = shift-up
+MarkDown = shift-down
+MarkLeft =
+MarkRight =
+Down = down; ctrl-n
+Up = up; ctrl-p
+Left = left
+Right = right
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Enter = enter
+PanelOtherCd = alt-o
+PanelOtherCdLink = alt-l
+ViewRaw = f13
+EditNew = f14
+CopySingle = f15
+MoveSingle = f16
+DeleteSingle = f18
+Select = alt-plus
+Unselect = alt-minus
+SelectInvert = alt-asterisk
+CdChild = ctrl-pgdn
+CdParent = ctrl-pgup
+CdParentSmart =
+Panelize =
+History = alt-shift-h
+HistoryNext = alt-u
+HistoryPrev = alt-y
+BottomOnScreen = alt-j
+MiddleOnScreen = alt-r
+TopOnScreen = alt-g
+PanelOtherSync = alt-i
+SelectCodepage = alt-e
+Top = alt-lt; home; a1
+Bottom = alt-gt; end; c1
+Sort =
+SortPrev =
+SortNext =
+SortReverse =
+SortByName =
+SortByExt =
+SortBySize =
+SortByMTime =
+
+[dialog]
+Ok = enter
+Cancel = f10; esc; ctrl-g
+Up = left; up
+#Left = left; up
+Down = right; down
+#Right = right; down
+Help = f1
+Suspend = ctrl-z
+Refresh = ctrl-l
+ScreenList = alt-prime
+ScreenNext = alt-rbrace
+ScreenPrev = alt-lbrace
+
+[input]
+Home = ctrl-a; alt-lt; home; a1
+End = ctrl-e; alt-gt; end; c1
+Left = left; alt-left; ctrl-b
+Right = right; alt-right; ctrl-f
+WordLeft = ctrl-left; alt-b
+WordRight = ctrl-right; alt-f
+Backspace = backspace; ctrl-h
+Delete = delete; ctrl-d
+DeleteToWordBegin = alt-backspace
+DeleteToWordEnd = alt-d
+Mark =
+Remove = ctrl-w
+Cut =
+Store = alt-w
+Paste =
+Yank = ctrl-y
+DeleteToEnd = ctrl-k
+HistoryPrev = alt-p; ctrl-down
+HistoryNext = alt-n; ctrl-up
+History = alt-h
+Complete = alt-tab
+Clear =
+MarkLeft = shift-left
+MarkRight = shift-right
+MarkToWordBegin = ctrl-shift-left
+MarkToWordEnd = ctrl-shift-right
+MarkToHome = shift-home
+MarkToEnd = shift-end
+
+[listbox]
+Up = up; ctrl-p
+Down = down; ctrl-n
+Top = home; alt-lt; a1
+Bottom = end; alt-gt; c1
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Delete = delete; d
+Clear = shift-delete; shift-d
+
+[tree]
+Help = f1
+Reread = f2; ctrl-r
+Forget = f3
+ToggleNavigation = f4
+Copy = f5
+Move = f6
+Up = up; ctrl-p
+Down = down; ctrl-n
+Left = left
+Right = right
+Top = home; alt-lt; a1
+Bottom = end; alt-gt; c1
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Enter = enter
+Search = ctrl-s; alt-s
+Delete = f8; delete
+
+[help]
+Help = f1
+Index = f2; c
+Back = f3; left; l
+Quit = f10; esc
+Up = up; ctrl-p
+Down = down; ctrl-n
+PageDown = f; space; pgdn; ctrl-v
+PageUp = b; pgup; alt-v; backspace
+HalfPageDown = d
+HalfPageUp = u
+Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+Enter = right; enter
+LinkNext = tab
+LinkPrev = alt-tab
+NodeNext = n
+NodePrev = p
+
+[editor]
+Store = ctrl-insert
+Paste = shift-insert
+Cut = shift-delete
+Up = up
+Down = down
+Left = left
+Right = right
+WordLeft = ctrl-left; ctrl-z
+WordRight = ctrl-right; ctrl-x
+Enter = enter
+Return = shift-enter
+BackSpace = backspace; ctrl-h
+Delete = delete; ctrl-d
+PageUp = pgup
+PageDown = pgdn
+Home = home
+End = end
+Tab = tab
+Undo = ctrl-u
+Redo = alt-r
+Top = ctrl-home; alt-lt
+Bottom = ctrl-end; alt-gt
+ScrollUp = ctrl-up
+ScrollDown = ctrl-down
+TopOnScreen = ctrl-pgup
+BottomOnScreen = ctrl-pgdn
+DeleteToWordBegin = alt-backspace
+DeleteToWordEnd = alt-d
+DeleteLine = ctrl-y
+DeleteToEnd = ctrl-k
+DeleteToHome =
+ParagraphUp =
+ParagraphDown =
+Save = f2
+EditFile =
+EditNew = ctrl-n
+SaveAs = f12; ctrl-f2
+Mark = f3
+Copy = f5
+Move = f6
+Remove = f8
+MarkLine =
+MarkWord =
+MarkAll =
+Unmark =
+Search = f7
+SearchContinue = f17
+BlockShiftLeft =
+BlockShiftRight =
+MarkPageUp = shift-pgup
+MarkPageDown = shift-pgdn
+MarkLeft = shift-left
+MarkRight = shift-right
+MarkToWordBegin = ctrl-shift-left
+MarkToWordEnd = ctrl-shift-right
+MarkUp = shift-up
+MarkDown = shift-down
+MarkToHome = shift-home
+MarkToEnd = shift-end
+MarkToFileBegin = ctrl-shift-home
+MarkToFileEnd = ctrl-shift-end
+MarkToPageBegin = ctrl-shift-pgup
+MarkToPageEnd = ctrl-shift-pgdn
+MarkScrollUp = ctrl-shift-up
+MarkScrollDown = ctrl-shift-down
+MarkParagraphUp =
+MarkParagraphDown =
+MarkColumnPageUp = alt-pgup
+MarkColumnPageDown = alt-pgdn
+MarkColumnLeft = alt-left
+MarkColumnRight = alt-right
+MarkColumnUp = alt-up
+MarkColumnDown = alt-down
+MarkColumnScrollUp =
+MarkColumnScrollDown =
+MarkColumnParagraphUp =
+MarkColumnParagraphDown =
+BlockSave = ctrl-f
+MarkColumn = f13
+Replace = f4
+ReplaceContinue = f14
+Complete = alt-tab
+InsertFile = f15
+Quit = f10
+InsertOverwrite = insert
+Help = f1
+Date =
+Refresh = ctrl-l
+Goto = alt-l
+Sort = alt-t
+Mail = alt-m
+ParagraphFormat = alt-p
+MatchBracket = alt-b
+ExternalCommand = alt-u
+UserMenu = f11
+Menu = f9
+Bookmark = alt-k
+BookmarkFlush = alt-o
+BookmarkNext = alt-j
+BookmarkPrev = alt-i
+History =
+Shell = ctrl-o
+InsertLiteral = ctrl-q
+MacroStartRecord =
+MacroStopRecord =
+MacroStartStopRecord = ctrl-r
+MacroDelete =
+ShowNumbers = alt-n
+ShowTabTws = alt-underline
+SyntaxOnOff = ctrl-s
+SyntaxChoose =
+ShowMargin =
+Find = alt-enter
+FilePrev = alt-minus
+FileNext = alt-plus
+RepeatStartStopRecord =
+SelectCodepage = alt-e
+Options =
+OptionsSaveMode =
+LearnKeys =
+ExtendedKeyMap =
+
+[viewer]
+Help = f1
+WrapMode = f2
+Quit = f3; f10; q; esc
+HexMode = f4
+Goto = f5
+Search = f7; question; slash
+SearchContinue = ctrl-r; ctrl-s; f17; n
+MagicMode = f8
+NroffMode = f9
+Home = ctrl-a
+End = ctrl-e
+Left = h; left
+Right = l; right
+LeftQuick = ctrl-left
+RightQuick = ctrl-right
+Up = k; y; insert; up; ctrl-p
+Down = j; e; delete; down; enter; ctrl-n
+PageDown = f; space; pgdn; ctrl-v
+PageUp = b; pgup; alt-v; backspace
+HalfPageDown = d
+HalfPageUp = u
+Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+BookmarkGoto = m
+Bookmark = r
+FileNext = ctrl-f
+FilePrev = ctrl-b
+SelectCodepage = alt-e
+Shell = ctrl-o
+Ruler = alt-r
+
+[viewer:hex]
+Help = f1
+HexEditMode = f2
+Quit = f3; f10; q; esc
+HexMode = f4
+Goto = f5
+Save = f6
+Search = f7; question; slash
+SearchContinue = ctrl-r; ctrl-s; f17; n
+MagicMode = f8
+NroffMode = f9
+ToggleNavigation = tab
+Home = ctrl-a; home
+End = ctrl-e; end
+Left = b; left
+Right = f; right
+Up = k; y; up
+Down = j; delete; down
+PageDown = pgdn; ctrl-v
+PageUp = pgup; alt-v
+Top = ctrl-home; ctrl-pgup; a1; alt-lt; g
+Bottom = ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+
+[diffviewer]
+ShowSymbols = alt-s; s
+ShowNumbers = alt-n; l
+SplitFull = f
+SplitEqual = equal
+SplitMore = gt
+SplitLess = lt
+Tab2 = 2
+Tab3 = 3
+Tab4 = 4
+Tab8 = 8
+Swap = ctrl-u
+Redo = ctrl-r
+HunkNext = n; enter; space
+HunkPrev = p; backspace
+Goto = g; shift-g
+Save = f2
+Edit = f4
+EditOther = f14
+Merge = f5
+Search = f7
+SearchContinue = f17
+Options = f9
+Top = ctrl-home
+Bottom = ctrl-end
+Down = down
+Up = up
+LeftQuick = ctrl-left
+RightQuick = ctrl-right
+Left = left
+Right = right
+PageDown = pgdn
+PageUp = pgup
+Home = home
+End = end
+Help = f1
+Quit = f10; q; shift-q; esc
+Shell = ctrl-o
+SelectCodepage = alt-e
--- /dev/null
+[main]
+Help = f1
+UserMenu = f2
+View = f3
+ViewFile =
+Edit = f4
+EditForceInternal =
+Copy = f5
+Move = f6
+MakeDir = f7
+Delete = f8
+Menu = f9
+Quit = f10
+MenuLastSelected = f19
+QuitQuiet = f20
+Find = alt-question
+CdQuick = alt-c
+HotList = ctrl-backslash
+Reread = ctrl-r
+DirSize = ctrl-space
+Suspend = ctrl-z
+Swap = ctrl-u
+History = alt-h
+PanelListing =
+PanelListingSwitch = alt-t
+PanelListingChange =
+ShowHidden = alt-dot
+SplitVertHoriz = alt-comma
+Shell = ctrl-o
+PutCurrentPath = alt-a
+PutOtherPath = alt-shift-a
+ViewFiltered = alt-exclamation
+Select = kpplus
+Unselect = kpminus
+SelectInvert = kpasterisk
+ScreenList = alt-prime
+OptionsLayout =
+OptionsPanel =
+OptionsConfirm =
+OptionsDisplayBits =
+OptionsVfs =
+LearnKeys =
+SaveSetup =
+EditExtensionsFile =
+EditFileHighlightFile =
+Filter =
+ConnectFish =
+ConnectFtp =
+ConnectSmb =
+Undelete =
+ExtendedKeyMap = ctrl-x
+
+[main:xmap]
+ChangeMode = c
+ChangeOwn = o
+CompareDirs = d
+CompareFiles = ctrl-d
+HotListAdd = h
+LinkSymbolicEdit = ctrl-s
+Link = l
+LinkSymbolic = s
+LinkSymbolicRelative = v
+PanelInfo = i
+PanelQuickView = q
+ExternalPanelize = exclamation
+VfsList = a
+Jobs = j
+PutCurrentPath = p
+PutOtherPath = ctrl-p
+PutCurrentTagged = t
+PutOtherTagged = ctrl-t
+PutCurrentLink = r
+PutOtherLink = ctrl-r
+
+[panel]
+Search = ctrl-s; alt-s
+Mark = insert; ctrl-t
+MarkUp = shift-up
+MarkDown = shift-down
+MarkLeft =
+MarkRight =
+Down = down; ctrl-n
+Up = up; ctrl-p
+Left = left
+Right = right
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Enter = enter
+PanelOtherCd = alt-o
+PanelOtherCdLink = alt-l
+ViewRaw = f13
+EditNew = f14
+CopySingle = f15
+MoveSingle = f16
+DeleteSingle = f18
+Select = alt-plus
+Unselect = alt-minus
+SelectInvert = alt-asterisk
+CdChild = ctrl-pgdn
+CdParent = ctrl-pgup
+CdParentSmart =
+Panelize =
+History = alt-shift-h
+HistoryNext = alt-u
+HistoryPrev = alt-y
+BottomOnScreen = alt-j
+MiddleOnScreen = alt-r
+TopOnScreen = alt-g
+PanelOtherSync = alt-i
+SelectCodepage = alt-e
+Top = alt-lt; home; a1
+Bottom = alt-gt; end; c1
+Sort =
+SortPrev =
+SortNext =
+SortReverse =
+SortByName =
+SortByExt =
+SortBySize =
+SortByMTime =
+
+[dialog]
+Ok = enter
+Cancel = f10; esc; ctrl-g
+Up = left; up
+#Left = left; up
+Down = right; down
+#Right = right; down
+Help = f1
+Suspend = ctrl-z
+Refresh = ctrl-l
+ScreenList = alt-prime
+ScreenNext = alt-rbrace
+ScreenPrev = alt-lbrace
+
+[input]
+Home = ctrl-a; alt-lt; home; a1
+End = ctrl-e; alt-gt; end; c1
+Left = left; alt-left; ctrl-b
+Right = right; alt-right; ctrl-f
+WordLeft = ctrl-left; alt-b
+WordRight = ctrl-right; alt-f
+Backspace = backspace; ctrl-h
+Delete = delete; ctrl-d
+DeleteToWordBegin = alt-backspace
+DeleteToWordEnd = alt-d
+Mark =
+Remove = ctrl-w
+Cut =
+Store = alt-w
+Paste =
+Yank = ctrl-y
+DeleteToEnd = ctrl-k
+HistoryPrev = alt-p; ctrl-down
+HistoryNext = alt-n; ctrl-up
+History = alt-h
+Complete = alt-tab
+Clear =
+MarkLeft = shift-left
+MarkRight = shift-right
+MarkToWordBegin = ctrl-shift-left
+MarkToWordEnd = ctrl-shift-right
+MarkToHome = shift-home
+MarkToEnd = shift-end
+
+[listbox]
+Up = up; ctrl-p
+Down = down; ctrl-n
+Top = home; alt-lt; a1
+Bottom = end; alt-gt; c1
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Delete = delete; d
+Clear = shift-delete; shift-d
+
+[tree]
+Help = f1
+Reread = f2; ctrl-r
+Forget = f3
+ToggleNavigation = f4
+Copy = f5
+Move = f6
+Up = up; ctrl-p
+Down = down; ctrl-n
+Left = left
+Right = right
+Top = home; alt-lt; a1
+Bottom = end; alt-gt; c1
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Enter = enter
+Search = ctrl-s; alt-s
+Delete = f8; delete
+
+[help]
+Help = f1
+Index = f2; c
+Back = f3; left; l
+Quit = f10; esc
+Up = up; ctrl-p
+Down = down; ctrl-n
+PageDown = f; space; pgdn; ctrl-v
+PageUp = b; pgup; alt-v; backspace
+HalfPageDown = d
+HalfPageUp = u
+Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+Enter = right; enter
+LinkNext = tab
+LinkPrev = alt-tab
+NodeNext = n
+NodePrev = p
+
+[editor]
+Store = ctrl-insert
+Paste = shift-insert
+Cut = shift-delete
+Up = up
+Down = down
+Left = left
+Right = right
+WordLeft = ctrl-left; ctrl-z
+WordRight = ctrl-right; ctrl-x
+Enter = enter
+Return = shift-enter
+BackSpace = backspace; ctrl-h
+Delete = delete; ctrl-d
+PageUp = pgup
+PageDown = pgdn
+Home = home
+End = end
+Tab = tab
+Undo = ctrl-u
+Redo = alt-r
+Top = ctrl-home; alt-lt
+Bottom = ctrl-end; alt-gt
+ScrollUp = ctrl-up
+ScrollDown = ctrl-down
+TopOnScreen = ctrl-pgup
+BottomOnScreen = ctrl-pgdn
+DeleteToWordBegin = alt-backspace
+DeleteToWordEnd = alt-d
+DeleteLine = ctrl-y
+DeleteToEnd = ctrl-k
+DeleteToHome =
+ParagraphUp =
+ParagraphDown =
+Save = f2
+EditFile =
+EditNew = ctrl-n
+SaveAs = f12; ctrl-f2
+Mark = f3
+Copy = f5
+Move = f6
+Remove = f8
+MarkLine =
+MarkWord =
+MarkAll =
+Unmark =
+Search = f7
+SearchContinue = f17
+BlockShiftLeft =
+BlockShiftRight =
+MarkPageUp = shift-pgup
+MarkPageDown = shift-pgdn
+MarkLeft = shift-left
+MarkRight = shift-right
+MarkToWordBegin = ctrl-shift-left
+MarkToWordEnd = ctrl-shift-right
+MarkUp = shift-up
+MarkDown = shift-down
+MarkToHome = shift-home
+MarkToEnd = shift-end
+MarkToFileBegin = ctrl-shift-home
+MarkToFileEnd = ctrl-shift-end
+MarkToPageBegin = ctrl-shift-pgup
+MarkToPageEnd = ctrl-shift-pgdn
+MarkScrollUp = ctrl-shift-up
+MarkScrollDown = ctrl-shift-down
+MarkParagraphUp =
+MarkParagraphDown =
+MarkColumnPageUp = alt-pgup
+MarkColumnPageDown = alt-pgdn
+MarkColumnLeft = alt-left
+MarkColumnRight = alt-right
+MarkColumnUp = alt-up
+MarkColumnDown = alt-down
+MarkColumnScrollUp =
+MarkColumnScrollDown =
+MarkColumnParagraphUp =
+MarkColumnParagraphDown =
+BlockSave = ctrl-f
+MarkColumn = f13
+Replace = f4
+ReplaceContinue = f14
+Complete = alt-tab
+InsertFile = f15
+Quit = f10
+InsertOverwrite = insert
+Help = f1
+Date =
+Refresh = ctrl-l
+Goto = alt-l
+Sort = alt-t
+Mail = alt-m
+ParagraphFormat = alt-p
+MatchBracket = alt-b
+ExternalCommand = alt-u
+UserMenu = f11
+Menu = f9
+Bookmark = alt-k
+BookmarkFlush = alt-o
+BookmarkNext = alt-j
+BookmarkPrev = alt-i
+History =
+Shell = ctrl-o
+InsertLiteral = ctrl-q
+MacroStartRecord =
+MacroStopRecord =
+MacroStartStopRecord = ctrl-r
+MacroDelete =
+ShowNumbers = alt-n
+ShowTabTws = alt-underline
+SyntaxOnOff = ctrl-s
+SyntaxChoose =
+ShowMargin =
+Find = alt-enter
+FilePrev = alt-minus
+FileNext = alt-plus
+RepeatStartStopRecord =
+SelectCodepage = alt-e
+Options =
+OptionsSaveMode =
+LearnKeys =
+ExtendedKeyMap =
+
+[viewer]
+Help = f1
+WrapMode = f2
+Quit = f3; f10; q; esc
+HexMode = f4
+Goto = f5
+Search = f7; question; slash
+SearchContinue = ctrl-r; ctrl-s; f17; n
+MagicMode = f8
+NroffMode = f9
+Home = ctrl-a
+End = ctrl-e
+Left = h; left
+Right = l; right
+LeftQuick = ctrl-left
+RightQuick = ctrl-right
+Up = k; y; insert; up; ctrl-p
+Down = j; e; delete; down; enter; ctrl-n
+PageDown = f; space; pgdn; ctrl-v
+PageUp = b; pgup; alt-v; backspace
+HalfPageDown = d
+HalfPageUp = u
+Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+BookmarkGoto = m
+Bookmark = r
+FileNext = ctrl-f
+FilePrev = ctrl-b
+SelectCodepage = alt-e
+Shell = ctrl-o
+Ruler = alt-r
+
+[viewer:hex]
+Help = f1
+HexEditMode = f2
+Quit = f3; f10; q; esc
+HexMode = f4
+Goto = f5
+Save = f6
+Search = f7; question; slash
+SearchContinue = ctrl-r; ctrl-s; f17; n
+MagicMode = f8
+NroffMode = f9
+ToggleNavigation = tab
+Home = ctrl-a; home
+End = ctrl-e; end
+Left = b; left
+Right = f; right
+Up = k; y; up
+Down = j; delete; down
+PageDown = pgdn; ctrl-v
+PageUp = pgup; alt-v
+Top = ctrl-home; ctrl-pgup; a1; alt-lt; g
+Bottom = ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+
+[diffviewer]
+ShowSymbols = alt-s; s
+ShowNumbers = alt-n; l
+SplitFull = f
+SplitEqual = equal
+SplitMore = gt
+SplitLess = lt
+Tab2 = 2
+Tab3 = 3
+Tab4 = 4
+Tab8 = 8
+Swap = ctrl-u
+Redo = ctrl-r
+HunkNext = n; enter; space
+HunkPrev = p; backspace
+Goto = g; shift-g
+Save = f2
+Edit = f4
+EditOther = f14
+Merge = f5
+Search = f7
+SearchContinue = f17
+Options = f9
+Top = ctrl-home
+Bottom = ctrl-end
+Down = down
+Up = up
+LeftQuick = ctrl-left
+RightQuick = ctrl-right
+Left = left
+Right = right
+PageDown = pgdn
+PageUp = pgup
+Home = home
+End = end
+Help = f1
+Quit = f10; q; shift-q; esc
+Shell = ctrl-o
+SelectCodepage = alt-e
--- /dev/null
+[editor]
+EditXStore = alt-w
+EditXPaste = ctrl-y
+EditXCut = ctrl-w
+
+EditDeleteLine = ctrl-y
+EditDeleteToLineEnd = ctrl-k
+EditDeleteToLineBegin =
+
+EditLeft = left; ctrl-b
+EditRight = right; ctrl-f
+EditUp = up; ctrl-p
+EditDown = down; ctrl-n
+EditEnter = enter
+EditReturn = shift-enter
+EditBackSpace = backspace
+EditDelete = delete
+EditPageUp = pgup; alt-v
+EditPageDown = pgdn; ctrl-v
+EditWordLeft = ctrl-left; alt-b
+EditWordRight = ctrl-right; alt-f
+EditHome = home; ctrl-a
+EditEnd = end; ctrl-e
+EditTab = tab
+EditUndo = ctrl-u
+EditBeginningOfText = ctrl-home; alt-lt
+EditEndOfText = ctrl-end; alt-gt
+EditScrollUp = ctrl-up
+EditScrollDown = ctrl-down
+EditBeginPage = ctrl-pgup
+EditEndPage = ctrl-pgdn
+EditDeleteWordLeft = alt-backspace
+EditDeleteWordRight = alt-d
+EditParagraphUp =
+EditParagraphDown =
+EditSave = f2
+EditLoad =
+EditSaveas = f12
+EditMark = f3; ctrl-at
+EditCopy = f5
+EditMove = f6
+EditRemove = f8
+EditMarkAll =
+EditUnmark =
+EditFind = f7; ctrl-s
+EditMarkLine =
+EditMarkWord =
+
+EditShiftBlockLeft =
+EditShiftBlockRight =
+
+EditPageUpHighlight = shift-pgup
+EditPageDownHighlight = shift-pgdn
+EditLeftHighlight = shift-left
+EditRightHighlight = shift-right
+EditWordLeftHighlight = ctrl-shift-left
+EditWordRightHighlight = ctrl-shift-right
+EditUpHighlight = shift-up
+EditDownHighlight = shift-down
+EditHomeHighlight = shift-home
+EditEndHighlight = shift-end
+EditBeginningOfTextHighlight = ctrl-shift-home
+EditEndOfTextHighlight = ctrl-shift-end
+EditBeginPageHighlight = ctrl-shift-pgup
+EditEndPageHighlight = ctrl-shift-pgdn
+EditScrollUpHighlight = ctrl-shift-up
+EditScrollDownHighlight = ctrl-shift-down
+EditParagraphUpHighlight =
+EditParagraphDownHighlight =
+
+EditPageUpAltHighlight = alt-pgup
+EditPageDownAltHighlight = alt-pgdn
+EditLeftAltHighlight = alt-left
+EditRightAltHighlight = alt-right
+EditWordLeftAltHighlight = ctrl-alt-left
+EditWordRightAltHighlight = ctrl-alt-right
+EditUpAltHighlight = alt-up
+EditDownAltHighlight = alt-down
+EditHomeAltHighlight = alt-home
+EditEndAltHighlight = alt-end
+EditBeginningOfTextAltHighlight = ctrl-alt-home
+EditEndOfTextHighlight = ctrl-alt-end
+EditBeginPageHighlight = ctrl-alt-pgup
+EditEndPageAltHighlight = ctrl-alt-pgdn
+EditScrollUpAltHighlight =
+EditScrollDownAltHighlight =
+EditParagraphUpAltHighlight =
+EditParagraphDownAltHighlight =
+
+EditSaveBlock =
+EditColumnMark = f13
+EditFindAgain = f17
+EditReplace = f4
+EditReplaceAgain = f14
+EditCompleteWord = alt-tab
+EditDebugStart =
+EditDebugStop =
+EditDebugToggleBreak =
+EditDebugClear =
+EditDebugNext =
+EditDebugStep =
+EditDebugBackTrace =
+EditDebugContinue =
+EditDebugEnterCommand =
+EditDebugUntilCurser =
+EditInsertFile = f15
+EditQuit = f10
+EditToggleInsert = insert
+EditHelp = f1
+EditDate =
+EditRefresh = ctrl-l
+EditGoto = alt-l
+EditManPage =
+EditSort = alt-t
+EditMail =
+EditCancel =
+EditComplete =
+
+EditParagraphFormat = alt-p
+EditUtil =
+EditTypeLoadPython =
+EditFindFile =
+EditCtags =
+EditMatchBracket =
+EditTerminal =
+EditTerminalApp =
+EditExtCmd = alt-u
+EditUserMenu = f11
+EditSaveDesktop =
+EditNewWindow =
+EditCycle =
+EditMenu = f9
+EditSaveAndQuit =
+EditRunAnother =
+EditCheckSaveAndQuit =
+EditMaximize =
+EditToggleBookmark =
+EditFlushBookmarks =
+EditNextBookmark =
+EditPrevBookmark =
+
+EditSelectionHistory =
+EditShell = ctrl-o
+EditInsertLiteral = ctrl-q
+
+EditBeginRecordMacro =
+EditEndRecordMacro =
+EditBeginOrEndMacro = ctrl-r
+EditDeleteMacro =
+
+EditToggleLineState = alt-n
+EditToggleTabTWS = alt-underline
+EditToggleSyntax = ctrl-s
+EditToggleShowMargin =
+
+EditFindDefinition = alt-enter
+EditLoadPrevFile = alt-minus
+EditLoadNextFile = alt-plus
+
+SelectCodepage = alt-e
+
+EditExtMode = ctrl-x
+
+[edit:xmap]
+EditNew = k
+EditExecuteMacro = e
+
+[viewer]
+ViewHelp = f1
+ViewToggleWrapMode = f2
+ViewQuit = f3; f10; q; esc
+ViewToggleHexMode = f4
+ViewGoto = f5
+ViewSearch = f7; question; slash
+ViewToggleMagicMode = f8
+ViewToggleNroffMode = f9
+ViewContinueSearch = ctrl-r; ctrl-s; f17; n
+ViewMoveToBol = ctrl-a
+ViewMoveToEol = ctrl-e
+ViewMoveLeft = h; left
+ViewMoveRight = l; right
+ViewMoveLeft10 = ctrl-left
+ViewMoveRight10 = ctrl-right
+ViewMoveUp = k; y; insert; up; ctrl-p
+ViewMoveDown = j; e; delete; down; enter; ctrl-n
+ViewMovePgDn = f; space; pgdn; ctrl-v
+ViewMovePgUp = b; pgup; alt-v; backspace
+ViewMoveHalfPgDn = d
+ViewMoveHalfPgUp = u
+ViewMoveTop = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+ViewMoveBottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+ViewGotoBookmark = m
+ViewNewBookmark = r
+ViewNextFile = ctrl-f
+ViewPrevFile = ctrl-b
+SelectCodepage = alt-e
+ShowCommandLine = ctrl-o
+ViewToggleRuler = alt-r
+
+[viewer:hex]
+ViewHelp = f1
+ViewToggleHexEditMode = f2
+ViewQuit = f3; f10; q; esc
+ViewToggleHexMode = f4
+ViewGoto = f5
+ViewHexEditSave = f6
+ViewSearch = f7; question; slash
+ViewToggleMagicMode = f8
+ViewToggleNroffMode = f9
+ViewToggleHexNavMode = tab
+ViewMoveToBol = ctrl-a; home
+ViewMoveToEol = ctrl-e; end
+ViewMoveLeft = b; left
+ViewMoveRight = f; right
+ViewMoveUp = k; y; up
+ViewMoveDown = j; delete; down
+ViewMovePgDn = pgdn; ctrl-v
+ViewMovePgUp = pgup; alt-v
+ViewMoveTop = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+ViewMoveBottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+
+[main]
+CmdHelp = f1
+CmdUserMenu = f2
+CmdView = f3
+CmdViewFile = f13
+CmdEdit = f4
+CmdEditForceInternal =
+CmdCopy = f5
+CmdRename = f6
+CmdMkdir = f7
+CmdDelete = f8
+CmdMenu = f9
+CmdQuit = f10
+CmdMenuLastSelected = f19
+CmdQuietQuit = f20
+CmdFind = alt-question
+CmdQuickCd = alt-c
+CmdQuickChdir = ctrl-backslash
+CmdReread = ctrl-r
+CmdSingleDirsize = ctrl-space
+CmdSuspend = ctrl-z
+CmdSwapPanel = ctrl-u
+CmdHistory = alt-h
+CmdListing =
+CmdToggleListing = alt-t
+CmdToggleShowHidden = alt-dot
+CmdTogglePanelsSplit = alt-comma
+ShowCommandLine = ctrl-o
+CmdCopyCurrentPathname = alt-a
+CmdCopyOtherPathname = alt-shift-a
+CmdFilteredView = alt-exclamation
+CmdSelect = kpplus
+CmdUnselect = kpminus
+CmdReverseSelection = kpasterisk
+CmdDialogList = alt-prime
+ExtMap1 = ctrl-x
+
+[main:xmap]
+CmdChmod = c
+CmdChown = o
+CmdCompareDirs = d
+CmdEditSymlink = ctrl-s
+CmdLink = l
+CmdSymlink = s
+CmdRelativeSymlink = v
+CmdInfo = i
+CmdQuickView = q
+CmdExternalPanelize = exclamation
+CmdReselectVfs = a
+CmdJobs = j
+CmdCopyCurrentPathname = p
+CmdCopyOtherPathname = ctrl-p
+CmdCopyCurrentTagged = t
+CmdCopyOtherTagged = ctrl-t
+CmdDiffView = ctrl-d
+
+[panel]
+PanelStartSearch = ctrl-s; alt-s
+PanelMarkFile = insert; ctrl-t
+PanelMarkFileUp = shift-up
+PanelMarkFileDown = shift-down
+PanelMoveDown = down; ctrl-n
+PanelMoveUp = up; ctrl-p
+PanelMoveLeft = left
+PanelMoveRight = right
+PanelPrevPage = pgup; alt-v
+PanelNextPage = pgdn; ctrl-v
+PanelDoEnter = enter
+PanelChdirOtherPanel = alt-o
+PanelChdirToReadlink = alt-l
+PanelViewSimple = F13
+PanelEditNew = F14
+PanelCopyLocal = F15
+PanelRenameLocal = F16
+PanelDeleteLocal = F18
+PanelReverseSelection = alt-asterisk
+PanelSelect = alt-plus
+PanelUnselect = alt-minus
+PanelGotoChildDir = ctrl-pgdn
+PanelGotoParentDir = ctrl-pgup
+PanelDirectoryHistoryList = alt-shift-h
+PanelDirectoryHistoryNext = alt-u
+PanelDirectoryHistoryPrev = alt-y
+PanelGotoBottomFile = alt-j
+PanelGotoMiddleFile = alt-r
+PanelSyncOtherPanel = alt-i
+PanelGotoTopFile = alt-g
+PanelSetPanelEncoding = alt-e
+PanelMoveHome = alt-lt; home; a1
+PanelMoveEnd = alt-gt; end; c1
+PanelSelectSortOrder=
+PanelToggleSortOrderPrev=
+PanelToggleSortOrderNext=
+PanelReverseSort=
+PanelSortOrderByName=
+PanelSortOrderByExt=
+PanelSortOrderBySize=
+PanelSortOrderByMTime=
+PanelSmartGotoParentDir=
+
+[input]
+InputBol = ctrl-a; alt-lt; home; a1
+InputEol = ctrl-e; alt-gt; end; c1
+InputMoveLeft = left; alt-left
+InputWordLeft = ctrl-left
+InputBackwardChar = ctrl-b
+InputBackwardWord = alt-b
+InputMoveRight = right; alt-right
+InputWordRight = ctrl-right
+InputForwardChar = ctrl-f
+InputForwardWord = alt-f
+InputBackwardDelete = backspace
+InputDeleteChar = delete
+InputKillWord = alt-d
+InputBackwardKillWord = alt-backspace
+InputSetMark =
+InputKillRegion = ctrl-w
+InputXCut =
+InputXStore = alt-w
+InputXPaste =
+InputYank = ctrl-y
+InputKillLine = ctrl-k
+InputHistoryPrev = alt-p; ctrl-down
+InputHistoryNext = alt-n; ctrl-up
+InputHistoryShow = alt-h
+InputComplete = alt-tab
+InputClearLine =
+InputLeftHighlight =
+InputRightHighlight =
+InputWordLeftHighlight =
+InputWordRightHighlight =
+InputBolHighlight =
+InputEolHighlight =
+
+[listbox]
+ListboxMoveUp = up; ctrl-p
+ListboxMoveDown = down; ctrl-n
+ListboxMoveHome = home; alt-lt; a1
+ListboxMoveEnd = end; alt-gt; c1
+ListboxMovePgUp = pgup; alt-v
+ListboxMovePgDn = pgdn; ctrl-v
+ListboxDeleteItem = delete; d
+ListboxDeleteAll = shift-delete; shift-d
+
+[tree]
+TreeHelp = f1
+TreeForget = f3
+TreeToggleNav = f4
+TreeCopy = f5
+TreeMove = f6
+TreeMoveUp = up; ctrl-p
+TreeMoveDown = down; ctrl-n
+TreeMoveLeft = left
+TreeMoveRight = right
+TreeMoveHome = home; alt-lt; a1
+TreeMoveEnd = end; alt-gt; c1
+TreeMovePgUp = pgup; alt-v
+TreeMovePgDn = pgdn; ctrl-v
+TreeOpen = enter
+TreeRescan = f2; ctrl-r
+TreeStartSearch = ctrl-s; alt-s
+TreeRemove = f8; delete
+
+[help]
+HelpHelp = f1
+HelpIndex = f2; c
+HelpBack = f3; left; l
+HelpQuit = f10; esc
+HelpMoveUp = up; ctrl-p
+HelpMoveDown = down; ctrl-n
+HelpMovePgDn = f; space; pgdn; ctrl-v
+HelpMovePgUp = b; pgup; alt-v; backspace
+HelpMoveHalfPgDn = d
+HelpMoveHalfPgUp = u
+HelpMoveTop = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+HelpMoveBottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+HelpSelectLink = right; enter
+HelpNextLink = tab
+HelpPrevLink = alt-tab
+HelpNextNode = n
+HelpPrevNode = p
+
+[dialog]
+DialogOK = enter
+DialogCancel = f10; esc; ctrl-g
+DialogPrevItem = left; up
+DialogNextItem = right; down
+DialogHelp = f1
+DialogSuspend = ctrl-z
+DialogRefresh = ctrl-l
+CmdDialogList = alt-prime
+CmdDialogNext = alt-rbrace
+CmdDialogPrev = alt-lbrace
+
+
+[diffviewer]
+DiffDisplaySymbols = alt-s; s
+DiffDisplayNumbers = alt-n; l
+DiffFull = f
+DiffEqual = equal
+DiffSplitMore = gt
+DiffSplitLess = lt
+DiffSetTab2 = 2
+DiffSetTab3 = 3
+DiffSetTab4 = 4
+DiffSetTab8 = 8
+DiffSwapPanel = ctrl-u
+DiffRedo = ctrl-r
+DiffNextHunk = n; enter; space
+DiffPrevHunk = p; backspace
+DiffGoto = g; shift-g
+DiffSave = f2
+DiffEditCurrent = f4
+DiffEditOther = f14
+DiffMergeCurrentHunk = f5
+DiffSearch = f7
+DiffContinueSearch = f17
+DiffOptions = f9
+DiffBOF = ctrl-home
+DiffEOF = ctrl-end
+DiffDown = down
+DiffUp = up
+DiffQuickLeft = ctrl-left
+DiffQuickRight = ctrl-right
+DiffLeft = left
+DiffRight = right
+DiffPageDown = pgdn
+DiffPageUp = pgup
+DiffHome = home
+DiffEnd = end
+DiffHelp = f1
+DiffQuit = f10; q; shift-q; esc
+ShowCommandLine = ctrl-o
+SelectCodepage = alt-e
--- /dev/null
+[main]
+Help = f1
+UserMenu = f2
+View = f3
+ViewFile =
+Edit = f4
+EditForceInternal =
+Copy = f5
+Move = f6
+MakeDir = f7
+Delete = f8
+Menu = f9
+Quit = f10
+MenuLastSelected = f19
+QuitQuiet = f20
+Find = alt-question
+CdQuick = alt-c
+HotList = ctrl-backslash
+Reread = ctrl-r
+DirSize = ctrl-space
+Suspend = ctrl-z
+Swap = ctrl-u
+History = alt-h
+PanelListing =
+PanelListingSwitch = alt-t
+PanelListingChange =
+ShowHidden = alt-dot
+SplitVertHoriz = alt-comma
+Shell = ctrl-o
+PutCurrentPath = alt-a
+PutOtherPath = alt-shift-a
+ViewFiltered = alt-exclamation
+Select = kpplus
+Unselect = kpminus
+SelectInvert = kpasterisk
+ScreenList = alt-prime
+Options =
+OptionsLayout =
+OptionsPanel =
+OptionsConfirm =
+OptionsDisplayBits =
+OptionsVfs =
+LearnKeys =
+SaveSetup =
+EditExtensionsFile =
+EditFileHighlightFile =
+Filter =
+ConnectFish =
+ConnectFtp =
+ConnectSmb =
+Undelete =
+ExtendedKeyMap = ctrl-x
+
+[main:xmap]
+ChangeMode = c
+ChangeOwn = o
+CompareDirs = d
+CompareFiles = ctrl-d
+HotListAdd = h
+LinkSymbolicEdit = ctrl-s
+Link = l
+LinkSymbolic = s
+LinkSymbolicRelative
+PanelInfo = i
+PanelQuickView = q
+ExternalPanelize = exclamation
+VfsList = a
+Jobs = j
+PutCurrentPath = p
+PutOtherPath = ctrl-p
+PutCurrentTagged = t
+PutOtherTagged = ctrl-t
+PutCurrentLink = r
+PutOtherLink = ctrl-r
+
+[panel]
+Search = ctrl-s; alt-s
+Mark = insert; ctrl-t
+MarkUp = shift-up
+MarkDown = shift-down
+MarkLeft =
+MarkRight =
+Down = down; ctrl-n
+Up = up; ctrl-p
+Left = left
+Right = right
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Enter = enter
+PanelOtherCd = alt-o
+PanelOtherCdLink = alt-l
+ViewRaw = f13
+EditNew = f14
+CopySingle = f15
+MoveSingle = f16
+DeleteSingle = f18
+Select = alt-plus
+Unselect = alt-minus
+SelectInvert = alt-asterisk
+CdChild = ctrl-pgdn
+CdParent = ctrl-pgup
+Panelize =
+CdParentSmart =
+History = alt-shift-h
+HistoryNext = alt-u
+HistoryPrev = alt-y
+BottomOnScreen = alt-j
+MiddleOnScreen = alt-r
+TopOnScreen = alt-g
+PanelOtherSync = alt-i
+SelectCodepage = alt-e
+Top = alt-lt; home; a1
+Bottom = alt-gt; end; c1
+Sort =
+SortPrev =
+SortNext =
+SortReverse =
+SortByName =
+SortByExt =
+SortBySize =
+SortByMTime =
+
+[dialog]
+Ok = enter
+Cancel = f10; esc
+Up = left; up
+#Left = left; up
+Down = right; down
+#Right = right; down
+Help = f1
+Suspend = ctrl-z
+Refresh = ctrl-l
+ScreenList = alt-prime
+ScreenNext = alt-rbrace
+ScreenPrev = alt-lbrace
+
+[input]
+Home = ctrl-a; alt-lt; home; a1
+End = ctrl-e; alt-gt; end; c1
+Left = left; alt-left; ctrl-b
+Right = right; alt-right; ctrl-f
+WordLeft = ctrl-left; alt-b
+WordRight = ctrl-right; alt-f
+Backspace = backspace
+Delete = delete
+DeleteToWordBegin = alt-backspace
+DeleteToWordEnd = alt-d
+Mark =
+Remove = ctrl-w
+Cut =
+Store = alt-w
+Paste =
+Yank = ctrl-y
+DeleteToEnd = ctrl-k
+HistoryPrev = alt-p; ctrl-down
+HistoryNext = alt-n; ctrl-up
+History = alt-h
+Complete = alt-tab
+Clear =
+MarkLeft =
+MarkRight =
+MarkToWordBegin =
+MarkToWordEnd =
+MarkToHome =
+MarkToEnd =
+
+[listbox]
+Up = up; ctrl-p
+Down = down; ctrl-n
+Top = home; alt-lt; a1
+Bottom = end; alt-gt; c1
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Delete = delete; d
+Clear = shift-delete; shift-d
+
+[tree]
+Help = f1
+Reread = f2; ctrl-r
+Forget = f3
+ToggleNavigation = f4
+Copy = f5
+Move = f6
+Up = up; ctrl-p
+Down = down; ctrl-n
+Left = left
+Right = right
+Top = home; alt-lt; a1
+Bottom = end; alt-gt; c1
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Enter = enter
+Search = ctrl-s; alt-s
+Delete = f8; delete
+
+[help]
+Help = f1
+Index = f2; c
+Back = f3; left; l
+Quit = f10; esc; ctrl-g
+Up = up; ctrl-p
+Down = down; ctrl-n
+PageDown = f; space; pgdn; ctrl-v
+PageUp = b; pgup; alt-v; backspace
+HalfPageDown = d
+HalfPageUp = u
+Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+Enter = right; enter
+LinkNext = tab
+LinkPrev = alt-tab
+NodeNext = n
+NodePrev = p
+
+[editor]
+Store = alt-w
+Paste = ctrl-y
+Cut = ctrl-w
+Up = up; ctrl-p
+Down = down; ctrl-n
+Left = left; ctrl-b
+Right = right; ctrl-f
+WordLeft = ctrl-left; alt-b
+WordRight = ctrl-right; alt-f
+Enter = enter
+Return = shift-enter
+BackSpace = backspace
+Delete = delete
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Home = home; ctrl-a
+End = end; ctrl-e
+Tab = tab
+Undo = ctrl-u
+Redo =
+Top = ctrl-home; alt-lt
+Bottom = ctrl-end; alt-gt
+ScrollUp = ctrl-up
+ScrollDown = ctrl-down
+TopOnScreen = ctrl-pgup
+BottomOnScreen = ctrl-pgdn
+DeleteToWordBegin = alt-backspace
+DeleteToWordEnd = alt-d
+DeleteLine = ctrl-y
+DeleteToEnd = ctrl-k
+DeleteToHome =
+ParagraphUp =
+ParagraphDown =
+Save = f2
+EditFile =
+SaveAs = f12; ctrl-f2
+Mark = f3; ctrl-at
+Copy = f5
+Move = f6
+Remove = f8
+MarkLine =
+MarkWord =
+MarkAll =
+Unmark =
+Search = f7; ctrl-s
+SearchContinue = f17
+BlockShiftLeft =
+BlockShiftRight =
+MarkPageUp = shift-pgup
+MarkPageDown = shift-pgdn
+MarkLeft = shift-left
+MarkRight = shift-right
+MarkToWordBegin = ctrl-shift-left
+MarkToWordEnd = ctrl-shift-right
+MarkUp = shift-up
+MarkDown = shift-down
+MarkToHome = shift-home
+MarkToEnd = shift-end
+MarkToFileBegin = ctrl-shift-home
+MarkToFileEnd = ctrl-shift-end
+MarkToPageBegin = ctrl-shift-pgup
+MarkToPageEnd = ctrl-shift-pgdn
+MarkScrollUp = ctrl-shift-up
+MarkScrollDown = ctrl-shift-down
+MarkParagraphUp =
+MarkParagraphDown =
+MarkColumnPageUp = alt-pgup
+MarkColumnPageDown = alt-pgdn
+MarkColumnLeft = alt-left
+MarkColumnRight = alt-right
+MarkColumnUp = alt-up
+MarkColumnDown = alt-down
+MarkColumnScrollUp =
+MarkColumnScrollDown =
+MarkColumnParagraphUp =
+MarkColumnParagraphDown =
+BlockSave =
+MarkColumn = f13
+Replace = f4
+ReplaceContinue = f14
+Complete = alt-tab
+InsertFile = f15
+Quit = f10
+InsertOverwrite = insert
+Help = f1
+Date =
+Refresh = ctrl-l
+Goto = alt-l
+Sort = alt-t
+Mail =
+ParagraphFormat = alt-p
+MatchBracket =
+ExternalCommand = alt-u
+UserMenu = f11
+Menu = f9
+Bookmark =
+BookmarkFlush =
+BookmarkNext =
+BookmarkPrev =
+History =
+Shell = ctrl-o
+InsertLiteral = ctrl-q
+MacroStartRecord =
+MacroStopRecord =
+MacroStartStopRecord = ctrl-r
+MacroDelete =
+ShowNumbers = alt-n
+ShowTabTws = alt-underline
+SyntaxOnOff = ctrl-s
+SyntaxChoose =
+ShowMargin =
+Find = alt-enter
+FilePrev = alt-minus
+FileNext = alt-plus
+RepeatStartStopRecord =
+SelectCodepage = alt-e
+Options =
+OptionsSaveMode =
+LearnKeys =
+ExtendedKeyMap = ctrl-x
+
+[editor:xmap]
+EditNew = k
+
+[viewer]
+Help = f1
+WrapMode = f2
+Quit = f3; f10; q; esc
+HexMode = f4
+Goto = f5
+Search = f7; question; slash
+MagicMode = f8
+NroffMode = f9
+SearchContinue = ctrl-r; ctrl-s; f17; n
+Home = ctrl-a
+End = ctrl-e
+Left = h; left
+Right = l; right
+LeftQuick= ctrl-left
+RightQuick = ctrl-right
+Up = k; y; insert; up; ctrl-p
+Down = j; e; delete; down; enter; ctrl-n
+PageDown = f; space; pgdn; ctrl-v
+PageUp = b; pgup; alt-v; backspace
+HalfPageDown = d
+HalfPageUp = u
+Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+BookmarkGoto = m
+Bookmark = r
+FileNext = ctrl-f
+FilePrev = ctrl-b
+SelectCodepage = alt-e
+Shell = ctrl-o
+Ruler = alt-r
+
+[viewer:hex]
+Help = f1
+HexEditMode = f2
+Quit = f3; f10; q; esc
+HexMode = f4
+Goto = f5
+Save = f6
+Search = f7; question; slash
+SearchContinue = ctrl-r; ctrl-s; f17; n
+MagicMode = f8
+NroffMode = f9
+ToggleNavigation = tab
+Home = ctrl-a; home
+End = ctrl-e; end
+Left = b; left
+Right = f; right
+Up = k; y; up
+Down = j; delete; down
+PageDown = pgdn; ctrl-v
+PageUp = pgup; alt-v
+Top = ctrl-home; ctrl-pgup; a1; alt-lt; g
+Bottom = ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+
+[diffviewer]
+ShowSymbols = alt-s; s
+ShowNumbers = alt-n; l
+SplitFull = f
+SplitEqual = equal
+SplitMore = gt
+SplitLess = lt
+Tab2 = 2
+Tab3 = 3
+Tab4 = 4
+Tab8 = 8
+Swap = ctrl-u
+Redo = ctrl-r
+HunkNext = n; enter; space
+HunkPrev = p; backspace
+Goto = g; shift-g
+Save = f2
+Edit = f4
+EditOther = f14
+Merge = f5
+Search = f7
+SearchContinue = f17
+Options = f9
+Top = ctrl-home
+Bottom = ctrl-end
+Down = down
+Up = up
+LeftQuick = ctrl-left
+RightQuick = ctrl-right
+Left = left
+Right = right
+PageDown = pgdn
+PageUp = pgup
+Home = home
+End = end
+Help = f1
+Quit = f10; q; shift-q; esc
+Shell = ctrl-o
+SelectCodepage = alt-e
--- /dev/null
+shell_patterns=0
++ ! t t
+@ Do something on the current file
+ CMD=%{Enter command}
+ $CMD %f
+
++ t t
+@ Do something on the tagged files
+ set %t; CMD=%{Enter command}
+ while [ -n "$1" ]; do
+ $CMD "$1"
+ shift
+ done
+
+
+0 Edit a bug report and send it to root
+ I=`mktemp "${MC_TMPDIR:-/tmp}/mail.XXXXXX"` || exit 1
+ ${EDITOR-vi} "$I"
+ test -r $I && mail root < $I
+ rm -f "$I"
+
+=+ f \.1$ | f \.3$ | f \.4$ | f \.5$ | f \.6$ | f \.7$ | f \.8$ | f \.man$ & t r
+1 Display the file with roff -man
+ nroff -man %f | less
+
+2 Call the info hypertext browser
+ info
+
+= t d
+3 Compress the current subdirectory (tar.gz)
+ Pwd=`basename %d /`
+ echo -n "Name of the compressed file (without extension) [$Pwd]: "
+ read tar
+ if [ "$tar"x = x ]; then tar="$Pwd"; fi
+ cd .. && \
+ tar cf - "$Pwd" | gzip -f9 > "$tar.tar.gz" && \
+ echo "../$tar.tar.gz created."
+
+4 Compress the current subdirectory (tar.bz2)
+ Pwd=`basename %d /`
+ echo -n "Name of the compressed file (without extension) [$Pwd]: "
+ read tar
+ if [ "$tar"x = x ]; then tar="$Pwd"; fi
+ cd .. && \
+ tar cf - "$Pwd" | bzip2 -f > "$tar.tar.bz2" && \
+ echo "../$tar.tar.bz2 created."
+
+5 Compress the current subdirectory (tar.p7)
+ Pwd=`basename %d /`
+ echo -n "Name of the compressed file (without extension) [$Pwd]: "
+ read tar
+ if [ "$tar"x = x ]; then tar="$Pwd"; fi
+ cd .. && \
+ tar cf - "$Pwd" | 7za a -si "$tar.tar.7z" && \
+ echo "../$tar.tar.7z created."
+
+6 Compress the current subdirectory (tar.lzma)
+ Pwd=`basename %d /`
+ echo -n "Name of the compressed file (without extension) [$Pwd]: "
+ read tar
+ if [ "$tar"x = x ]; then tar="$Pwd"; fi
+ cd .. && \
+ tar cf - "$Pwd" | lzma -f > "$tar.tar.lzma" && \
+ echo "../$tar.tar.lzma created."
+
+7 Compress the current subdirectory (tar.lz)
+ Pwd=`basename %d /`
+ echo -n "Name of the compressed file (without extension) [$Pwd]: "
+ read tar
+ if [ "$tar"x = x ]; then tar="$Pwd"; fi
+ cd .. && \
+ tar cf - "$Pwd" | lzip -f > "$tar.tar.lz" && \
+ echo "../$tar.tar.lz created."
+
+8 Compress the current subdirectory (tar.xz)
+ Pwd=`basename %d /`
+ echo -n "Name of the compressed file (without extension) [$Pwd]: "
+ read tar
+ if [ "$tar"x = x ]; then tar="$Pwd"; fi
+ cd .. && \
+ tar cf - "$Pwd" | xz -f > "$tar.tar.xz" && \
+ echo "../$tar.tar.xz created."
+
+= f \.c$ & t r
++ f \.c$ & t r & ! t t
+ Compile and link current .c file
+ make `basename %f .c` 2>/dev/null || cc -O -o `basename %f .c` %f
+
++ t r & ! t t
+a Append file to opposite
+ cat %f >> %D/%f
+
++ t t
+A Append files to opposite files
+ set %t
+ while [ -n "$1" ]; do
+ cat "$1" >> "%D/$1"
+ shift
+ done
+
++ t r & ! t t
+d Delete file if a copy exists in the other directory.
+ if [ "%d" = "%D" ]; then
+ echo "The two directories must be different."
+ exit 1
+ fi
+ if [ -f %D/%f ]; then # if two of them, then
+ if cmp -s %D/%f %f; then
+ rm %f && echo "%f: DELETED."
+ else
+ echo "%f and %D/%f differ: NOT deleted."
+ echo -n "Press RETURN "
+ read key
+ fi
+ else
+ echo "%f: No copy in %D/%f: NOT deleted."
+ fi
+
++ t t
+D Delete tagged files if a copy exists in the other directory.
+ if [ "%d" = "%D" ]; then
+ echo "The two directores must be different."
+ exit 1
+ fi
+ for i in %t
+ do
+ if [ -f "%D/$i" ]; then
+ SUM1="`sum $i`"
+ SUM2="`sum %D/$i`"
+ if [ "$SUM1" = "$SUM2" ]; then
+ rm "$i" && echo "${i}: DELETED."
+ else
+ echo "$i and %D/$i differ: NOT deleted."
+ fi
+ else
+ echo "%f has no copy in %D/%f: NOT deleted."
+ fi
+ done
+
+m View manual page
+ MAN=%{Enter manual name}
+ %view man -P cat $MAN
+
+= f \.gz$ & t r
++ ! t t
+n Inspect gzip'ed newsbatch file
+ dd if=%f bs=1 skip=12|zcat|${PAGER-more}
+ # assuming the cunbatch header is 12 bytes long.
+
+= t r &
++ ! t t
+h Strip headers from current newsarticle
+ CHECK=`awk '{print $1 ; exit}' %f` 2>/dev/null
+ case "$CHECK" in
+ Newsgroups:|Path:)
+ I=`mktemp "${MC_TMPDIR:-/tmp}/news.XXXXXX"` || exit 1
+ cp %f "$I" && sed '/^'"$CHECK"' /,/^$/d' "$I" > %f
+ [ "$?" = "0" ] && rm "$I"
+ echo "%f: header removed."
+ ;;
+ *)
+ echo "%f is not a news article."
+ ;;
+ esac
+
++ t t
+H Strip headers from the marked newsarticles
+ set %t
+ while [ -n "$1" ]; do
+ CHECK=`awk '{print $1 ; exit}' $1` 2>/dev/null
+ WFILE=`mktemp "${MC_TMPDIR:-/tmp}/news.XXXXXX"` || exit 1
+ case "$CHECK" in
+ Newsgroups:|Path:)
+ cp "$1" "$WFILE" && sed '/^'"$CHECK"' /,/^$/d' "$WFILE" > "$1"
+ if [ "$?" = "0" ]; then
+ rm "$WFILE"; echo "$1 header removed. OK."
+ else
+ echo "Oops! Please check $1 against $WFILE."
+ fi
+ ;;
+ *)
+ echo "$1 skipped: Not a news article."
+ ;;
+ esac
+ shift
+ done
+
+= t r
++ ! t t
+r Copy file to remote host
+ echo -n "To which host?: "
+ read Host
+ echo -n "To which directory on $Host?: "
+ read Dir
+ rcp -p %f "${Host}:$Dir"
+
++ t t
+R Copy files to remote host (no error checking)
+ echo -n "Copy files to which host?: "
+ read Host
+ echo -n "To which directory on $Host? :"
+ read Dir
+ rcp -pr %u "${Host}:$Dir"
+
+= f \.tex$ & t r
++ f \.tex$ & t r & ! t t
+t Run latex on file and show it with xdvi
+ latex %f && xdvi `basename %f .tex`.dvi
+
+=+ f ^part | f ^Part | f uue & t r
++ t t
+U Uudecode marked news articles (needs work)
+ set %t
+ (
+ while [ -n "$1" ]; do # strip headers
+ FIRST=`awk '{print $1 ; exit}' "$1"`
+ cat "$1" | sed '/^'"$FIRST"' /,/^$/d'; shift
+ done
+ ) |sed '/^$/d' |sed -n '/^begin 6/,/^end$/p' | uudecode
+ if [ "$?" != "0" ]; then
+ echo "Cannot decode %t."
+ fi
+ echo "Please test the output file before deleting anything."
+
+=+ 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.lzma)
+ PRG="lzma -dc"
+ ;;
+ *.tar.lz)
+ PRG="lzip -dc"
+ ;;
+ *.tar.xz)
+ PRG="xz -dc"
+ ;;
+ *.tar.7z)
+ PRG="7za e -so"
+ ;;
+ *)
+ exit 1
+ ;;
+ esac
+ $PRG %f | tar xvf -
+
+= t r
++ ! t t
+y Gzip or gunzip current file
+ unset DECOMP
+ case %f in
+ *.gz) DECOMP=-d;;
+ *.[zZ]) DECOMP=-d;;
+ esac
+ gzip $DECOMP -v %f
+
++ t t
+Y Gzip or gunzip tagged files
+ for i in %t
+ do
+ unset DECOMP
+ case "$i" in
+ *.gz) DECOMP=-d;;
+ *.[zZ]) DECOMP=-d;;
+ esac
+ gzip $DECOMP -v "$i"
+ done
+
++ ! t t
+b Bzip2 or bunzip2 current file
+ unset DECOMP
+ case %f in
+ *.bz2) DECOMP=-d;;
+ esac
+ bzip2 $DECOMP -v %f
+
++ t t
+B Bzip2 or bunzip2 tagged files
+ for i in %t
+ do
+ unset DECOMP
+ case "$i" in
+ *.bz2) DECOMP=-d;;
+ esac
+ bzip2 $DECOMP -v "$i"
+ done
+
++ f \.tar.gz$ | f \.tgz$ | f \.tpz$ | f \.tar.Z$ | f \.tar.z$ | f \.tar.bz2$ | f \.tar.F$ & t r & ! t t
+z Extract compressed tar file to subdirectory
+ unset D
+ set gzip -cd
+ case %f in
+ *.tar.gz) D="`basename %f .tar.gz`";;
+ *.tgz) D="`basename %f .tgz`";;
+ *.tpz) D="`basename %f .tpz`";;
+ *.tar.Z) D="`basename %f .tar.Z`";;
+ *.tar.z) D="`basename %f .tar.z`";;
+ *.tar.bz2) D="`basename %f .tar.bz2`"; set bunzip2 -c ;;
+ *.tar.F) D="`basename %f .tar.F`"; set freeze -dc;
+ esac
+ mkdir "$D"; cd "$D" && ("$1" "$2" ../%f | tar xvf -)
+
++ t t
+Z Extract compressed tar files to subdirectories
+ for i in %t
+ do
+ set gzip -dc
+ unset D
+ case "$i" in
+ *.tar.gz) D="`basename $i .tar.gz`";;
+ *.tgz) D="`basename $i .tgz`";;
+ *.tpz) D="`basename $i .tpz`";;
+ *.tar.Z) D="`basename $i .tar.Z`";;
+ *.tar.z) D="`basename $i .tar.z`";;
+ *.tar.F) D="`basename $i .tar.F`"; set freeze -dc;;
+ *.tar.bz2) D="`basename $i .tar.bz2`"; set bunzip2 -c;;
+ esac
+ mkdir "$D"; (cd "$D" && "$1" "$2" "../$i" | tar xvf -)
+ done
+
++ f \.gz$ | f \.tgz$ | f \.tpz$ | f \.Z$ | f \.z$ | f \.bz2$ & t r & ! t t
+c Convert gz<->bz2, tar.gz<->tar.bz2 & tgz->tar.bz2
+ unset D
+ unset EXT
+ case %f in
+ *.tgz) EXT=tgz;;
+ *.tpz) EXT=tpz;;
+ *.Z) EXT=Z;;
+ *.z) EXT=z;;
+ *.gz) EXT=gz;;
+ *.bz2) EXT=bz2;;
+ esac
+ case $EXT in
+ tgz|tpz) D="`basename %f .$EXT`.tar";;
+ gz|Z|z) D="`basename %f .$EXT`";;
+ bz2) D="`basename %f .bz2`";;
+ esac
+ if [ "$EXT" = "bz2" ]; then
+ bunzip2 -v %f ; gzip -f9 -v "$D"
+ else
+ gunzip -v %f ; bzip2 -v "$D"
+ fi
+
++ t t
+C Convert gz<->bz2, tar.gz<->tar.bz2 & tgz->tar.bz2
+ set %t
+ while [ -n "$1" ]
+ do
+ unset D
+ unset EXT
+ case "$1" in
+ *.tgz) EXT=tgz;;
+ *.tpz) EXT=tpz;;
+ *.Z) EXT=Z;;
+ *.z) EXT=z;;
+ *.gz) EXT=gz;;
+ *.bz2) EXT=bz2;;
+ esac
+ case $EXT in
+ tgz) D="`basename $1 .tgz`.tar";;
+ tpz) D="`basename $1 .tpz`.tar";;
+ gz|Z|z) D="`basename $1 .$EXT`";;
+ bz2) D="`basename $1 .bz2`";;
+ esac
+ if [ "$EXT" = "bz2" ]; then
+ bunzip2 -v "$1"
+ gzip -f9 -v "$D"
+ else
+ gunzip -v "$1"
+ bzip2 -v "$D"
+ fi
+ shift
+ done
+
++ x /usr/bin/open | x /usr/local/bin/open & x /bin/sh
+o Open next a free console
+ open -s -- sh
--- /dev/null
+shell_patterns=0
++ ! t t
+@ Do something on the current file
+ CMD=%{Enter command}
+ $CMD %f
+
++ t t
+@ Do something on the tagged files
+ set %t; CMD=%{Enter command}
+ while [ -n "$1" ]; do
+ $CMD "$1"
+ shift
+ done
+
+
+0 Edit a bug report and send it to root
+ I=`mktemp "${MC_TMPDIR:-/tmp}/mail.XXXXXX"` || exit 1
+ ${EDITOR-vi} "$I"
+ test -r $I && mail root < $I
+ rm -f "$I"
+
+=+ f \.1$ | f \.3$ | f \.4$ | f \.5$ | f \.6$ | f \.7$ | f \.8$ | f \.man$ & t r
+1 Display the file with roff -man
+ nroff -man %f | less
+
+2 Call the info hypertext browser
+ info
+
+= t d
+3 Compress the current subdirectory (tar.gz)
+ Pwd=`basename %d /`
+ echo -n "Name of the compressed file (without extension) [$Pwd]: "
+ read tar
+ if [ "$tar"x = x ]; then tar="$Pwd"; fi
+ cd .. && \
+ tar cf - "$Pwd" | gzip -f9 > "$tar.tar.gz" && \
+ echo "../$tar.tar.gz created."
+
+4 Compress the current subdirectory (tar.bz2)
+ Pwd=`basename %d /`
+ echo -n "Name of the compressed file (without extension) [$Pwd]: "
+ read tar
+ if [ "$tar"x = x ]; then tar="$Pwd"; fi
+ cd .. && \
+ tar cf - "$Pwd" | bzip2 -f > "$tar.tar.bz2" && \
+ echo "../$tar.tar.bz2 created."
+
+5 Compress the current subdirectory (tar.p7)
+ Pwd=`basename %d /`
+ echo -n "Name of the compressed file (without extension) [$Pwd]: "
+ read tar
+ if [ "$tar"x = x ]; then tar="$Pwd"; fi
+ cd .. && \
+ tar cf - "$Pwd" | 7za a -si "$tar.tar.7z" && \
+ echo "../$tar.tar.7z created."
+
+6 Compress the current subdirectory (tar.lzma)
+ Pwd=`basename %d /`
+ echo -n "Name of the compressed file (without extension) [$Pwd]: "
+ read tar
+ if [ "$tar"x = x ]; then tar="$Pwd"; fi
+ cd .. && \
+ tar cf - "$Pwd" | lzma -f > "$tar.tar.lzma" && \
+ echo "../$tar.tar.lzma created."
+
+7 Compress the current subdirectory (tar.lz)
+ Pwd=`basename %d /`
+ echo -n "Name of the compressed file (without extension) [$Pwd]: "
+ read tar
+ if [ "$tar"x = x ]; then tar="$Pwd"; fi
+ cd .. && \
+ tar cf - "$Pwd" | lzip -f > "$tar.tar.lz" && \
+ echo "../$tar.tar.lz created."
+
+8 Compress the current subdirectory (tar.xz)
+ Pwd=`basename %d /`
+ echo -n "Name of the compressed file (without extension) [$Pwd]: "
+ read tar
+ if [ "$tar"x = x ]; then tar="$Pwd"; fi
+ cd .. && \
+ tar cf - "$Pwd" | xz -f > "$tar.tar.xz" && \
+ echo "../$tar.tar.xz created."
+
+= f \.c$ & t r
++ f \.c$ & t r & ! t t
+с Compile and link current .c file
+ make `basename %f .c` 2>/dev/null || cc -O -o `basename %f .c` %f
+
++ t r & ! t t
+a Append file to opposite
+ cat %f >> %D/%f
+
++ t t
+A Append files to opposite files
+ set %t
+ while [ -n "$1" ]; do
+ cat "$1" >> "%D/$1"
+ shift
+ done
+
++ t r & ! t t
+d Delete file if a copy exists in the other directory.
+ if [ "%d" = "%D" ]; then
+ echo "The two directories must be different."
+ exit 1
+ fi
+ if [ -f %D/%f ]; then # if two of them, then
+ if cmp -s %D/%f %f; then
+ rm %f && echo "%f: DELETED."
+ else
+ echo "%f and %D/%f differ: NOT deleted."
+ echo -n "Press RETURN "
+ read key
+ fi
+ else
+ echo "%f: No copy in %D/%f: NOT deleted."
+ fi
+
++ t t
+D Delete tagged files if a copy exists in the other directory.
+ if [ "%d" = "%D" ]; then
+ echo "The two directores must be different."
+ exit 1
+ fi
+ for i in %t
+ do
+ if [ -f "%D/$i" ]; then
+ SUM1="`sum $i`"
+ SUM2="`sum %D/$i`"
+ if [ "$SUM1" = "$SUM2" ]; then
+ rm "$i" && echo "${i}: DELETED."
+ else
+ echo "$i and %D/$i differ: NOT deleted."
+ fi
+ else
+ echo "%f has no copy in %D/%f: NOT deleted."
+ fi
+ done
+
+m View manual page
+ MAN=%{Enter manual name}
+ %view man -P cat $MAN
+
+= f \.gz$ & t r
++ ! t t
+n Inspect gzip'ed newsbatch file
+ dd if=%f bs=1 skip=12|zcat|${PAGER-more}
+ # assuming the cunbatch header is 12 bytes long.
+
+= t r &
++ ! t t
+h Strip headers from current newsarticle
+ CHECK=`awk '{print $1 ; exit}' %f` 2>/dev/null
+ case "$CHECK" in
+ Newsgroups:|Path:)
+ I=`mktemp "${MC_TMPDIR:-/tmp}/news.XXXXXX"` || exit 1
+ cp %f "$I" && sed '/^'"$CHECK"' /,/^$/d' "$I" > %f
+ [ "$?" = "0" ] && rm "$I"
+ echo "%f: header removed."
+ ;;
+ *)
+ echo "%f is not a news article."
+ ;;
+ esac
+
++ t t
+H Strip headers from the marked newsarticles
+ set %t
+ while [ -n "$1" ]; do
+ CHECK=`awk '{print $1 ; exit}' $1` 2>/dev/null
+ WFILE=`mktemp "${MC_TMPDIR:-/tmp}/news.XXXXXX"` || exit 1
+ case "$CHECK" in
+ Newsgroups:|Path:)
+ cp "$1" "$WFILE" && sed '/^'"$CHECK"' /,/^$/d' "$WFILE" > "$1"
+ if [ "$?" = "0" ]; then
+ rm "$WFILE"; echo "$1 header removed. OK."
+ else
+ echo "Oops! Please check $1 against $WFILE."
+ fi
+ ;;
+ *)
+ echo "$1 skipped: Not a news article."
+ ;;
+ esac
+ shift
+ done
+
+= t r
++ ! t t
+r Copy file to remote host
+ echo -n "To which host?: "
+ read Host
+ echo -n "To which directory on $Host?: "
+ read Dir
+ rcp -p %f "${Host}:$Dir"
+
++ t t
+R Copy files to remote host (no error checking)
+ echo -n "Copy files to which host?: "
+ read Host
+ echo -n "To which directory on $Host? :"
+ read Dir
+ rcp -pr %u "${Host}:$Dir"
+
+= f \.tex$ & t r
++ f \.tex$ & t r & ! t t
+t Run latex on file and show it with xdvi
+ latex %f && xdvi `basename %f .tex`.dvi
+
+=+ f ^part | f ^Part | f uue & t r
++ t t
+U Uudecode marked news articles (needs work)
+ set %t
+ (
+ while [ -n "$1" ]; do # strip headers
+ FIRST=`awk '{print $1 ; exit}' "$1"`
+ cat "$1" | sed '/^'"$FIRST"' /,/^$/d'; shift
+ done
+ ) |sed '/^$/d' |sed -n '/^begin 6/,/^end$/p' | uudecode
+ if [ "$?" != "0" ]; then
+ echo "Cannot decode %t."
+ fi
+ echo "Please test the output file before deleting anything."
+
+=+ 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.lzma)
+ PRG="lzma -dc"
+ ;;
+ *.tar.lz)
+ PRG="lzip -dc"
+ ;;
+ *.tar.xz)
+ PRG="xz -dc"
+ ;;
+ *.tar.7z)
+ PRG="7za e -so"
+ ;;
+ *)
+ exit 1
+ ;;
+ esac
+ $PRG %f | tar xvf -
+
+= t r
++ ! t t
+y Gzip or gunzip current file
+ unset DECOMP
+ case %f in
+ *.gz) DECOMP=-d;;
+ *.[zZ]) DECOMP=-d;;
+ esac
+ gzip $DECOMP -v %f
+
++ t t
+Y Gzip or gunzip tagged files
+ for i in %t
+ do
+ unset DECOMP
+ case "$i" in
+ *.gz) DECOMP=-d;;
+ *.[zZ]) DECOMP=-d;;
+ esac
+ gzip $DECOMP -v "$i"
+ done
+
++ ! t t
+b Bzip2 or bunzip2 current file
+ unset DECOMP
+ case %f in
+ *.bz2) DECOMP=-d;;
+ esac
+ bzip2 $DECOMP -v %f
+
++ t t
+B Bzip2 or bunzip2 tagged files
+ for i in %t
+ do
+ unset DECOMP
+ case "$i" in
+ *.bz2) DECOMP=-d;;
+ esac
+ bzip2 $DECOMP -v "$i"
+ done
+
++ f \.tar.gz$ | f \.tgz$ | f \.tpz$ | f \.tar.Z$ | f \.tar.z$ | f \.tar.bz2$ | f \.tar.F$ & t r & ! t t
+z Extract compressed tar file to subdirectory
+ unset D
+ set gzip -cd
+ case %f in
+ *.tar.gz) D="`basename %f .tar.gz`";;
+ *.tgz) D="`basename %f .tgz`";;
+ *.tpz) D="`basename %f .tpz`";;
+ *.tar.Z) D="`basename %f .tar.Z`";;
+ *.tar.z) D="`basename %f .tar.z`";;
+ *.tar.bz2) D="`basename %f .tar.bz2`"; set bunzip2 -c ;;
+ *.tar.F) D="`basename %f .tar.F`"; set freeze -dc;
+ esac
+ mkdir "$D"; cd "$D" && ("$1" "$2" ../%f | tar xvf -)
+
++ t t
+Z Extract compressed tar files to subdirectories
+ for i in %t
+ do
+ set gzip -dc
+ unset D
+ case "$i" in
+ *.tar.gz) D="`basename $i .tar.gz`";;
+ *.tgz) D="`basename $i .tgz`";;
+ *.tpz) D="`basename $i .tpz`";;
+ *.tar.Z) D="`basename $i .tar.Z`";;
+ *.tar.z) D="`basename $i .tar.z`";;
+ *.tar.F) D="`basename $i .tar.F`"; set freeze -dc;;
+ *.tar.bz2) D="`basename $i .tar.bz2`"; set bunzip2 -c;;
+ esac
+ mkdir "$D"; (cd "$D" && "$1" "$2" "../$i" | tar xvf -)
+ done
+
++ f \.gz$ | f \.tgz$ | f \.tpz$ | f \.Z$ | f \.z$ | f \.bz2$ & t r & ! t t
+c Convert gz<->bz2, tar.gz<->tar.bz2 & tgz->tar.bz2
+ unset D
+ unset EXT
+ case %f in
+ *.tgz) EXT=tgz;;
+ *.tpz) EXT=tpz;;
+ *.Z) EXT=Z;;
+ *.z) EXT=z;;
+ *.gz) EXT=gz;;
+ *.bz2) EXT=bz2;;
+ esac
+ case $EXT in
+ tgz|tpz) D="`basename %f .$EXT`.tar";;
+ gz|Z|z) D="`basename %f .$EXT`";;
+ bz2) D="`basename %f .bz2`";;
+ esac
+ if [ "$EXT" = "bz2" ]; then
+ bunzip2 -v %f ; gzip -f9 -v "$D"
+ else
+ gunzip -v %f ; bzip2 -v "$D"
+ fi
+
++ t t
+C Convert gz<->bz2, tar.gz<->tar.bz2 & tgz->tar.bz2
+ set %t
+ while [ -n "$1" ]
+ do
+ unset D
+ unset EXT
+ case "$1" in
+ *.tgz) EXT=tgz;;
+ *.tpz) EXT=tpz;;
+ *.Z) EXT=Z;;
+ *.z) EXT=z;;
+ *.gz) EXT=gz;;
+ *.bz2) EXT=bz2;;
+ esac
+ case $EXT in
+ tgz) D="`basename $1 .tgz`.tar";;
+ tpz) D="`basename $1 .tpz`.tar";;
+ gz|Z|z) D="`basename $1 .$EXT`";;
+ bz2) D="`basename $1 .bz2`";;
+ esac
+ if [ "$EXT" = "bz2" ]; then
+ bunzip2 -v "$1"
+ gzip -f9 -v "$D"
+ else
+ gunzip -v "$1"
+ bzip2 -v "$D"
+ fi
+ shift
+ done
+
++ x /usr/bin/open | x /usr/local/bin/open & x /bin/sh
+o Open next a free console
+ open -s -- sh
--- /dev/null
+# /etc/mysql/my.cnf: The global mysql configuration file.
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/files/my.cnf-5.1,v 1.2 2010/03/24 18:26:09 robbat2 Exp $
+
+# The following options will be passed to all MySQL clients
+[client]
+#password = your_password
+port = 3306
+socket = /var/run/mysqld/mysqld.sock
+
+[mysql]
+character-sets-dir=/usr/share/mysql/charsets
+default-character-set=utf8
+
+[mysqladmin]
+character-sets-dir=/usr/share/mysql/charsets
+default-character-set=utf8
+
+[mysqlcheck]
+character-sets-dir=/usr/share/mysql/charsets
+default-character-set=utf8
+
+[mysqldump]
+character-sets-dir=/usr/share/mysql/charsets
+default-character-set=utf8
+
+[mysqlimport]
+character-sets-dir=/usr/share/mysql/charsets
+default-character-set=utf8
+
+[mysqlshow]
+character-sets-dir=/usr/share/mysql/charsets
+default-character-set=utf8
+
+[myisamchk]
+character-sets-dir=/usr/share/mysql/charsets
+
+[myisampack]
+character-sets-dir=/usr/share/mysql/charsets
+
+# use [safe_mysqld] with mysql-3
+[mysqld_safe]
+err-log = /var/log/mysql/mysql.err
+
+# add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations
+[mysqld]
+character-set-server = utf8
+user = mysql
+port = 3306
+socket = /var/run/mysqld/mysqld.sock
+pid-file = /var/run/mysqld/mysqld.pid
+log-error = /var/log/mysql/mysqld.err
+basedir = /usr
+datadir = /var/lib/mysql
+skip-external-locking
+key_buffer = 16M
+max_allowed_packet = 1M
+table_cache = 64
+sort_buffer_size = 512K
+net_buffer_length = 8K
+read_buffer_size = 256K
+read_rnd_buffer_size = 512K
+myisam_sort_buffer_size = 8M
+language = /usr/share/mysql/english
+
+# security:
+# using "localhost" in connects uses sockets by default
+# skip-networking
+bind-address = 127.0.0.1
+
+log-bin
+server-id = 1
+
+# point the following paths to different dedicated disks
+tmpdir = /tmp/
+#log-update = /path-to-dedicated-directory/hostname
+
+# you need the debug USE flag enabled to use the following directives,
+# if needed, uncomment them, start the server and issue
+# #tail -f /tmp/mysqld.sql /tmp/mysqld.trace
+# this will show you *exactly* what's happening in your server ;)
+
+#log = /tmp/mysqld.sql
+#gdb
+#debug = d:t:i:o,/tmp/mysqld.trace
+#one-thread
+
+# uncomment the following directives if you are using BDB tables
+#bdb_cache_size = 4M
+#bdb_max_lock = 10000
+
+# the following is the InnoDB configuration
+# if you wish to disable innodb instead
+# uncomment just the next line
+#skip-innodb
+#
+# the rest of the innodb config follows:
+# don't eat too much memory, we're trying to be safe on 64Mb boxes
+# you might want to bump this up a bit on boxes with more RAM
+innodb_buffer_pool_size = 16M
+# this is the default, increase it if you have lots of tables
+innodb_additional_mem_pool_size = 2M
+#
+# i'd like to use /var/lib/mysql/innodb, but that is seen as a database :-(
+# and upstream wants things to be under /var/lib/mysql/, so that's the route
+# we have to take for the moment
+#innodb_data_home_dir = /var/lib/mysql/
+#innodb_log_arch_dir = /var/lib/mysql/
+#innodb_log_group_home_dir = /var/lib/mysql/
+# you may wish to change this size to be more suitable for your system
+# the max is there to avoid run-away growth on your machine
+innodb_data_file_path = ibdata1:10M:autoextend:max:128M
+# we keep this at around 25% of of innodb_buffer_pool_size
+# sensible values range from 1MB to (1/innodb_log_files_in_group*innodb_buffer_pool_size)
+innodb_log_file_size = 5M
+# this is the default, increase it if you have very large transactions going on
+innodb_log_buffer_size = 8M
+# this is the default and won't hurt you
+# you shouldn't need to tweak it
+innodb_log_files_in_group=2
+# see the innodb config docs, the other options are not always safe
+innodb_flush_log_at_trx_commit = 1
+innodb_lock_wait_timeout = 50
+innodb_file_per_table
+
+[mysqldump]
+quick
+max_allowed_packet = 16M
+
+[mysql]
+# uncomment the next directive if you are not familiar with SQL
+#safe-updates
+
+[isamchk]
+key_buffer = 20M
+sort_buffer_size = 20M
+read_buffer = 2M
+write_buffer = 2M
+
+[myisamchk]
+key_buffer = 20M
+sort_buffer_size = 20M
+read_buffer = 2M
+write_buffer = 2M
+
+[mysqlhotcopy]
+interactive-timeout
--- /dev/null
+# /etc/mysql/my.cnf: The global mysql configuration file.
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/files/my.cnf-5.1,v 1.3 2012/02/15 02:07:21 jmbsvicetto Exp $
+
+# The following options will be passed to all MySQL clients
+[client]
+#password = your_password
+port = 3306
+socket = /var/run/mysqld/mysqld.sock
+
+[mysql]
+character-sets-dir=/usr/share/mysql/charsets
+default-character-set=utf8
+
+[mysqladmin]
+character-sets-dir=/usr/share/mysql/charsets
+default-character-set=utf8
+
+[mysqlcheck]
+character-sets-dir=/usr/share/mysql/charsets
+default-character-set=utf8
+
+[mysqldump]
+character-sets-dir=/usr/share/mysql/charsets
+default-character-set=utf8
+
+[mysqlimport]
+character-sets-dir=/usr/share/mysql/charsets
+default-character-set=utf8
+
+[mysqlshow]
+character-sets-dir=/usr/share/mysql/charsets
+default-character-set=utf8
+
+[myisamchk]
+character-sets-dir=/usr/share/mysql/charsets
+
+[myisampack]
+character-sets-dir=/usr/share/mysql/charsets
+
+# use [safe_mysqld] with mysql-3
+[mysqld_safe]
+err-log = /var/log/mysql/mysql.err
+
+# add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations
+[mysqld]
+character-set-server = utf8
+user = mysql
+port = 3306
+socket = /var/run/mysqld/mysqld.sock
+pid-file = /var/run/mysqld/mysqld.pid
+log-error = /var/log/mysql/mysqld.err
+basedir = /usr
+datadir = /var/lib/mysql
+skip-external-locking
+key_buffer = 16M
+max_allowed_packet = 1M
+table_open_cache = 64
+sort_buffer_size = 512K
+net_buffer_length = 8K
+read_buffer_size = 256K
+read_rnd_buffer_size = 512K
+myisam_sort_buffer_size = 8M
+language = /usr/share/mysql/english
+
+# security:
+# using "localhost" in connects uses sockets by default
+# skip-networking
+bind-address = 127.0.0.1
+
+log-bin
+server-id = 1
+
+# point the following paths to different dedicated disks
+tmpdir = /tmp/
+#log-update = /path-to-dedicated-directory/hostname
+
+# you need the debug USE flag enabled to use the following directives,
+# if needed, uncomment them, start the server and issue
+# #tail -f /tmp/mysqld.sql /tmp/mysqld.trace
+# this will show you *exactly* what's happening in your server ;)
+
+#log = /tmp/mysqld.sql
+#gdb
+#debug = d:t:i:o,/tmp/mysqld.trace
+#one-thread
+
+# uncomment the following directives if you are using BDB tables
+#bdb_cache_size = 4M
+#bdb_max_lock = 10000
+
+# the following is the InnoDB configuration
+# if you wish to disable innodb instead
+# uncomment just the next line
+#skip-innodb
+#
+# the rest of the innodb config follows:
+# don't eat too much memory, we're trying to be safe on 64Mb boxes
+# you might want to bump this up a bit on boxes with more RAM
+innodb_buffer_pool_size = 16M
+# this is the default, increase it if you have lots of tables
+innodb_additional_mem_pool_size = 2M
+#
+# i'd like to use /var/lib/mysql/innodb, but that is seen as a database :-(
+# and upstream wants things to be under /var/lib/mysql/, so that's the route
+# we have to take for the moment
+#innodb_data_home_dir = /var/lib/mysql/
+#innodb_log_arch_dir = /var/lib/mysql/
+#innodb_log_group_home_dir = /var/lib/mysql/
+# you may wish to change this size to be more suitable for your system
+# the max is there to avoid run-away growth on your machine
+innodb_data_file_path = ibdata1:10M:autoextend:max:128M
+# we keep this at around 25% of of innodb_buffer_pool_size
+# sensible values range from 1MB to (1/innodb_log_files_in_group*innodb_buffer_pool_size)
+innodb_log_file_size = 5M
+# this is the default, increase it if you have very large transactions going on
+innodb_log_buffer_size = 8M
+# this is the default and won't hurt you
+# you shouldn't need to tweak it
+innodb_log_files_in_group=2
+# see the innodb config docs, the other options are not always safe
+innodb_flush_log_at_trx_commit = 1
+innodb_lock_wait_timeout = 50
+innodb_file_per_table
+
+[mysqldump]
+quick
+max_allowed_packet = 16M
+
+[mysql]
+# uncomment the next directive if you are not familiar with SQL
+#safe-updates
+
+[isamchk]
+key_buffer = 20M
+sort_buffer_size = 20M
+read_buffer = 2M
+write_buffer = 2M
+
+[myisamchk]
+key_buffer = 20M
+sort_buffer_size = 20M
+read_buffer = 2M
+write_buffer = 2M
+
+[mysqlhotcopy]
+interactive-timeout
--- /dev/null
+extension=apc.so
+apc.enabled="1"
+apc.shm_segments="1"
+apc.shm_size="30M"
+apc.num_files_hint="1024"
+apc.ttl="7200"
+apc.user_ttl="7200"
+apc.gc_ttl="3600"
+apc.cache_by_default="1"
+;apc.filters=""
+;apc.mmap_file_mask="/tmp/apcphp5.XXXXXX"
+apc.slam_defense="0"
+apc.file_update_protection="2"
+apc.enable_cli="0"
+apc.max_file_size="1M"
+apc.stat="1"
+apc.write_lock="1"
+apc.report_autofilter="0"
+apc.include_once_override="0"
+apc.rfc1867="0"
+apc.rfc1867_prefix="upload_"
+apc.rfc1867_name="APC_UPLOAD_PROGRESS"
+apc.rfc1867_freq="0"
+apc.localcache="0"
+apc.localcache.size="512"
+apc.coredump_unmap="0"
--- /dev/null
+extension=apc.so
--- /dev/null
+extension=apc.so
+apc.enabled="1"
+apc.shm_segments="1"
+apc.shm_size="30M"
+apc.num_files_hint="1024"
+apc.ttl="7200"
+apc.user_ttl="7200"
+apc.gc_ttl="3600"
+apc.cache_by_default="1"
+;apc.filters=""
+;apc.mmap_file_mask="/tmp/apcphp5.XXXXXX"
+apc.slam_defense="0"
+apc.file_update_protection="2"
+apc.enable_cli="0"
+apc.max_file_size="1M"
+apc.stat="1"
+apc.write_lock="1"
+apc.report_autofilter="0"
+apc.include_once_override="0"
+apc.rfc1867="0"
+apc.rfc1867_prefix="upload_"
+apc.rfc1867_name="APC_UPLOAD_PROGRESS"
+apc.rfc1867_freq="0"
+apc.localcache="0"
+apc.localcache.size="512"
+apc.coredump_unmap="0"
--- /dev/null
+extension=apc.so
--- /dev/null
+extension=apc.so
+apc.enabled="1"
+apc.shm_segments="1"
+apc.shm_size="30M"
+apc.num_files_hint="1024"
+apc.ttl="7200"
+apc.user_ttl="7200"
+apc.gc_ttl="3600"
+apc.cache_by_default="1"
+;apc.filters=""
+;apc.mmap_file_mask="/tmp/apcphp5.XXXXXX"
+apc.slam_defense="0"
+apc.file_update_protection="2"
+apc.enable_cli="0"
+apc.max_file_size="1M"
+apc.stat="1"
+apc.write_lock="1"
+apc.report_autofilter="0"
+apc.include_once_override="0"
+apc.rfc1867="0"
+apc.rfc1867_prefix="upload_"
+apc.rfc1867_name="APC_UPLOAD_PROGRESS"
+apc.rfc1867_freq="0"
+apc.localcache="0"
+apc.localcache.size="512"
+apc.coredump_unmap="0"
--- /dev/null
+extension=apc.so
--- /dev/null
+extension=apc.so
+apc.enabled="1"
+apc.shm_segments="1"
+apc.shm_size="30M"
+apc.num_files_hint="1024"
+apc.ttl="7200"
+apc.user_ttl="7200"
+apc.gc_ttl="3600"
+apc.cache_by_default="1"
+;apc.filters=""
+;apc.mmap_file_mask="/tmp/apcphp5.XXXXXX"
+apc.slam_defense="0"
+apc.file_update_protection="2"
+apc.enable_cli="0"
+apc.max_file_size="1M"
+apc.stat="1"
+apc.write_lock="1"
+apc.report_autofilter="0"
+apc.include_once_override="0"
+apc.rfc1867="0"
+apc.rfc1867_prefix="upload_"
+apc.rfc1867_name="APC_UPLOAD_PROGRESS"
+apc.rfc1867_freq="0"
+apc.localcache="0"
+apc.localcache.size="512"
+apc.coredump_unmap="0"
--- /dev/null
+extension=apc.so
+++ /dev/null
-postgres_ebuilds="${postgres_ebuilds} postgresql-base-9.1.2"
+++ /dev/null
-postgres_ebuilds="${postgres_ebuilds} postgresql-docs-9.1.2"
+++ /dev/null
-postgres_ebuilds="${postgres_ebuilds} postgresql-server-9.1.2-r2"
-postgres_ebuilds="${postgres_ebuilds} postgresql-base-9.1.1"
+postgres_ebuilds="${postgres_ebuilds} postgresql-base-9.1.2"
-postgres_ebuilds="${postgres_ebuilds} postgresql-docs-9.1.1"
+postgres_ebuilds="${postgres_ebuilds} postgresql-docs-9.1.2"
-postgres_ebuilds="${postgres_ebuilds} postgresql-server-9.1.1"
+postgres_ebuilds="${postgres_ebuilds} postgresql-server-9.1.2-r2"
+++ /dev/null
-#!/sbin/runscript
-# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
-# Released under the 2-clause BSD license.
-
-MODULESDIR="${RC_LIBEXECDIR}/net"
-MODULESLIST="${RC_SVCDIR}/nettree"
-_config_vars="config routes"
-
-[ -z "${IN_BACKGROUND}" ] && IN_BACKGROUND="NO"
-
-description="Configures network interfaces."
-
-# Handy var so we don't have to embed new lines everywhere for array splitting
-__IFS="
-"
-depend()
-{
- local IFACE=${RC_SVCNAME#*.}
- local IFVAR=$(shell_var "${IFACE}")
-
- need localmount
- after bootmisc
- provide net
- keyword -jail -prefix -vserver
-
- case "${IFACE}" in
- lo|lo0);;
- *) after net.lo net.lo0 dbus;;
- esac
-
- if [ "$(command -v "depend_${IFVAR}")" = "depend_${IFVAR}" ]; then
- depend_${IFVAR}
- fi
-
- local dep= prov=
- for dep in need use before after provide keyword; do
- eval prov=\$rc_${dep}_${IFVAR}
- if [ -n "${prov}" ]; then
- ${dep} ${prov}
- fi
- done
-}
-
-# Support bash arrays - sigh
-_array_helper()
-{
- local _a=
-
- eval _a=\$$1
- _a=$(echo "${_a}" | sed -e 's:^[[:space:]]*::' -e 's:[[:space:]]*$::' -e '/^$/d' -e 's:[[:space:]]\{1,\}: :g')
-
- [ -n "${_a}" ] && printf "%s\n" "${_a}"
-}
-
-_get_array()
-{
- local _a=
- if [ -n "${BASH}" ]; then
- case "$(declare -p "$1" 2>/dev/null)" in
- "declare -a "*)
- ewarn "You are using a bash array for $1."
- ewarn "This feature will be removed in the future."
- ewarn "Please see net.example for the correct format for $1."
- eval "set -- \"\${$1[@]}\""
- for _a; do
- printf "%s\n" "${_a}"
- done
- return 0
- ;;
- esac
- fi
-
- _array_helper $1
-}
-
-# Flatten bash arrays to simple strings
-_flatten_array()
-{
- if [ -n "${BASH}" ]; then
- case "$(declare -p "$1" 2>/dev/null)" in
- "declare -a "*)
- ewarn "You are using a bash array for $1."
- ewarn "This feature will be removed in the future."
- ewarn "Please see net.example for the correct format for $1."
- eval "set -- \"\${$1[@]}\""
- for x; do
- printf "'%s' " "$(printf "$x" | sed "s:':'\\\'':g")"
- done
- return 0
- ;;
- esac
- fi
-
- _array_helper $1
-}
-
-_wait_for_carrier()
-{
- local timeout= efunc=einfon
-
- _has_carrier && return 0
-
- eval timeout=\$carrier_timeout_${IFVAR}
- timeout=${timeout:-${carrier_timeout:-5}}
-
- # Incase users don't want this nice feature ...
- [ ${timeout} -le 0 ] && return 0
-
- yesno ${RC_PARALLEL} && efunc=einfo
- ${efunc} "Waiting for carrier (${timeout} seconds) "
- while [ ${timeout} -gt 0 ]; do
- sleep 1
- if _has_carrier; then
- [ "${efunc}" = "einfon" ] && echo
- eend 0
- return 0
- fi
- : $(( timeout -= 1 ))
- [ "${efunc}" = "einfon" ] && printf "."
- done
-
- [ "${efunc}" = "einfon" ] && echo
- eend 1
- return 1
-}
-
-_netmask2cidr()
-{
- # Some shells cannot handle hex arithmetic, so we massage it slightly
- # Buggy shells include FreeBSD sh, dash and busybox.
- # bash and NetBSD sh don't need this.
- case $1 in
- 0x*)
- local hex=${1#0x*} quad=
- while [ -n "${hex}" ]; do
- local lastbut2=${hex#??*}
- quad=${quad}${quad:+.}0x${hex%${lastbut2}*}
- hex=${lastbut2}
- done
- set -- ${quad}
- ;;
- esac
-
- local i= len=
- local IFS=.
- for i in $1; do
- while [ ${i} -ne 0 ]; do
- : $(( len += i % 2 ))
- : $(( i >>= 1 ))
- done
- done
-
- echo "${len}"
-}
-
-_configure_variables()
-{
- local var= v= t=
-
- for var in ${_config_vars}; do
- local v=
- for t; do
- eval v=\$${var}_${t}
- if [ -n "${v}" ]; then
- eval ${var}_${IFVAR}=\$${var}_${t}
- continue 2
- fi
- done
- done
-}
-
-_which()
-{
- local i OIFS
- # Empty
- [ -z "$1" ] && return
- # check paths
- OIFS="$IFS"
- IFS=:
- for i in $PATH ; do
- [ -x $i/$1 ] && echo $i/$1 && break
- done
- IFS=$OIFS
-}
-
-# Like _which, but also consider shell builtins, and multiple alternatives
-_program_available()
-{
- [ -z "$1" ] && return 0
- local x=
- for x; do
- case "${x}" in
- /*) [ -x "${x}" ] && break;;
- *) type "${x}" >/dev/null 2>&1 && break;;
- esac
- unset x
- done
- [ -n "${x}" ] && echo $x && return 0
- return 1
-}
-
-_show_address()
-{
- einfo "received address $(_get_inet_address "${IFACE}")"
-}
-
-# Basically sorts our modules into order and saves the list
-_gen_module_list()
-{
- local x= f= force=$1
- if ! ${force} && [ -s "${MODULESLIST}" -a "${MODULESLIST}" -nt "${MODULESDIR}" ]; then
- local update=false
- for x in "${MODULESDIR}"/*.sh; do
- [ -e "${x}" ] || continue
- if [ "${x}" -nt "${MODULESLIST}" ]; then
- update=true
- break
- fi
- done
- ${update} || return 0
- fi
-
- einfo "Caching network module dependencies"
- # Run in a subshell to protect the main script
- (
- after() {
- eval ${MODULE}_after="\"\${${MODULE}_after}\${${MODULE}_after:+ }$*\""
- }
-
- before() {
- local mod=${MODULE}
- local MODULE=
- for MODULE; do
- after "${mod}"
- done
- }
-
- program() {
- if [ "$1" = "start" -o "$1" = "stop" ]; then
- local s="$1"
- shift
- eval ${MODULE}_program_${s}="\"\${${MODULE}_program_${s}}\${${MODULE}_program_${s}:+ }$*\""
- else
- eval ${MODULE}_program="\"\${${MODULE}_program}\${${MODULE}_program:+ }$*\""
- fi
- }
-
- provide() {
- eval ${MODULE}_provide="\"\${${MODULE}_provide}\${${MODULE}_provide:+ }$*\""
- local x
- for x in $*; do
- eval ${x}_providedby="\"\${${MODULE}_providedby}\${${MODULE}_providedby:+ }${MODULE}\""
- done
- }
-
- for MODULE in "${MODULESDIR}"/*.sh; do
- sh -n "${MODULE}" || continue
- . "${MODULE}" || continue
- MODULE=${MODULE#${MODULESDIR}/}
- MODULE=${MODULE%.sh}
- eval ${MODULE}_depend
- MODULES="${MODULES} ${MODULE}"
- done
-
- VISITED=
- SORTED=
- visit() {
- case " ${VISITED} " in
- *" $1 "*) return;;
- esac
- VISITED="${VISITED} $1"
-
- eval AFTER=\$${1}_after
- for MODULE in ${AFTER}; do
- eval PROVIDEDBY=\$${MODULE}_providedby
- if [ -n "${PROVIDEDBY}" ]; then
- for MODULE in ${PROVIDEDBY}; do
- visit "${MODULE}"
- done
- else
- visit "${MODULE}"
- fi
- done
-
- eval PROVIDE=\$${1}_provide
- for MODULE in ${PROVIDE}; do
- visit "${MODULE}"
- done
-
- eval PROVIDEDBY=\$${1}_providedby
- [ -z "${PROVIDEDBY}" ] && SORTED="${SORTED} $1"
- }
-
- for MODULE in ${MODULES}; do
- visit "${MODULE}"
- done
-
- printf "" > "${MODULESLIST}"
- i=0
- for MODULE in ${SORTED}; do
- eval PROGRAM=\$${MODULE}_program
- eval PROGRAM_START=\$${MODULE}_program_start
- eval PROGRAM_STOP=\$${MODULE}_program_stop
- eval PROVIDE=\$${MODULE}_provide
- echo "module_${i}='${MODULE}'" >> "${MODULESLIST}"
- echo "module_${i}_program='${PROGRAM}'" >> "${MODULESLIST}"
- echo "module_${i}_program_start='${PROGRAM_START}'" >> "${MODULESLIST}"
- echo "module_${i}_program_stop='${PROGRAM_STOP}'" >> "${MODULESLIST}"
- echo "module_${i}_provide='${PROVIDE}'" >> "${MODULESLIST}"
- : $(( i += 1 ))
- done
- echo "module_${i}=" >> "${MODULESLIST}"
- )
-
- return 0
-}
-
-_load_modules()
-{
- local starting=$1 mymods=
-
- # Ensure our list is up to date
- _gen_module_list false
- if ! . "${MODULESLIST}"; then
- _gen_module_list true
- . "${MODULESLIST}"
- fi
-
- MODULES=
- if [ "${IFACE}" != "lo" -a "${IFACE}" != "lo0" ]; then
- eval mymods=\$modules_${IFVAR}
- [ -z "${mymods}" ] && mymods=${modules}
- fi
-
- local i=-1 x= mod= f= provides=
- while true; do
- : $(( i += 1 ))
- eval mod=\$module_${i}
- [ -z "${mod}" ] && break
- [ -e "${MODULESDIR}/${mod}.sh" ] || continue
-
- eval set -- \$module_${i}_program
- if [ -n "$1" ]; then
- if ! _program_available "$@" >/dev/null; then
- vewarn "Skipping module $mod due to missing program: $@"
- continue
- fi
- fi
- if ${starting}; then
- eval set -- \$module_${i}_program_start
- else
- eval set -- \$module_${i}_program_stop
- fi
- if [ -n "$1" ]; then
- if ! _program_available "$@" >/dev/null; then
- vewarn "Skipping module $mod due to missing program: $@"
- continue
- fi
- fi
-
- eval provides=\$module_${i}_provide
- if ${starting}; then
- case " ${mymods} " in
- *" !${mod} "*) continue;;
- *" !${provides} "*) [ -n "${provides}" ] && continue;;
- esac
- fi
- MODULES="${MODULES}${MODULES:+ }${mod}"
-
- # Now load and wrap our functions
- if ! . "${MODULESDIR}/${mod}.sh"; then
- eend 1 "${RC_SVCNAME}: error loading module \`${mod}'"
- exit 1
- fi
-
- [ -z "${provides}" ] && continue
-
- # Wrap our provides
- local f=
- for f in pre_start start post_start; do
- eval "${provides}_${f}() { [ "$(command -v "${mod}_${f}")" = "${mod}_${f}" ] || return 0; ${mod}_${f} \"\$@\"; }"
- done
-
- eval module_${mod}_provides="${provides}"
- eval module_${provides}_providedby="${mod}"
- done
-
- # Wrap our preferred modules
- for mod in ${mymods}; do
- case " ${MODULES} " in
- *" ${mod} "*)
- eval x=\$module_${mod}_provides
- [ -z "${x}" ] && continue
- for f in pre_start start post_start; do
- eval "${x}_${f}() { [ "$(command -v "${mod}_${f}")" = "${mod}_${f}" ] || return 0; ${mod}_${f} \"\$@\"; }"
- done
- eval module_${x}_providedby="${mod}"
- ;;
- esac
- done
-
- # Finally remove any duplicated provides from our list if we're starting
- # Otherwise reverse the list
- local LIST="${MODULES}" p=
- MODULES=
- if ${starting}; then
- for mod in ${LIST}; do
- eval x=\$module_${mod}_provides
- if [ -n "${x}" ]; then
- eval p=\$module_${x}_providedby
- [ "${mod}" != "${p}" ] && continue
- fi
- MODULES="${MODULES}${MODULES:+ }${mod}"
- done
- else
- for mod in ${LIST}; do
- MODULES="${mod}${MODULES:+ }${MODULES}"
- done
- fi
-
- veinfo "Loaded modules: ${MODULES}"
-}
-
-_load_config()
-{
- local config="$(_get_array "config_${IFVAR}")"
- local fallback="$(_get_array fallback_${IFVAR})"
-
- config_index=0
- local IFS="$__IFS"
- set -- ${config}
-
- # We should support a space separated array for cidr configs
- # But only as long as they do not contain other parameters for the address
- if [ $# = 1 ]; then
- unset IFS
- set -- ${config}
- # Of course, we may have a single address added old style.
- # If the NEXT argument is a v4 or v6 address, it's the next config.
- # Otherwise, it's arguments to the first config...
- if [ "${2#*.*}" = "${2}" -a "${2#*:*}" = "${2}" ]; then
- # Not an IPv4/IPv6
- local IFS="$__IFS"
- set -- ${config}
- fi
- fi
-
- # Ensure that loopback has the correct address
- if [ "${IFACE}" = "lo" -o "${IFACE}" = "lo0" ]; then
- if [ "$1" != "null" ]; then
- config_0="127.0.0.1/8"
- config_index=1
- fi
- else
- if [ -z "$1" ]; then
- ewarn "No configuration specified; defaulting to DHCP"
- config_0="dhcp"
- config_index=1
- fi
- fi
-
-
- # We store our config in an array like vars
- # so modules can influence it
- for cmd; do
- eval config_${config_index}="'${cmd}'"
- : $(( config_index += 1 ))
- done
- # Terminate the list
- eval config_${config_index}=
-
- config_index=0
- for cmd in ${fallback}; do
- eval fallback_${config_index}="'${cmd}'"
- : $(( config_index += 1 ))
- done
- # Terminate the list
- eval fallback_${config_index}=
-
- # Don't set to zero, so any net modules don't have to do anything extra
- config_index=-1
-}
-
-# Support functions
-_run_if()
-{
- local cmd=$1 iface=$2 ifr=${IFACE} ifv=${IFVAR}
- # Ensure that we don't stamp on real values
- local IFACE= IFVAR=
- shift
- if [ -n "${iface}" ]; then
- IFACE="${iface}"
- [ "${iface}" != "${ifr}" ] && IFVAR=$(shell_var "${IFACE}")
- else
- IFACE=${ifr}
- IFVAR=${ifv}
- fi
- ${cmd}
-}
-interface_exists()
-{
- _run_if _exists "$@"
-}
-interface_up()
-{
- _run_if _up "$@"
-}
-interface_down()
-{
- _run_if _down "$@"
-}
-
-start()
-{
- local IFACE=${RC_SVCNAME#*.} oneworked=false fallback=false module=
- local IFVAR=$(shell_var "${IFACE}") cmd= our_metric=
- local metric=0 _up_before_preup
- eval _up_before_preup="\$up_before_preup_${IFVAR}"
- [ -z "${_up_before_preup}" ] && _up_before_preup=$up_before_preup
-
- einfo "Bringing up interface ${IFACE}"
- eindent
-
- if [ -z "${MODULES}" ]; then
- local MODULES=
- _load_modules true
- fi
-
- # We up the iface twice if we have a preup to ensure it's up if
- # available in preup and afterwards incase the user inadvertently
- # brings it down
- if [ "$(command -v preup)" = "preup" ]; then
- yesno "${_up_before_preup:-yes}" && _up 2>/dev/null
- ebegin "Running preup"
- eindent
- preup || return 1
- eoutdent
- fi
-
- _up 2>/dev/null
-
- for module in ${MODULES}; do
- if [ "$(command -v "${module}_pre_start")" = "${module}_pre_start" ]; then
- ${module}_pre_start || exit $?
- fi
- done
-
- if ! _exists; then
- eerror "ERROR: interface ${IFACE} does not exist"
- eerror "Ensure that you have loaded the correct kernel module for your hardware"
- return 1
- fi
-
- if ! _wait_for_carrier; then
- if service_started devd; then
- ewarn "no carrier, but devd will start us when we have one"
- mark_service_inactive "${RC_SVCNAME}"
- else
- eerror "no carrier"
- fi
- return 1
- fi
-
- local config= config_index=
- _load_config
- config_index=0
-
- eval our_metric=\$metric_${IFVAR}
- if [ -n "${our_metric}" ]; then
- metric=${our_metric}
- elif [ "${IFACE}" != "lo" -a "${IFACE}" != "lo0" ]; then
- : $(( metric += $(_ifindex) ))
- fi
-
- while true; do
- eval config=\$config_${config_index}
- [ -z "${config}" ] && break
-
- set -- ${config}
- if [ "$1" != "null" -a "$1" != "noop" ]; then
- ebegin "$1"
- fi
- eindent
- case "$1" in
- noop)
- if [ -n "$(_get_inet_address)" ]; then
- oneworked=true
- break
- fi
- ;;
- null) :;;
- [0-9]*|*:*) _add_address ${config};;
- *)
- if [ "$(command -v "${config}_start")" = "${config}_start" ]; then
- "${config}"_start
- else
- eerror "nothing provides \`${config}'"
- fi
- ;;
- esac
- if eend $?; then
- oneworked=true
- else
- eval config=\$fallback_${config_index}
- if [ -n "${config}" ]; then
- fallback=true
- eoutdent
- ewarn "Trying fallback configuration ${config}"
- eindent
- eval config_${config_index}=\$config
- unset fallback_${config_index}
- : $(( config_index -= 1 ))
- fi
- fi
- eoutdent
- : $(( config_index += 1 ))
- done
-
- if ! ${oneworked}; then
- if [ "$(command -v failup)" = "failup" ]; then
- ebegin "Running failup"
- eindent
- failup
- eoutdent
- fi
- return 1
- fi
-
- local hidefirstroute=false first=true routes=
- if ${fallback}; then
- routes="$(_get_array "fallback_routes_${IFVAR}")"
- fi
- if [ -z "${routes}" ]; then
- routes="$(_get_array "routes_${IFVAR}")"
- fi
- if [ "${IFACE}" = "lo" -o "${IFACE}" = "lo0" ]; then
- if [ "${config_0}" != "null" ]; then
- routes="127.0.0.0/8 via 127.0.0.1
-${routes}"
- hidefirstroute=true
- fi
- fi
-
- local OIFS="${IFS}" SIFS="${IFS-y}"
- local IFS="$__IFS"
- for cmd in ${routes}; do
- unset IFS
- if ${first}; then
- first=false
- einfo "Adding routes"
- fi
- eindent
- ebegin ${cmd}
- # Work out if we're a host or a net if not told
- case ${cmd} in
- -net" "*|-host" "*);;
- *" "netmask" "*) cmd="-net ${cmd}";;
- *.*.*.*/32*) cmd="-host ${cmd}";;
- *.*.*.*/*|0.0.0.0|0.0.0.0" "*) cmd="-net ${cmd}";;
- default|default" "*) cmd="-net ${cmd}";;
- *) cmd="-host ${cmd}";;
- esac
- if ${hidefirstroute}; then
- _add_route ${cmd} >/dev/null 2>&1
- hidefirstroute=false
- else
- _add_route ${cmd} >/dev/null
- fi
- eend $?
- eoutdent
- done
- if [ "${SIFS}" = "y" ]; then
- unset IFS
- else
- IFS="${OIFS}"
- fi
-
- for module in ${MODULES}; do
- if [ "$(command -v "${module}_post_start")" = "${module}_post_start" ]; then
- ${module}_post_start || exit $?
- fi
- done
-
- if [ "$(command -v postup)" = "postup" ]; then
- ebegin "Running postup"
- eindent
- postup
- eoutdent
- fi
-
- return 0
-}
-
-stop()
-{
- local IFACE=${RC_SVCNAME#*.} module=
- local IFVAR=$(shell_var "${IFACE}") opts=
-
- einfo "Bringing down interface ${IFACE}"
- eindent
-
- if [ -z "${MODULES}" ]; then
- local MODULES=
- _load_modules false
- fi
-
- if [ "$(command -v predown)" = "predown" ]; then
- ebegin "Running predown"
- eindent
- predown || return 1
- eoutdent
- else
- if is_net_fs /; then
- eerror "root filesystem is network mounted -- can't stop ${IFACE}"
- return 1
- fi
- fi
-
- for module in ${MODULES}; do
- if [ "$(command -v "${module}_pre_stop")" = "${module}_pre_stop" ]; then
- ${module}_pre_stop || exit $?
- fi
- done
-
- for module in ${MODULES}; do
- if [ "$(command -v "${module}_stop")" = "${module}_stop" ]; then
- ${module}_stop
- fi
- done
-
- # Only delete addresses for interfaces that exist
- if _exists; then
- # PPP can manage it's own addresses when IN_BACKGROUND
- # Important in case "demand" set on the ppp link
- if ! (yesno ${IN_BACKGROUND} && is_ppp) ; then
- _delete_addresses "${IFACE}"
- fi
- fi
-
- for module in ${MODULES}; do
- if [ "$(command -v "${module}_post_stop")" = "${module}_post_stop" ]; then
- ${module}_post_stop
- fi
- done
-
- # If not in background, and not loopback then bring the interface down
- # unless overridden.
- if ! yesno ${IN_BACKGROUND} && \
- [ "${IFACE}" != "lo" -a "${IFACE}" != "lo0" ]; then
- eval module=\$ifdown_${IFVAR}
- module=${module:-${ifdown:-YES}}
- yesno ${module} && _down 2>/dev/null
- fi
-
- type resolvconf >/dev/null 2>&1 && resolvconf -d "${IFACE}" 2>/dev/null
-
- if [ "$(command -v "postdown")" = "postdown" ]; then
- ebegin "Running postdown"
- eindent
- postdown
- eoutdent
- fi
-
- return 0
-}
+++ /dev/null
-#!/sbin/runscript
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-extra_started_commands="reload"
-
-get_config() {
- [ -f ${PGDATA}/postgresql.conf ] || return 1
-
- eval echo $(sed -e 's:#.*::' ${PGDATA}/postgresql.conf | awk '$1 == "'$1'" { print $2 == "=" ? $3 : $2 }')
-}
-
-depend() {
- use net
- provide postgresql
-
- if [ "$(get_config log_destination)" = "syslog" ]; then
- use logger
- fi
-}
-
-configured_port=$(get_config port)
-: ${configured_port:=${PGPORT}}
-socket_path=$(get_config unix_socket_path)
-: ${socket_path:=/var/run/postgresql}
-
-checkconfig() {
- # Check that DATA_DIR has been set and exists
- if [ -z ${DATA_DIR} ] ; then
- eerror "DATA_DIR not set"
- eerror "HINT: Perhaps you need to update /etc/conf.d/postgresql-9.1"
- fi
- if [ ! -d ${DATA_DIR} ] ; then
- eerror "Directory not found: ${DATA_DIR}"
- eerror "HINT: Ensure that DATA_DIR points to the right path."
- eerror "HINT: Or perhaps you need to create the database cluster:"
- eerror " emerge --config dev-db/postgresql-server:9.1"
- return 1
- fi
-
- # Check for the existence of and PostgreSQL's ability to read the config files.
- if [ ! -f ${PGDATA}/postgresql.conf -o \
- ! -f ${PGDATA}/pg_hba.conf -o ! -f ${PGDATA}/pg_ident.conf ] ; then
- eerror "The following file(s) were not found in ${PGDATA}:"
- [ ! -f ${PGDATA}/postgresql.conf ] && eerror " postgresql.conf"
- [ ! -f ${PGDATA}/pg_hba.conf ] && eerror " pg_hba.conf"
- [ ! -f ${PGDATA}/pg_ident.conf ] && eerror " pg_ident.conf"
- eerror "HINT: Try:"
- eerror " mv ${DATA_DIR}/*.conf ${PGDATA}"
- return 1
- fi
-
- local file
- local failed
- for file in pg_hba pg_ident postgresql ; do
- file="${PGDATA}/${file}.conf"
- su postgres -c "test -r ${file}" || failed="${file} ${failed}"
- done
- if [ -n "${failed}" ] ; then
- eerror "The following file(s) are not readable by 'postgres':"
- local x
- for x in ${failed} ; do
- eerror " ${x}"
- done
- eerror "HINT: Try: 'chmod 644 ${PGDATA}/*.conf'"
- return 1
- fi
-
- checkpath -d -m 0770 -o postgres:postgres ${socket_path}
- if [ -e ${socket_path}/.s.PGSQL.${configured_port} ] ; then
- eerror "Socket conflict."
- eerror "A server is already listening on:"
- eerror " ${socket_path}/.s.PGSQL.${configured_port}"
- eerror "HINT: Change PGPORT to listen on a different socket."
- return 1
- fi
-}
-
-start() {
- checkconfig || return 1
-
- ebegin "Starting PostgreSQL"
-
- rm -f ${DATA_DIR}/postmaster.pid
-
- local extraenv
- local x
- for x in ${PG_EXTRA_ENV} ; do
- extraenv="${extraenv} --env ${x}"
- done
-
- start-stop-daemon --start \
- --user postgres \
- --exec /usr/lib/postgresql-9.1/bin/postgres \
- --env "PGPORT=${configured_port}" \
- ${extraenv} \
- --wait $((${START_TIMEOUT}*1000)) \
- --pidfile ${DATA_DIR}/postmaster.pid \
- -- -D ${PGDATA} --data-directory=${DATA_DIR} --silent-mode=true ${PGOPTS}
- local retval=$?
-
- if [ $retval -ne 0 ] ; then
- eerror "Check the PostgreSQL 9.1 log for a detailed explanation of the above error."
- eend $retval
- return $retval
- fi
-
- eend $retval
-}
-
-stop() {
- local seconds=$(( ${NICE_TIMEOUT} + ${RUDE_TIMEOUT} + ${FORCE_TIMEOUT} ))
- ebegin "Stopping PostgreSQL (this can take up to ${seconds} seconds)"
-
- local retval
- local retries=SIGTERM/${NICE_TIMEOUT}
-
- if [ "${RUDE_QUIT}" != "NO" ] ; then
- einfo "RUDE_QUIT enabled."
- retries="${retries}/SIGINT/${RUDE_TIMEOUT}"
- fi
- if [ "${FORCE_QUIT}" = "YES" ] ; then
- einfo "FORCE_QUIT enabled."
- ewarn "A recover-run might be executed on next startup."
- retries="${retries}/SIGQUIT/${FORCE_TIMEOUT}"
- fi
-
- start-stop-daemon --stop \
- --exec /usr/lib/postgresql-9.1/bin/postgres \
- --retry ${retries} \
- --pidfile ${DATA_DIR}/postmaster.pid
-
- eend
-}
-
-reload() {
- ebegin "Reloading PostgreSQL configuration"
- kill -HUP $(head -n1 ${DATA_DIR}/postmaster.pid)
- eend $?
-}
+++ /dev/null
-#!/sbin/runscript
-# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
-# Released under the 2-clause BSD license.
-
-description="Mount the sys filesystem."
-
-depend()
-{
- keyword -prefix -vserver
-}
-
-mount_sys()
-{
- grep -Eq "[[:space:]]+sysfs$" /proc/filesystems || return 1
- mountinfo -q /sys && return 0
-
- if [ ! -d /sys ]; then
- if ! mkdir -m 0755 /sys; then
- ewarn "Could not create /sys!"
- return 1
- fi
- fi
-
- ebegin "Mounting /sys"
- if ! fstabinfo --mount /sys; then
- mount -n -t sysfs -o noexec,nosuid,nodev sysfs /sys
- fi
- eend $?
-}
-
-mount_misc()
-{
- # Setup Kernel Support for securityfs
- if [ -d /sys/kernel/security ] && \
- ! mountinfo -q /sys/kernel/security; then
- if grep -qs securityfs /proc/filesystems; then
- ebegin "Mounting security filesystem"
- mount -n -t securityfs -o nodev,noexec,nosuid \
- securityfs /sys/kernel/security
- eend $?
- fi
- fi
-
- # Setup Kernel Support for debugfs
- if [ -d /sys/kernel/debug ] && ! mountinfo -q /sys/kernel/debug; then
- if grep -qs debugfs /proc/filesystems; then
- ebegin "Mounting debug filesystem"
- mount -n -t debugfs -o nodev,noexec,nosuid \
- debugfs /sys/kernel/debug
- eend $?
- fi
- fi
-
- # Setup Kernel Support for configfs
- if [ -d /sys/kernel/config ] && ! mountinfo -q /sys/kernel/config; then
- if grep -qs configfs /proc/filesystems; then
- ebegin "Mounting config filesystem"
- mount -n -t configfs -o nodev,noexec,nosuid \
- configfs /sys/kernel/config
- eend $?
- fi
- fi
-
- # set up kernel support for cgroups
- if [ -d /sys/fs/cgroup ] && ! mountinfo -q /sys/fs/cgroup; then
- if grep -qs cgroup /proc/filesystems; then
- ebegin "Mounting cgroup filesystem"
- local opts="nodev,noexec,nosuid,mode=755,size=${rc_cgroupsize:-10m}"
- mount -n -t tmpfs -o ${opts} cgroup_root /sys/fs/cgroup
- eend $?
- fi
- fi
-}
-
-mount_cgroups()
-{
- yesno ${rc_cgroups:-YES} && [ -e /proc/cgroups ] && \
- mountinfo -q /sys/fs/cgroup || return 0
-
- while read name hier groups enabled rest; do
- case "${enabled}" in
- 1) mkdir /sys/fs/cgroup/${name}
- mount -n -t cgroup -o nodev,noexec,nosuid,${name} \
- ${name} /sys/fs/cgroup/${name}
- ;;
- esac
- done < /proc/cgroups
-}
-
-start()
-{
- local retval
- mount_sys
- retval=$?
- if [ $retval -eq 0 ]; then
- mount_misc
- retval=$?
- fi
- if [ $retval -eq 0 ]; then
- mount_cgroups
- retval=$?
- fi
- return $retval
-}
need localmount
after bootmisc
provide net
- keyword -shutdown -jail -prefix -vserver
+ keyword -jail -prefix -vserver
case "${IFACE}" in
lo|lo0);;
# Distributed under the terms of the GNU General Public License v2
# $Header: $
-opts="${opts} reload"
+extra_started_commands="reload"
+
+get_config() {
+ [ -f ${PGDATA}/postgresql.conf ] || return 1
+
+ eval echo $(sed -e 's:#.*::' ${PGDATA}/postgresql.conf | awk '$1 == "'$1'" { print $2 == "=" ? $3 : $2 }')
+}
depend() {
- use net
- provide postgresql
- provide postgresql-9.1
+ use net
+ provide postgresql
+
+ if [ "$(get_config log_destination)" = "syslog" ]; then
+ use logger
+ fi
}
+configured_port=$(get_config port)
+: ${configured_port:=${PGPORT}}
+socket_path=$(get_config unix_socket_path)
+: ${socket_path:=/var/run/postgresql}
+
checkconfig() {
+ # Check that DATA_DIR has been set and exists
if [ -z ${DATA_DIR} ] ; then
eerror "DATA_DIR not set"
- eerror "HINT: Did you not update /etc/conf.d/postgresql-9.1"
+ eerror "HINT: Perhaps you need to update /etc/conf.d/postgresql-9.1"
fi
if [ ! -d ${DATA_DIR} ] ; then
eerror "Directory not found: ${DATA_DIR}"
eerror " emerge --config dev-db/postgresql-server:9.1"
return 1
fi
+
+ # Check for the existence of and PostgreSQL's ability to read the config files.
if [ ! -f ${PGDATA}/postgresql.conf -o \
! -f ${PGDATA}/pg_hba.conf -o ! -f ${PGDATA}/pg_ident.conf ] ; then
eerror "The following file(s) were not found in ${PGDATA}:"
[ ! -f ${PGDATA}/postgresql.conf ] && eerror " postgresql.conf"
[ ! -f ${PGDATA}/pg_hba.conf ] && eerror " pg_hba.conf"
[ ! -f ${PGDATA}/pg_ident.conf ] && eerror " pg_ident.conf"
- eerror "HINT: Try:"
- eerror "mv ${DATA_DIR}/*.conf ${PGDATA}"
+ eerror "HINT: Try:"
+ eerror " mv ${DATA_DIR}/*.conf ${PGDATA}"
return 1
fi
+
local file
local failed
for file in pg_hba pg_ident postgresql ; do
eerror "HINT: Try: 'chmod 644 ${PGDATA}/*.conf'"
return 1
fi
- if [ -e /var/run/postgresql/.s.PGSQL.${PGPORT} ] ; then
+
+ checkpath -d -m 0770 -o postgres:postgres ${socket_path}
+ if [ -e ${socket_path}/.s.PGSQL.${configured_port} ] ; then
eerror "Socket conflict."
eerror "A server is already listening on:"
- eerror " /var/run/postgresql/.s.PGSQL.${PGPORT}"
+ eerror " ${socket_path}/.s.PGSQL.${configured_port}"
eerror "HINT: Change PGPORT to listen on a different socket."
return 1
fi
ebegin "Starting PostgreSQL"
- if [ -f ${DATA_DIR}/postmaster.pid ] ; then
- rm -f ${DATA_DIR}/postmaster.pid
- fi
+ rm -f ${DATA_DIR}/postmaster.pid
- local retval
+ local extraenv
+ local x
+ for x in ${PG_EXTRA_ENV} ; do
+ extraenv="${extraenv} --env ${x}"
+ done
- su -l postgres \
- -c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
- /usr/lib/postgresql-9.1/bin/pg_ctl \
- start ${WAIT_FOR_START} -t ${START_TIMEOUT} -s -D ${DATA_DIR} \
- -o '-D ${PGDATA} --data-directory=${DATA_DIR} --silent-mode=true ${PGOPTS}'"
- retval=$?
+ start-stop-daemon --start \
+ --user postgres \
+ --exec /usr/lib/postgresql-9.1/bin/postgres \
+ --env "PGPORT=${configured_port}" \
+ ${extraenv} \
+ --wait $((${START_TIMEOUT}*1000)) \
+ --pidfile ${DATA_DIR}/postmaster.pid \
+ -- -D ${PGDATA} --data-directory=${DATA_DIR} --silent-mode=true ${PGOPTS}
+ local retval=$?
if [ $retval -ne 0 ] ; then
eerror "Check the PostgreSQL 9.1 log for a detailed explanation of the above error."
return $retval
fi
- # The following is to catch the case of an already running server
- # in which pg_ctl doesn't know to which server it connected to and
- # falsely reports the server as 'up'
- if [ ! -f ${DATA_DIR}/postmaster.pid ] ; then
- eerror "The PID file doesn't exist but pg_ctl reported a running server."
- eerror "Please check whether there is another server running on the same port or read the log-file."
- eend 1
- return 1
- fi
-
eend $retval
}
stop() {
- ebegin "Stopping PostgreSQL (this can take up to $(( ${NICE_TIMEOUT} + ${RUDE_TIMEOUT} + ${FORCE_TIMEOUT} )) seconds)"
+ local seconds=$(( ${NICE_TIMEOUT} + ${RUDE_TIMEOUT} + ${FORCE_TIMEOUT} ))
+ ebegin "Stopping PostgreSQL (this can take up to ${seconds} seconds)"
local retval
-
- if [ "${NICE_QUIT}" != "NO" ] ; then
- su -l postgres \
- -c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
- /usr/lib/postgresql-9.1/bin/pg_ctl \
- stop ${WAIT_FOR_STOP} -t ${NICE_TIMEOUT} -s -D ${DATA_DIR} \
- -m smart"
- retval=$?
-
- if [ $retval -eq 0 ] ; then
- eend $retval
- return $retval
- fi
-
- ewarn "Shutting down the server gracefully failed."
- ewarn "Probably because some clients did not disconnect within ${NICE_TIMEOUT} seconds."
- else
- ewarn "NICE_QUIT disabled."
- ewarn "You really should have it enabled."
- fi
+ local retries=SIGTERM/${NICE_TIMEOUT}
if [ "${RUDE_QUIT}" != "NO" ] ; then
- ewarn "RUDE_QUIT enabled."
- ewarn "Going to shutdown the server anyway."
-
- su -l postgres \
- -c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
- /usr/lib/postgresql-9.1/bin/pg_ctl \
- stop ${WAIT_FOR_STOP} -t ${RUDE_TIMEOUT} -s -D ${DATA_DIR} \
- -m fast"
- retval=$?
-
- if [ $retval -eq 0 ] ; then
- eend $retval
- return $retval
- fi
-
- eerror "Failed to shutdown server."
- else
- ewarn "RUDE_QUIT disabled."
+ einfo "RUDE_QUIT enabled."
+ retries="${retries}/SIGINT/${RUDE_TIMEOUT}"
fi
-
if [ "${FORCE_QUIT}" = "YES" ] ; then
- ewarn "FORCE_QUIT enabled."
- ewarn "Forcing server to shutdown."
- ewarn "A recover-run will be executed on the next startup."
-
- su -l postgres \
- -c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
- /usr/lib/postgresql-9.1/bin/pg_ctl \
- stop ${WAIT_FOR_STOP} -t ${FORCE_TIMEOUT} -s -D ${DATA_DIR} \
- -m immediate"
-
- retval=$?
-
- if [ $retval -eq 0 ] ; then
- ewarn "Server forced down."
- eend $retval
- return $retval
- fi
-
- eerror "Forced shutdown failed!!!"
- eerror "Something is wrong with your system."
- eerror "Please take care of it manually."
- eerror "Unable to stop server."
- eend $retval
- return $retval
- else
- ewarn "FORCE_QUIT disabled."
- eerror "Unable to shutdown server."
- eend 1
- return 1
+ einfo "FORCE_QUIT enabled."
+ ewarn "A recover-run might be executed on next startup."
+ retries="${retries}/SIGQUIT/${FORCE_TIMEOUT}"
fi
-}
-reload() {
- ebegin "Reloading PostgreSQL configuration"
- su -l postgres \
- -c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
- /usr/lib/postgresql-9.1/bin/pg_ctl \
- reload -s -D ${DATA_DIR}"
- eend $?
+ start-stop-daemon --stop \
+ --exec /usr/lib/postgresql-9.1/bin/postgres \
+ --retry ${retries} \
+ --pidfile ${DATA_DIR}/postmaster.pid
+
+ eend
}
-status() {
+reload() {
ebegin "Reloading PostgreSQL configuration"
- su -l postgres \
- -c "env PGPORT=\"${PGPORT}\" ${PG_EXTRA_ENV} \
- /usr/lib/postgresql-9.1/bin/pg_ctl \
- status -D ${DATA_DIR}"
+ kill -HUP $(head -n1 ${DATA_DIR}/postmaster.pid)
eend $?
}
mount_cgroups()
{
- yesno ${rc_cgroups:-YES} || return 0
- if [ ! -e /proc/cgroups ]; then
- return 0
- fi
+ yesno ${rc_cgroups:-YES} && [ -e /proc/cgroups ] && \
+ mountinfo -q /sys/fs/cgroup || return 0
while read name hier groups enabled rest; do
case "${enabled}" in
1) mkdir /sys/fs/cgroup/${name}
- mount -t cgroup -o nodev,noexec,nosuid,${name} \
+ mount -n -t cgroup -o nodev,noexec,nosuid,${name} \
${name} /sys/fs/cgroup/${name}
;;
esac
-# See ldap.conf(5) and README.LDAP for details\n"
-# This file should only be readable by root\n\n"
-# supported directives: host, port, ssl, ldap_version\n"
-# uri, binddn, bindpw, sudoers_base, sudoers_debug\n"
+# See ldap.conf(5) and README.LDAP for details
+# This file should only be readable by root
+
+# supported directives: host, port, ssl, ldap_version
+# uri, binddn, bindpw, sudoers_base, sudoers_debug
# tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key
+++ /dev/null
-[executable]
- type=FILE_EXE
-
-[directory]
- type=DIR
-
-[device]
- type=DEVICE
-
-[special]
- type=SPECIAL
-
-[stalelink]
- type=STALE_LINK
-
-[symlink]
- type=SYMLINK
-
-[hardlink]
- type=HARDLINK
-
-[core]
- regexp=^core\\.*\\d*$
-
-[temp]
- extensions=tmp;$$$;~;bak
- extensions_case=false
- regexp=(^#.*|.*~$)
-
-[archive]
- extensions=gz;bz2;tar;tgz;rpm;Z;rar;zip;arj;cab;lzh;lha;zoo;arc;ark;xz;tbz;tbz2;7z;ace
-
-[doc]
- extensions=txt;doc;rtf;diz;ctl;me;ps;pdf;xml;xsd;xslt;dtd;html;shtml;htm;mail;msg;lsm;po;nroff;man;tex;sgml;css;text;letter;chm;docx;docm;xlsx;xlsm;pptx;pptm
-
-[source]
- extensions=c;h;cc;hh;cpp;cxx;hpp;asm;py;pl;pm;inc;cgi;php;phps;js;java;jav;jasm;sh;bash;diff;patch;pas;tcl;tk;awk;m4;st;mak;sl;ada;caml;ml;mli;mly;mll;mlp;sas;prg;hs;hi;erl
-
-[media]
- extensions=mp2;mp3;mpg;ogg;mpeg;wav;avi;asf;mov;mol;mpl;xm;mod;it;med;mid;midi;s3m;umx;vob;mkv;flv;mp4;m3u;flac;ape;wma;wmv;3gp
-
-[graph]
- extensions=jpg;jpeg;gif;png;tif;pcx;bmp;xpm;xbm;eps;pic;rle;ico;wmf;omf;ai;cdr
-
-[database]
- extensions=dbf;mdn;db;mdb;dat;fox;dbx;mdx;sql;mssql;msql;ssql;pgsql;xls;cdx;dbi
-
+++ /dev/null
-# Midnight Commander 3.0 extension file
-# Warning: Structure of this file has changed completely with version 3.0
-#
-# All lines starting with # or empty lines are thrown away.
-# Lines starting in the first column should have following format:
-#
-# keyword/descNL, i.e. everything after keyword/ until new line is desc
-#
-# keyword can be:
-#
-# shell (desc is, when starting with a dot, any extension (no wildcars),
-# i.e. matches all the files *desc . Example: .tar matches *.tar;
-# if it doesn't start with a dot, it matches only a file of that name)
-#
-# regex (desc is an extended regular expression)
-# Please note that we are using the GNU regex library and thus
-# \| matches the literal | and | has special meaning (or) and
-# () have special meaning and \( \) stand for literal ( ).
-#
-# type (file matches this if `file %f` matches regular expression desc
-# (the filename: part from `file %f` is removed))
-#
-# directory (matches any directory matching regular expression desc)
-#
-# include (matches an include directive)
-#
-# default (matches any file no matter what desc is)
-#
-# Other lines should start with a space or tab and should be in the format:
-#
-# keyword=commandNL (with no spaces around =), where keyword should be:
-#
-# Open (if the user presses Enter or doubleclicks it),
-#
-# View (F3), Edit (F4)
-#
-# Include is the keyword used to add any further entries from an include/
-# section
-#
-# command is any one-line shell command, with the following substitutions:
-#
-# %% -> % character
-# %p -> name of the current file (without path, but pwd is its path)
-# %f -> name of the current file. Unlike %p, if file is located on a
-# non-local virtual filesystem, i.e. either tarfs or ftpfs,
-# then the file will be temporarily copied into a local directory
-# and %f will be the full path to this local temporal file.
-# If you don't want to get a local copy and want to get the
-# virtual fs path (like /#ftp:ftp.cvut.cz/pub/hungry/xword), then
-# use %d/%p instead of %f.
-# %d -> name of the current directory (pwd, without trailing slash)
-# %s -> "selected files", i.e. space separated list of tagged files if any
-# or name of the current file
-# %t -> list of tagged files
-# %u -> list of tagged files (they'll be untaged after the command)
-#
-# (If these 6 letters are in uppercase, they refer to the other panel.
-# But you shouldn't have to use it in this file.)
-#
-#
-# %cd -> the rest is a path mc should change into (cd won't work, since it's
-# a child process). %cd handles even vfs names.
-#
-# %view -> the command you type will be piped into mc's internal file viewer
-# if you type only the %view and no command, viewer will load %f file
-# instead (i.e. no piping, so it is different to %view cat %f)
-# %view may be directly followed by {} with a list of any of
-# ascii (Ascii mode), hex (Hex mode), nroff (color highlighting for
-# text using backspace for bold and underscore) and unform
-# (no highlighting for nroff sequences) separated by commas.
-#
-# %var -> You use it like this: %var{VAR:default}. This macro will expand
-# to the value of the VAR variable in the environment if it's set
-# otherwise the value in default will be used. This is similar to
-# the Bourne shell ${VAR-default} construct.
-#
-# Rules are applied from top to bottom, thus the order is important.
-# If some actions are missing, search continues as if this target didn't
-# match (i.e. if a file matches the first and second entry and View action
-# is missing in the first one, then on pressing F3 the View action from
-# the second entry will be used. default should catch all the actions.
-#
-# Any new entries you develop for you are always welcome if they are
-# useful on more than one system. You can post your modifications
-# as tickets at www.midnight-commander.org
-
-
-### Changes ###
-#
-# Reorganization: 2000-05-01 Michal Svec <rebel@penguin.cz>
-
-
-### TODO ###
-#
-# Postscript Open: ps2svga [gs -DEVICE=jpeg|zgv or something]
-# Images asciiview
-#
-# All X Apps [Nothing/Warning] if no DISPLAY
-# Not found [Default/Warning]
-# Empty Output [Default/Warning]
-# Edit: CopyOut+EDIT+CopyIn
-# Security Check gzip/bzip EDIT (mktemp)
-#
-# Maybe: Open/XOpen/GOpen/KOpen/... for Console/X/GNOME/KDE/etc.
-
-
-### GIT Repo ###
-# gitfs changeset
-regex/^\[git\]
- Open=%cd %p/changesetfs://
- View=%cd %p/patchsetfs://
-
-### Archives ###
-
-# .tgz, .tpz, .tar.gz, .tar.z, .tar.Z, .ipk
-regex/\.t([gp]?z|ar\.g?[zZ])$|\.ipk$
- Open=%cd %p/utar://
- View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
-
-regex/\.tar\.bz$
- # Open=%cd %p/utar://
- View=%view{ascii} bzip -dc %f 2>/dev/null | tar tvvf -
-
-regex/\.t(ar\.bz2|bz2?|b2)$
- Open=%cd %p/utar://
- View=%view{ascii} bzip2 -dc %f 2>/dev/null | tar tvvf -
-
-# .tar.lzma, .tlz
-regex/\.t(ar\.lzma|lz)$
- Open=%cd %p/utar://
- View=%view{ascii} lzma -dc %f 2>/dev/null | tar tvvf -
-
-# .tar.xz, .txz
-regex/\.t(ar\.xz|xz)$
- Open=%cd %p/utar://
- View=%view{ascii} xz -dc %f 2>/dev/null | tar tvvf -
-
-# .tar.F - used in QNX
-regex/\.tar\.F$
- # Open=%cd %p/utar://
- View=%view{ascii} freeze -dc %f 2>/dev/null | tar tvvf -
-
-# .qpr/.qpk - QNX Neutrino package installer files
-regex/\.(qp[rk])$
- Open=%cd %p/utar://
- View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
-
-# tar
-regex/\.(tar|TAR)$
- Open=%cd %p/utar://
- View=%view{ascii} tar tvvf - < %f
-
-# lha
-type/^LHa\ .*archive
- Open=%cd %p/ulha://
- View=%view{ascii} lha l %f
-
-# arj
-regex/\.a(rj|[0-9][0-9])$
- Open=%cd %p/uarj://
- View=%view{ascii} unarj l %f
-
-# cab
-regex/\.([cC][aA][bB])$
- Open=%cd %p/ucab://
- View=%view{ascii} cabextract -l %f
-
-# ha
-regex/\.([Hh][Aa])$
- Open=%cd %p/uha://
- View=%view{ascii} ha lf %f
-
-# rar
-regex/\.[rR]([aA][rR]|[0-9][0-9])$
- Open=%cd %p/urar://
- View=%view{ascii} rar v -c- %f
-
-# ALZip
-regex/\.(alz|ALZ)$
- Open=%cd %p/ualz://
- View=%view{ascii} unalz -l %f
-
-# cpio
-shell/.cpio.Z
- Open=%cd %p/ucpio://
- View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
-
-shell/.cpio.gz
- Open=%cd %p/ucpio://
- View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
-
-shell/.cpio
- Open=%cd %p/ucpio://
- View=%view{ascii} cpio -itv < %f 2>/dev/null
-
-# ls-lR
-regex/(^|\.)ls-?lR(\.gz|Z|bz2)$
- Open=%cd %p/lslR://
-
-# patch
-regex/\.(diff|patch)(\.bz2)$
- Open=%cd %p/patchfs://
- View=%view{ascii} bzip2 -dc %f 2>/dev/null
-
-regex/\.(diff|patch)(\.(gz|Z))$
- Open=%cd %p/patchfs://
- View=%view{ascii} gzip -dc %f 2>/dev/null
-
-regex/\.(diff|patch)$
- Open=%cd %p/patchfs://
- View=%view{ascii} /bin/cat %f 2>/dev/null
-
-# ar library
-regex/\.s?a$
- Open=%cd %p/uar://
- #Open=%view{ascii} ar tv %f
- View=%view{ascii} file %f && nm -C %f
-
-# trpm
-regex/\.trpm$
- Open=%cd %p/trpm://
- View=%view{ascii} rpm -qivl --scripts `basename %p .trpm`
-
-# RPM packages (SuSE uses *.spm for source packages)
-regex/\.(src\.rpm|spm)$
- Open=%cd %p/rpm://
- View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
-
-regex/\.rpm$
- Open=%cd %p/rpm://
- View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
-
-# deb
-regex/\.u?deb$
- Open=%cd %p/deb://
- View=%view{ascii} dpkg-deb -I %f && echo && dpkg-deb -c %f
-
-# dpkg
-shell/.debd
- Open=%cd %p/debd://
- View=%view{ascii} dpkg -s `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
-# apt
-shell/.deba
- Open=%cd %p/deba://
- View=%view{ascii} apt-cache show `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
-
-# ISO9660
-regex/\.([iI][sS][oO])$
- Open=%cd %p/iso9660://
- View=%view{ascii} isoinfo -l -i %f
-
-# 7zip archives (they are not man pages)
-regex/\.(7z|7Z)$
- Open=%cd %p/u7z://
- View=%view{ascii} 7za l %f 2>/dev/null
-
-# Mailboxes
-type/^ASCII\ mail\ text
- Open=%cd %p/mailfs://
-
-
-### Sources ###
-
-# C
-shell/.c
- Include=editor
-
-# Fortran
-shell/.f
- Include=editor
-
-# Header
-regex/\.(h|hpp)$
- Include=editor
-
-# Asm
-shell/.s
- Include=editor
-
-# C++
-regex/\.(C|cc|cpp)$
- Include=editor
-
-include/editor
- Open=%var{EDITOR:vi} %f
-
-# .so libraries
-regex/\.(so|so\.[0-9\.]*)$
- View=%view{ascii} file %f && nm -C -D %f
-
-# Object
-type/^ELF
- #Open=%var{PAGER:more} %f
- View=%view{ascii} file %f && nm -C %f
-
-### Documentation ###
-
-# Texinfo
-regex/\.(te?xi|texinfo)$
-
-# GNU Info page
-type/^Info\ text
- Open=info -f %f
-
-shell/.info
- Open=info -f %f
-
-# Exception: .3gp are video files not manual pages
-regex/\.(3[gG][pP])$
- Include=video
-
-# Manual page
-regex/(([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])|\.man)$
- Open=case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
- View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff -c -Tlatin1 -mandoc ;; esac
-
-# Perl pod page
-shell/.pod
- Open=pod2man %f | nroff -c -Tlatin1 -mandoc | %var{PAGER:more}
- View=%view{ascii,nroff} pod2man %f | nroff -c -Tlatin1 -mandoc
-
-# Troff with me macros.
-# Exception - "read.me" is not a nroff file.
-shell/read.me
- Open=
- View=
-
-shell/.me
- Open=nroff -c -Tlatin1 -me %f | %var{PAGER:more}
- View=%view{ascii,nroff} nroff -c -Tlatin1 -me %f
-
-# Troff with ms macros.
-shell/.ms
- Open=nroff -c -Tlatin1 -ms %f | %var{PAGER:more}
- View=%view{ascii,nroff} nroff -c -Tlatin1 -ms %f
-
-# Manual page - compressed
-regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.g?[Zz]$
- Open=case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
- View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) gzip -dc %f ;; *) gzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
-
-regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz$
- Open=case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
- View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip -dc %f ;; *) bzip -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
-
-regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz2$
- Open=case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
- View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
-
-regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lzma$
- Open=case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
- View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
-
-regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.xz$
- Open=case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
- View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff -c -Tlatin1 -mandoc ;; esac
-
-# CHM
-regex/\.(chm|CHM)$
- Open=which kchmviewer > /dev/null 2>&1 && (kchmviewer %f &) || (xchm %f &)
-
-### Images ###
-
-type/^GIF
- Include=image
-
-type/^JPEG
- View=%view{ascii} identify %f; test -x /usr/bin/exif && echo && exif %f 2>/dev/null
- Include=image
-
-type/^PC\ bitmap
- Include=image
-
-type/^PNG
- Include=image
-
-type/^TIFF
- Include=image
-
-type/^PBM
- Include=image
-
-type/^PGM
- Include=image
-
-type/^PPM
- Include=image
-
-type/^Netpbm
- Include=image
-
-shell/.xcf
- Open=(gimp %f &)
-
-shell/.xbm
- Open=bitmap %f
-
-shell/.xpm
- Include=image
- View=sxpm %f
-
-shell/.ico
- Include=image
-
-include/image
- Open=if [ "$DISPLAY" = "" ]; then zgv %f; else (gqview %f &); fi
- View=%view{ascii} identify %f
- #View=%view{ascii} asciiview %f
-
-
-### Sound files ###
-
-regex/\.([wW][aA][vV]|[sS][nN][dD]|[vV][oO][cC]|[aA][uU]|[sS][mM][pP]|[aA][iI][fF][fF]|[sS][nN][dD])$
- Open=if [ "$DISPLAY" = "" ]; then play %f; else (xmms %f >/dev/null 2>&1 &); fi
-
-regex/\.([mM][oO][dD]|[sS]3[mM]|[xX][mM]|[iI][tT]|[mM][tT][mM]|669|[sS][tT][mM]|[uU][lL][tT]|[fF][aA][rR])$
- Open=mikmod %f
- #Open=tracker %f
-
-regex/\.([wW][aA][wW]22)$
- Open=vplay -s 22 %f
-
-regex/\.([mM][pP]3)$
- Open=if [ "$DISPLAY" = "" ]; then mpg123 %f; else (xmms %f >/dev/null 2>&1 &); fi
- View=%view{ascii} mpg123 -vtn1 %f 2>&1 | sed -n '/^Title/,/^Comment/p;/^MPEG/,/^Audio/p'
-
-regex/\.([oO][gG][gG|aA|vV|xX])$
- Open=if [ "$DISPLAY" = "" ]; then ogg123 %f; else (xmms %f >/dev/null 2>&1 &); fi
- View=%view{ascii} ogginfo %s
-
-regex/\.([sS][pP][xX]|[fF][lL][aA][cC])$
- Open=if [ "$DISPLAY" = "" ]; then play %f; else (xmms %f >/dev/null 2>&1 &); fi
-
-regex/\.([mM][iI][dD][iI]?|[rR][mM][iI][dD]?)$
- Open=timidity %f
-
-regex/\.([wW][mM][aA])$
- Open=mplayer -vo null %f
- View=%view{ascii} mplayer -quiet -slave -frames 0 -vo null -ao null -identify %f 2>/dev/null | tail +13 || file %f
-
-
-### Play lists ###
-
-regex/\.([mM]3[uU]|[pP][lL][sS])$
- Open=if [ -z "$DISPLAY" ]; then mplayer -vo null -playlist %f; else (xmms -p %f >/dev/null 2>&1 &); fi
-
-
-### Video ###
-
-regex/\.([aA][vV][iI])$
- Include=video
-
-regex/\.([aA][sS][fFxX])$
- Include=video
-
-regex/\.([dD][iI][vV][xX])$
- Include=video
-
-regex/\.([mM][kK][vV])$
- Include=video
-
-regex/\.([mM][oO][vV]|[qQ][tT])$
- Include=video
-
-regex/\.([mM][pP]4|[mM][pP][eE]?[gG])$
- Include=video
-
-# MPEG-2 TS container + H.264 codec
-regex/\.([mM][tT][sS])$
- Include=video
-
-regex/\.([vV][oO][bB])$
- Include=video
-
-regex/\.([wW][mM][vV])$
- Include=video
-
-regex/\.([fF][lL][iIcCvV])$
- Include=video
-
-regex/\.([oO][gG][mM])$
- Include=video
-
-regex/\.([rR][aA]?[mM])$
- Open=(realplay %f >/dev/null 2>&1 &)
-
-include/video
- Open=(mplayer %f >/dev/null 2>&1 &)
- #Open=(gtv %f >/dev/null 2>&1 &)
- #Open=(xanim %f >/dev/null 2>&1 &)
-
-
-### Documents ###
-
-# Postscript
-type/^PostScript
- Open=(gv %f &)
- View=%view{ascii} ps2ascii %f
-
-# PDF
-type/^PDF
- Open=(xpdf %f &)
- #Open=(acroread %f &)
- #Open=(ghostview %f &)
- View=%view{ascii} pdftotext %f -
-
-# The following code very ugly and should not be taken as example.
-# It should be cleaned up when the new format of mc.ext is developed.
-
-# html
-regex/\.([hH][tT][mM][lL]?)$
- Open=(if test -n "" && test -n "$DISPLAY"; then ( file://%d/%p &) 1>&2; else links %f || lynx -force_html %f || ${PAGER:-more} %f; fi) 2>/dev/null
- View=%view{ascii} links -dump %f 2>/dev/null || w3m -dump %f 2>/dev/null || lynx -dump -force_html %f
-
-# StarOffice 5.2
-shell/.sdw
- Open=(ooffice %f &)
-
-# StarOffice 6 and OpenOffice.org formats
-regex/\.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg)$
- Open=(ooffice %f &)
- View=%view{ascii} odt2txt %f
-
-# AbiWord
-shell/.abw
- Open=(abiword %f &)
-
-# Microsoft Word Document
-regex/\.([Dd][oO][cCtT]|[Ww][rR][iI])$
- Open=(abiword %f >/dev/null 2>&1 &)
- View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f
-type/^Microsoft\ Word
- Open=(abiword %f >/dev/null 2>&1 &)
- View=%view{ascii} antiword -t %f || catdoc -w %f || word2x -f text %f - || strings %f
-
-# RTF document
-regex/\.([rR][tT][fF])$
- Open=(abiword %f >/dev/null 2>&1 &)
-
-# Microsoft Excel Worksheet
-regex/\.([xX][lL][sSwW])$
- Open=(gnumeric %f >/dev/null 2>&1 &)
- View=%view{ascii} xls2csv %f || strings %f
-type/^Microsoft\ Excel
- Open=(gnumeric %f >/dev/null 2>&1 &)
- View=%view{ascii} xls2csv %f || strings %f
-
-# Use OpenOffice.org to open any MS Office documents
-type/^Microsoft\ Office\ Document
- Open=(ooffice %f &)
-
-# Framemaker
-type/^FrameMaker
- Open=fmclient -f %f
-
-# DVI
-regex/\.([dD][vV][iI])$
- Open=if [ x$DISPLAY = x ]; then dvisvga %f; else (xdvi %f &); fi
- View=%view{ascii} dvi2tty %f
-
-# TeX
-regex/\.([Tt][Ee][Xx])$
- Include=editor
-
-# DjVu
-regex/\.(djvu|DJVU)$
- Open=djview %f &
-
-### Miscellaneous ###
-
-# Makefile
-regex/[Mm]akefile$
- Open=make -f %f %{Enter parameters}
-
-# Imakefile
-shell/Imakefile
- Open=xmkmf -a
-
-# Makefile.PL (MakeMaker)
-regex/^Makefile.(PL|pl)$
- Open=%var{PERL:perl} %f
-
-# dbf
-regex/\.([dD][bB][fF])$
- Open=%view{ascii} dbview %f
- View=%view{ascii} dbview -b %f
-
-# REXX script
-regex/\.(rexx?|cmd)$
- Open=rexx %f %{Enter parameters};echo "Press ENTER";read y
-
-# Disk images for Commodore computers (VIC20, C64, C128)
-regex/\.(d64|D64)$
- Open=%cd %p/uc1541://
- View=%view{ascii} c1541 %f -list
- Extract=c1541 %f -extract
-
-# Glade, a user interface designer for GTK+ and GNOME
-regex/\.([Gg][Ll][Aa][Dd][Ee])$
- Open=if glade-3 --version >/dev/null 2>&1; then (glade-3 %f >/dev/null 2>&1 &); else (glade-2 %f >/dev/null 2>&1 &); fi
-
-# Gettext Catalogs
-shell/.mo
- View=%view{ascii} msgunfmt %f || cat %f
-
-# lyx
-regex/\.(lyx|LYX)$
- Open=lyx %f
- View=%view{ascii} lyxcat %f
-
-# torrent
-regex/\.([tT][oO][rR][rR][eE][nN][tT])$
- View=%view{ascii} ctorrent -x %f 2>/dev/null
-
-### Plain compressed files ###
-
-# ace
-regex/\.(ace|ACE)$
- Open=%cd %p/uace://
- View=%view{ascii} unace l %f
- Extract=unace x %f
-
-# arc
-regex/\.(arc|ARC)$
- Open=%cd %p/uarc://
- View=%view{ascii} arc l %f
- Extract=arc x %f '*'
- Extract (with flags)=I=%{Enter any Arc flags:}; if test -n "$I"; then arc x $I %f; fi
-
-# zip
-type/^([Zz][Ii][Pp])\ archive
- Open=%cd %p/uzip://
- View=%view{ascii} unzip -v %f
-
-# zoo
-regex/\.([Zz][Oo][Oo])$
- Open=%cd %p/uzoo://
- View=%view{ascii} zoo l %f
-
-# gzip
-type/^gzip
- Open=gzip -dc %f | %var{PAGER:more}
- View=%view{ascii} gzip -dc %f 2>/dev/null
-
-regex/\.(gz|Z)$
- View=%view{ascii} gzip -dc %f 2>/dev/null
-
-# bzip2
-type/^bzip2
- Open=bzip2 -dc %f | %var{PAGER:more}
- View=%view{ascii} bzip2 -dc %f 2>/dev/null
-
-regex/\.bz2?$
- View=%view{ascii} bzip2 -dc %f 2>/dev/null
-
-# bzip
-type/^bzip
- Open=bzip -dc %f | %var{PAGER:more}
- View=%view{ascii} bzip -dc %f 2>/dev/null
-
-# compress
-type/^compress
- Open=gzip -dc %f | %var{PAGER:more}
- View=%view{ascii} gzip -dc %f 2>/dev/null
-
-# lzma
-regex/\.lzma$
- Open=lzma -dc %f | %var{PAGER:more}
- View=%view{ascii} lzma -dc %f 2>/dev/null
-
-# xz
-regex/\.xz$
- Open=xz -dc %f | %var{PAGER:more}
- View=%view{ascii} xz -dc %f 2>/dev/null
-
-### Default ###
-
-# Default target for anything not described above
-default/*
- Open=
- View=
-
-
-### EOF ###
+++ /dev/null
-[main]
-Help = f1
-UserMenu = f2
-View = f3
-ViewFile =
-Edit = f4
-EditForceInternal =
-Copy = f5
-Move = f6
-MakeDir = f7
-Delete = f8
-Menu = f9
-Quit = f10
-MenuLastSelected = f19
-QuitQuiet = f20
-Find = alt-question
-CdQuick = alt-c
-HotList = ctrl-backslash
-Reread = ctrl-r
-DirSize = ctrl-space
-Suspend = ctrl-z
-Swap = ctrl-u
-History = alt-h
-PanelListing =
-PanelListingSwitch = alt-t
-PanelListingChange =
-ShowHidden = alt-dot
-SplitVertHoriz = alt-comma
-Shell = ctrl-o
-PutCurrentPath = alt-a
-PutOtherPath = alt-shift-a
-ViewFiltered = alt-exclamation
-Select = kpplus
-Unselect = kpminus
-SelectInvert = kpasterisk
-ScreenList = alt-prime
-OptionsLayout =
-OptionsPanel =
-OptionsConfirm =
-OptionsDisplayBits =
-OptionsVfs =
-LearnKeys =
-SaveSetup =
-EditExtensionsFile =
-EditFileHighlightFile =
-Filter =
-ConnectFish =
-ConnectFtp =
-ConnectSmb =
-Undelete =
-ExtendedKeyMap = ctrl-x
-
-[main:xmap]
-ChangeMode = c
-ChangeOwn = o
-CompareDirs = d
-CompareFiles = ctrl-d
-HotListAdd = h
-LinkSymbolicEdit = ctrl-s
-Link = l
-LinkSymbolic = s
-LinkSymbolicRelative = v
-PanelInfo = i
-PanelQuickView = q
-ExternalPanelize = exclamation
-VfsList = a
-Jobs = j
-PutCurrentPath = p
-PutOtherPath = ctrl-p
-PutCurrentTagged = t
-PutOtherTagged = ctrl-t
-PutCurrentLink = r
-PutOtherLink = ctrl-r
-
-[panel]
-Search = ctrl-s; alt-s
-Mark = insert; ctrl-t
-MarkUp = shift-up
-MarkDown = shift-down
-MarkLeft =
-MarkRight =
-Down = down; ctrl-n
-Up = up; ctrl-p
-Left = left
-Right = right
-PageUp = pgup; alt-v
-PageDown = pgdn; ctrl-v
-Enter = enter
-PanelOtherCd = alt-o
-PanelOtherCdLink = alt-l
-ViewRaw = f13
-EditNew = f14
-CopySingle = f15
-MoveSingle = f16
-DeleteSingle = f18
-Select = alt-plus
-Unselect = alt-minus
-SelectInvert = alt-asterisk
-CdChild = ctrl-pgdn
-CdParent = ctrl-pgup
-CdParentSmart =
-Panelize =
-History = alt-shift-h
-HistoryNext = alt-u
-HistoryPrev = alt-y
-BottomOnScreen = alt-j
-MiddleOnScreen = alt-r
-TopOnScreen = alt-g
-PanelOtherSync = alt-i
-SelectCodepage = alt-e
-Top = alt-lt; home; a1
-Bottom = alt-gt; end; c1
-Sort =
-SortPrev =
-SortNext =
-SortReverse =
-SortByName =
-SortByExt =
-SortBySize =
-SortByMTime =
-
-[dialog]
-Ok = enter
-Cancel = f10; esc; ctrl-g
-Up = left; up
-#Left = left; up
-Down = right; down
-#Right = right; down
-Help = f1
-Suspend = ctrl-z
-Refresh = ctrl-l
-ScreenList = alt-prime
-ScreenNext = alt-rbrace
-ScreenPrev = alt-lbrace
-
-[input]
-Home = ctrl-a; alt-lt; home; a1
-End = ctrl-e; alt-gt; end; c1
-Left = left; alt-left; ctrl-b
-Right = right; alt-right; ctrl-f
-WordLeft = ctrl-left; alt-b
-WordRight = ctrl-right; alt-f
-Backspace = backspace; ctrl-h
-Delete = delete; ctrl-d
-DeleteToWordBegin = alt-backspace
-DeleteToWordEnd = alt-d
-Mark =
-Remove = ctrl-w
-Cut =
-Store = alt-w
-Paste =
-Yank = ctrl-y
-DeleteToEnd = ctrl-k
-HistoryPrev = alt-p; ctrl-down
-HistoryNext = alt-n; ctrl-up
-History = alt-h
-Complete = alt-tab
-Clear =
-MarkLeft = shift-left
-MarkRight = shift-right
-MarkToWordBegin = ctrl-shift-left
-MarkToWordEnd = ctrl-shift-right
-MarkToHome = shift-home
-MarkToEnd = shift-end
-
-[listbox]
-Up = up; ctrl-p
-Down = down; ctrl-n
-Top = home; alt-lt; a1
-Bottom = end; alt-gt; c1
-PageUp = pgup; alt-v
-PageDown = pgdn; ctrl-v
-Delete = delete; d
-Clear = shift-delete; shift-d
-
-[tree]
-Help = f1
-Reread = f2; ctrl-r
-Forget = f3
-ToggleNavigation = f4
-Copy = f5
-Move = f6
-Up = up; ctrl-p
-Down = down; ctrl-n
-Left = left
-Right = right
-Top = home; alt-lt; a1
-Bottom = end; alt-gt; c1
-PageUp = pgup; alt-v
-PageDown = pgdn; ctrl-v
-Enter = enter
-Search = ctrl-s; alt-s
-Delete = f8; delete
-
-[help]
-Help = f1
-Index = f2; c
-Back = f3; left; l
-Quit = f10; esc
-Up = up; ctrl-p
-Down = down; ctrl-n
-PageDown = f; space; pgdn; ctrl-v
-PageUp = b; pgup; alt-v; backspace
-HalfPageDown = d
-HalfPageUp = u
-Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
-Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
-Enter = right; enter
-LinkNext = tab
-LinkPrev = alt-tab
-NodeNext = n
-NodePrev = p
-
-[editor]
-Store = ctrl-insert
-Paste = shift-insert
-Cut = shift-delete
-Up = up
-Down = down
-Left = left
-Right = right
-WordLeft = ctrl-left; ctrl-z
-WordRight = ctrl-right; ctrl-x
-Enter = enter
-Return = shift-enter
-BackSpace = backspace; ctrl-h
-Delete = delete; ctrl-d
-PageUp = pgup
-PageDown = pgdn
-Home = home
-End = end
-Tab = tab
-Undo = ctrl-u
-Redo = alt-r
-Top = ctrl-home; alt-lt
-Bottom = ctrl-end; alt-gt
-ScrollUp = ctrl-up
-ScrollDown = ctrl-down
-TopOnScreen = ctrl-pgup
-BottomOnScreen = ctrl-pgdn
-DeleteToWordBegin = alt-backspace
-DeleteToWordEnd = alt-d
-DeleteLine = ctrl-y
-DeleteToEnd = ctrl-k
-DeleteToHome =
-ParagraphUp =
-ParagraphDown =
-Save = f2
-EditFile =
-EditNew = ctrl-n
-SaveAs = f12; ctrl-f2
-Mark = f3
-Copy = f5
-Move = f6
-Remove = f8
-MarkLine =
-MarkWord =
-MarkAll =
-Unmark =
-Search = f7
-SearchContinue = f17
-BlockShiftLeft =
-BlockShiftRight =
-MarkPageUp = shift-pgup
-MarkPageDown = shift-pgdn
-MarkLeft = shift-left
-MarkRight = shift-right
-MarkToWordBegin = ctrl-shift-left
-MarkToWordEnd = ctrl-shift-right
-MarkUp = shift-up
-MarkDown = shift-down
-MarkToHome = shift-home
-MarkToEnd = shift-end
-MarkToFileBegin = ctrl-shift-home
-MarkToFileEnd = ctrl-shift-end
-MarkToPageBegin = ctrl-shift-pgup
-MarkToPageEnd = ctrl-shift-pgdn
-MarkScrollUp = ctrl-shift-up
-MarkScrollDown = ctrl-shift-down
-MarkParagraphUp =
-MarkParagraphDown =
-MarkColumnPageUp = alt-pgup
-MarkColumnPageDown = alt-pgdn
-MarkColumnLeft = alt-left
-MarkColumnRight = alt-right
-MarkColumnUp = alt-up
-MarkColumnDown = alt-down
-MarkColumnScrollUp =
-MarkColumnScrollDown =
-MarkColumnParagraphUp =
-MarkColumnParagraphDown =
-BlockSave = ctrl-f
-MarkColumn = f13
-Replace = f4
-ReplaceContinue = f14
-Complete = alt-tab
-InsertFile = f15
-Quit = f10
-InsertOverwrite = insert
-Help = f1
-Date =
-Refresh = ctrl-l
-Goto = alt-l
-Sort = alt-t
-Mail = alt-m
-ParagraphFormat = alt-p
-MatchBracket = alt-b
-ExternalCommand = alt-u
-UserMenu = f11
-Menu = f9
-Bookmark = alt-k
-BookmarkFlush = alt-o
-BookmarkNext = alt-j
-BookmarkPrev = alt-i
-History =
-Shell = ctrl-o
-InsertLiteral = ctrl-q
-MacroStartRecord =
-MacroStopRecord =
-MacroStartStopRecord = ctrl-r
-MacroDelete =
-ShowNumbers = alt-n
-ShowTabTws = alt-underline
-SyntaxOnOff = ctrl-s
-SyntaxChoose =
-ShowMargin =
-Find = alt-enter
-FilePrev = alt-minus
-FileNext = alt-plus
-RepeatStartStopRecord =
-SelectCodepage = alt-e
-Options =
-OptionsSaveMode =
-LearnKeys =
-ExtendedKeyMap =
-
-[viewer]
-Help = f1
-WrapMode = f2
-Quit = f3; f10; q; esc
-HexMode = f4
-Goto = f5
-Search = f7; question; slash
-SearchContinue = ctrl-r; ctrl-s; f17; n
-MagicMode = f8
-NroffMode = f9
-Home = ctrl-a
-End = ctrl-e
-Left = h; left
-Right = l; right
-LeftQuick = ctrl-left
-RightQuick = ctrl-right
-Up = k; y; insert; up; ctrl-p
-Down = j; e; delete; down; enter; ctrl-n
-PageDown = f; space; pgdn; ctrl-v
-PageUp = b; pgup; alt-v; backspace
-HalfPageDown = d
-HalfPageUp = u
-Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
-Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
-BookmarkGoto = m
-Bookmark = r
-FileNext = ctrl-f
-FilePrev = ctrl-b
-SelectCodepage = alt-e
-Shell = ctrl-o
-Ruler = alt-r
-
-[viewer:hex]
-Help = f1
-HexEditMode = f2
-Quit = f3; f10; q; esc
-HexMode = f4
-Goto = f5
-Save = f6
-Search = f7; question; slash
-SearchContinue = ctrl-r; ctrl-s; f17; n
-MagicMode = f8
-NroffMode = f9
-ToggleNavigation = tab
-Home = ctrl-a; home
-End = ctrl-e; end
-Left = b; left
-Right = f; right
-Up = k; y; up
-Down = j; delete; down
-PageDown = pgdn; ctrl-v
-PageUp = pgup; alt-v
-Top = ctrl-home; ctrl-pgup; a1; alt-lt; g
-Bottom = ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
-
-[diffviewer]
-ShowSymbols = alt-s; s
-ShowNumbers = alt-n; l
-SplitFull = f
-SplitEqual = equal
-SplitMore = gt
-SplitLess = lt
-Tab2 = 2
-Tab3 = 3
-Tab4 = 4
-Tab8 = 8
-Swap = ctrl-u
-Redo = ctrl-r
-HunkNext = n; enter; space
-HunkPrev = p; backspace
-Goto = g; shift-g
-Save = f2
-Edit = f4
-EditOther = f14
-Merge = f5
-Search = f7
-SearchContinue = f17
-Options = f9
-Top = ctrl-home
-Bottom = ctrl-end
-Down = down
-Up = up
-LeftQuick = ctrl-left
-RightQuick = ctrl-right
-Left = left
-Right = right
-PageDown = pgdn
-PageUp = pgup
-Home = home
-End = end
-Help = f1
-Quit = f10; q; shift-q; esc
-Shell = ctrl-o
-SelectCodepage = alt-e
+++ /dev/null
-[main]
-Help = f1
-UserMenu = f2
-View = f3
-ViewFile =
-Edit = f4
-EditForceInternal =
-Copy = f5
-Move = f6
-MakeDir = f7
-Delete = f8
-Menu = f9
-Quit = f10
-MenuLastSelected = f19
-QuitQuiet = f20
-Find = alt-question
-CdQuick = alt-c
-HotList = ctrl-backslash
-Reread = ctrl-r
-DirSize = ctrl-space
-Suspend = ctrl-z
-Swap = ctrl-u
-History = alt-h
-PanelListing =
-PanelListingSwitch = alt-t
-PanelListingChange =
-ShowHidden = alt-dot
-SplitVertHoriz = alt-comma
-Shell = ctrl-o
-PutCurrentPath = alt-a
-PutOtherPath = alt-shift-a
-ViewFiltered = alt-exclamation
-Select = kpplus
-Unselect = kpminus
-SelectInvert = kpasterisk
-ScreenList = alt-prime
-OptionsLayout =
-OptionsPanel =
-OptionsConfirm =
-OptionsDisplayBits =
-OptionsVfs =
-LearnKeys =
-SaveSetup =
-EditExtensionsFile =
-EditFileHighlightFile =
-Filter =
-ConnectFish =
-ConnectFtp =
-ConnectSmb =
-Undelete =
-ExtendedKeyMap = ctrl-x
-
-[main:xmap]
-ChangeMode = c
-ChangeOwn = o
-CompareDirs = d
-CompareFiles = ctrl-d
-HotListAdd = h
-LinkSymbolicEdit = ctrl-s
-Link = l
-LinkSymbolic = s
-LinkSymbolicRelative = v
-PanelInfo = i
-PanelQuickView = q
-ExternalPanelize = exclamation
-VfsList = a
-Jobs = j
-PutCurrentPath = p
-PutOtherPath = ctrl-p
-PutCurrentTagged = t
-PutOtherTagged = ctrl-t
-PutCurrentLink = r
-PutOtherLink = ctrl-r
-
-[panel]
-Search = ctrl-s; alt-s
-Mark = insert; ctrl-t
-MarkUp = shift-up
-MarkDown = shift-down
-MarkLeft =
-MarkRight =
-Down = down; ctrl-n
-Up = up; ctrl-p
-Left = left
-Right = right
-PageUp = pgup; alt-v
-PageDown = pgdn; ctrl-v
-Enter = enter
-PanelOtherCd = alt-o
-PanelOtherCdLink = alt-l
-ViewRaw = f13
-EditNew = f14
-CopySingle = f15
-MoveSingle = f16
-DeleteSingle = f18
-Select = alt-plus
-Unselect = alt-minus
-SelectInvert = alt-asterisk
-CdChild = ctrl-pgdn
-CdParent = ctrl-pgup
-CdParentSmart =
-Panelize =
-History = alt-shift-h
-HistoryNext = alt-u
-HistoryPrev = alt-y
-BottomOnScreen = alt-j
-MiddleOnScreen = alt-r
-TopOnScreen = alt-g
-PanelOtherSync = alt-i
-SelectCodepage = alt-e
-Top = alt-lt; home; a1
-Bottom = alt-gt; end; c1
-Sort =
-SortPrev =
-SortNext =
-SortReverse =
-SortByName =
-SortByExt =
-SortBySize =
-SortByMTime =
-
-[dialog]
-Ok = enter
-Cancel = f10; esc; ctrl-g
-Up = left; up
-#Left = left; up
-Down = right; down
-#Right = right; down
-Help = f1
-Suspend = ctrl-z
-Refresh = ctrl-l
-ScreenList = alt-prime
-ScreenNext = alt-rbrace
-ScreenPrev = alt-lbrace
-
-[input]
-Home = ctrl-a; alt-lt; home; a1
-End = ctrl-e; alt-gt; end; c1
-Left = left; alt-left; ctrl-b
-Right = right; alt-right; ctrl-f
-WordLeft = ctrl-left; alt-b
-WordRight = ctrl-right; alt-f
-Backspace = backspace; ctrl-h
-Delete = delete; ctrl-d
-DeleteToWordBegin = alt-backspace
-DeleteToWordEnd = alt-d
-Mark =
-Remove = ctrl-w
-Cut =
-Store = alt-w
-Paste =
-Yank = ctrl-y
-DeleteToEnd = ctrl-k
-HistoryPrev = alt-p; ctrl-down
-HistoryNext = alt-n; ctrl-up
-History = alt-h
-Complete = alt-tab
-Clear =
-MarkLeft = shift-left
-MarkRight = shift-right
-MarkToWordBegin = ctrl-shift-left
-MarkToWordEnd = ctrl-shift-right
-MarkToHome = shift-home
-MarkToEnd = shift-end
-
-[listbox]
-Up = up; ctrl-p
-Down = down; ctrl-n
-Top = home; alt-lt; a1
-Bottom = end; alt-gt; c1
-PageUp = pgup; alt-v
-PageDown = pgdn; ctrl-v
-Delete = delete; d
-Clear = shift-delete; shift-d
-
-[tree]
-Help = f1
-Reread = f2; ctrl-r
-Forget = f3
-ToggleNavigation = f4
-Copy = f5
-Move = f6
-Up = up; ctrl-p
-Down = down; ctrl-n
-Left = left
-Right = right
-Top = home; alt-lt; a1
-Bottom = end; alt-gt; c1
-PageUp = pgup; alt-v
-PageDown = pgdn; ctrl-v
-Enter = enter
-Search = ctrl-s; alt-s
-Delete = f8; delete
-
-[help]
-Help = f1
-Index = f2; c
-Back = f3; left; l
-Quit = f10; esc
-Up = up; ctrl-p
-Down = down; ctrl-n
-PageDown = f; space; pgdn; ctrl-v
-PageUp = b; pgup; alt-v; backspace
-HalfPageDown = d
-HalfPageUp = u
-Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
-Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
-Enter = right; enter
-LinkNext = tab
-LinkPrev = alt-tab
-NodeNext = n
-NodePrev = p
-
-[editor]
-Store = ctrl-insert
-Paste = shift-insert
-Cut = shift-delete
-Up = up
-Down = down
-Left = left
-Right = right
-WordLeft = ctrl-left; ctrl-z
-WordRight = ctrl-right; ctrl-x
-Enter = enter
-Return = shift-enter
-BackSpace = backspace; ctrl-h
-Delete = delete; ctrl-d
-PageUp = pgup
-PageDown = pgdn
-Home = home
-End = end
-Tab = tab
-Undo = ctrl-u
-Redo = alt-r
-Top = ctrl-home; alt-lt
-Bottom = ctrl-end; alt-gt
-ScrollUp = ctrl-up
-ScrollDown = ctrl-down
-TopOnScreen = ctrl-pgup
-BottomOnScreen = ctrl-pgdn
-DeleteToWordBegin = alt-backspace
-DeleteToWordEnd = alt-d
-DeleteLine = ctrl-y
-DeleteToEnd = ctrl-k
-DeleteToHome =
-ParagraphUp =
-ParagraphDown =
-Save = f2
-EditFile =
-EditNew = ctrl-n
-SaveAs = f12; ctrl-f2
-Mark = f3
-Copy = f5
-Move = f6
-Remove = f8
-MarkLine =
-MarkWord =
-MarkAll =
-Unmark =
-Search = f7
-SearchContinue = f17
-BlockShiftLeft =
-BlockShiftRight =
-MarkPageUp = shift-pgup
-MarkPageDown = shift-pgdn
-MarkLeft = shift-left
-MarkRight = shift-right
-MarkToWordBegin = ctrl-shift-left
-MarkToWordEnd = ctrl-shift-right
-MarkUp = shift-up
-MarkDown = shift-down
-MarkToHome = shift-home
-MarkToEnd = shift-end
-MarkToFileBegin = ctrl-shift-home
-MarkToFileEnd = ctrl-shift-end
-MarkToPageBegin = ctrl-shift-pgup
-MarkToPageEnd = ctrl-shift-pgdn
-MarkScrollUp = ctrl-shift-up
-MarkScrollDown = ctrl-shift-down
-MarkParagraphUp =
-MarkParagraphDown =
-MarkColumnPageUp = alt-pgup
-MarkColumnPageDown = alt-pgdn
-MarkColumnLeft = alt-left
-MarkColumnRight = alt-right
-MarkColumnUp = alt-up
-MarkColumnDown = alt-down
-MarkColumnScrollUp =
-MarkColumnScrollDown =
-MarkColumnParagraphUp =
-MarkColumnParagraphDown =
-BlockSave = ctrl-f
-MarkColumn = f13
-Replace = f4
-ReplaceContinue = f14
-Complete = alt-tab
-InsertFile = f15
-Quit = f10
-InsertOverwrite = insert
-Help = f1
-Date =
-Refresh = ctrl-l
-Goto = alt-l
-Sort = alt-t
-Mail = alt-m
-ParagraphFormat = alt-p
-MatchBracket = alt-b
-ExternalCommand = alt-u
-UserMenu = f11
-Menu = f9
-Bookmark = alt-k
-BookmarkFlush = alt-o
-BookmarkNext = alt-j
-BookmarkPrev = alt-i
-History =
-Shell = ctrl-o
-InsertLiteral = ctrl-q
-MacroStartRecord =
-MacroStopRecord =
-MacroStartStopRecord = ctrl-r
-MacroDelete =
-ShowNumbers = alt-n
-ShowTabTws = alt-underline
-SyntaxOnOff = ctrl-s
-SyntaxChoose =
-ShowMargin =
-Find = alt-enter
-FilePrev = alt-minus
-FileNext = alt-plus
-RepeatStartStopRecord =
-SelectCodepage = alt-e
-Options =
-OptionsSaveMode =
-LearnKeys =
-ExtendedKeyMap =
-
-[viewer]
-Help = f1
-WrapMode = f2
-Quit = f3; f10; q; esc
-HexMode = f4
-Goto = f5
-Search = f7; question; slash
-SearchContinue = ctrl-r; ctrl-s; f17; n
-MagicMode = f8
-NroffMode = f9
-Home = ctrl-a
-End = ctrl-e
-Left = h; left
-Right = l; right
-LeftQuick = ctrl-left
-RightQuick = ctrl-right
-Up = k; y; insert; up; ctrl-p
-Down = j; e; delete; down; enter; ctrl-n
-PageDown = f; space; pgdn; ctrl-v
-PageUp = b; pgup; alt-v; backspace
-HalfPageDown = d
-HalfPageUp = u
-Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
-Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
-BookmarkGoto = m
-Bookmark = r
-FileNext = ctrl-f
-FilePrev = ctrl-b
-SelectCodepage = alt-e
-Shell = ctrl-o
-Ruler = alt-r
-
-[viewer:hex]
-Help = f1
-HexEditMode = f2
-Quit = f3; f10; q; esc
-HexMode = f4
-Goto = f5
-Save = f6
-Search = f7; question; slash
-SearchContinue = ctrl-r; ctrl-s; f17; n
-MagicMode = f8
-NroffMode = f9
-ToggleNavigation = tab
-Home = ctrl-a; home
-End = ctrl-e; end
-Left = b; left
-Right = f; right
-Up = k; y; up
-Down = j; delete; down
-PageDown = pgdn; ctrl-v
-PageUp = pgup; alt-v
-Top = ctrl-home; ctrl-pgup; a1; alt-lt; g
-Bottom = ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
-
-[diffviewer]
-ShowSymbols = alt-s; s
-ShowNumbers = alt-n; l
-SplitFull = f
-SplitEqual = equal
-SplitMore = gt
-SplitLess = lt
-Tab2 = 2
-Tab3 = 3
-Tab4 = 4
-Tab8 = 8
-Swap = ctrl-u
-Redo = ctrl-r
-HunkNext = n; enter; space
-HunkPrev = p; backspace
-Goto = g; shift-g
-Save = f2
-Edit = f4
-EditOther = f14
-Merge = f5
-Search = f7
-SearchContinue = f17
-Options = f9
-Top = ctrl-home
-Bottom = ctrl-end
-Down = down
-Up = up
-LeftQuick = ctrl-left
-RightQuick = ctrl-right
-Left = left
-Right = right
-PageDown = pgdn
-PageUp = pgup
-Home = home
-End = end
-Help = f1
-Quit = f10; q; shift-q; esc
-Shell = ctrl-o
-SelectCodepage = alt-e
+++ /dev/null
-[main]
-Help = f1
-UserMenu = f2
-View = f3
-ViewFile =
-Edit = f4
-EditForceInternal =
-Copy = f5
-Move = f6
-MakeDir = f7
-Delete = f8
-Menu = f9
-Quit = f10
-MenuLastSelected = f19
-QuitQuiet = f20
-Find = alt-question
-CdQuick = alt-c
-HotList = ctrl-backslash
-Reread = ctrl-r
-DirSize = ctrl-space
-Suspend = ctrl-z
-Swap = ctrl-u
-History = alt-h
-PanelListing =
-PanelListingSwitch = alt-t
-PanelListingChange =
-ShowHidden = alt-dot
-SplitVertHoriz = alt-comma
-Shell = ctrl-o
-PutCurrentPath = alt-a
-PutOtherPath = alt-shift-a
-ViewFiltered = alt-exclamation
-Select = kpplus
-Unselect = kpminus
-SelectInvert = kpasterisk
-ScreenList = alt-prime
-Options =
-OptionsLayout =
-OptionsPanel =
-OptionsConfirm =
-OptionsDisplayBits =
-OptionsVfs =
-LearnKeys =
-SaveSetup =
-EditExtensionsFile =
-EditFileHighlightFile =
-Filter =
-ConnectFish =
-ConnectFtp =
-ConnectSmb =
-Undelete =
-ExtendedKeyMap = ctrl-x
-
-[main:xmap]
-ChangeMode = c
-ChangeOwn = o
-CompareDirs = d
-CompareFiles = ctrl-d
-HotListAdd = h
-LinkSymbolicEdit = ctrl-s
-Link = l
-LinkSymbolic = s
-LinkSymbolicRelative
-PanelInfo = i
-PanelQuickView = q
-ExternalPanelize = exclamation
-VfsList = a
-Jobs = j
-PutCurrentPath = p
-PutOtherPath = ctrl-p
-PutCurrentTagged = t
-PutOtherTagged = ctrl-t
-PutCurrentLink = r
-PutOtherLink = ctrl-r
-
-[panel]
-Search = ctrl-s; alt-s
-Mark = insert; ctrl-t
-MarkUp = shift-up
-MarkDown = shift-down
-MarkLeft =
-MarkRight =
-Down = down; ctrl-n
-Up = up; ctrl-p
-Left = left
-Right = right
-PageUp = pgup; alt-v
-PageDown = pgdn; ctrl-v
-Enter = enter
-PanelOtherCd = alt-o
-PanelOtherCdLink = alt-l
-ViewRaw = f13
-EditNew = f14
-CopySingle = f15
-MoveSingle = f16
-DeleteSingle = f18
-Select = alt-plus
-Unselect = alt-minus
-SelectInvert = alt-asterisk
-CdChild = ctrl-pgdn
-CdParent = ctrl-pgup
-Panelize =
-CdParentSmart =
-History = alt-shift-h
-HistoryNext = alt-u
-HistoryPrev = alt-y
-BottomOnScreen = alt-j
-MiddleOnScreen = alt-r
-TopOnScreen = alt-g
-PanelOtherSync = alt-i
-SelectCodepage = alt-e
-Top = alt-lt; home; a1
-Bottom = alt-gt; end; c1
-Sort =
-SortPrev =
-SortNext =
-SortReverse =
-SortByName =
-SortByExt =
-SortBySize =
-SortByMTime =
-
-[dialog]
-Ok = enter
-Cancel = f10; esc
-Up = left; up
-#Left = left; up
-Down = right; down
-#Right = right; down
-Help = f1
-Suspend = ctrl-z
-Refresh = ctrl-l
-ScreenList = alt-prime
-ScreenNext = alt-rbrace
-ScreenPrev = alt-lbrace
-
-[input]
-Home = ctrl-a; alt-lt; home; a1
-End = ctrl-e; alt-gt; end; c1
-Left = left; alt-left; ctrl-b
-Right = right; alt-right; ctrl-f
-WordLeft = ctrl-left; alt-b
-WordRight = ctrl-right; alt-f
-Backspace = backspace
-Delete = delete
-DeleteToWordBegin = alt-backspace
-DeleteToWordEnd = alt-d
-Mark =
-Remove = ctrl-w
-Cut =
-Store = alt-w
-Paste =
-Yank = ctrl-y
-DeleteToEnd = ctrl-k
-HistoryPrev = alt-p; ctrl-down
-HistoryNext = alt-n; ctrl-up
-History = alt-h
-Complete = alt-tab
-Clear =
-MarkLeft =
-MarkRight =
-MarkToWordBegin =
-MarkToWordEnd =
-MarkToHome =
-MarkToEnd =
-
-[listbox]
-Up = up; ctrl-p
-Down = down; ctrl-n
-Top = home; alt-lt; a1
-Bottom = end; alt-gt; c1
-PageUp = pgup; alt-v
-PageDown = pgdn; ctrl-v
-Delete = delete; d
-Clear = shift-delete; shift-d
-
-[tree]
-Help = f1
-Reread = f2; ctrl-r
-Forget = f3
-ToggleNavigation = f4
-Copy = f5
-Move = f6
-Up = up; ctrl-p
-Down = down; ctrl-n
-Left = left
-Right = right
-Top = home; alt-lt; a1
-Bottom = end; alt-gt; c1
-PageUp = pgup; alt-v
-PageDown = pgdn; ctrl-v
-Enter = enter
-Search = ctrl-s; alt-s
-Delete = f8; delete
-
-[help]
-Help = f1
-Index = f2; c
-Back = f3; left; l
-Quit = f10; esc; ctrl-g
-Up = up; ctrl-p
-Down = down; ctrl-n
-PageDown = f; space; pgdn; ctrl-v
-PageUp = b; pgup; alt-v; backspace
-HalfPageDown = d
-HalfPageUp = u
-Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
-Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
-Enter = right; enter
-LinkNext = tab
-LinkPrev = alt-tab
-NodeNext = n
-NodePrev = p
-
-[editor]
-Store = alt-w
-Paste = ctrl-y
-Cut = ctrl-w
-Up = up; ctrl-p
-Down = down; ctrl-n
-Left = left; ctrl-b
-Right = right; ctrl-f
-WordLeft = ctrl-left; alt-b
-WordRight = ctrl-right; alt-f
-Enter = enter
-Return = shift-enter
-BackSpace = backspace
-Delete = delete
-PageUp = pgup; alt-v
-PageDown = pgdn; ctrl-v
-Home = home; ctrl-a
-End = end; ctrl-e
-Tab = tab
-Undo = ctrl-u
-Redo =
-Top = ctrl-home; alt-lt
-Bottom = ctrl-end; alt-gt
-ScrollUp = ctrl-up
-ScrollDown = ctrl-down
-TopOnScreen = ctrl-pgup
-BottomOnScreen = ctrl-pgdn
-DeleteToWordBegin = alt-backspace
-DeleteToWordEnd = alt-d
-DeleteLine = ctrl-y
-DeleteToEnd = ctrl-k
-DeleteToHome =
-ParagraphUp =
-ParagraphDown =
-Save = f2
-EditFile =
-SaveAs = f12; ctrl-f2
-Mark = f3; ctrl-at
-Copy = f5
-Move = f6
-Remove = f8
-MarkLine =
-MarkWord =
-MarkAll =
-Unmark =
-Search = f7; ctrl-s
-SearchContinue = f17
-BlockShiftLeft =
-BlockShiftRight =
-MarkPageUp = shift-pgup
-MarkPageDown = shift-pgdn
-MarkLeft = shift-left
-MarkRight = shift-right
-MarkToWordBegin = ctrl-shift-left
-MarkToWordEnd = ctrl-shift-right
-MarkUp = shift-up
-MarkDown = shift-down
-MarkToHome = shift-home
-MarkToEnd = shift-end
-MarkToFileBegin = ctrl-shift-home
-MarkToFileEnd = ctrl-shift-end
-MarkToPageBegin = ctrl-shift-pgup
-MarkToPageEnd = ctrl-shift-pgdn
-MarkScrollUp = ctrl-shift-up
-MarkScrollDown = ctrl-shift-down
-MarkParagraphUp =
-MarkParagraphDown =
-MarkColumnPageUp = alt-pgup
-MarkColumnPageDown = alt-pgdn
-MarkColumnLeft = alt-left
-MarkColumnRight = alt-right
-MarkColumnUp = alt-up
-MarkColumnDown = alt-down
-MarkColumnScrollUp =
-MarkColumnScrollDown =
-MarkColumnParagraphUp =
-MarkColumnParagraphDown =
-BlockSave =
-MarkColumn = f13
-Replace = f4
-ReplaceContinue = f14
-Complete = alt-tab
-InsertFile = f15
-Quit = f10
-InsertOverwrite = insert
-Help = f1
-Date =
-Refresh = ctrl-l
-Goto = alt-l
-Sort = alt-t
-Mail =
-ParagraphFormat = alt-p
-MatchBracket =
-ExternalCommand = alt-u
-UserMenu = f11
-Menu = f9
-Bookmark =
-BookmarkFlush =
-BookmarkNext =
-BookmarkPrev =
-History =
-Shell = ctrl-o
-InsertLiteral = ctrl-q
-MacroStartRecord =
-MacroStopRecord =
-MacroStartStopRecord = ctrl-r
-MacroDelete =
-ShowNumbers = alt-n
-ShowTabTws = alt-underline
-SyntaxOnOff = ctrl-s
-SyntaxChoose =
-ShowMargin =
-Find = alt-enter
-FilePrev = alt-minus
-FileNext = alt-plus
-RepeatStartStopRecord =
-SelectCodepage = alt-e
-Options =
-OptionsSaveMode =
-LearnKeys =
-ExtendedKeyMap = ctrl-x
-
-[editor:xmap]
-EditNew = k
-
-[viewer]
-Help = f1
-WrapMode = f2
-Quit = f3; f10; q; esc
-HexMode = f4
-Goto = f5
-Search = f7; question; slash
-MagicMode = f8
-NroffMode = f9
-SearchContinue = ctrl-r; ctrl-s; f17; n
-Home = ctrl-a
-End = ctrl-e
-Left = h; left
-Right = l; right
-LeftQuick= ctrl-left
-RightQuick = ctrl-right
-Up = k; y; insert; up; ctrl-p
-Down = j; e; delete; down; enter; ctrl-n
-PageDown = f; space; pgdn; ctrl-v
-PageUp = b; pgup; alt-v; backspace
-HalfPageDown = d
-HalfPageUp = u
-Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
-Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
-BookmarkGoto = m
-Bookmark = r
-FileNext = ctrl-f
-FilePrev = ctrl-b
-SelectCodepage = alt-e
-Shell = ctrl-o
-Ruler = alt-r
-
-[viewer:hex]
-Help = f1
-HexEditMode = f2
-Quit = f3; f10; q; esc
-HexMode = f4
-Goto = f5
-Save = f6
-Search = f7; question; slash
-SearchContinue = ctrl-r; ctrl-s; f17; n
-MagicMode = f8
-NroffMode = f9
-ToggleNavigation = tab
-Home = ctrl-a; home
-End = ctrl-e; end
-Left = b; left
-Right = f; right
-Up = k; y; up
-Down = j; delete; down
-PageDown = pgdn; ctrl-v
-PageUp = pgup; alt-v
-Top = ctrl-home; ctrl-pgup; a1; alt-lt; g
-Bottom = ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
-
-[diffviewer]
-ShowSymbols = alt-s; s
-ShowNumbers = alt-n; l
-SplitFull = f
-SplitEqual = equal
-SplitMore = gt
-SplitLess = lt
-Tab2 = 2
-Tab3 = 3
-Tab4 = 4
-Tab8 = 8
-Swap = ctrl-u
-Redo = ctrl-r
-HunkNext = n; enter; space
-HunkPrev = p; backspace
-Goto = g; shift-g
-Save = f2
-Edit = f4
-EditOther = f14
-Merge = f5
-Search = f7
-SearchContinue = f17
-Options = f9
-Top = ctrl-home
-Bottom = ctrl-end
-Down = down
-Up = up
-LeftQuick = ctrl-left
-RightQuick = ctrl-right
-Left = left
-Right = right
-PageDown = pgdn
-PageUp = pgup
-Home = home
-End = end
-Help = f1
-Quit = f10; q; shift-q; esc
-Shell = ctrl-o
-SelectCodepage = alt-e
+++ /dev/null
-shell_patterns=0
-+ ! t t
-@ Do something on the current file
- CMD=%{Enter command}
- $CMD %f
-
-+ t t
-@ Do something on the tagged files
- set %t; CMD=%{Enter command}
- while [ -n "$1" ]; do
- $CMD "$1"
- shift
- done
-
-
-0 Edit a bug report and send it to root
- I=`mktemp "${MC_TMPDIR:-/tmp}/mail.XXXXXX"` || exit 1
- ${EDITOR-vi} "$I"
- test -r $I && mail root < $I
- rm -f "$I"
-
-=+ f \.1$ | f \.3$ | f \.4$ | f \.5$ | f \.6$ | f \.7$ | f \.8$ | f \.man$ & t r
-1 Display the file with roff -man
- nroff -man %f | less
-
-2 Call the info hypertext browser
- info
-
-= t d
-3 Compress the current subdirectory (tar.gz)
- Pwd=`basename %d /`
- echo -n "Name of the compressed file (without extension) [$Pwd]: "
- read tar
- if [ "$tar"x = x ]; then tar="$Pwd"; fi
- cd .. && \
- tar cf - "$Pwd" | gzip -f9 > "$tar.tar.gz" && \
- echo "../$tar.tar.gz created."
-
-4 Compress the current subdirectory (tar.bz2)
- Pwd=`basename %d /`
- echo -n "Name of the compressed file (without extension) [$Pwd]: "
- read tar
- if [ "$tar"x = x ]; then tar="$Pwd"; fi
- cd .. && \
- tar cf - "$Pwd" | bzip2 -f > "$tar.tar.bz2" && \
- echo "../$tar.tar.bz2 created."
-
-5 Compress the current subdirectory (tar.p7)
- Pwd=`basename %d /`
- echo -n "Name of the compressed file (without extension) [$Pwd]: "
- read tar
- if [ "$tar"x = x ]; then tar="$Pwd"; fi
- cd .. && \
- tar cf - "$Pwd" | 7za a -si "$tar.tar.7z" && \
- echo "../$tar.tar.7z created."
-
-6 Compress the current subdirectory (tar.lzma)
- Pwd=`basename %d /`
- echo -n "Name of the compressed file (without extension) [$Pwd]: "
- read tar
- if [ "$tar"x = x ]; then tar="$Pwd"; fi
- cd .. && \
- tar cf - "$Pwd" | lzma -f > "$tar.tar.lzma" && \
- echo "../$tar.tar.lzma created."
-
-7 Compress the current subdirectory (tar.lz)
- Pwd=`basename %d /`
- echo -n "Name of the compressed file (without extension) [$Pwd]: "
- read tar
- if [ "$tar"x = x ]; then tar="$Pwd"; fi
- cd .. && \
- tar cf - "$Pwd" | lzip -f > "$tar.tar.lz" && \
- echo "../$tar.tar.lz created."
-
-8 Compress the current subdirectory (tar.xz)
- Pwd=`basename %d /`
- echo -n "Name of the compressed file (without extension) [$Pwd]: "
- read tar
- if [ "$tar"x = x ]; then tar="$Pwd"; fi
- cd .. && \
- tar cf - "$Pwd" | xz -f > "$tar.tar.xz" && \
- echo "../$tar.tar.xz created."
-
-= f \.c$ & t r
-+ f \.c$ & t r & ! t t
-с Compile and link current .c file
- make `basename %f .c` 2>/dev/null || cc -O -o `basename %f .c` %f
-
-+ t r & ! t t
-a Append file to opposite
- cat %f >> %D/%f
-
-+ t t
-A Append files to opposite files
- set %t
- while [ -n "$1" ]; do
- cat "$1" >> "%D/$1"
- shift
- done
-
-+ t r & ! t t
-d Delete file if a copy exists in the other directory.
- if [ "%d" = "%D" ]; then
- echo "The two directories must be different."
- exit 1
- fi
- if [ -f %D/%f ]; then # if two of them, then
- if cmp -s %D/%f %f; then
- rm %f && echo "%f: DELETED."
- else
- echo "%f and %D/%f differ: NOT deleted."
- echo -n "Press RETURN "
- read key
- fi
- else
- echo "%f: No copy in %D/%f: NOT deleted."
- fi
-
-+ t t
-D Delete tagged files if a copy exists in the other directory.
- if [ "%d" = "%D" ]; then
- echo "The two directores must be different."
- exit 1
- fi
- for i in %t
- do
- if [ -f "%D/$i" ]; then
- SUM1="`sum $i`"
- SUM2="`sum %D/$i`"
- if [ "$SUM1" = "$SUM2" ]; then
- rm "$i" && echo "${i}: DELETED."
- else
- echo "$i and %D/$i differ: NOT deleted."
- fi
- else
- echo "%f has no copy in %D/%f: NOT deleted."
- fi
- done
-
-m View manual page
- MAN=%{Enter manual name}
- %view man -P cat $MAN
-
-= f \.gz$ & t r
-+ ! t t
-n Inspect gzip'ed newsbatch file
- dd if=%f bs=1 skip=12|zcat|${PAGER-more}
- # assuming the cunbatch header is 12 bytes long.
-
-= t r &
-+ ! t t
-h Strip headers from current newsarticle
- CHECK=`awk '{print $1 ; exit}' %f` 2>/dev/null
- case "$CHECK" in
- Newsgroups:|Path:)
- I=`mktemp "${MC_TMPDIR:-/tmp}/news.XXXXXX"` || exit 1
- cp %f "$I" && sed '/^'"$CHECK"' /,/^$/d' "$I" > %f
- [ "$?" = "0" ] && rm "$I"
- echo "%f: header removed."
- ;;
- *)
- echo "%f is not a news article."
- ;;
- esac
-
-+ t t
-H Strip headers from the marked newsarticles
- set %t
- while [ -n "$1" ]; do
- CHECK=`awk '{print $1 ; exit}' $1` 2>/dev/null
- WFILE=`mktemp "${MC_TMPDIR:-/tmp}/news.XXXXXX"` || exit 1
- case "$CHECK" in
- Newsgroups:|Path:)
- cp "$1" "$WFILE" && sed '/^'"$CHECK"' /,/^$/d' "$WFILE" > "$1"
- if [ "$?" = "0" ]; then
- rm "$WFILE"; echo "$1 header removed. OK."
- else
- echo "Oops! Please check $1 against $WFILE."
- fi
- ;;
- *)
- echo "$1 skipped: Not a news article."
- ;;
- esac
- shift
- done
-
-= t r
-+ ! t t
-r Copy file to remote host
- echo -n "To which host?: "
- read Host
- echo -n "To which directory on $Host?: "
- read Dir
- rcp -p %f "${Host}:$Dir"
-
-+ t t
-R Copy files to remote host (no error checking)
- echo -n "Copy files to which host?: "
- read Host
- echo -n "To which directory on $Host? :"
- read Dir
- rcp -pr %u "${Host}:$Dir"
-
-= f \.tex$ & t r
-+ f \.tex$ & t r & ! t t
-t Run latex on file and show it with xdvi
- latex %f && xdvi `basename %f .tex`.dvi
-
-=+ f ^part | f ^Part | f uue & t r
-+ t t
-U Uudecode marked news articles (needs work)
- set %t
- (
- while [ -n "$1" ]; do # strip headers
- FIRST=`awk '{print $1 ; exit}' "$1"`
- cat "$1" | sed '/^'"$FIRST"' /,/^$/d'; shift
- done
- ) |sed '/^$/d' |sed -n '/^begin 6/,/^end$/p' | uudecode
- if [ "$?" != "0" ]; then
- echo "Cannot decode %t."
- fi
- echo "Please test the output file before deleting anything."
-
-=+ 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.lzma)
- PRG="lzma -dc"
- ;;
- *.tar.lz)
- PRG="lzip -dc"
- ;;
- *.tar.xz)
- PRG="xz -dc"
- ;;
- *.tar.7z)
- PRG="7za e -so"
- ;;
- *)
- exit 1
- ;;
- esac
- $PRG %f | tar xvf -
-
-= t r
-+ ! t t
-y Gzip or gunzip current file
- unset DECOMP
- case %f in
- *.gz) DECOMP=-d;;
- *.[zZ]) DECOMP=-d;;
- esac
- gzip $DECOMP -v %f
-
-+ t t
-Y Gzip or gunzip tagged files
- for i in %t
- do
- unset DECOMP
- case "$i" in
- *.gz) DECOMP=-d;;
- *.[zZ]) DECOMP=-d;;
- esac
- gzip $DECOMP -v "$i"
- done
-
-+ ! t t
-b Bzip2 or bunzip2 current file
- unset DECOMP
- case %f in
- *.bz2) DECOMP=-d;;
- esac
- bzip2 $DECOMP -v %f
-
-+ t t
-B Bzip2 or bunzip2 tagged files
- for i in %t
- do
- unset DECOMP
- case "$i" in
- *.bz2) DECOMP=-d;;
- esac
- bzip2 $DECOMP -v "$i"
- done
-
-+ f \.tar.gz$ | f \.tgz$ | f \.tpz$ | f \.tar.Z$ | f \.tar.z$ | f \.tar.bz2$ | f \.tar.F$ & t r & ! t t
-z Extract compressed tar file to subdirectory
- unset D
- set gzip -cd
- case %f in
- *.tar.gz) D="`basename %f .tar.gz`";;
- *.tgz) D="`basename %f .tgz`";;
- *.tpz) D="`basename %f .tpz`";;
- *.tar.Z) D="`basename %f .tar.Z`";;
- *.tar.z) D="`basename %f .tar.z`";;
- *.tar.bz2) D="`basename %f .tar.bz2`"; set bunzip2 -c ;;
- *.tar.F) D="`basename %f .tar.F`"; set freeze -dc;
- esac
- mkdir "$D"; cd "$D" && ("$1" "$2" ../%f | tar xvf -)
-
-+ t t
-Z Extract compressed tar files to subdirectories
- for i in %t
- do
- set gzip -dc
- unset D
- case "$i" in
- *.tar.gz) D="`basename $i .tar.gz`";;
- *.tgz) D="`basename $i .tgz`";;
- *.tpz) D="`basename $i .tpz`";;
- *.tar.Z) D="`basename $i .tar.Z`";;
- *.tar.z) D="`basename $i .tar.z`";;
- *.tar.F) D="`basename $i .tar.F`"; set freeze -dc;;
- *.tar.bz2) D="`basename $i .tar.bz2`"; set bunzip2 -c;;
- esac
- mkdir "$D"; (cd "$D" && "$1" "$2" "../$i" | tar xvf -)
- done
-
-+ f \.gz$ | f \.tgz$ | f \.tpz$ | f \.Z$ | f \.z$ | f \.bz2$ & t r & ! t t
-c Convert gz<->bz2, tar.gz<->tar.bz2 & tgz->tar.bz2
- unset D
- unset EXT
- case %f in
- *.tgz) EXT=tgz;;
- *.tpz) EXT=tpz;;
- *.Z) EXT=Z;;
- *.z) EXT=z;;
- *.gz) EXT=gz;;
- *.bz2) EXT=bz2;;
- esac
- case $EXT in
- tgz|tpz) D="`basename %f .$EXT`.tar";;
- gz|Z|z) D="`basename %f .$EXT`";;
- bz2) D="`basename %f .bz2`";;
- esac
- if [ "$EXT" = "bz2" ]; then
- bunzip2 -v %f ; gzip -f9 -v "$D"
- else
- gunzip -v %f ; bzip2 -v "$D"
- fi
-
-+ t t
-C Convert gz<->bz2, tar.gz<->tar.bz2 & tgz->tar.bz2
- set %t
- while [ -n "$1" ]
- do
- unset D
- unset EXT
- case "$1" in
- *.tgz) EXT=tgz;;
- *.tpz) EXT=tpz;;
- *.Z) EXT=Z;;
- *.z) EXT=z;;
- *.gz) EXT=gz;;
- *.bz2) EXT=bz2;;
- esac
- case $EXT in
- tgz) D="`basename $1 .tgz`.tar";;
- tpz) D="`basename $1 .tpz`.tar";;
- gz|Z|z) D="`basename $1 .$EXT`";;
- bz2) D="`basename $1 .bz2`";;
- esac
- if [ "$EXT" = "bz2" ]; then
- bunzip2 -v "$1"
- gzip -f9 -v "$D"
- else
- gunzip -v "$1"
- bzip2 -v "$D"
- fi
- shift
- done
-
-+ x /usr/bin/open | x /usr/local/bin/open & x /bin/sh
-o Open next a free console
- open -s -- sh
[directory]
type=DIR
-
[device]
type=DEVICE
[symlink]
type=SYMLINK
+[hardlink]
+ type=HARDLINK
+
[core]
regexp=^core\\.*\\d*$
regexp=(^#.*|.*~$)
[archive]
- extensions=gz;bz2;tar;tgz;rpm;Z;rar;zip;arj;cab;lzh;lha;zoo;arc;ark;xz;tbz;tbz2;
+ extensions=gz;bz2;tar;tgz;rpm;Z;rar;zip;arj;cab;lzh;lha;zoo;arc;ark;xz;tbz;tbz2;7z;ace
[doc]
- extensions=txt;doc;rtf;diz;ctl;me;ps;pdf;xml;xsd;xslt;dtd;html;shtml;htm;mail;msg;lsm;po;nroff;man;tex;sgml;css;text;letter;chm
+ extensions=txt;doc;rtf;diz;ctl;me;ps;pdf;xml;xsd;xslt;dtd;html;shtml;htm;mail;msg;lsm;po;nroff;man;tex;sgml;css;text;letter;chm;docx;docm;xlsx;xlsm;pptx;pptm
[source]
extensions=c;h;cc;hh;cpp;cxx;hpp;asm;py;pl;pm;inc;cgi;php;phps;js;java;jav;jasm;sh;bash;diff;patch;pas;tcl;tk;awk;m4;st;mak;sl;ada;caml;ml;mli;mly;mll;mlp;sas;prg;hs;hi;erl
[media]
- extensions=mp2;mp3;mpg;ogg;mpeg;wav;avi;asf;mov;mol;mpl;xm;mod;it;med;mid;midi;s3m;umx;vob;mkv;flv;mp4;m3u
+ extensions=mp2;mp3;mpg;ogg;mpeg;wav;avi;asf;mov;mol;mpl;xm;mod;it;med;mid;midi;s3m;umx;vob;mkv;flv;mp4;m3u;flac;ape;wma;wmv;3gp
[graph]
extensions=jpg;jpeg;gif;png;tif;pcx;bmp;xpm;xbm;eps;pic;rle;ico;wmf;omf;ai;cdr
# Maybe: Open/XOpen/GOpen/KOpen/... for Console/X/GNOME/KDE/etc.
+### GIT Repo ###
+# gitfs changeset
+regex/^\[git\]
+ Open=%cd %p/changesetfs://
+ View=%cd %p/patchsetfs://
+
### Archives ###
# .tgz, .tpz, .tar.gz, .tar.z, .tar.Z, .ipk
regex/\.t([gp]?z|ar\.g?[zZ])$|\.ipk$
- Open=%cd %p#utar
+ Open=%cd %p/utar://
View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
regex/\.tar\.bz$
- # Open=%cd %p#utar
+ # Open=%cd %p/utar://
View=%view{ascii} bzip -dc %f 2>/dev/null | tar tvvf -
regex/\.t(ar\.bz2|bz2?|b2)$
- Open=%cd %p#utar
+ Open=%cd %p/utar://
View=%view{ascii} bzip2 -dc %f 2>/dev/null | tar tvvf -
# .tar.lzma, .tlz
regex/\.t(ar\.lzma|lz)$
- Open=%cd %p#utar
+ Open=%cd %p/utar://
View=%view{ascii} lzma -dc %f 2>/dev/null | tar tvvf -
# .tar.xz, .txz
regex/\.t(ar\.xz|xz)$
- Open=%cd %p#utar
+ Open=%cd %p/utar://
View=%view{ascii} xz -dc %f 2>/dev/null | tar tvvf -
# .tar.F - used in QNX
regex/\.tar\.F$
- # Open=%cd %p#utar
+ # Open=%cd %p/utar://
View=%view{ascii} freeze -dc %f 2>/dev/null | tar tvvf -
# .qpr/.qpk - QNX Neutrino package installer files
regex/\.(qp[rk])$
- Open=%cd %p#utar
+ Open=%cd %p/utar://
View=%view{ascii} gzip -dc %f 2>/dev/null | tar tvvf -
# tar
regex/\.(tar|TAR)$
- Open=%cd %p#utar
+ Open=%cd %p/utar://
View=%view{ascii} tar tvvf - < %f
# lha
type/^LHa\ .*archive
- Open=%cd %p#ulha
+ Open=%cd %p/ulha://
View=%view{ascii} lha l %f
# arj
regex/\.a(rj|[0-9][0-9])$
- Open=%cd %p#uarj
+ Open=%cd %p/uarj://
View=%view{ascii} unarj l %f
# cab
regex/\.([cC][aA][bB])$
- Open=%cd %p#ucab
+ Open=%cd %p/ucab://
View=%view{ascii} cabextract -l %f
# ha
regex/\.([Hh][Aa])$
- Open=%cd %p#uha
+ Open=%cd %p/uha://
View=%view{ascii} ha lf %f
# rar
regex/\.[rR]([aA][rR]|[0-9][0-9])$
- Open=%cd %p#urar
+ Open=%cd %p/urar://
View=%view{ascii} rar v -c- %f
# ALZip
regex/\.(alz|ALZ)$
- Open=%cd %p#ualz
+ Open=%cd %p/ualz://
View=%view{ascii} unalz -l %f
# cpio
shell/.cpio.Z
- Open=%cd %p#ucpio
+ Open=%cd %p/ucpio://
View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
shell/.cpio.gz
- Open=%cd %p#ucpio
+ Open=%cd %p/ucpio://
View=%view{ascii} gzip -dc %f | cpio -itv 2>/dev/null
shell/.cpio
- Open=%cd %p#ucpio
+ Open=%cd %p/ucpio://
View=%view{ascii} cpio -itv < %f 2>/dev/null
# ls-lR
regex/(^|\.)ls-?lR(\.gz|Z|bz2)$
- Open=%cd %p#lslR
+ Open=%cd %p/lslR://
# patch
regex/\.(diff|patch)(\.bz2)$
- Open=%cd %p#patchfs
+ Open=%cd %p/patchfs://
View=%view{ascii} bzip2 -dc %f 2>/dev/null
regex/\.(diff|patch)(\.(gz|Z))$
- Open=%cd %p#patchfs
+ Open=%cd %p/patchfs://
View=%view{ascii} gzip -dc %f 2>/dev/null
regex/\.(diff|patch)$
- Open=%cd %p#patchfs
+ Open=%cd %p/patchfs://
View=%view{ascii} /bin/cat %f 2>/dev/null
# ar library
regex/\.s?a$
- Open=%cd %p#uar
+ Open=%cd %p/uar://
#Open=%view{ascii} ar tv %f
View=%view{ascii} file %f && nm -C %f
# trpm
regex/\.trpm$
- Open=%cd %p#trpm
+ Open=%cd %p/trpm://
View=%view{ascii} rpm -qivl --scripts `basename %p .trpm`
# RPM packages (SuSE uses *.spm for source packages)
regex/\.(src\.rpm|spm)$
- Open=%cd %p#rpm
+ Open=%cd %p/rpm://
View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
regex/\.rpm$
- Open=%cd %p#rpm
+ Open=%cd %p/rpm://
View=%view{ascii} if rpm --nosignature --version >/dev/null 2>&1; then RPM="rpm --nosignature" ; else RPM="rpm" ; fi ; $RPM -qivlp --scripts %f
# deb
regex/\.u?deb$
- Open=%cd %p#deb
+ Open=%cd %p/deb://
View=%view{ascii} dpkg-deb -I %f && echo && dpkg-deb -c %f
# dpkg
shell/.debd
- Open=%cd %p#debd
+ Open=%cd %p/debd://
View=%view{ascii} dpkg -s `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
# apt
shell/.deba
- Open=%cd %p#deba
+ Open=%cd %p/deba://
View=%view{ascii} apt-cache show `echo %p | sed 's/\([0-9a-z.-]*\).*/\1/'`
# ISO9660
regex/\.([iI][sS][oO])$
- Open=%cd %p#iso9660
+ Open=%cd %p/iso9660://
View=%view{ascii} isoinfo -l -i %f
# 7zip archives (they are not man pages)
regex/\.(7z|7Z)$
- Open=%cd %p#u7z
+ Open=%cd %p/u7z://
View=%view{ascii} 7za l %f 2>/dev/null
# Mailboxes
type/^ASCII\ mail\ text
- Open=%cd %p#mailfs
+ Open=%cd %p/mailfs://
### Sources ###
# C
shell/.c
- Open=%var{EDITOR:vi} %f
+ Include=editor
# Fortran
shell/.f
- Open=%var{EDITOR:vi} %f
+ Include=editor
# Header
regex/\.(h|hpp)$
- Open=%var{EDITOR:vi} %f
+ Include=editor
# Asm
shell/.s
- Open=%var{EDITOR:vi} %f
+ Include=editor
# C++
regex/\.(C|cc|cpp)$
+ Include=editor
+
+include/editor
Open=%var{EDITOR:vi} %f
# .so libraries
shell/.info
Open=info -f %f
+# Exception: .3gp are video files not manual pages
+regex/\.(3[gG][pP])$
+ Include=video
+
# Manual page
regex/(([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])|\.man)$
Open=case %d/%f in */log/*|*/logs/*) cat %f ;; *) { zsoelim %f 2>/dev/null || cat %f; } | nroff -c -Tlatin1 -mandoc ;; esac | %var{PAGER:more}
regex/\.([mM][pP]4|[mM][pP][eE]?[gG])$
Include=video
+# MPEG-2 TS container + H.264 codec
+regex/\.([mM][tT][sS])$
+ Include=video
+
regex/\.([vV][oO][bB])$
Include=video
# TeX
regex/\.([Tt][Ee][Xx])$
- Open=%var{EDITOR:vi} %f
+ Include=editor
# DjVu
regex/\.(djvu|DJVU)$
# Disk images for Commodore computers (VIC20, C64, C128)
regex/\.(d64|D64)$
- Open=%cd %p#uc1541
+ Open=%cd %p/uc1541://
View=%view{ascii} c1541 %f -list
Extract=c1541 %f -extract
Open=lyx %f
View=%view{ascii} lyxcat %f
+# torrent
+regex/\.([tT][oO][rR][rR][eE][nN][tT])$
+ View=%view{ascii} ctorrent -x %f 2>/dev/null
+
### Plain compressed files ###
# ace
regex/\.(ace|ACE)$
- Open=%cd %p#uace
+ Open=%cd %p/uace://
View=%view{ascii} unace l %f
Extract=unace x %f
# arc
regex/\.(arc|ARC)$
- Open=%cd %p#uarc
+ Open=%cd %p/uarc://
View=%view{ascii} arc l %f
Extract=arc x %f '*'
Extract (with flags)=I=%{Enter any Arc flags:}; if test -n "$I"; then arc x $I %f; fi
# zip
type/^([Zz][Ii][Pp])\ archive
- Open=%cd %p#uzip
+ Open=%cd %p/uzip://
View=%view{ascii} unzip -v %f
# zoo
regex/\.([Zz][Oo][Oo])$
- Open=%cd %p#uzoo
+ Open=%cd %p/uzoo://
View=%view{ascii} zoo l %f
# gzip
Open=xz -dc %f | %var{PAGER:more}
View=%view{ascii} xz -dc %f 2>/dev/null
-
### Default ###
# Default target for anything not described above
-[editor]
-EditXStore = ctrl-insert
-EditXPaste = shift-insert
-EditXCut = shift-delete
-
-EditDeleteLine = ctrl-y
-EditDeleteToLineEnd = ctrl-k
-EditDeleteToLineBegin =
-
-EditLeft = left
-EditRight = right
-EditUp = up
-EditDown = down
-EditEnter = enter
-EditReturn = shift-enter
-EditBackSpace = backspace; ctrl-h
-EditDelete = delete; ctrl-d
-EditPageUp = pgup
-EditPageDown = pgdn
-EditWordLeft = ctrl-left; ctrl-z
-EditWordRight = ctrl-right; ctrl-x
-EditHome = home
-EditEnd = end
-EditTab = tab
-EditUndo = ctrl-u
-EditBeginningOfText = ctrl-home; alt-lt
-EditEndOfText = ctrl-end; alt-gt
-EditScrollUp = ctrl-up
-EditScrollDown = ctrl-down
-EditBeginPage = ctrl-pgup
-EditEndPage = ctrl-pgdn
-EditDeleteWordLeft = alt-backspace
-EditDeleteWordRight = alt-d
-EditParagraphUp =
-EditParagraphDown =
-EditSave = f2
-EditLoad =
-EditNew = ctrl-n
-EditSaveas = f12
-EditMark = f3
-EditCopy = f5
-EditMove = f6
-EditRemove = f8
-EditMarkAll =
-EditUnmark =
-EditFind = f7
-EditMarkLine =
-EditMarkWord =
-
-EditShiftBlockLeft =
-EditShiftBlockRight =
-
-EditPageUpHighlight = shift-pgup
-EditPageDownHighlight = shift-pgdn
-EditLeftHighlight = shift-left
-EditRightHighlight = shift-right
-EditWordLeftHighlight = ctrl-shift-left
-EditWordRightHighlight = ctrl-shift-right
-EditUpHighlight = shift-up
-EditDownHighlight = shift-down
-EditHomeHighlight = shift-home
-EditEndHighlight = shift-end
-EditBeginningOfTextHighlight = ctrl-shift-home
-EditEndOfTextHighlight = ctrl-shift-end
-EditBeginPageHighlight = ctrl-shift-pgup
-EditEndPageHighlight = ctrl-shift-pgdn
-EditScrollUpHighlight = ctrl-shift-up
-EditScrollDownHighlight = ctrl-shift-down
-EditParagraphUpHighlight =
-EditParagraphDownHighlight =
-
-EditPageUpAltHighlight = alt-pgup
-EditPageDownAltHighlight = alt-pgdn
-EditLeftAltHighlight = alt-left
-EditRightAltHighlight = alt-right
-EditWordLeftAltHighlight = ctrl-alt-left
-EditWordRightAltHighlight = ctrl-alt-right
-EditUpAltHighlight = alt-up
-EditDownAltHighlight = alt-down
-EditHomeAltHighlight = alt-home
-EditEndAltHighlight = alt-end
-EditBeginningOfTextAltHighlight = ctrl-alt-home
-EditEndOfTextHighlight = ctrl-alt-end
-EditBeginPageHighlight = ctrl-alt-pgup
-EditEndPageAltHighlight = ctrl-alt-pgdn
-EditScrollUpAltHighlight =
-EditScrollDownAltHighlight =
-EditParagraphUpAltHighlight =
-EditParagraphDownAltHighlight =
-
-EditSaveBlock = ctrl-f
-EditColumnMark = f13
-EditFindAgain = f17
-EditReplace = f4
-EditReplaceAgain = f14
-EditCompleteWord = alt-tab
-EditDebugStart =
-EditDebugStop =
-EditDebugToggleBreak =
-EditDebugClear =
-EditDebugNext =
-EditDebugStep =
-EditDebugBackTrace =
-EditDebugContinue =
-EditDebugEnterCommand =
-EditDebugUntilCurser =
-EditInsertFile = f15
-EditQuit = f10
-EditToggleInsert = insert
-EditHelp = f1
-EditDate =
-EditRefresh = ctrl-l
-EditGoto = alt-l
-EditManPage =
-EditSort = alt-t
-EditMail = alt-m
-EditCancel =
-EditComplete =
-
-EditParagraphFormat = alt-p
-EditUtil =
-EditTypeLoadPython =
-EditFindFile =
-EditCtags =
-EditMatchBracket = alt-b
-EditTerminal =
-EditTerminalApp =
-EditExtCmd = alt-u
-EditUserMenu = f11
-EditSaveDesktop =
-EditNewWindow =
-EditCycle =
-EditMenu = f9
-EditSaveAndQuit =
-EditRunAnother =
-EditCheckSaveAndQuit =
-EditMaximize =
-EditToggleBookmark = alt-k
-EditFlushBookmarks = alt-o
-EditNextBookmark = alt-j
-EditPrevBookmark = alt-i
-
-EditSelectionHistory =
-EditShell = ctrl-o
-EditInsertLiteral = ctrl-q
-
-EditBeginRecordMacro =
-EditEndRecordMacro =
-EditBeginOrEndMacro = ctrl-r
-EditExecuteMacro = ctrl-a
-EditDeleteMacro =
-
-EditToggleLineState = alt-n
-EditToggleTabTWS = alt-underline
-EditToggleSyntax = ctrl-s
-EditToggleShowMargin =
-
-EditFindDefinition = alt-enter
-EditLoadPrevFile = alt-minus
-EditLoadNextFile = alt-plus
-
-SelectCodepage = alt-e
-
-[viewer]
-ViewHelp = f1
-ViewToggleWrapMode = f2
-ViewQuit = f3; f10; q; esc
-ViewToggleHexMode = f4
-ViewGoto = f5
-ViewSearch = f7; question; slash
-ViewToggleMagicMode = f8
-ViewToggleNroffMode = f9
-ViewContinueSearch = ctrl-r; ctrl-s; f17; n
-ViewMoveToBol = ctrl-a
-ViewMoveToEol = ctrl-e
-ViewMoveLeft = h; left
-ViewMoveRight = l; right
-ViewMoveLeft10 = ctrl-left
-ViewMoveRight10 = ctrl-right
-ViewMoveUp = k; y; insert; up; ctrl-p
-ViewMoveDown = j; e; delete; down; enter; ctrl-n
-ViewMovePgDn = f; space; pgdn; ctrl-v
-ViewMovePgUp = b; pgup; alt-v; backspace
-ViewMoveHalfPgDn = d
-ViewMoveHalfPgUp = u
-ViewMoveTop = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
-ViewMoveBottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
-ViewGotoBookmark = m
-ViewNewBookmark = r
-ViewNextFile = ctrl-f
-ViewPrevFile = ctrl-b
-SelectCodepage = alt-e
-ShowCommandLine = ctrl-o
-ViewToggleRuler = alt-r
-
-[viewer:hex]
-ViewHelp = f1
-ViewToggleHexEditMode = f2
-ViewQuit = f3; f10; q; esc
-ViewToggleHexMode = f4
-ViewGoto = f5
-ViewHexEditSave = f6
-ViewSearch = f7; question; slash
-ViewToggleMagicMode = f8
-ViewToggleNroffMode = f9
-ViewToggleHexNavMode = tab
-ViewMoveToBol = ctrl-a; home
-ViewMoveToEol = ctrl-e; end
-ViewMoveLeft = b; left
-ViewMoveRight = f; right
-ViewMoveUp = k; y; up
-ViewMoveDown = j; delete; down
-ViewMovePgDn = pgdn; ctrl-v
-ViewMovePgUp = pgup; alt-v
-ViewMoveTop = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
-ViewMoveBottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
-
[main]
-CmdHelp = f1
-CmdUserMenu = f2
-CmdView = f3
-CmdViewFile = f13
-CmdEdit = f4
-CmdEditForceInternal =
-CmdCopy = f5
-CmdRename = f6
-CmdMkdir = f7
-CmdDelete = f8
-CmdMenu = f9
-CmdQuit = f10
-CmdMenuLastSelected = f19
-CmdQuietQuit = f20
-CmdFind = alt-question
-CmdQuickCd = alt-c
-CmdQuickChdir = ctrl-backslash
-CmdReread = ctrl-r
-CmdSingleDirsize = ctrl-space
-CmdSuspend = ctrl-z
-CmdSwapPanel = ctrl-u
-CmdHistory = alt-h
-CmdListing =
-CmdToggleListing = alt-t
-CmdToggleShowHidden = alt-dot
-CmdTogglePanelsSplit = alt-comma
-ShowCommandLine = ctrl-o
-CmdCopyCurrentPathname = alt-a
-CmdCopyOtherPathname = alt-shift-a
-CmdFilteredView = alt-exclamation
-CmdSelect = kpplus
-CmdUnselect = kpminus
-CmdReverseSelection = kpasterisk
-CmdDialogList = alt-prime
-ExtMap1 = ctrl-x
+Help = f1
+UserMenu = f2
+View = f3
+ViewFile =
+Edit = f4
+EditForceInternal =
+Copy = f5
+Move = f6
+MakeDir = f7
+Delete = f8
+Menu = f9
+Quit = f10
+MenuLastSelected = f19
+QuitQuiet = f20
+Find = alt-question
+CdQuick = alt-c
+HotList = ctrl-backslash
+Reread = ctrl-r
+DirSize = ctrl-space
+Suspend = ctrl-z
+Swap = ctrl-u
+History = alt-h
+PanelListing =
+PanelListingSwitch = alt-t
+PanelListingChange =
+ShowHidden = alt-dot
+SplitVertHoriz = alt-comma
+Shell = ctrl-o
+PutCurrentPath = alt-a
+PutOtherPath = alt-shift-a
+ViewFiltered = alt-exclamation
+Select = kpplus
+Unselect = kpminus
+SelectInvert = kpasterisk
+ScreenList = alt-prime
+OptionsLayout =
+OptionsPanel =
+OptionsConfirm =
+OptionsDisplayBits =
+OptionsVfs =
+LearnKeys =
+SaveSetup =
+EditExtensionsFile =
+EditFileHighlightFile =
+Filter =
+ConnectFish =
+ConnectFtp =
+ConnectSmb =
+Undelete =
+ExtendedKeyMap = ctrl-x
[main:xmap]
-CmdChmod = c
-CmdChown = o
-CmdCompareDirs = d
-CmdEditSymlink = ctrl-s
-CmdLink = l
-CmdSymlink = s
-CmdRelativeSymlink = v
-CmdInfo = i
-CmdQuickView = q
-CmdExternalPanelize = exclamation
-CmdReselectVfs = a
-CmdJobs = j
-CmdCopyCurrentPathname = p
-CmdCopyOtherPathname = ctrl-p
-CmdCopyCurrentTagged = t
-CmdCopyOtherTagged = ctrl-t
-CmdDiffView = ctrl-d
+ChangeMode = c
+ChangeOwn = o
+CompareDirs = d
+CompareFiles = ctrl-d
+HotListAdd = h
+LinkSymbolicEdit = ctrl-s
+Link = l
+LinkSymbolic = s
+LinkSymbolicRelative = v
+PanelInfo = i
+PanelQuickView = q
+ExternalPanelize = exclamation
+VfsList = a
+Jobs = j
+PutCurrentPath = p
+PutOtherPath = ctrl-p
+PutCurrentTagged = t
+PutOtherTagged = ctrl-t
+PutCurrentLink = r
+PutOtherLink = ctrl-r
[panel]
-PanelStartSearch = ctrl-s; alt-s
-PanelMarkFile = insert; ctrl-t
-PanelMarkFileUp = shift-up
-PanelMarkFileDown = shift-down
-PanelMoveDown = down; ctrl-n
-PanelMoveUp = up; ctrl-p
-PanelMoveLeft = left
-PanelMoveRight = right
-PanelPrevPage = pgup; alt-v
-PanelNextPage = pgdn; ctrl-v
-PanelDoEnter = enter
-PanelChdirOtherPanel = alt-o
-PanelChdirToReadlink = alt-l
-PanelViewSimple = F13
-PanelEditNew = F14
-PanelCopyLocal = F15
-PanelRenameLocal = F16
-PanelDeleteLocal = F18
-PanelReverseSelection = alt-asterisk
-PanelSelect = alt-plus
-PanelUnselect = alt-minus
-PanelGotoChildDir = ctrl-pgdn
-PanelGotoParentDir = ctrl-pgup
-PanelDirectoryHistoryList = alt-shift-h
-PanelDirectoryHistoryNext = alt-u
-PanelDirectoryHistoryPrev = alt-y
-PanelGotoBottomFile = alt-j
-PanelGotoMiddleFile = alt-r
-PanelSyncOtherPanel = alt-i
-PanelGotoTopFile = alt-g
-PanelSetPanelEncoding = alt-e
-PanelMoveHome = alt-lt; home; a1
-PanelMoveEnd = alt-gt; end; c1
-PanelSelectSortOrder=
-PanelToggleSortOrderPrev=
-PanelToggleSortOrderNext=
-PanelReverseSort=
-PanelSortOrderByName=
-PanelSortOrderByExt=
-PanelSortOrderBySize=
-PanelSortOrderByMTime=
-PanelSmartGotoParentDir=
+Search = ctrl-s; alt-s
+Mark = insert; ctrl-t
+MarkUp = shift-up
+MarkDown = shift-down
+MarkLeft =
+MarkRight =
+Down = down; ctrl-n
+Up = up; ctrl-p
+Left = left
+Right = right
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Enter = enter
+PanelOtherCd = alt-o
+PanelOtherCdLink = alt-l
+ViewRaw = f13
+EditNew = f14
+CopySingle = f15
+MoveSingle = f16
+DeleteSingle = f18
+Select = alt-plus
+Unselect = alt-minus
+SelectInvert = alt-asterisk
+CdChild = ctrl-pgdn
+CdParent = ctrl-pgup
+CdParentSmart =
+Panelize =
+History = alt-shift-h
+HistoryNext = alt-u
+HistoryPrev = alt-y
+BottomOnScreen = alt-j
+MiddleOnScreen = alt-r
+TopOnScreen = alt-g
+PanelOtherSync = alt-i
+SelectCodepage = alt-e
+Top = alt-lt; home; a1
+Bottom = alt-gt; end; c1
+Sort =
+SortPrev =
+SortNext =
+SortReverse =
+SortByName =
+SortByExt =
+SortBySize =
+SortByMTime =
+
+[dialog]
+Ok = enter
+Cancel = f10; esc; ctrl-g
+Up = left; up
+#Left = left; up
+Down = right; down
+#Right = right; down
+Help = f1
+Suspend = ctrl-z
+Refresh = ctrl-l
+ScreenList = alt-prime
+ScreenNext = alt-rbrace
+ScreenPrev = alt-lbrace
[input]
-InputBol = ctrl-a; alt-lt; home; a1
-InputEol = ctrl-e; alt-gt; end; c1
-InputMoveLeft = left; alt-left
-InputWordLeft = ctrl-left
-InputBackwardChar = ctrl-b
-InputBackwardWord = alt-b
-InputMoveRight = right; alt-right
-InputWordRight = ctrl-right
-InputForwardChar = ctrl-f
-InputForwardWord = alt-f
-InputBackwardDelete = backspace; ctrl-h
-InputDeleteChar = delete; ctrl-d
-InputKillWord = alt-d
-InputBackwardKillWord = alt-backspace
-InputSetMark =
-InputKillRegion = ctrl-w
-InputXCut =
-InputXStore = alt-w
-InputXPaste =
-InputYank = ctrl-y
-InputKillLine = ctrl-k
-InputHistoryPrev = alt-p; ctrl-down
-InputHistoryNext = alt-n; ctrl-up
-InputHistoryShow = alt-h
-InputComplete = alt-tab
-InputClearLine =
-InputLeftHighlight = shift-left
-InputRightHighlight = shift-right
-InputWordLeftHighlight = ctrl-shift-left
-InputWordRightHighlight = ctrl-shift-right
-InputBolHighlight = shift-home
-InputEolHighlight = shift-end
+Home = ctrl-a; alt-lt; home; a1
+End = ctrl-e; alt-gt; end; c1
+Left = left; alt-left; ctrl-b
+Right = right; alt-right; ctrl-f
+WordLeft = ctrl-left; alt-b
+WordRight = ctrl-right; alt-f
+Backspace = backspace; ctrl-h
+Delete = delete; ctrl-d
+DeleteToWordBegin = alt-backspace
+DeleteToWordEnd = alt-d
+Mark =
+Remove = ctrl-w
+Cut =
+Store = alt-w
+Paste =
+Yank = ctrl-y
+DeleteToEnd = ctrl-k
+HistoryPrev = alt-p; ctrl-down
+HistoryNext = alt-n; ctrl-up
+History = alt-h
+Complete = alt-tab
+Clear =
+MarkLeft = shift-left
+MarkRight = shift-right
+MarkToWordBegin = ctrl-shift-left
+MarkToWordEnd = ctrl-shift-right
+MarkToHome = shift-home
+MarkToEnd = shift-end
[listbox]
-ListboxMoveUp = up; ctrl-p
-ListboxMoveDown = down; ctrl-n
-ListboxMoveHome = home; alt-lt; a1
-ListboxMoveEnd = end; alt-gt; c1
-ListboxMovePgUp = pgup; alt-v
-ListboxMovePgDn = pgdn; ctrl-v
-ListboxDeleteItem = delete; d
-ListboxDeleteAll = shift-delete; shift-d
+Up = up; ctrl-p
+Down = down; ctrl-n
+Top = home; alt-lt; a1
+Bottom = end; alt-gt; c1
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Delete = delete; d
+Clear = shift-delete; shift-d
[tree]
-TreeHelp = f1
-TreeForget = f3
-TreeToggleNav = f4
-TreeCopy = f5
-TreeMove = f6
-TreeMoveUp = up; ctrl-p
-TreeMoveDown = down; ctrl-n
-TreeMoveLeft = left
-TreeMoveRight = right
-TreeMoveHome = home; alt-lt; a1
-TreeMoveEnd = end; alt-gt; c1
-TreeMovePgUp = pgup; alt-v
-TreeMovePgDn = pgdn; ctrl-v
-TreeOpen = enter
-TreeRescan = f2; ctrl-r
-TreeStartSearch = ctrl-s; alt-s
-TreeRemove = f8; delete
+Help = f1
+Reread = f2; ctrl-r
+Forget = f3
+ToggleNavigation = f4
+Copy = f5
+Move = f6
+Up = up; ctrl-p
+Down = down; ctrl-n
+Left = left
+Right = right
+Top = home; alt-lt; a1
+Bottom = end; alt-gt; c1
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Enter = enter
+Search = ctrl-s; alt-s
+Delete = f8; delete
[help]
-HelpHelp = f1
-HelpIndex = f2; c
-HelpBack = f3; left; l
-HelpQuit = f10; esc
-HelpMoveUp = up; ctrl-p
-HelpMoveDown = down; ctrl-n
-HelpMovePgDn = f; space; pgdn; ctrl-v
-HelpMovePgUp = b; pgup; alt-v; backspace
-HelpMoveHalfPgDn = d
-HelpMoveHalfPgUp = u
-HelpMoveTop = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
-HelpMoveBottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
-HelpSelectLink = right; enter
-HelpNextLink = tab
-HelpPrevLink = alt-tab
-HelpNextNode = n
-HelpPrevNode = p
+Help = f1
+Index = f2; c
+Back = f3; left; l
+Quit = f10; esc
+Up = up; ctrl-p
+Down = down; ctrl-n
+PageDown = f; space; pgdn; ctrl-v
+PageUp = b; pgup; alt-v; backspace
+HalfPageDown = d
+HalfPageUp = u
+Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+Enter = right; enter
+LinkNext = tab
+LinkPrev = alt-tab
+NodeNext = n
+NodePrev = p
-[dialog]
-DialogOK = enter
-DialogCancel = f10; esc; ctrl-g
-DialogPrevItem = left; up
-DialogNextItem = right; down
-DialogHelp = f1
-DialogSuspend = ctrl-z
-DialogRefresh = ctrl-l
-CmdDialogList = alt-prime
-CmdDialogNext = alt-rbrace
-CmdDialogPrev = alt-lbrace
+[editor]
+Store = ctrl-insert
+Paste = shift-insert
+Cut = shift-delete
+Up = up
+Down = down
+Left = left
+Right = right
+WordLeft = ctrl-left; ctrl-z
+WordRight = ctrl-right; ctrl-x
+Enter = enter
+Return = shift-enter
+BackSpace = backspace; ctrl-h
+Delete = delete; ctrl-d
+PageUp = pgup
+PageDown = pgdn
+Home = home
+End = end
+Tab = tab
+Undo = ctrl-u
+Redo = alt-r
+Top = ctrl-home; alt-lt
+Bottom = ctrl-end; alt-gt
+ScrollUp = ctrl-up
+ScrollDown = ctrl-down
+TopOnScreen = ctrl-pgup
+BottomOnScreen = ctrl-pgdn
+DeleteToWordBegin = alt-backspace
+DeleteToWordEnd = alt-d
+DeleteLine = ctrl-y
+DeleteToEnd = ctrl-k
+DeleteToHome =
+ParagraphUp =
+ParagraphDown =
+Save = f2
+EditFile =
+EditNew = ctrl-n
+SaveAs = f12; ctrl-f2
+Mark = f3
+Copy = f5
+Move = f6
+Remove = f8
+MarkLine =
+MarkWord =
+MarkAll =
+Unmark =
+Search = f7
+SearchContinue = f17
+BlockShiftLeft =
+BlockShiftRight =
+MarkPageUp = shift-pgup
+MarkPageDown = shift-pgdn
+MarkLeft = shift-left
+MarkRight = shift-right
+MarkToWordBegin = ctrl-shift-left
+MarkToWordEnd = ctrl-shift-right
+MarkUp = shift-up
+MarkDown = shift-down
+MarkToHome = shift-home
+MarkToEnd = shift-end
+MarkToFileBegin = ctrl-shift-home
+MarkToFileEnd = ctrl-shift-end
+MarkToPageBegin = ctrl-shift-pgup
+MarkToPageEnd = ctrl-shift-pgdn
+MarkScrollUp = ctrl-shift-up
+MarkScrollDown = ctrl-shift-down
+MarkParagraphUp =
+MarkParagraphDown =
+MarkColumnPageUp = alt-pgup
+MarkColumnPageDown = alt-pgdn
+MarkColumnLeft = alt-left
+MarkColumnRight = alt-right
+MarkColumnUp = alt-up
+MarkColumnDown = alt-down
+MarkColumnScrollUp =
+MarkColumnScrollDown =
+MarkColumnParagraphUp =
+MarkColumnParagraphDown =
+BlockSave = ctrl-f
+MarkColumn = f13
+Replace = f4
+ReplaceContinue = f14
+Complete = alt-tab
+InsertFile = f15
+Quit = f10
+InsertOverwrite = insert
+Help = f1
+Date =
+Refresh = ctrl-l
+Goto = alt-l
+Sort = alt-t
+Mail = alt-m
+ParagraphFormat = alt-p
+MatchBracket = alt-b
+ExternalCommand = alt-u
+UserMenu = f11
+Menu = f9
+Bookmark = alt-k
+BookmarkFlush = alt-o
+BookmarkNext = alt-j
+BookmarkPrev = alt-i
+History =
+Shell = ctrl-o
+InsertLiteral = ctrl-q
+MacroStartRecord =
+MacroStopRecord =
+MacroStartStopRecord = ctrl-r
+MacroDelete =
+ShowNumbers = alt-n
+ShowTabTws = alt-underline
+SyntaxOnOff = ctrl-s
+SyntaxChoose =
+ShowMargin =
+Find = alt-enter
+FilePrev = alt-minus
+FileNext = alt-plus
+RepeatStartStopRecord =
+SelectCodepage = alt-e
+Options =
+OptionsSaveMode =
+LearnKeys =
+ExtendedKeyMap =
+[viewer]
+Help = f1
+WrapMode = f2
+Quit = f3; f10; q; esc
+HexMode = f4
+Goto = f5
+Search = f7; question; slash
+SearchContinue = ctrl-r; ctrl-s; f17; n
+MagicMode = f8
+NroffMode = f9
+Home = ctrl-a
+End = ctrl-e
+Left = h; left
+Right = l; right
+LeftQuick = ctrl-left
+RightQuick = ctrl-right
+Up = k; y; insert; up; ctrl-p
+Down = j; e; delete; down; enter; ctrl-n
+PageDown = f; space; pgdn; ctrl-v
+PageUp = b; pgup; alt-v; backspace
+HalfPageDown = d
+HalfPageUp = u
+Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+BookmarkGoto = m
+Bookmark = r
+FileNext = ctrl-f
+FilePrev = ctrl-b
+SelectCodepage = alt-e
+Shell = ctrl-o
+Ruler = alt-r
+
+[viewer:hex]
+Help = f1
+HexEditMode = f2
+Quit = f3; f10; q; esc
+HexMode = f4
+Goto = f5
+Save = f6
+Search = f7; question; slash
+SearchContinue = ctrl-r; ctrl-s; f17; n
+MagicMode = f8
+NroffMode = f9
+ToggleNavigation = tab
+Home = ctrl-a; home
+End = ctrl-e; end
+Left = b; left
+Right = f; right
+Up = k; y; up
+Down = j; delete; down
+PageDown = pgdn; ctrl-v
+PageUp = pgup; alt-v
+Top = ctrl-home; ctrl-pgup; a1; alt-lt; g
+Bottom = ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
[diffviewer]
-DiffDisplaySymbols = alt-s; s
-DiffDisplayNumbers = alt-n; l
-DiffFull = f
-DiffEqual = equal
-DiffSplitMore = gt
-DiffSplitLess = lt
-DiffSetTab2 = 2
-DiffSetTab3 = 3
-DiffSetTab4 = 4
-DiffSetTab8 = 8
-DiffSwapPanel = ctrl-u
-DiffRedo = ctrl-r
-DiffNextHunk = n; enter; space
-DiffPrevHunk = p; backspace
-DiffGoto = g; shift-g
-DiffSave = f2
-DiffEditCurrent = f4
-DiffEditOther = f14
-DiffMergeCurrentHunk = f5
-DiffSearch = f7
-DiffContinueSearch = f17
-DiffOptions = f9
-DiffBOF = ctrl-home
-DiffEOF = ctrl-end
-DiffDown = down
-DiffUp = up
-DiffQuickLeft = ctrl-left
-DiffQuickRight = ctrl-right
-DiffLeft = left
-DiffRight = right
-DiffPageDown = pgdn
-DiffPageUp = pgup
-DiffHome = home
-DiffEnd = end
-DiffHelp = f1
-DiffQuit = f10; q; shift-q; esc
-ShowCommandLine = ctrl-o
+ShowSymbols = alt-s; s
+ShowNumbers = alt-n; l
+SplitFull = f
+SplitEqual = equal
+SplitMore = gt
+SplitLess = lt
+Tab2 = 2
+Tab3 = 3
+Tab4 = 4
+Tab8 = 8
+Swap = ctrl-u
+Redo = ctrl-r
+HunkNext = n; enter; space
+HunkPrev = p; backspace
+Goto = g; shift-g
+Save = f2
+Edit = f4
+EditOther = f14
+Merge = f5
+Search = f7
+SearchContinue = f17
+Options = f9
+Top = ctrl-home
+Bottom = ctrl-end
+Down = down
+Up = up
+LeftQuick = ctrl-left
+RightQuick = ctrl-right
+Left = left
+Right = right
+PageDown = pgdn
+PageUp = pgup
+Home = home
+End = end
+Help = f1
+Quit = f10; q; shift-q; esc
+Shell = ctrl-o
SelectCodepage = alt-e
-[editor]
-EditXStore = ctrl-insert
-EditXPaste = shift-insert
-EditXCut = shift-delete
-
-EditDeleteLine = ctrl-y
-EditDeleteToLineEnd = ctrl-k
-EditDeleteToLineBegin =
-
-EditLeft = left
-EditRight = right
-EditUp = up
-EditDown = down
-EditEnter = enter
-EditReturn = shift-enter
-EditBackSpace = backspace; ctrl-h
-EditDelete = delete; ctrl-d
-EditPageUp = pgup
-EditPageDown = pgdn
-EditWordLeft = ctrl-left; ctrl-z
-EditWordRight = ctrl-right; ctrl-x
-EditHome = home
-EditEnd = end
-EditTab = tab
-EditUndo = ctrl-u
-EditBeginningOfText = ctrl-home; alt-lt
-EditEndOfText = ctrl-end; alt-gt
-EditScrollUp = ctrl-up
-EditScrollDown = ctrl-down
-EditBeginPage = ctrl-pgup
-EditEndPage = ctrl-pgdn
-EditDeleteWordLeft = alt-backspace
-EditDeleteWordRight = alt-d
-EditParagraphUp =
-EditParagraphDown =
-EditSave = f2
-EditLoad =
-EditNew = ctrl-n
-EditSaveas = f12
-EditMark = f3
-EditCopy = f5
-EditMove = f6
-EditRemove = f8
-EditMarkAll =
-EditUnmark =
-EditFind = f7
-EditMarkLine =
-EditMarkWord =
-
-EditShiftBlockLeft =
-EditShiftBlockRight =
-
-EditPageUpHighlight = shift-pgup
-EditPageDownHighlight = shift-pgdn
-EditLeftHighlight = shift-left
-EditRightHighlight = shift-right
-EditWordLeftHighlight = ctrl-shift-left
-EditWordRightHighlight = ctrl-shift-right
-EditUpHighlight = shift-up
-EditDownHighlight = shift-down
-EditHomeHighlight = shift-home
-EditEndHighlight = shift-end
-EditBeginningOfTextHighlight = ctrl-shift-home
-EditEndOfTextHighlight = ctrl-shift-end
-EditBeginPageHighlight = ctrl-shift-pgup
-EditEndPageHighlight = ctrl-shift-pgdn
-EditScrollUpHighlight = ctrl-shift-up
-EditScrollDownHighlight = ctrl-shift-down
-EditParagraphUpHighlight =
-EditParagraphDownHighlight =
-
-EditPageUpAltHighlight = alt-pgup
-EditPageDownAltHighlight = alt-pgdn
-EditLeftAltHighlight = alt-left
-EditRightAltHighlight = alt-right
-EditWordLeftAltHighlight = ctrl-alt-left
-EditWordRightAltHighlight = ctrl-alt-right
-EditUpAltHighlight = alt-up
-EditDownAltHighlight = alt-down
-EditHomeAltHighlight = alt-home
-EditEndAltHighlight = alt-end
-EditBeginningOfTextAltHighlight = ctrl-alt-home
-EditEndOfTextHighlight = ctrl-alt-end
-EditBeginPageHighlight = ctrl-alt-pgup
-EditEndPageAltHighlight = ctrl-alt-pgdn
-EditScrollUpAltHighlight =
-EditScrollDownAltHighlight =
-EditParagraphUpAltHighlight =
-EditParagraphDownAltHighlight =
-
-EditSaveBlock = ctrl-f
-EditColumnMark = f13
-EditFindAgain = f17
-EditReplace = f4
-EditReplaceAgain = f14
-EditCompleteWord = alt-tab
-EditDebugStart =
-EditDebugStop =
-EditDebugToggleBreak =
-EditDebugClear =
-EditDebugNext =
-EditDebugStep =
-EditDebugBackTrace =
-EditDebugContinue =
-EditDebugEnterCommand =
-EditDebugUntilCurser =
-EditInsertFile = f15
-EditQuit = f10
-EditToggleInsert = insert
-EditHelp = f1
-EditDate =
-EditRefresh = ctrl-l
-EditGoto = alt-l
-EditManPage =
-EditSort = alt-t
-EditMail = alt-m
-EditCancel =
-EditComplete =
-
-EditParagraphFormat = alt-p
-EditUtil =
-EditTypeLoadPython =
-EditFindFile =
-EditCtags =
-EditMatchBracket = alt-b
-EditTerminal =
-EditTerminalApp =
-EditExtCmd = alt-u
-EditUserMenu = f11
-EditSaveDesktop =
-EditNewWindow =
-EditCycle =
-EditMenu = f9
-EditSaveAndQuit =
-EditRunAnother =
-EditCheckSaveAndQuit =
-EditMaximize =
-EditToggleBookmark = alt-k
-EditFlushBookmarks = alt-o
-EditNextBookmark = alt-j
-EditPrevBookmark = alt-i
-
-EditSelectionHistory =
-EditShell = ctrl-o
-EditInsertLiteral = ctrl-q
-
-EditBeginRecordMacro =
-EditEndRecordMacro =
-EditBeginOrEndMacro = ctrl-r
-EditExecuteMacro = ctrl-a
-EditDeleteMacro =
-
-EditToggleLineState = alt-n
-EditToggleTabTWS = alt-underline
-EditToggleSyntax = ctrl-s
-EditToggleShowMargin =
-
-EditFindDefinition = alt-enter
-EditLoadPrevFile = alt-minus
-EditLoadNextFile = alt-plus
-
-SelectCodepage = alt-e
-
-[viewer]
-ViewHelp = f1
-ViewToggleWrapMode = f2
-ViewQuit = f3; f10; q; esc
-ViewToggleHexMode = f4
-ViewGoto = f5
-ViewSearch = f7; question; slash
-ViewToggleMagicMode = f8
-ViewToggleNroffMode = f9
-ViewContinueSearch = ctrl-r; ctrl-s; f17; n
-ViewMoveToBol = ctrl-a
-ViewMoveToEol = ctrl-e
-ViewMoveLeft = h; left
-ViewMoveRight = l; right
-ViewMoveLeft10 = ctrl-left
-ViewMoveRight10 = ctrl-right
-ViewMoveUp = k; y; insert; up; ctrl-p
-ViewMoveDown = j; e; delete; down; enter; ctrl-n
-ViewMovePgDn = f; space; pgdn; ctrl-v
-ViewMovePgUp = b; pgup; alt-v; backspace
-ViewMoveHalfPgDn = d
-ViewMoveHalfPgUp = u
-ViewMoveTop = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
-ViewMoveBottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
-ViewGotoBookmark = m
-ViewNewBookmark = r
-ViewNextFile = ctrl-f
-ViewPrevFile = ctrl-b
-SelectCodepage = alt-e
-ShowCommandLine = ctrl-o
-ViewToggleRuler = alt-r
-
-[viewer:hex]
-ViewHelp = f1
-ViewToggleHexEditMode = f2
-ViewQuit = f3; f10; q; esc
-ViewToggleHexMode = f4
-ViewGoto = f5
-ViewHexEditSave = f6
-ViewSearch = f7; question; slash
-ViewToggleMagicMode = f8
-ViewToggleNroffMode = f9
-ViewToggleHexNavMode = tab
-ViewMoveToBol = ctrl-a; home
-ViewMoveToEol = ctrl-e; end
-ViewMoveLeft = b; left
-ViewMoveRight = f; right
-ViewMoveUp = k; y; up
-ViewMoveDown = j; delete; down
-ViewMovePgDn = pgdn; ctrl-v
-ViewMovePgUp = pgup; alt-v
-ViewMoveTop = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
-ViewMoveBottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
-
[main]
-CmdHelp = f1
-CmdUserMenu = f2
-CmdView = f3
-CmdViewFile = f13
-CmdEdit = f4
-CmdEditForceInternal =
-CmdCopy = f5
-CmdRename = f6
-CmdMkdir = f7
-CmdDelete = f8
-CmdMenu = f9
-CmdQuit = f10
-CmdMenuLastSelected = f19
-CmdQuietQuit = f20
-CmdFind = alt-question
-CmdQuickCd = alt-c
-CmdQuickChdir = ctrl-backslash
-CmdReread = ctrl-r
-CmdSingleDirsize = ctrl-space
-CmdSuspend = ctrl-z
-CmdSwapPanel = ctrl-u
-CmdHistory = alt-h
-CmdListing =
-CmdToggleListing = alt-t
-CmdToggleShowHidden = alt-dot
-CmdTogglePanelsSplit = alt-comma
-ShowCommandLine = ctrl-o
-CmdCopyCurrentPathname = alt-a
-CmdCopyOtherPathname = alt-shift-a
-CmdFilteredView = alt-exclamation
-CmdSelect = kpplus
-CmdUnselect = kpminus
-CmdReverseSelection = kpasterisk
-CmdDialogList = alt-prime
-ExtMap1 = ctrl-x
+Help = f1
+UserMenu = f2
+View = f3
+ViewFile =
+Edit = f4
+EditForceInternal =
+Copy = f5
+Move = f6
+MakeDir = f7
+Delete = f8
+Menu = f9
+Quit = f10
+MenuLastSelected = f19
+QuitQuiet = f20
+Find = alt-question
+CdQuick = alt-c
+HotList = ctrl-backslash
+Reread = ctrl-r
+DirSize = ctrl-space
+Suspend = ctrl-z
+Swap = ctrl-u
+History = alt-h
+PanelListing =
+PanelListingSwitch = alt-t
+PanelListingChange =
+ShowHidden = alt-dot
+SplitVertHoriz = alt-comma
+Shell = ctrl-o
+PutCurrentPath = alt-a
+PutOtherPath = alt-shift-a
+ViewFiltered = alt-exclamation
+Select = kpplus
+Unselect = kpminus
+SelectInvert = kpasterisk
+ScreenList = alt-prime
+OptionsLayout =
+OptionsPanel =
+OptionsConfirm =
+OptionsDisplayBits =
+OptionsVfs =
+LearnKeys =
+SaveSetup =
+EditExtensionsFile =
+EditFileHighlightFile =
+Filter =
+ConnectFish =
+ConnectFtp =
+ConnectSmb =
+Undelete =
+ExtendedKeyMap = ctrl-x
[main:xmap]
-CmdChmod = c
-CmdChown = o
-CmdCompareDirs = d
-CmdEditSymlink = ctrl-s
-CmdLink = l
-CmdSymlink = s
-CmdRelativeSymlink = v
-CmdInfo = i
-CmdQuickView = q
-CmdExternalPanelize = exclamation
-CmdReselectVfs = a
-CmdJobs = j
-CmdCopyCurrentPathname = p
-CmdCopyOtherPathname = ctrl-p
-CmdCopyCurrentTagged = t
-CmdCopyOtherTagged = ctrl-t
-CmdDiffView = ctrl-d
+ChangeMode = c
+ChangeOwn = o
+CompareDirs = d
+CompareFiles = ctrl-d
+HotListAdd = h
+LinkSymbolicEdit = ctrl-s
+Link = l
+LinkSymbolic = s
+LinkSymbolicRelative = v
+PanelInfo = i
+PanelQuickView = q
+ExternalPanelize = exclamation
+VfsList = a
+Jobs = j
+PutCurrentPath = p
+PutOtherPath = ctrl-p
+PutCurrentTagged = t
+PutOtherTagged = ctrl-t
+PutCurrentLink = r
+PutOtherLink = ctrl-r
[panel]
-PanelStartSearch = ctrl-s; alt-s
-PanelMarkFile = insert; ctrl-t
-PanelMarkFileUp = shift-up
-PanelMarkFileDown = shift-down
-PanelMoveDown = down; ctrl-n
-PanelMoveUp = up; ctrl-p
-PanelMoveLeft = left
-PanelMoveRight = right
-PanelPrevPage = pgup; alt-v
-PanelNextPage = pgdn; ctrl-v
-PanelDoEnter = enter
-PanelChdirOtherPanel = alt-o
-PanelChdirToReadlink = alt-l
-PanelViewSimple = F13
-PanelEditNew = F14
-PanelCopyLocal = F15
-PanelRenameLocal = F16
-PanelDeleteLocal = F18
-PanelReverseSelection = alt-asterisk
-PanelSelect = alt-plus
-PanelUnselect = alt-minus
-PanelGotoChildDir = ctrl-pgdn
-PanelGotoParentDir = ctrl-pgup
-PanelDirectoryHistoryList = alt-shift-h
-PanelDirectoryHistoryNext = alt-u
-PanelDirectoryHistoryPrev = alt-y
-PanelGotoBottomFile = alt-j
-PanelGotoMiddleFile = alt-r
-PanelSyncOtherPanel = alt-i
-PanelGotoTopFile = alt-g
-PanelSetPanelEncoding = alt-e
-PanelMoveHome = alt-lt; home; a1
-PanelMoveEnd = alt-gt; end; c1
-PanelSelectSortOrder=
-PanelToggleSortOrderPrev=
-PanelToggleSortOrderNext=
-PanelReverseSort=
-PanelSortOrderByName=
-PanelSortOrderByExt=
-PanelSortOrderBySize=
-PanelSortOrderByMTime=
-PanelSmartGotoParentDir=
+Search = ctrl-s; alt-s
+Mark = insert; ctrl-t
+MarkUp = shift-up
+MarkDown = shift-down
+MarkLeft =
+MarkRight =
+Down = down; ctrl-n
+Up = up; ctrl-p
+Left = left
+Right = right
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Enter = enter
+PanelOtherCd = alt-o
+PanelOtherCdLink = alt-l
+ViewRaw = f13
+EditNew = f14
+CopySingle = f15
+MoveSingle = f16
+DeleteSingle = f18
+Select = alt-plus
+Unselect = alt-minus
+SelectInvert = alt-asterisk
+CdChild = ctrl-pgdn
+CdParent = ctrl-pgup
+CdParentSmart =
+Panelize =
+History = alt-shift-h
+HistoryNext = alt-u
+HistoryPrev = alt-y
+BottomOnScreen = alt-j
+MiddleOnScreen = alt-r
+TopOnScreen = alt-g
+PanelOtherSync = alt-i
+SelectCodepage = alt-e
+Top = alt-lt; home; a1
+Bottom = alt-gt; end; c1
+Sort =
+SortPrev =
+SortNext =
+SortReverse =
+SortByName =
+SortByExt =
+SortBySize =
+SortByMTime =
+
+[dialog]
+Ok = enter
+Cancel = f10; esc; ctrl-g
+Up = left; up
+#Left = left; up
+Down = right; down
+#Right = right; down
+Help = f1
+Suspend = ctrl-z
+Refresh = ctrl-l
+ScreenList = alt-prime
+ScreenNext = alt-rbrace
+ScreenPrev = alt-lbrace
[input]
-InputBol = ctrl-a; alt-lt; home; a1
-InputEol = ctrl-e; alt-gt; end; c1
-InputMoveLeft = left; alt-left
-InputWordLeft = ctrl-left
-InputBackwardChar = ctrl-b
-InputBackwardWord = alt-b
-InputMoveRight = right; alt-right
-InputWordRight = ctrl-right
-InputForwardChar = ctrl-f
-InputForwardWord = alt-f
-InputBackwardDelete = backspace; ctrl-h
-InputDeleteChar = delete; ctrl-d
-InputKillWord = alt-d
-InputBackwardKillWord = alt-backspace
-InputSetMark =
-InputKillRegion = ctrl-w
-InputXCut =
-InputXStore = alt-w
-InputXPaste =
-InputYank = ctrl-y
-InputKillLine = ctrl-k
-InputHistoryPrev = alt-p; ctrl-down
-InputHistoryNext = alt-n; ctrl-up
-InputHistoryShow = alt-h
-InputComplete = alt-tab
-InputClearLine =
-InputLeftHighlight = shift-left
-InputRightHighlight = shift-right
-InputWordLeftHighlight = ctrl-shift-left
-InputWordRightHighlight = ctrl-shift-right
-InputBolHighlight = shift-home
-InputEolHighlight = shift-end
+Home = ctrl-a; alt-lt; home; a1
+End = ctrl-e; alt-gt; end; c1
+Left = left; alt-left; ctrl-b
+Right = right; alt-right; ctrl-f
+WordLeft = ctrl-left; alt-b
+WordRight = ctrl-right; alt-f
+Backspace = backspace; ctrl-h
+Delete = delete; ctrl-d
+DeleteToWordBegin = alt-backspace
+DeleteToWordEnd = alt-d
+Mark =
+Remove = ctrl-w
+Cut =
+Store = alt-w
+Paste =
+Yank = ctrl-y
+DeleteToEnd = ctrl-k
+HistoryPrev = alt-p; ctrl-down
+HistoryNext = alt-n; ctrl-up
+History = alt-h
+Complete = alt-tab
+Clear =
+MarkLeft = shift-left
+MarkRight = shift-right
+MarkToWordBegin = ctrl-shift-left
+MarkToWordEnd = ctrl-shift-right
+MarkToHome = shift-home
+MarkToEnd = shift-end
[listbox]
-ListboxMoveUp = up; ctrl-p
-ListboxMoveDown = down; ctrl-n
-ListboxMoveHome = home; alt-lt; a1
-ListboxMoveEnd = end; alt-gt; c1
-ListboxMovePgUp = pgup; alt-v
-ListboxMovePgDn = pgdn; ctrl-v
-ListboxDeleteItem = delete; d
-ListboxDeleteAll = shift-delete; shift-d
+Up = up; ctrl-p
+Down = down; ctrl-n
+Top = home; alt-lt; a1
+Bottom = end; alt-gt; c1
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Delete = delete; d
+Clear = shift-delete; shift-d
[tree]
-TreeHelp = f1
-TreeForget = f3
-TreeToggleNav = f4
-TreeCopy = f5
-TreeMove = f6
-TreeMoveUp = up; ctrl-p
-TreeMoveDown = down; ctrl-n
-TreeMoveLeft = left
-TreeMoveRight = right
-TreeMoveHome = home; alt-lt; a1
-TreeMoveEnd = end; alt-gt; c1
-TreeMovePgUp = pgup; alt-v
-TreeMovePgDn = pgdn; ctrl-v
-TreeOpen = enter
-TreeRescan = f2; ctrl-r
-TreeStartSearch = ctrl-s; alt-s
-TreeRemove = f8; delete
+Help = f1
+Reread = f2; ctrl-r
+Forget = f3
+ToggleNavigation = f4
+Copy = f5
+Move = f6
+Up = up; ctrl-p
+Down = down; ctrl-n
+Left = left
+Right = right
+Top = home; alt-lt; a1
+Bottom = end; alt-gt; c1
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Enter = enter
+Search = ctrl-s; alt-s
+Delete = f8; delete
[help]
-HelpHelp = f1
-HelpIndex = f2; c
-HelpBack = f3; left; l
-HelpQuit = f10; esc
-HelpMoveUp = up; ctrl-p
-HelpMoveDown = down; ctrl-n
-HelpMovePgDn = f; space; pgdn; ctrl-v
-HelpMovePgUp = b; pgup; alt-v; backspace
-HelpMoveHalfPgDn = d
-HelpMoveHalfPgUp = u
-HelpMoveTop = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
-HelpMoveBottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
-HelpSelectLink = right; enter
-HelpNextLink = tab
-HelpPrevLink = alt-tab
-HelpNextNode = n
-HelpPrevNode = p
+Help = f1
+Index = f2; c
+Back = f3; left; l
+Quit = f10; esc
+Up = up; ctrl-p
+Down = down; ctrl-n
+PageDown = f; space; pgdn; ctrl-v
+PageUp = b; pgup; alt-v; backspace
+HalfPageDown = d
+HalfPageUp = u
+Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+Enter = right; enter
+LinkNext = tab
+LinkPrev = alt-tab
+NodeNext = n
+NodePrev = p
-[dialog]
-DialogOK = enter
-DialogCancel = f10; esc; ctrl-g
-DialogPrevItem = left; up
-DialogNextItem = right; down
-DialogHelp = f1
-DialogSuspend = ctrl-z
-DialogRefresh = ctrl-l
-CmdDialogList = alt-prime
-CmdDialogNext = alt-rbrace
-CmdDialogPrev = alt-lbrace
+[editor]
+Store = ctrl-insert
+Paste = shift-insert
+Cut = shift-delete
+Up = up
+Down = down
+Left = left
+Right = right
+WordLeft = ctrl-left; ctrl-z
+WordRight = ctrl-right; ctrl-x
+Enter = enter
+Return = shift-enter
+BackSpace = backspace; ctrl-h
+Delete = delete; ctrl-d
+PageUp = pgup
+PageDown = pgdn
+Home = home
+End = end
+Tab = tab
+Undo = ctrl-u
+Redo = alt-r
+Top = ctrl-home; alt-lt
+Bottom = ctrl-end; alt-gt
+ScrollUp = ctrl-up
+ScrollDown = ctrl-down
+TopOnScreen = ctrl-pgup
+BottomOnScreen = ctrl-pgdn
+DeleteToWordBegin = alt-backspace
+DeleteToWordEnd = alt-d
+DeleteLine = ctrl-y
+DeleteToEnd = ctrl-k
+DeleteToHome =
+ParagraphUp =
+ParagraphDown =
+Save = f2
+EditFile =
+EditNew = ctrl-n
+SaveAs = f12; ctrl-f2
+Mark = f3
+Copy = f5
+Move = f6
+Remove = f8
+MarkLine =
+MarkWord =
+MarkAll =
+Unmark =
+Search = f7
+SearchContinue = f17
+BlockShiftLeft =
+BlockShiftRight =
+MarkPageUp = shift-pgup
+MarkPageDown = shift-pgdn
+MarkLeft = shift-left
+MarkRight = shift-right
+MarkToWordBegin = ctrl-shift-left
+MarkToWordEnd = ctrl-shift-right
+MarkUp = shift-up
+MarkDown = shift-down
+MarkToHome = shift-home
+MarkToEnd = shift-end
+MarkToFileBegin = ctrl-shift-home
+MarkToFileEnd = ctrl-shift-end
+MarkToPageBegin = ctrl-shift-pgup
+MarkToPageEnd = ctrl-shift-pgdn
+MarkScrollUp = ctrl-shift-up
+MarkScrollDown = ctrl-shift-down
+MarkParagraphUp =
+MarkParagraphDown =
+MarkColumnPageUp = alt-pgup
+MarkColumnPageDown = alt-pgdn
+MarkColumnLeft = alt-left
+MarkColumnRight = alt-right
+MarkColumnUp = alt-up
+MarkColumnDown = alt-down
+MarkColumnScrollUp =
+MarkColumnScrollDown =
+MarkColumnParagraphUp =
+MarkColumnParagraphDown =
+BlockSave = ctrl-f
+MarkColumn = f13
+Replace = f4
+ReplaceContinue = f14
+Complete = alt-tab
+InsertFile = f15
+Quit = f10
+InsertOverwrite = insert
+Help = f1
+Date =
+Refresh = ctrl-l
+Goto = alt-l
+Sort = alt-t
+Mail = alt-m
+ParagraphFormat = alt-p
+MatchBracket = alt-b
+ExternalCommand = alt-u
+UserMenu = f11
+Menu = f9
+Bookmark = alt-k
+BookmarkFlush = alt-o
+BookmarkNext = alt-j
+BookmarkPrev = alt-i
+History =
+Shell = ctrl-o
+InsertLiteral = ctrl-q
+MacroStartRecord =
+MacroStopRecord =
+MacroStartStopRecord = ctrl-r
+MacroDelete =
+ShowNumbers = alt-n
+ShowTabTws = alt-underline
+SyntaxOnOff = ctrl-s
+SyntaxChoose =
+ShowMargin =
+Find = alt-enter
+FilePrev = alt-minus
+FileNext = alt-plus
+RepeatStartStopRecord =
+SelectCodepage = alt-e
+Options =
+OptionsSaveMode =
+LearnKeys =
+ExtendedKeyMap =
+[viewer]
+Help = f1
+WrapMode = f2
+Quit = f3; f10; q; esc
+HexMode = f4
+Goto = f5
+Search = f7; question; slash
+SearchContinue = ctrl-r; ctrl-s; f17; n
+MagicMode = f8
+NroffMode = f9
+Home = ctrl-a
+End = ctrl-e
+Left = h; left
+Right = l; right
+LeftQuick = ctrl-left
+RightQuick = ctrl-right
+Up = k; y; insert; up; ctrl-p
+Down = j; e; delete; down; enter; ctrl-n
+PageDown = f; space; pgdn; ctrl-v
+PageUp = b; pgup; alt-v; backspace
+HalfPageDown = d
+HalfPageUp = u
+Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+BookmarkGoto = m
+Bookmark = r
+FileNext = ctrl-f
+FilePrev = ctrl-b
+SelectCodepage = alt-e
+Shell = ctrl-o
+Ruler = alt-r
+
+[viewer:hex]
+Help = f1
+HexEditMode = f2
+Quit = f3; f10; q; esc
+HexMode = f4
+Goto = f5
+Save = f6
+Search = f7; question; slash
+SearchContinue = ctrl-r; ctrl-s; f17; n
+MagicMode = f8
+NroffMode = f9
+ToggleNavigation = tab
+Home = ctrl-a; home
+End = ctrl-e; end
+Left = b; left
+Right = f; right
+Up = k; y; up
+Down = j; delete; down
+PageDown = pgdn; ctrl-v
+PageUp = pgup; alt-v
+Top = ctrl-home; ctrl-pgup; a1; alt-lt; g
+Bottom = ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
[diffviewer]
-DiffDisplaySymbols = alt-s; s
-DiffDisplayNumbers = alt-n; l
-DiffFull = f
-DiffEqual = equal
-DiffSplitMore = gt
-DiffSplitLess = lt
-DiffSetTab2 = 2
-DiffSetTab3 = 3
-DiffSetTab4 = 4
-DiffSetTab8 = 8
-DiffSwapPanel = ctrl-u
-DiffRedo = ctrl-r
-DiffNextHunk = n; enter; space
-DiffPrevHunk = p; backspace
-DiffGoto = g; shift-g
-DiffSave = f2
-DiffEditCurrent = f4
-DiffEditOther = f14
-DiffMergeCurrentHunk = f5
-DiffSearch = f7
-DiffContinueSearch = f17
-DiffOptions = f9
-DiffBOF = ctrl-home
-DiffEOF = ctrl-end
-DiffDown = down
-DiffUp = up
-DiffQuickLeft = ctrl-left
-DiffQuickRight = ctrl-right
-DiffLeft = left
-DiffRight = right
-DiffPageDown = pgdn
-DiffPageUp = pgup
-DiffHome = home
-DiffEnd = end
-DiffHelp = f1
-DiffQuit = f10; q; shift-q; esc
-ShowCommandLine = ctrl-o
+ShowSymbols = alt-s; s
+ShowNumbers = alt-n; l
+SplitFull = f
+SplitEqual = equal
+SplitMore = gt
+SplitLess = lt
+Tab2 = 2
+Tab3 = 3
+Tab4 = 4
+Tab8 = 8
+Swap = ctrl-u
+Redo = ctrl-r
+HunkNext = n; enter; space
+HunkPrev = p; backspace
+Goto = g; shift-g
+Save = f2
+Edit = f4
+EditOther = f14
+Merge = f5
+Search = f7
+SearchContinue = f17
+Options = f9
+Top = ctrl-home
+Bottom = ctrl-end
+Down = down
+Up = up
+LeftQuick = ctrl-left
+RightQuick = ctrl-right
+Left = left
+Right = right
+PageDown = pgdn
+PageUp = pgup
+Home = home
+End = end
+Help = f1
+Quit = f10; q; shift-q; esc
+Shell = ctrl-o
SelectCodepage = alt-e
-[editor]
-EditXStore = alt-w
-EditXPaste = ctrl-y
-EditXCut = ctrl-w
-
-EditDeleteLine = ctrl-y
-EditDeleteToLineEnd = ctrl-k
-EditDeleteToLineBegin =
-
-EditLeft = left; ctrl-b
-EditRight = right; ctrl-f
-EditUp = up; ctrl-p
-EditDown = down; ctrl-n
-EditEnter = enter
-EditReturn = shift-enter
-EditBackSpace = backspace
-EditDelete = delete
-EditPageUp = pgup; alt-v
-EditPageDown = pgdn; ctrl-v
-EditWordLeft = ctrl-left; alt-b
-EditWordRight = ctrl-right; alt-f
-EditHome = home; ctrl-a
-EditEnd = end; ctrl-e
-EditTab = tab
-EditUndo = ctrl-u
-EditBeginningOfText = ctrl-home; alt-lt
-EditEndOfText = ctrl-end; alt-gt
-EditScrollUp = ctrl-up
-EditScrollDown = ctrl-down
-EditBeginPage = ctrl-pgup
-EditEndPage = ctrl-pgdn
-EditDeleteWordLeft = alt-backspace
-EditDeleteWordRight = alt-d
-EditParagraphUp =
-EditParagraphDown =
-EditSave = f2
-EditLoad =
-EditSaveas = f12
-EditMark = f3; ctrl-at
-EditCopy = f5
-EditMove = f6
-EditRemove = f8
-EditMarkAll =
-EditUnmark =
-EditFind = f7; ctrl-s
-EditMarkLine =
-EditMarkWord =
-
-EditShiftBlockLeft =
-EditShiftBlockRight =
-
-EditPageUpHighlight = shift-pgup
-EditPageDownHighlight = shift-pgdn
-EditLeftHighlight = shift-left
-EditRightHighlight = shift-right
-EditWordLeftHighlight = ctrl-shift-left
-EditWordRightHighlight = ctrl-shift-right
-EditUpHighlight = shift-up
-EditDownHighlight = shift-down
-EditHomeHighlight = shift-home
-EditEndHighlight = shift-end
-EditBeginningOfTextHighlight = ctrl-shift-home
-EditEndOfTextHighlight = ctrl-shift-end
-EditBeginPageHighlight = ctrl-shift-pgup
-EditEndPageHighlight = ctrl-shift-pgdn
-EditScrollUpHighlight = ctrl-shift-up
-EditScrollDownHighlight = ctrl-shift-down
-EditParagraphUpHighlight =
-EditParagraphDownHighlight =
+[main]
+Help = f1
+UserMenu = f2
+View = f3
+ViewFile =
+Edit = f4
+EditForceInternal =
+Copy = f5
+Move = f6
+MakeDir = f7
+Delete = f8
+Menu = f9
+Quit = f10
+MenuLastSelected = f19
+QuitQuiet = f20
+Find = alt-question
+CdQuick = alt-c
+HotList = ctrl-backslash
+Reread = ctrl-r
+DirSize = ctrl-space
+Suspend = ctrl-z
+Swap = ctrl-u
+History = alt-h
+PanelListing =
+PanelListingSwitch = alt-t
+PanelListingChange =
+ShowHidden = alt-dot
+SplitVertHoriz = alt-comma
+Shell = ctrl-o
+PutCurrentPath = alt-a
+PutOtherPath = alt-shift-a
+ViewFiltered = alt-exclamation
+Select = kpplus
+Unselect = kpminus
+SelectInvert = kpasterisk
+ScreenList = alt-prime
+Options =
+OptionsLayout =
+OptionsPanel =
+OptionsConfirm =
+OptionsDisplayBits =
+OptionsVfs =
+LearnKeys =
+SaveSetup =
+EditExtensionsFile =
+EditFileHighlightFile =
+Filter =
+ConnectFish =
+ConnectFtp =
+ConnectSmb =
+Undelete =
+ExtendedKeyMap = ctrl-x
-EditPageUpAltHighlight = alt-pgup
-EditPageDownAltHighlight = alt-pgdn
-EditLeftAltHighlight = alt-left
-EditRightAltHighlight = alt-right
-EditWordLeftAltHighlight = ctrl-alt-left
-EditWordRightAltHighlight = ctrl-alt-right
-EditUpAltHighlight = alt-up
-EditDownAltHighlight = alt-down
-EditHomeAltHighlight = alt-home
-EditEndAltHighlight = alt-end
-EditBeginningOfTextAltHighlight = ctrl-alt-home
-EditEndOfTextHighlight = ctrl-alt-end
-EditBeginPageHighlight = ctrl-alt-pgup
-EditEndPageAltHighlight = ctrl-alt-pgdn
-EditScrollUpAltHighlight =
-EditScrollDownAltHighlight =
-EditParagraphUpAltHighlight =
-EditParagraphDownAltHighlight =
+[main:xmap]
+ChangeMode = c
+ChangeOwn = o
+CompareDirs = d
+CompareFiles = ctrl-d
+HotListAdd = h
+LinkSymbolicEdit = ctrl-s
+Link = l
+LinkSymbolic = s
+LinkSymbolicRelative
+PanelInfo = i
+PanelQuickView = q
+ExternalPanelize = exclamation
+VfsList = a
+Jobs = j
+PutCurrentPath = p
+PutOtherPath = ctrl-p
+PutCurrentTagged = t
+PutOtherTagged = ctrl-t
+PutCurrentLink = r
+PutOtherLink = ctrl-r
-EditSaveBlock =
-EditColumnMark = f13
-EditFindAgain = f17
-EditReplace = f4
-EditReplaceAgain = f14
-EditCompleteWord = alt-tab
-EditDebugStart =
-EditDebugStop =
-EditDebugToggleBreak =
-EditDebugClear =
-EditDebugNext =
-EditDebugStep =
-EditDebugBackTrace =
-EditDebugContinue =
-EditDebugEnterCommand =
-EditDebugUntilCurser =
-EditInsertFile = f15
-EditQuit = f10
-EditToggleInsert = insert
-EditHelp = f1
-EditDate =
-EditRefresh = ctrl-l
-EditGoto = alt-l
-EditManPage =
-EditSort = alt-t
-EditMail =
-EditCancel =
-EditComplete =
+[panel]
+Search = ctrl-s; alt-s
+Mark = insert; ctrl-t
+MarkUp = shift-up
+MarkDown = shift-down
+MarkLeft =
+MarkRight =
+Down = down; ctrl-n
+Up = up; ctrl-p
+Left = left
+Right = right
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Enter = enter
+PanelOtherCd = alt-o
+PanelOtherCdLink = alt-l
+ViewRaw = f13
+EditNew = f14
+CopySingle = f15
+MoveSingle = f16
+DeleteSingle = f18
+Select = alt-plus
+Unselect = alt-minus
+SelectInvert = alt-asterisk
+CdChild = ctrl-pgdn
+CdParent = ctrl-pgup
+Panelize =
+CdParentSmart =
+History = alt-shift-h
+HistoryNext = alt-u
+HistoryPrev = alt-y
+BottomOnScreen = alt-j
+MiddleOnScreen = alt-r
+TopOnScreen = alt-g
+PanelOtherSync = alt-i
+SelectCodepage = alt-e
+Top = alt-lt; home; a1
+Bottom = alt-gt; end; c1
+Sort =
+SortPrev =
+SortNext =
+SortReverse =
+SortByName =
+SortByExt =
+SortBySize =
+SortByMTime =
-EditParagraphFormat = alt-p
-EditUtil =
-EditTypeLoadPython =
-EditFindFile =
-EditCtags =
-EditMatchBracket =
-EditTerminal =
-EditTerminalApp =
-EditExtCmd = alt-u
-EditUserMenu = f11
-EditSaveDesktop =
-EditNewWindow =
-EditCycle =
-EditMenu = f9
-EditSaveAndQuit =
-EditRunAnother =
-EditCheckSaveAndQuit =
-EditMaximize =
-EditToggleBookmark =
-EditFlushBookmarks =
-EditNextBookmark =
-EditPrevBookmark =
+[dialog]
+Ok = enter
+Cancel = f10; esc
+Up = left; up
+#Left = left; up
+Down = right; down
+#Right = right; down
+Help = f1
+Suspend = ctrl-z
+Refresh = ctrl-l
+ScreenList = alt-prime
+ScreenNext = alt-rbrace
+ScreenPrev = alt-lbrace
-EditSelectionHistory =
-EditShell = ctrl-o
-EditInsertLiteral = ctrl-q
+[input]
+Home = ctrl-a; alt-lt; home; a1
+End = ctrl-e; alt-gt; end; c1
+Left = left; alt-left; ctrl-b
+Right = right; alt-right; ctrl-f
+WordLeft = ctrl-left; alt-b
+WordRight = ctrl-right; alt-f
+Backspace = backspace
+Delete = delete
+DeleteToWordBegin = alt-backspace
+DeleteToWordEnd = alt-d
+Mark =
+Remove = ctrl-w
+Cut =
+Store = alt-w
+Paste =
+Yank = ctrl-y
+DeleteToEnd = ctrl-k
+HistoryPrev = alt-p; ctrl-down
+HistoryNext = alt-n; ctrl-up
+History = alt-h
+Complete = alt-tab
+Clear =
+MarkLeft =
+MarkRight =
+MarkToWordBegin =
+MarkToWordEnd =
+MarkToHome =
+MarkToEnd =
-EditBeginRecordMacro =
-EditEndRecordMacro =
-EditBeginOrEndMacro = ctrl-r
-EditDeleteMacro =
+[listbox]
+Up = up; ctrl-p
+Down = down; ctrl-n
+Top = home; alt-lt; a1
+Bottom = end; alt-gt; c1
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Delete = delete; d
+Clear = shift-delete; shift-d
-EditToggleLineState = alt-n
-EditToggleTabTWS = alt-underline
-EditToggleSyntax = ctrl-s
-EditToggleShowMargin =
+[tree]
+Help = f1
+Reread = f2; ctrl-r
+Forget = f3
+ToggleNavigation = f4
+Copy = f5
+Move = f6
+Up = up; ctrl-p
+Down = down; ctrl-n
+Left = left
+Right = right
+Top = home; alt-lt; a1
+Bottom = end; alt-gt; c1
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Enter = enter
+Search = ctrl-s; alt-s
+Delete = f8; delete
-EditFindDefinition = alt-enter
-EditLoadPrevFile = alt-minus
-EditLoadNextFile = alt-plus
+[help]
+Help = f1
+Index = f2; c
+Back = f3; left; l
+Quit = f10; esc; ctrl-g
+Up = up; ctrl-p
+Down = down; ctrl-n
+PageDown = f; space; pgdn; ctrl-v
+PageUp = b; pgup; alt-v; backspace
+HalfPageDown = d
+HalfPageUp = u
+Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+Enter = right; enter
+LinkNext = tab
+LinkPrev = alt-tab
+NodeNext = n
+NodePrev = p
+[editor]
+Store = alt-w
+Paste = ctrl-y
+Cut = ctrl-w
+Up = up; ctrl-p
+Down = down; ctrl-n
+Left = left; ctrl-b
+Right = right; ctrl-f
+WordLeft = ctrl-left; alt-b
+WordRight = ctrl-right; alt-f
+Enter = enter
+Return = shift-enter
+BackSpace = backspace
+Delete = delete
+PageUp = pgup; alt-v
+PageDown = pgdn; ctrl-v
+Home = home; ctrl-a
+End = end; ctrl-e
+Tab = tab
+Undo = ctrl-u
+Redo =
+Top = ctrl-home; alt-lt
+Bottom = ctrl-end; alt-gt
+ScrollUp = ctrl-up
+ScrollDown = ctrl-down
+TopOnScreen = ctrl-pgup
+BottomOnScreen = ctrl-pgdn
+DeleteToWordBegin = alt-backspace
+DeleteToWordEnd = alt-d
+DeleteLine = ctrl-y
+DeleteToEnd = ctrl-k
+DeleteToHome =
+ParagraphUp =
+ParagraphDown =
+Save = f2
+EditFile =
+SaveAs = f12; ctrl-f2
+Mark = f3; ctrl-at
+Copy = f5
+Move = f6
+Remove = f8
+MarkLine =
+MarkWord =
+MarkAll =
+Unmark =
+Search = f7; ctrl-s
+SearchContinue = f17
+BlockShiftLeft =
+BlockShiftRight =
+MarkPageUp = shift-pgup
+MarkPageDown = shift-pgdn
+MarkLeft = shift-left
+MarkRight = shift-right
+MarkToWordBegin = ctrl-shift-left
+MarkToWordEnd = ctrl-shift-right
+MarkUp = shift-up
+MarkDown = shift-down
+MarkToHome = shift-home
+MarkToEnd = shift-end
+MarkToFileBegin = ctrl-shift-home
+MarkToFileEnd = ctrl-shift-end
+MarkToPageBegin = ctrl-shift-pgup
+MarkToPageEnd = ctrl-shift-pgdn
+MarkScrollUp = ctrl-shift-up
+MarkScrollDown = ctrl-shift-down
+MarkParagraphUp =
+MarkParagraphDown =
+MarkColumnPageUp = alt-pgup
+MarkColumnPageDown = alt-pgdn
+MarkColumnLeft = alt-left
+MarkColumnRight = alt-right
+MarkColumnUp = alt-up
+MarkColumnDown = alt-down
+MarkColumnScrollUp =
+MarkColumnScrollDown =
+MarkColumnParagraphUp =
+MarkColumnParagraphDown =
+BlockSave =
+MarkColumn = f13
+Replace = f4
+ReplaceContinue = f14
+Complete = alt-tab
+InsertFile = f15
+Quit = f10
+InsertOverwrite = insert
+Help = f1
+Date =
+Refresh = ctrl-l
+Goto = alt-l
+Sort = alt-t
+Mail =
+ParagraphFormat = alt-p
+MatchBracket =
+ExternalCommand = alt-u
+UserMenu = f11
+Menu = f9
+Bookmark =
+BookmarkFlush =
+BookmarkNext =
+BookmarkPrev =
+History =
+Shell = ctrl-o
+InsertLiteral = ctrl-q
+MacroStartRecord =
+MacroStopRecord =
+MacroStartStopRecord = ctrl-r
+MacroDelete =
+ShowNumbers = alt-n
+ShowTabTws = alt-underline
+SyntaxOnOff = ctrl-s
+SyntaxChoose =
+ShowMargin =
+Find = alt-enter
+FilePrev = alt-minus
+FileNext = alt-plus
+RepeatStartStopRecord =
SelectCodepage = alt-e
+Options =
+OptionsSaveMode =
+LearnKeys =
+ExtendedKeyMap = ctrl-x
-EditExtMode = ctrl-x
-
-[edit:xmap]
+[editor:xmap]
EditNew = k
-EditExecuteMacro = e
[viewer]
-ViewHelp = f1
-ViewToggleWrapMode = f2
-ViewQuit = f3; f10; q; esc
-ViewToggleHexMode = f4
-ViewGoto = f5
-ViewSearch = f7; question; slash
-ViewToggleMagicMode = f8
-ViewToggleNroffMode = f9
-ViewContinueSearch = ctrl-r; ctrl-s; f17; n
-ViewMoveToBol = ctrl-a
-ViewMoveToEol = ctrl-e
-ViewMoveLeft = h; left
-ViewMoveRight = l; right
-ViewMoveLeft10 = ctrl-left
-ViewMoveRight10 = ctrl-right
-ViewMoveUp = k; y; insert; up; ctrl-p
-ViewMoveDown = j; e; delete; down; enter; ctrl-n
-ViewMovePgDn = f; space; pgdn; ctrl-v
-ViewMovePgUp = b; pgup; alt-v; backspace
-ViewMoveHalfPgDn = d
-ViewMoveHalfPgUp = u
-ViewMoveTop = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
-ViewMoveBottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
-ViewGotoBookmark = m
-ViewNewBookmark = r
-ViewNextFile = ctrl-f
-ViewPrevFile = ctrl-b
+Help = f1
+WrapMode = f2
+Quit = f3; f10; q; esc
+HexMode = f4
+Goto = f5
+Search = f7; question; slash
+MagicMode = f8
+NroffMode = f9
+SearchContinue = ctrl-r; ctrl-s; f17; n
+Home = ctrl-a
+End = ctrl-e
+Left = h; left
+Right = l; right
+LeftQuick= ctrl-left
+RightQuick = ctrl-right
+Up = k; y; insert; up; ctrl-p
+Down = j; e; delete; down; enter; ctrl-n
+PageDown = f; space; pgdn; ctrl-v
+PageUp = b; pgup; alt-v; backspace
+HalfPageDown = d
+HalfPageUp = u
+Top = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
+Bottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
+BookmarkGoto = m
+Bookmark = r
+FileNext = ctrl-f
+FilePrev = ctrl-b
SelectCodepage = alt-e
-ShowCommandLine = ctrl-o
-ViewToggleRuler = alt-r
+Shell = ctrl-o
+Ruler = alt-r
[viewer:hex]
-ViewHelp = f1
-ViewToggleHexEditMode = f2
-ViewQuit = f3; f10; q; esc
-ViewToggleHexMode = f4
-ViewGoto = f5
-ViewHexEditSave = f6
-ViewSearch = f7; question; slash
-ViewToggleMagicMode = f8
-ViewToggleNroffMode = f9
-ViewToggleHexNavMode = tab
-ViewMoveToBol = ctrl-a; home
-ViewMoveToEol = ctrl-e; end
-ViewMoveLeft = b; left
-ViewMoveRight = f; right
-ViewMoveUp = k; y; up
-ViewMoveDown = j; delete; down
-ViewMovePgDn = pgdn; ctrl-v
-ViewMovePgUp = pgup; alt-v
-ViewMoveTop = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
-ViewMoveBottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
-
-[main]
-CmdHelp = f1
-CmdUserMenu = f2
-CmdView = f3
-CmdViewFile = f13
-CmdEdit = f4
-CmdEditForceInternal =
-CmdCopy = f5
-CmdRename = f6
-CmdMkdir = f7
-CmdDelete = f8
-CmdMenu = f9
-CmdQuit = f10
-CmdMenuLastSelected = f19
-CmdQuietQuit = f20
-CmdFind = alt-question
-CmdQuickCd = alt-c
-CmdQuickChdir = ctrl-backslash
-CmdReread = ctrl-r
-CmdSingleDirsize = ctrl-space
-CmdSuspend = ctrl-z
-CmdSwapPanel = ctrl-u
-CmdHistory = alt-h
-CmdListing =
-CmdToggleListing = alt-t
-CmdToggleShowHidden = alt-dot
-CmdTogglePanelsSplit = alt-comma
-ShowCommandLine = ctrl-o
-CmdCopyCurrentPathname = alt-a
-CmdCopyOtherPathname = alt-shift-a
-CmdFilteredView = alt-exclamation
-CmdSelect = kpplus
-CmdUnselect = kpminus
-CmdReverseSelection = kpasterisk
-CmdDialogList = alt-prime
-ExtMap1 = ctrl-x
-
-[main:xmap]
-CmdChmod = c
-CmdChown = o
-CmdCompareDirs = d
-CmdEditSymlink = ctrl-s
-CmdLink = l
-CmdSymlink = s
-CmdRelativeSymlink = v
-CmdInfo = i
-CmdQuickView = q
-CmdExternalPanelize = exclamation
-CmdReselectVfs = a
-CmdJobs = j
-CmdCopyCurrentPathname = p
-CmdCopyOtherPathname = ctrl-p
-CmdCopyCurrentTagged = t
-CmdCopyOtherTagged = ctrl-t
-CmdDiffView = ctrl-d
-
-[panel]
-PanelStartSearch = ctrl-s; alt-s
-PanelMarkFile = insert; ctrl-t
-PanelMarkFileUp = shift-up
-PanelMarkFileDown = shift-down
-PanelMoveDown = down; ctrl-n
-PanelMoveUp = up; ctrl-p
-PanelMoveLeft = left
-PanelMoveRight = right
-PanelPrevPage = pgup; alt-v
-PanelNextPage = pgdn; ctrl-v
-PanelDoEnter = enter
-PanelChdirOtherPanel = alt-o
-PanelChdirToReadlink = alt-l
-PanelViewSimple = F13
-PanelEditNew = F14
-PanelCopyLocal = F15
-PanelRenameLocal = F16
-PanelDeleteLocal = F18
-PanelReverseSelection = alt-asterisk
-PanelSelect = alt-plus
-PanelUnselect = alt-minus
-PanelGotoChildDir = ctrl-pgdn
-PanelGotoParentDir = ctrl-pgup
-PanelDirectoryHistoryList = alt-shift-h
-PanelDirectoryHistoryNext = alt-u
-PanelDirectoryHistoryPrev = alt-y
-PanelGotoBottomFile = alt-j
-PanelGotoMiddleFile = alt-r
-PanelSyncOtherPanel = alt-i
-PanelGotoTopFile = alt-g
-PanelSetPanelEncoding = alt-e
-PanelMoveHome = alt-lt; home; a1
-PanelMoveEnd = alt-gt; end; c1
-PanelSelectSortOrder=
-PanelToggleSortOrderPrev=
-PanelToggleSortOrderNext=
-PanelReverseSort=
-PanelSortOrderByName=
-PanelSortOrderByExt=
-PanelSortOrderBySize=
-PanelSortOrderByMTime=
-PanelSmartGotoParentDir=
-
-[input]
-InputBol = ctrl-a; alt-lt; home; a1
-InputEol = ctrl-e; alt-gt; end; c1
-InputMoveLeft = left; alt-left
-InputWordLeft = ctrl-left
-InputBackwardChar = ctrl-b
-InputBackwardWord = alt-b
-InputMoveRight = right; alt-right
-InputWordRight = ctrl-right
-InputForwardChar = ctrl-f
-InputForwardWord = alt-f
-InputBackwardDelete = backspace
-InputDeleteChar = delete
-InputKillWord = alt-d
-InputBackwardKillWord = alt-backspace
-InputSetMark =
-InputKillRegion = ctrl-w
-InputXCut =
-InputXStore = alt-w
-InputXPaste =
-InputYank = ctrl-y
-InputKillLine = ctrl-k
-InputHistoryPrev = alt-p; ctrl-down
-InputHistoryNext = alt-n; ctrl-up
-InputHistoryShow = alt-h
-InputComplete = alt-tab
-InputClearLine =
-InputLeftHighlight =
-InputRightHighlight =
-InputWordLeftHighlight =
-InputWordRightHighlight =
-InputBolHighlight =
-InputEolHighlight =
-
-[listbox]
-ListboxMoveUp = up; ctrl-p
-ListboxMoveDown = down; ctrl-n
-ListboxMoveHome = home; alt-lt; a1
-ListboxMoveEnd = end; alt-gt; c1
-ListboxMovePgUp = pgup; alt-v
-ListboxMovePgDn = pgdn; ctrl-v
-ListboxDeleteItem = delete; d
-ListboxDeleteAll = shift-delete; shift-d
-
-[tree]
-TreeHelp = f1
-TreeForget = f3
-TreeToggleNav = f4
-TreeCopy = f5
-TreeMove = f6
-TreeMoveUp = up; ctrl-p
-TreeMoveDown = down; ctrl-n
-TreeMoveLeft = left
-TreeMoveRight = right
-TreeMoveHome = home; alt-lt; a1
-TreeMoveEnd = end; alt-gt; c1
-TreeMovePgUp = pgup; alt-v
-TreeMovePgDn = pgdn; ctrl-v
-TreeOpen = enter
-TreeRescan = f2; ctrl-r
-TreeStartSearch = ctrl-s; alt-s
-TreeRemove = f8; delete
-
-[help]
-HelpHelp = f1
-HelpIndex = f2; c
-HelpBack = f3; left; l
-HelpQuit = f10; esc
-HelpMoveUp = up; ctrl-p
-HelpMoveDown = down; ctrl-n
-HelpMovePgDn = f; space; pgdn; ctrl-v
-HelpMovePgUp = b; pgup; alt-v; backspace
-HelpMoveHalfPgDn = d
-HelpMoveHalfPgUp = u
-HelpMoveTop = home; ctrl-home; ctrl-pgup; a1; alt-lt; g
-HelpMoveBottom = end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
-HelpSelectLink = right; enter
-HelpNextLink = tab
-HelpPrevLink = alt-tab
-HelpNextNode = n
-HelpPrevNode = p
-
-[dialog]
-DialogOK = enter
-DialogCancel = f10; esc; ctrl-g
-DialogPrevItem = left; up
-DialogNextItem = right; down
-DialogHelp = f1
-DialogSuspend = ctrl-z
-DialogRefresh = ctrl-l
-CmdDialogList = alt-prime
-CmdDialogNext = alt-rbrace
-CmdDialogPrev = alt-lbrace
-
+Help = f1
+HexEditMode = f2
+Quit = f3; f10; q; esc
+HexMode = f4
+Goto = f5
+Save = f6
+Search = f7; question; slash
+SearchContinue = ctrl-r; ctrl-s; f17; n
+MagicMode = f8
+NroffMode = f9
+ToggleNavigation = tab
+Home = ctrl-a; home
+End = ctrl-e; end
+Left = b; left
+Right = f; right
+Up = k; y; up
+Down = j; delete; down
+PageDown = pgdn; ctrl-v
+PageUp = pgup; alt-v
+Top = ctrl-home; ctrl-pgup; a1; alt-lt; g
+Bottom = ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g
[diffviewer]
-DiffDisplaySymbols = alt-s; s
-DiffDisplayNumbers = alt-n; l
-DiffFull = f
-DiffEqual = equal
-DiffSplitMore = gt
-DiffSplitLess = lt
-DiffSetTab2 = 2
-DiffSetTab3 = 3
-DiffSetTab4 = 4
-DiffSetTab8 = 8
-DiffSwapPanel = ctrl-u
-DiffRedo = ctrl-r
-DiffNextHunk = n; enter; space
-DiffPrevHunk = p; backspace
-DiffGoto = g; shift-g
-DiffSave = f2
-DiffEditCurrent = f4
-DiffEditOther = f14
-DiffMergeCurrentHunk = f5
-DiffSearch = f7
-DiffContinueSearch = f17
-DiffOptions = f9
-DiffBOF = ctrl-home
-DiffEOF = ctrl-end
-DiffDown = down
-DiffUp = up
-DiffQuickLeft = ctrl-left
-DiffQuickRight = ctrl-right
-DiffLeft = left
-DiffRight = right
-DiffPageDown = pgdn
-DiffPageUp = pgup
-DiffHome = home
-DiffEnd = end
-DiffHelp = f1
-DiffQuit = f10; q; shift-q; esc
-ShowCommandLine = ctrl-o
+ShowSymbols = alt-s; s
+ShowNumbers = alt-n; l
+SplitFull = f
+SplitEqual = equal
+SplitMore = gt
+SplitLess = lt
+Tab2 = 2
+Tab3 = 3
+Tab4 = 4
+Tab8 = 8
+Swap = ctrl-u
+Redo = ctrl-r
+HunkNext = n; enter; space
+HunkPrev = p; backspace
+Goto = g; shift-g
+Save = f2
+Edit = f4
+EditOther = f14
+Merge = f5
+Search = f7
+SearchContinue = f17
+Options = f9
+Top = ctrl-home
+Bottom = ctrl-end
+Down = down
+Up = up
+LeftQuick = ctrl-left
+RightQuick = ctrl-right
+Left = left
+Right = right
+PageDown = pgdn
+PageUp = pgup
+Home = home
+End = end
+Help = f1
+Quit = f10; q; shift-q; esc
+Shell = ctrl-o
SelectCodepage = alt-e
= f \.c$ & t r
+ f \.c$ & t r & ! t t
- Compile and link current .c file
+с Compile and link current .c file
make `basename %f .c` 2>/dev/null || cc -O -o `basename %f .c` %f
+ t r & ! t t
+++ /dev/null
-# /etc/mysql/my.cnf: The global mysql configuration file.
-# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/files/my.cnf-5.1,v 1.3 2012/02/15 02:07:21 jmbsvicetto Exp $
-
-# The following options will be passed to all MySQL clients
-[client]
-#password = your_password
-port = 3306
-socket = /var/run/mysqld/mysqld.sock
-
-[mysql]
-character-sets-dir=/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqladmin]
-character-sets-dir=/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqlcheck]
-character-sets-dir=/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqldump]
-character-sets-dir=/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqlimport]
-character-sets-dir=/usr/share/mysql/charsets
-default-character-set=utf8
-
-[mysqlshow]
-character-sets-dir=/usr/share/mysql/charsets
-default-character-set=utf8
-
-[myisamchk]
-character-sets-dir=/usr/share/mysql/charsets
-
-[myisampack]
-character-sets-dir=/usr/share/mysql/charsets
-
-# use [safe_mysqld] with mysql-3
-[mysqld_safe]
-err-log = /var/log/mysql/mysql.err
-
-# add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations
-[mysqld]
-character-set-server = utf8
-user = mysql
-port = 3306
-socket = /var/run/mysqld/mysqld.sock
-pid-file = /var/run/mysqld/mysqld.pid
-log-error = /var/log/mysql/mysqld.err
-basedir = /usr
-datadir = /var/lib/mysql
-skip-external-locking
-key_buffer = 16M
-max_allowed_packet = 1M
-table_open_cache = 64
-sort_buffer_size = 512K
-net_buffer_length = 8K
-read_buffer_size = 256K
-read_rnd_buffer_size = 512K
-myisam_sort_buffer_size = 8M
-language = /usr/share/mysql/english
-
-# security:
-# using "localhost" in connects uses sockets by default
-# skip-networking
-bind-address = 127.0.0.1
-
-log-bin
-server-id = 1
-
-# point the following paths to different dedicated disks
-tmpdir = /tmp/
-#log-update = /path-to-dedicated-directory/hostname
-
-# you need the debug USE flag enabled to use the following directives,
-# if needed, uncomment them, start the server and issue
-# #tail -f /tmp/mysqld.sql /tmp/mysqld.trace
-# this will show you *exactly* what's happening in your server ;)
-
-#log = /tmp/mysqld.sql
-#gdb
-#debug = d:t:i:o,/tmp/mysqld.trace
-#one-thread
-
-# uncomment the following directives if you are using BDB tables
-#bdb_cache_size = 4M
-#bdb_max_lock = 10000
-
-# the following is the InnoDB configuration
-# if you wish to disable innodb instead
-# uncomment just the next line
-#skip-innodb
-#
-# the rest of the innodb config follows:
-# don't eat too much memory, we're trying to be safe on 64Mb boxes
-# you might want to bump this up a bit on boxes with more RAM
-innodb_buffer_pool_size = 16M
-# this is the default, increase it if you have lots of tables
-innodb_additional_mem_pool_size = 2M
-#
-# i'd like to use /var/lib/mysql/innodb, but that is seen as a database :-(
-# and upstream wants things to be under /var/lib/mysql/, so that's the route
-# we have to take for the moment
-#innodb_data_home_dir = /var/lib/mysql/
-#innodb_log_arch_dir = /var/lib/mysql/
-#innodb_log_group_home_dir = /var/lib/mysql/
-# you may wish to change this size to be more suitable for your system
-# the max is there to avoid run-away growth on your machine
-innodb_data_file_path = ibdata1:10M:autoextend:max:128M
-# we keep this at around 25% of of innodb_buffer_pool_size
-# sensible values range from 1MB to (1/innodb_log_files_in_group*innodb_buffer_pool_size)
-innodb_log_file_size = 5M
-# this is the default, increase it if you have very large transactions going on
-innodb_log_buffer_size = 8M
-# this is the default and won't hurt you
-# you shouldn't need to tweak it
-innodb_log_files_in_group=2
-# see the innodb config docs, the other options are not always safe
-innodb_flush_log_at_trx_commit = 1
-innodb_lock_wait_timeout = 50
-innodb_file_per_table
-
-[mysqldump]
-quick
-max_allowed_packet = 16M
-
-[mysql]
-# uncomment the next directive if you are not familiar with SQL
-#safe-updates
-
-[isamchk]
-key_buffer = 20M
-sort_buffer_size = 20M
-read_buffer = 2M
-write_buffer = 2M
-
-[myisamchk]
-key_buffer = 20M
-sort_buffer_size = 20M
-read_buffer = 2M
-write_buffer = 2M
-
-[mysqlhotcopy]
-interactive-timeout
# /etc/mysql/my.cnf: The global mysql configuration file.
-# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/files/my.cnf-5.1,v 1.2 2010/03/24 18:26:09 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/files/my.cnf-5.1,v 1.3 2012/02/15 02:07:21 jmbsvicetto Exp $
# The following options will be passed to all MySQL clients
[client]
skip-external-locking
key_buffer = 16M
max_allowed_packet = 1M
-table_cache = 64
+table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
+++ /dev/null
-extension=apc.so
extension=apc.so
-apc.enabled="1"
-apc.shm_segments="1"
-apc.shm_size="30M"
-apc.num_files_hint="1024"
-apc.ttl="7200"
-apc.user_ttl="7200"
-apc.gc_ttl="3600"
-apc.cache_by_default="1"
-;apc.filters=""
-;apc.mmap_file_mask="/tmp/apcphp5.XXXXXX"
-apc.slam_defense="0"
-apc.file_update_protection="2"
-apc.enable_cli="0"
-apc.max_file_size="1M"
-apc.stat="1"
-apc.write_lock="1"
-apc.report_autofilter="0"
-apc.include_once_override="0"
-apc.rfc1867="0"
-apc.rfc1867_prefix="upload_"
-apc.rfc1867_name="APC_UPLOAD_PROGRESS"
-apc.rfc1867_freq="0"
-apc.localcache="0"
-apc.localcache.size="512"
-apc.coredump_unmap="0"
+++ /dev/null
-extension=apc.so
extension=apc.so
-apc.enabled="1"
-apc.shm_segments="1"
-apc.shm_size="30M"
-apc.num_files_hint="1024"
-apc.ttl="7200"
-apc.user_ttl="7200"
-apc.gc_ttl="3600"
-apc.cache_by_default="1"
-;apc.filters=""
-;apc.mmap_file_mask="/tmp/apcphp5.XXXXXX"
-apc.slam_defense="0"
-apc.file_update_protection="2"
-apc.enable_cli="0"
-apc.max_file_size="1M"
-apc.stat="1"
-apc.write_lock="1"
-apc.report_autofilter="0"
-apc.include_once_override="0"
-apc.rfc1867="0"
-apc.rfc1867_prefix="upload_"
-apc.rfc1867_name="APC_UPLOAD_PROGRESS"
-apc.rfc1867_freq="0"
-apc.localcache="0"
-apc.localcache.size="512"
-apc.coredump_unmap="0"
+++ /dev/null
-extension=apc.so
extension=apc.so
-apc.enabled="1"
-apc.shm_segments="1"
-apc.shm_size="30M"
-apc.num_files_hint="1024"
-apc.ttl="7200"
-apc.user_ttl="7200"
-apc.gc_ttl="3600"
-apc.cache_by_default="1"
-;apc.filters=""
-;apc.mmap_file_mask="/tmp/apcphp5.XXXXXX"
-apc.slam_defense="0"
-apc.file_update_protection="2"
-apc.enable_cli="0"
-apc.max_file_size="1M"
-apc.stat="1"
-apc.write_lock="1"
-apc.report_autofilter="0"
-apc.include_once_override="0"
-apc.rfc1867="0"
-apc.rfc1867_prefix="upload_"
-apc.rfc1867_name="APC_UPLOAD_PROGRESS"
-apc.rfc1867_freq="0"
-apc.localcache="0"
-apc.localcache.size="512"
-apc.coredump_unmap="0"
+++ /dev/null
-extension=apc.so
extension=apc.so
-apc.enabled="1"
-apc.shm_segments="1"
-apc.shm_size="30M"
-apc.num_files_hint="1024"
-apc.ttl="7200"
-apc.user_ttl="7200"
-apc.gc_ttl="3600"
-apc.cache_by_default="1"
-;apc.filters=""
-;apc.mmap_file_mask="/tmp/apcphp5.XXXXXX"
-apc.slam_defense="0"
-apc.file_update_protection="2"
-apc.enable_cli="0"
-apc.max_file_size="1M"
-apc.stat="1"
-apc.write_lock="1"
-apc.report_autofilter="0"
-apc.include_once_override="0"
-apc.rfc1867="0"
-apc.rfc1867_prefix="upload_"
-apc.rfc1867_name="APC_UPLOAD_PROGRESS"
-apc.rfc1867_freq="0"
-apc.localcache="0"
-apc.localcache.size="512"
-apc.coredump_unmap="0"