# Double Commander extension file
# Based on Midnight Commander 3.0 extension file
#
# All lines starting with # or empty lines are thrown away.
# All actions for file is showed in "Actions" submenu of file context popup menu
#
# File format:
#
# [extension1|extension2|...|extensionX]
# Name=Category name
# Icon=Path to icon
# action1=command1
# action2=command2
# actionX=commandX
#
# Where:
#
# [extension] or [extension1|extension2 ...] - list of extensions (case insensitive !!no regular expression!!)
# Also you can use "default" keyword as extension. In this case, if command had not found for sought file type,
# then will be used command from this section.
#
# Name - Name of this category (showed in file association manager)
#
# Icon - Path to icon that displays for this file types in file panel
#
# Action can be:
#   Open - used with tap on Enter or DblClick
#   View - used with tap on F3
#   Edit - used with tap on F4
#   other actions only is showed in "Actions" submenu of file context popup menu
#
# Command is any one-line shell command, with the simple macro substitution.
#
# Macros should be (case sensitive):
#   {!VFS}    - for archives - use virtual file system
#   {!EDITOR} - call editor (internal or external by configuration}
#   {!VIEWER} - call viewer (the same) 
#   {!SHELL}  - use shell from configuration to execute program (see mplayer)
#   <?command?> - execute 'command' in system shell and save stdout output to file and transfer it as parameter to previous command (see rpm for example...)
#   %f - filename
#   %d - directory
#   %p - path(directory+filename)

# Default commands
[default]
Open=xdg-open %p

### Sources ###

# C
[c]
Open={!EDITOR} %p
Compile={!SHELL} cc -O -c %f
#Link={!SHELL} cc -O -o %d/`basename %f .c` %f

# Fortran
[f]
Open={!EDITOR} %p
Compile={!SHELL} f77 -O -c %f
Compile and Link={!SHELL} f77 -O %f

# Pascal and Object Pascal :)
[dpr|pas|pp]
Open={!EDITOR} %p
#Compile={!SHELL} fpc %p

# Asm
[s]
Open={!EDITOR} %p
Assemble={!SHELL} cc -O -c %f
#Link={!SHELL} cc -O -o %d/`basename %f .s` %f

# C++
[C|c|cc]
Open={!EDITOR} %p
Compile={!SHELL} c++ -O -c %f
#Link={!SHELL} c++ -O -o %d/`basename %f .c` %f

### Documentation ###

# GNU Info page
[info]
Open={!SHELL} info -f %f

# Manual page
[man]
Open={!SHELL} nroff  -Tlatin2 -mandoc %f | less
View={!SHELL} nroff  -Tlatin2 -mandoc %f

### Sound files ###

[wav|WAV|Wav|snd|SND|Snd|voc|VOC|Voc|au|AU|Au]
Open={!SHELL} play %f

[mod|s3m|xm]
Open=xmms %f
#Open=mikmod %f
#Open=tracker %f

[mp3]
Open=xmms %p
View=mpg123 -tn1 %f 2>&1|grep -E '^(Title|Album|Comment|MPEG|$)'

### Multimedia ###

[mpg|mpeg|avi|asf|mov]
Open=totem %p
#Open=xanim %f
#Open=aviplay %f
#Open=mtv %f 2>/dev/null&
#Open=gtv %f 2>/dev/null&
#Open=plaympeg %f 2>/dev/null&
#Open=mpeg_play %f &
#Open(big)=mpeg_play -dither 2x2 %f &
#Open(gray)=mpeg_play -dither gray %f &

[rm|ram]
Open={!SHELL} mplayer %f
#Open=realplay %f&

### Documents ###

# Postscript
[ps]
Open=gv %f
View=ps2ascii %f
View with GhostView=gv %f

# PDF
[pdf]
Open=xpdf %f
#Open=acroread %f
#Open=ghostview %f
View=pdftotext %f

# html
[html|htm|mht]
Open=opera %p
#Open=mozilla %p
View=lynx -dump -force_html %p

#txt
[txt]
Open={!EDITOR} %p

# StarOffice and OpenOffice
[sdw]
Open=soffice %f

# Open Document Format
[odt|ods|odp]
Name=Open Document Format
View={!VIEWER} <?odt2txt %p?>

# AbiWord
[abw]
Open=abiword %f

# Microsoft Word Document
[doc|dot|wri]
Open=soffice %f
#Open=koffice %f
View={!SHELL} catdoc -w %f || word2x -f text %f - || strings %f

# Microsoft Excel Worksheet
[xls|xlw]
Open=soffice %f
#Open=koffice %f
View=xls2csv %f || strings %f

# DVI
[dvi]
Open=xdvi %f &
View=dvi2tty %f
Convert file to Postscript=dvips %f

# TeX
[tex]
Open={!EDITOR} %p
TeX this file={!SHELL} tex %f
LaTeX this file={!SHELL} latex %f
csTeX this file={!SHELL} csplain %f
csLaTeX this file={!SHELL} cslatex %f

### Miscellaneous ###

# dbf
[dbf]
#Open={!VIEWER} <?dbview %f?>
View=dbview -b %f

# BitTorrent
[torrent]
View={!VIEWER} <?aria2c -S %p?>

### Archives ###

[tar]
Open={!VFS}
View={!VIEWER} <?tar tvvf %p?>
Extract={!SHELL} tar xf %f

[tgz]
Open={!VFS}
View={!VIEWER} <?gzip -dc %f 2>/dev/null | tar tvvf -?>
Extract={!SHELL} gzip -dc %f 2>/dev/null | tar xzf -

[bz]
Open={!VFS}
View={!VIEWER} <?bzip -dc %f 2>/dev/null?>
Extract={!SHELL} bzip -dc %f 2>/dev/null

[bz2]
Open={!VFS}
View={!VIEWER} <?bzip2 -dc %f 2>/dev/null?>
Extract={!SHELL} bzip2 -dc %f 2>/dev/null

# zip
[zip|jar]
Open={!VFS}
View={!VIEWER} <?unzip -v %f?>
Extract={!SHELL} unzip %f
#Extract (with flags)=I=%{Enter any Unzip flags:}; if test -n "$I"; then unzip $I %f; fi
Unzip={!SHELL} unzip %f '*'

# zoo
[zoo]
Open={!VFS}
View={!VIEWER} <?zoo l %f?>
Extract={!SHELL} zoo x %f '*'

# lha
[lha]
Open={!VFS}
View={!VIEWER} <?lharc l %f?>
Extract={!SHELL} lharc x %f '*'
#Extract (with flags)=I=%{Enter any LHarc flags:}; if test -n "$I"; then lharc x $I %f; fi

# arj
[arj]
Open={!VFS}
View={!VIEWER} <?unarj l %p?>
Extract={!SHELL} unarj x %f '*'
#Extract (with flags)=I=%{Enter any Unarj flags:}; if test -n "$I"; then unarj x $I %f; fi

# ha
[ha]
Open={!VFS}
View={!VIEWER} <?ha lf %p?>
Extract={!SHELL} ha xy %f '*'
#	Extract (with flags)=I=%{Enter any HA flags:}; if test -n "$I"; then ha xy $I %f; fi

# rar
[rar|r00|r02|r02|r03|r04|r05|r06|r07|r08|r09]
Open={!VFS}
View={!VIEWER} <?rar v -c- %p?>
Extract={!SHELL} rar x -c- %f '*'
#	Extract (with flags)=I=%{Enter any RAR flags:}; if test -n "$I";then rar x $I %f; fi

#compress
[Z]
Open={!VFS}
View={!SHELL} compress -dc %f
Extract={!SHELL} compress -dc %f

# cpio
[cpio]
Open={!VFS}
View={!SHELL} cat %f | cpio -ictv
Extract={!SHELL} cat %f | cpio -ic

# gzip
[gz]
Open={!VFS}
View={!VIEWER} <?gzip -dc %f 2>/dev/null?>
Uncompress={!SHELL} gunzip %f

# bzip2
[bz2|bzip2]
Open={!VFS}
View={!VIEWER} <?bzip2 -dc %f 2>/dev/null?>
Uncompress={!SHELL} bunzip2 %f

# bzip
[bz|bzip]
Open={!VFS}
View={!VIEWER} <?bzip -dc %f 2>/dev/null?>
Uncompress={!SHELL} bunzip %f

# ace
[ace]
Open={!VFS}
Uncompress={!SHELL} unace e %p

# Source RPMs (SuSE uses *.spm, others use *.src.rpm)
[spm|srcm]
Open={!VFS}
View={!VIEWER} <?rpm -qivlp --scripts %p?>
Install this RPM={!SHELL} rpm -i %f
Rebuild this RPM={!SHELL} rpm --rebuild %f
Check signature={!SHELL} rpm --checksig %f

# Compiled RPMs
[rpm]
Open={!VFS}
View={!VIEWER}<?rpm -qivlp --scripts %p?>
Install this RPM={!SHELL} rpm -i %p
Upgrade this RPM={!SHELL} rpm -U %p
Check signature={!SHELL} rpm --checksig %f

# deb
[deb]
Open={!VFS}
View={!VIEWER} <?dpkg-deb -c %p?>
