ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     sfs.ini                                                                                             0000644                 00000001471 15154606577 0006063 0                                                                                                    ustar 00                                                                                                                                                                                                                                                       #
# This is config for Single File fileSystem
#
# Notice that output files (%3) are pre-created atomically in /tmp
# with 0600 rights, so it is safe to > %3
#
gz/1	gzip < %1 > %3
ugz/1	gzip -cdf < %1 > %3
bz/1	bzip < %1 > %3
ubz/1	bzip -d < %1 > %3
bz2/1	bzip2 < %1 > %3
ubz2/1	bzip2 -d < %1 > %3
lz/1	lzip < %1 > %3
ulz/1	lzip -d < %1 > %3
lz4/1	lz4 < %1 > %3
ulz4/1	lz4 -d < %1 > %3
lzma/1	lzma < %1 > %3
ulzma/1	lzma -d < %1 > %3
xz/1	xz < %1 > %3
uxz/1	xz -d < %1 > %3
tar/1	tar cf %3 %1
tgz/1	tar czf %3 %1
uhtml/1	lynx -force_html -dump %1 > %3
uman/1	groff -Tascii -man %1 > %3
uue/1	uuenpipe < %1 > %3
uude/1	uudepipe < %1 > %3
crlf/1	todos < %1 > %3
cr/1	fromdos < %1 > %3
# Fixme: we need it to fail whenever it should
url:2	lynx -source `echo "%2" | sed 's-|-/-g'` > %3
nop/1	cat %1 > %3
strings/1	strings %1 > %3
                                                                                                                                                                                                       mc.emacs.keymap                                                                                     0000644                 00000020733 15154606577 0007467 0                                                                                                    ustar 00                                                                                                                                                                                                                                                       [main]
ChangePanel = tab
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
SplitEqual = alt-equal
SplitMore = alt-shift-right
SplitLess = alt-shift-left
Shell = ctrl-o
PutCurrentPath = alt-a
PutOtherPath = alt-shift-a
PutCurrentSelected = alt-enter; ctrl-enter
PutCurrentFullSelected = ctrl-shift-enter
ViewFiltered = alt-exclamation
Select = kpplus
Unselect = kpminus
SelectInvert = kpasterisk
ScreenList = alt-prime
# OptionsLayout =
# OptionsAppearance =
# 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
# SelectExt =
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 =
# ScrollLeft =
# ScrollRight =

[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; ctrl-enter; ctrl-shift-enter
BackSpace = backspace
Delete = delete
PageUp = pgup; alt-v
PageDown = pgdn; ctrl-v
Home = home; ctrl-a
End = end; ctrl-e
Tab = tab; shift-tab; ctrl-tab; ctrl-shift-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
# Close =
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; esc
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 =
# SpellCheck =
# SpellCheckCurrentWord =
# SpellCheckSelectLang =
# LearnKeys =
# WindowMove =
# WindowResize =
# WindowFullscreen =
# WindowList =
# WindowNext =
# WindowPrev =
ExtendedKeyMap = ctrl-x

[editor:xmap]
EditNew = k

[viewer]
Help = f1
WrapMode = f2
Quit = f3; f10; q; esc
HexMode = f4
Goto = f5
Search = f7
SearchForward = slash
SearchBackward = question
SearchContinue = f17; n
SearchForwardContinue = ctrl-s
SearchBackwardContinue = ctrl-r
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
SearchForward = slash
SearchBackward = question
SearchContinue = f17; n
SearchForwardContinue = ctrl-s
SearchBackwardContinue = ctrl-r
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
MergeOther = f15
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
                                     mc.default.keymap                                                                                   0000644                 00000021031 15154606577 0010013 0                                                                                                    ustar 00                                                                                                                                                                                                                                                       [main]
ChangePanel = tab
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
SplitEqual = alt-equal
SplitMore = alt-shift-right
SplitLess = alt-shift-left
Shell = ctrl-o
PutCurrentPath = alt-a
PutOtherPath = alt-shift-a
PutCurrentSelected = alt-enter; ctrl-enter
PutCurrentFullSelected = ctrl-shift-enter
ViewFiltered = alt-exclamation
Select = kpplus
Unselect = kpminus
SelectInvert = kpasterisk
ScreenList = alt-prime
# OptionsLayout =
# OptionsAppearance =
# 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
# SelectExt =
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 =
# ScrollLeft =
# ScrollRight =

[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; ctrl-enter; ctrl-shift-enter
BackSpace = backspace; ctrl-h
Delete = delete; ctrl-d
PageUp = pgup
PageDown = pgdn
Home = home
End = end
Tab = tab; shift-tab; ctrl-tab; ctrl-shift-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
# Close =
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; esc
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 =
# SpellCheck =
SpellCheckCurrentWord = ctrl-p
# SpellCheckSelectLang =
# LearnKeys =
# WindowMove =
# WindowResize =
# WindowFullscreen =
# WindowList =
# WindowNext =
# WindowPrev =
# ExtendedKeyMap =

[viewer]
Help = f1
WrapMode = f2
Quit = f3; f10; q; esc
HexMode = f4
Goto = f5
Search = f7
SearchForward = slash
SearchBackward = question
SearchContinue = f17; n
SearchForwardContinue = ctrl-s
SearchBackwardContinue = ctrl-r
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
SearchForward = slash
SearchBackward = question
SearchContinue = f17; n
SearchForwardContinue = ctrl-s
SearchBackwardContinue = ctrl-r
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
MergeOther = f15
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
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       mcedit.menu                                                                                         0000644                 00000030523 15154606577 0006722 0                                                                                                    ustar 00                                                                                                                                                                                                                                                       shell_patterns=0    # expression type

# The macros are:
#
# %c The cursor column position number. For edit menu only.
# %i The indent of blank space, equal the cursor column 
#    position. For edit menu only.
# %y The syntax type of current file. For edit menu only.
# %b The block file name.
# %f The current file name.
# %n Only the current file name without extension.
# %x The extension of current file name.
# %d The current directory name.
# %F The current file in the unselected panel.
# %D The directory name of the unselected panel.
# %t The currently tagged files.
# %T The tagged files in the unselected panel.
# %u and %U Similar to the %t and %T macros, but in
#    addition the files are untagged. You can use this macro
#    only once per menu file entry or extension file entry,
#    because next time there will be no tagged files.
# %s and %S The selected files: The tagged files if
#    there are any. Otherwise the current file.
#
# %% The % character
#
# %{some text} Prompt for the substitution. An input box
#    is shown and the text inside the braces is used as a
#    prompt. The macro is substituted by the text typed by the
#    user. The user can press ESC or F10 to cancel. This macro
#    doesn't work on the command line yet.

#----------------------- Begin [perl] language template -----------------------
+ y Perl\ Program | f \.pl$
1       Author description header
        unset LANG
        unset LANGUAGE
        LC_ALL=
        MY_UID="`id | sed 's/^.*uid=\([^(]*\).*$/\1/'`"
        AUTHOR="`awk -F: '$3 == '$MY_UID' {print $5}' /etc/passwd`"
        cat >>%b <<EOF
        #----------------------------------------------------------------------
        # Description:
        # Author: $AUTHOR <$REPLYTO>
        # Created at: `date`
        # Computer: `uname -n` 
        # System: `uname -sr` on `uname -m`
        #
        # Copyright (c) `date +%%Y` $AUTHOR  All rights reserved.
        #
        #----------------------------------------------------------------------
        # Configure section:

        #----------------------------------------------------------------------
        #
        # main()

        EOF

+ y Perl\ Program | f \.pl$
2       while ()
        cat <<EOF > %b
        %iwhile() {
        %i}
        EOF

+ y Perl\ Program | f \.pl$
3       for ()
        cat <<EOF > %b
        %ifor ($i =  ; $i <  ; $i++) {
        %i}
        EOF

+ y Perl\ Program | f \.pl$
4       foreach ()
        cat <<EOF > %b
        %iforeach ($ ) {
        %i}
        EOF

+ y Perl\ Program | f \.pl$
5       if ()
        cat <<EOF > %b
        %iif () {
        %i}
        EOF

+ y Perl\ Program | f \.pl$
6       if () else
        cat <<EOF > %b
        %iif () {
        %i} else {
        %i}
        EOF

+ y Perl\ Program | f \.pl$
7       if () elsif ()
        cat <<EOF > %b
        %iif () {
        %i} elsif () {
        %i}
        EOF

+ y Perl\ Program | f \.pl$
8       substr ()
        echo "%i$ = substr(\$str, \$off, \$cnt);" >%b

+ y Perl\ Program | f \.pl$
9       opendir ()
        cat <<EOF > %b
        %iopendir(DIR, \$dir) || die("\$0: can't open \$dir\n");
        EOF

+ y Perl\ Program | f \.pl$
a       sub ()
        NAME=%{ Enter name of subroutine: }
        cat <<EOF > %b
        sub
        $NAME ()
        {
        } # end of $NAME()
        EOF
#----------------------- End [perl] language template -------------------------

#---------------------- Begin [shell] language template -----------------------
+ y Shell\ Script | f \.sh$
1       Author description header
        unset LANG
        unset LANGUAGE
        LC_ALL=
        MY_UID="`id | sed 's/^.*uid=\([^(]*\).*$/\1/'`"
        AUTHOR="`awk -F: '$3 == '$MY_UID' {print $5}' /etc/passwd`"
        cat >>%b <<EOF
        #----------------------------------------------------------------------
        # Description:
        # Author: $AUTHOR <$REPLYTO>
        # Created at: `date`
        # Computer: `uname -n`
        # System: `uname -sr` on `uname -m`
        #
        # Copyright (c) `date +%%Y` $AUTHOR  All rights reserved.
        #
        #----------------------------------------------------------------------
        # Configure section:

        #----------------------------------------------------------------------
        #
        # main()

        EOF

+ y Shell\ Script | f \.sh$
3       for
        cat <<EOF > %b
        %ifor i in \$
        %ido
        %idone
        EOF

+ y Shell\ Script | f \.sh$
4       while
        cat <<EOF > %b
        %iwhile
        %ido
        %idone
        EOF

+ y Shell\ Script | f \.sh$
5       if [] then else
        cat <<EOF >> %b
        %iif [ ];then
        %ielse
        %ifi
        EOF

+ y Shell\ Script | f \.sh$
6       case
        NUMBER=%{ Enter number elements of case:}
        cat <<EOF > %b
        %icase "\$" in
        EOF
        while [ "$NUMBER" -gt 0 ]
        do
        cat <<EOF >> %b
        %i)
        %i    ;;
        EOF
        let NUMBER=$NUMBER-1
        done
        cat <<EOF >> %b
        %i*)
        %iesac
        EOF

+ y Shell\ Script | f \.sh$
7       function
        NAME=%{ Enter name of function:}
        cat <<EOF >> %b
        $NAME() {
        } # end of $NAME()
        EOF

+ y Shell\ Script | f \.sh$
8       select of bash
        cat <<EOF >> %b
        %iselect i in \$l
        %ido
        %i    if [ -n "\$i" ];then
        %i       break
        %i    else
        %i       continue
        %i    fi
        %idone
        EOF

#----------------------- End [shell] language template ------------------------

#------------------------- Begin [c] language template ------------------------
+ f \.h$ | f \.c$ | f \.cc$
1       Author description header
        unset LANG
        unset LANGUAGE
        LC_ALL=
        MY_UID="`id | sed 's/^.*uid=\([^(]*\).*$/\1/'`"
        AUTHOR="`awk -F: '$3 == '$MY_UID' {print $5}' /etc/passwd`"
        cat >> %b <<EOF
        /********************************************************************
        * Description:
        * Author: $AUTHOR <$REPLYTO>
        * Created at: `date`
        * Computer: `uname -n`
        * System: `uname -sr` on `uname -m`
        *
        * Copyright (c) `date +%%Y` $AUTHOR  All rights reserved.
        *
        ********************************************************************/
        EOF

+ f \.h$ | f \.c$ | f \.cc$
2       GPL description header
        cat >>%b <<EOF
        /*
        *  This program is free software: you can redistribute it and/or modify
        *  it under the terms of the GNU General Public License as published by
        *  the Free Software Foundation, either version 3 of the License, or
        *  (at your option) any later version.
        *
        *  This program is distributed in the hope that it will be useful,
        *  but WITHOUT ANY WARRANTY; without even the implied warranty of
        *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        *  GNU General Public License for more details.
        *
        *  You should have received a copy of the GNU General Public License
        *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
        */
        EOF

+ f \.c$ | f \.cc$
3       if ()
        cat <<EOF > %b
        %iif () {
        %i}
        EOF

+ f \.c$ | f \.cc$
4       if () else
        cat <<EOF > %b
        %iif () {
        %i} else {
        %i}
        EOF

+ f \.c$ | f \.cc$
5       if () else if ()
        cat <<EOF > %b
        %iif ( ) {
        %i} else if ( ) {
        %i}
        EOF

+ f \.c$ | f \.cc$
6       switch ()
        NUMBER=%{ Enter number elements of switch:}
        echo "%iswitch () {" >%b
        while [ "$NUMBER" -gt 0 ]
        do
            echo "%icase '':" >>%b
            echo "%i      break;" >>%b
            let NUMBER=$NUMBER-1
        done
        echo "%i      default:" >>%b
        echo "%i}" >>%b

+ f \.c$ | f \.cc$
7       for ()
        cat <<EOF > %b
        %ifor (i =  ; i <  ; i++) {
        %i}
        EOF

+ f \.c$ | f \.cc$
8       while ()
        cat <<EOF > %b
        %iwhile () {
        %i}
        EOF

+ f \.c$ | f \.cc$
9       do {} while ()
        cat <<EOF > %b
        %ido {
        %i} while ()
        EOF

+ f \.c$ | f \.cc$
a       array
        cat <<EOF > %b
        %ichar const x[] = {
        %i, ,
        %i};
        EOF
        
+ f \.c$ | f \.cc$
b       enum
        cat <<EOF > %b
        %ienum x {
        %i, ,
        %i};
        EOF
        
+ f \.c$ | f \.cc$
c       struct
        cat <<EOF > %b
        %istruct ? {
        %i;
        %i};
        EOF

+ f \.c$ | f \.cc$
d       union
        cat <<EOF > %b
        %iunion ? {
        %i;
        %i};
        EOF

+ f \.c$ | f \.cc$
e       typedef struct
        cat <<EOF > %b
        %itypedef struct {
        %i;
        %i} ?;
        EOF

+ f \.c$ | f \.cc$
f       function
        NAME=%{ Enter name of function:}
        cat <<EOF >> %b
        $NAME()
        {
        } /* end of $NAME() */
        EOF

+ f \.c$ | f \.h$ | f \.cc$
g       #include
        INC=%{ Enter include name: }
        if [ -r "$INC" ];then
            echo \#include \"$INC\" >%b
        else
            echo \#include \<$INC\> >%b
        fi

+ f \.c$ | f \.h$ | f \.cc$
d       #define
        echo "#define " >%b

+ f \.c$ | f \.h$ | f \.cc$
d       #ifdef
        cat <<EOF > %b
        #ifdef
        #else
        #endif
        EOF

+ f \.c$ | f \.h$ | f \.cc$
...............................................................................

+ f \.c$ | f \.h$ | f \.cc$
h       View all *.h into current directory
        cat *.h |less

+ f \.c$ | f \.cc$
d       Run gdb for current file
        [ -x "./%n" ] && gdb ./%n

= f \.c$ | f \.cc$
+ f \.c$ | f \.cc$
c       Compile, link and run the current .c file
        export CFLAGS="-g -Wall -O2"
        make || make %n || cc $CFLAGS -o %n %f
        [ -r "%n" ] && (echo "*** press any key for run... ***"; read)
        [ -x "%n" ] && ./%n
        (echo -ne "\n--- Press any key for return to edit. ---"; read)

+ f \.c$ | f \.h$
t       Indent `C' formatter
        indent -kr -pcs %b 1>/dev/null 2> %e

#--------------------- End [c/c++] language template --------------------------

#------------------------- Begin unknown template -----------------------------
+ y unknown & t r
s       #! /bin/sh
        echo "#! /bin/sh" >%b

+ y unknown & t r
p       #! /usr/bin/perl
        echo "#! /usr/bin/perl" >%b

+ y unknown & t r
a       Author description header
        unset LANG
        unset LANGUAGE
        LC_ALL=
        MY_UID="`id | sed 's/^.*uid=\([^(]*\).*$/\1/'`"
        AUTHOR="`awk -F: '$3 == '$MY_UID' {print $5}' /etc/passwd`"
        cat >>%b <<EOF
        ----------------------------------------------------------------------
        Description:
        Author: $AUTHOR <$REPLYTO>
        Created at: `date`
        Computer: `uname -n` 
        System: `uname -sr` on `uname -m`

        Copyright (c) `date +%%Y` $AUTHOR  All rights reserved.
        ----------------------------------------------------------------------

        EOF
#--------------------------- End unknown template -----------------------------

-------------------------------------------------------------------------------

#----------------------- Begin common section ---------------------------------
S       Sort selection
        TMPFILE=`mktemp ${MC_TMPDIR:-/tmp}/up.XXXXXX` || exit 1
        cat %b > $TMPFILE
        cat $TMPFILE| sort >%b
        rm -f $TMPFILE

I       Insert `Changelog' string
        DATE="`date +%%Y-%%m-%%d`"
        MY_UID="`id | sed 's/^.*uid=\([^(]*\).*$/\1/'`"
        AUTHOR="`awk -F: '$3 == '$MY_UID' {print $5}' /etc/passwd`"
        EMAIL="<$REPLYTO>"
        echo "$DATE  $AUTHOR  $EMAIL" >%b

s       Invoke `shell'
        sh

m       view `man'
        MAN=%{Enter name of man:}
        %view{ascii,nroff} MANROFFOPT='-c -Tlatin1' MAN_KEEP_FORMATTING=1 man -P cat $MAN

i       Insert output of command to cursor
        CMD=%{ Enter command: }
        eval $CMD > %b

o       Open bash to next free console
        open -s -- /bin/bash

u       Upper case selection
        TMPFILE=`mktemp ${MC_TMPDIR:-/tmp}/up.XXXXXX` || exit 1
        cat %b > $TMPFILE
        sed 's/\(.*\)/\U\1/' $TMPFILE >%b
        rm -f $TMPFILE

l       Lower case selection
        TMPFILE=`mktemp ${MC_TMPDIR:-/tmp}/up.XXXXXX` || exit 1
        cat %b > $TMPFILE
        sed 's/\(.*\)/\L\1/' $TMPFILE >%b
        rm -f $TMPFILE

#-------------------------- End of common section -----------------------------
                                                                                                                                                                             mc.ext                                                                                              0000644                 00000051051 15154606577 0005707 0                                                                                                    ustar 00                                                                                                                                                                                                                                                       # 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)
#
#    shell/i (desc is, when starting with a dot, any extension (no wildcars),
#          The same as shell but with case insensitive.
#
#    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 ( ).
#
#    regex/i (desc is an extended regular expression)
#          The same as regex but with case insensitive.
#
#    type  (file matches this if `file %f` matches regular expression desc
#          (the filename: part from `file %f` is removed))
#
#    type/i (file matches this if `file %f` matches regular expression desc)
#          The same as type but with case insensitive.
#
#    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).
#       Also provided to external application as MC_EXT_BASENAME
#       global variable
# %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.
#       Also provided to external application as MC_EXT_FILENAME
#       global variable
# %d -> name of the current directory (pwd, without trailing slash)
#       Also provided to external application as MC_EXT_CURRENTDIR
#       global variable
# %s -> "selected files", i.e. space separated list of tagged files if any
#       or name of the current file.
#       Also provided to external application as MC_EXT_SELECTED
#       global variable
# %t -> list of tagged files
#       Also provided to external application as MC_EXT_ONLYTAGGED
#       global variable
# %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: 2012-03-07 Slava Zanko <slavazanko@gmail.com>


### GIT Repo ###
# gitfs changeset
regex/^\[git\]
	Open=%cd %p/changesetfs://
	View=%cd %p/patchsetfs://

### Archives ###

# .tgz, .tpz, .tar.gz, .tar.z, .tar.Z, .ipk, .gem
regex/\.t([gp]?z|ar\.g?[zZ])$|\.ipk$|\.gem$
	Open=%cd %p/utar://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar.gz

shell/.tar.bz
	# Open=%cd %p/utar://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar.bzip

regex/\.t(ar\.bz2|bz2?|b2)$
	Open=%cd %p/utar://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar.bzip2

# .tar.lzma, .tlz
regex/\.t(ar\.lzma|lz)$
	Open=%cd %p/utar://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar.lzma

# .tar.lz
shell/.tar.lz
	Open=%cd %p/utar://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar.lz

# .tar.lz4, .tlz4
regex/\.t(ar\.lz4|lz4)$
	Open=%cd %p/utar://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar.lz4

# .tar.xz, .txz
regex/\.t(ar\.xz|xz)$
	Open=%cd %p/utar://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar.xz

# .tar.F - used in QNX
shell/.tar.F
	# Open=%cd %p/utar://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar.F

# .qpr/.qpk - QNX Neutrino package installer files
regex/\.qp[rk]$
	Open=%cd %p/utar://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar.qpr

# tar
shell/i/.tar
	Open=%cd %p/utar://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view tar

# lha
type/^LHa\ .*archive
	Open=%cd %p/ulha://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view lha

# arj
regex/i/\.a(rj|[0-9][0-9])$
	Open=%cd %p/uarj://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view arj

# cab
shell/i/.cab
	Open=%cd %p/ucab://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view cab

# ha
shell/i/.ha
	Open=%cd %p/uha://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view ha

# rar
regex/i/\.r(ar|[0-9][0-9])$
	Open=%cd %p/urar://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view rar

# ALZip
shell/i/.alz
	Open=%cd %p/ualz://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view alz

# cpio
shell/.cpio.Z
	Open=%cd %p/ucpio://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view cpio.z

shell/.cpio.lz
	Open=%cd %p/ucpio://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view cpio.lz

shell/.cpio.lz4
	Open=%cd %p/ucpio://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view cpio.lz4

shell/.cpio.xz
	Open=%cd %p/ucpio://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view cpio.xz

shell/.cpio.gz
	Open=%cd %p/ucpio://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view cpio.gz

shell/i/.cpio
	Open=%cd %p/ucpio://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view cpio

# initrd
regex/^(initramfs.*\.img|initrd(-.+)?\.img(-.+)?)$
	Open=%cd %p/ucpio://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view cpio

# 7zip archives (they are not man pages)
shell/i/.7z
	Open=%cd %p/u7z://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view 7z

# patch
regex/\.(diff|patch)(\.bz2)$
	Open=%cd %p/patchfs://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view bz2

regex/\.(diff|patch)(\.(gz|Z))$
	Open=%cd %p/patchfs://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view gz

regex/\.(diff|patch)(\.xz)$
    Open=%cd %p/patchfs://
    View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view xz

# ls-lR
regex/(^|\.)ls-?lR(\.gz|Z|bz2)$
	Open=%cd %p/lslR://

# trpm
shell/.trpm
	Open=%cd %p/trpm://
	View=%view{ascii} /usr/libexec/mc/ext.d/package.sh view trpm

# RPM packages (SuSE uses *.spm for source packages)
regex/\.(src\.rpm|spm)$
	Open=%cd %p/rpm://
	View=%view{ascii} /usr/libexec/mc/ext.d/package.sh view src.rpm

shell/.rpm
	Open=%cd %p/rpm://
	View=%view{ascii} /usr/libexec/mc/ext.d/package.sh view rpm

# deb
regex/\.u?deb$
	Open=%cd %p/deb://
	View=%view{ascii} /usr/libexec/mc/ext.d/package.sh view deb

# dpkg
shell/.debd
        Open=%cd %p/debd://
	View=%view{ascii} /usr/libexec/mc/ext.d/package.sh view debd

# apt
shell/.deba
        Open=%cd %p/deba://
	View=%view{ascii} /usr/libexec/mc/ext.d/package.sh view deba

# ISO9660
shell/i/.iso
	Open=%cd %p/iso9660://
	View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view iso9660


regex/\.(diff|patch)$
	Open=%cd %p/patchfs://
	View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view cat

# ar library
regex/\.s?a$
	Open=%cd %p/uar://
	#Open=%view{ascii} ar tv %f
	View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view ar

# gplib
shell/i/.lib
	Open=%cd %p/ulib://
	View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view lib


# Mailboxes
type/^ASCII\ mail\ text
	Open=%cd %p/mailfs://


### Sources ###

# C/C++
regex/i/\.(c|cc|cpp)$
	Include=editor

# C/C++ header
regex/i/\.(h|hh|hpp)$
	Include=editor

# Fortran
shell/i/.f
	Include=editor

# Assembler
regex/i/\.(s|asm)$
	Include=editor

include/editor
	Open=%var{EDITOR:vi} %f

# .so libraries
regex/\.(so|so\.[0-9\.]*)$
	View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view so

# Object
type/^ELF
	#Open=%var{PAGER:more} %f
	View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view elf

### Documentation ###

# Texinfo
#regex/\.(te?xi|texinfo)$

# GNU Info page
type/^Info\ text
 	Open=/usr/libexec/mc/ext.d/text.sh open info

shell/.info
	Open=/usr/libexec/mc/ext.d/text.sh open info

# Exception: .3gp are video files not manual pages
shell/i/.3gp
	Include=video

# Manual page
regex/(([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])|\.man)$
	Open=/usr/libexec/mc/ext.d/text.sh open man %var{PAGER:more}
	View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view man %var{PAGER:more}

# Perl pod page
shell/.pod
	Open=/usr/libexec/mc/ext.d/text.sh open pod %var{PAGER:more}
	View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view pod %var{PAGER:more}

# Troff with me macros.
# Exception - "read.me" is not a nroff file.
shell/read.me
	Open=
	View=

shell/.me
	Open=/usr/libexec/mc/ext.d/text.sh open nroff.me %var{PAGER:more}
	View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view nroff.me %var{PAGER:more}

# Troff with ms macros.
shell/.ms
	Open=/usr/libexec/mc/ext.d/text.sh open nroff.ms %var{PAGER:more}
	View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view nroff.ms %var{PAGER:more}

# Manual page - compressed
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.g?[Zz]$
	Open=/usr/libexec/mc/ext.d/text.sh open man.gz %var{PAGER:more}
	View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view man.gz %var{PAGER:more}

regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz$
	Open=/usr/libexec/mc/ext.d/text.sh open man.bz %var{PAGER:more}
	View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view man.bz %var{PAGER:more}

regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz2$
	Open=/usr/libexec/mc/ext.d/text.sh open man.bz2 %var{PAGER:more}
	View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view man.bz2 %var{PAGER:more}

regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lz$
	Open=/usr/libexec/mc/ext.d/text.sh open man.lz %var{PAGER:more}
	View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view man.lz %var{PAGER:more}

regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lz4$
	Open=/usr/libexec/mc/ext.d/text.sh open man.lz4 %var{PAGER:more}
	View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view man.lz4 %var{PAGER:more}

regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lzma$
	Open=/usr/libexec/mc/ext.d/text.sh open man.lzma %var{PAGER:more}
	View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view man.lzma %var{PAGER:more}

regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.xz$
	Open=/usr/libexec/mc/ext.d/text.sh open man.xz %var{PAGER:more}
	View=%view{ascii,nroff} /usr/libexec/mc/ext.d/text.sh view man.xz %var{PAGER:more}

# CHM
shell/i/.chm
	Open=/usr/libexec/mc/ext.d/text.sh open chm

### Images ###

type/^GIF
	Include=image

type/^JPEG
	View=%view{ascii} /usr/libexec/mc/ext.d/image.sh view jpeg
	Include=image

type/^PC\ bitmap
	Include=image

type/^PNG
	Include=image

type/^JNG
	Include=image

type/^MNG
	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=/usr/libexec/mc/ext.d/image.sh open xcf

shell/.xbm
	Open=/usr/libexec/mc/ext.d/image.sh open xbm

shell/.xpm
	Include=image
	View=/usr/libexec/mc/ext.d/image.sh view xpm %f

shell/.ico
	Include=image

shell/i/.svg
	View=%view{ascii} /usr/libexec/mc/ext.d/image.sh view svg
	Open=/usr/libexec/mc/ext.d/image.sh open svg

include/image
	Open=/usr/libexec/mc/ext.d/image.sh open ALL_FORMATS
	View=%view{ascii} /usr/libexec/mc/ext.d/image.sh view ALL_FORMATS


### Sound files ###

regex/i/\.(wav|snd|voc|au|smp|aiff|snd|m4a|ape|aac|wv)$
	Open=/usr/libexec/mc/ext.d/sound.sh open common

regex/i/\.(mod|s3m|xm|it|mtm|669|stm|ult|far)$
	Open=/usr/libexec/mc/ext.d/sound.sh open mod

shell/i/.waw22
	Open=/usr/libexec/mc/ext.d/sound.sh open wav22

shell/i/.mp3
	Open=/usr/libexec/mc/ext.d/sound.sh open mp3
	View=%view{ascii} /usr/libexec/mc/ext.d/sound.sh view mp3

regex/i/\.og[gax]$
	Open=/usr/libexec/mc/ext.d/sound.sh open ogg
	View=%view{ascii} /usr/libexec/mc/ext.d/sound.sh view ogg

regex/i/\.(spx|flac)$
	Open=/usr/libexec/mc/ext.d/sound.sh open common

regex/i/\.(midi?|rmid?)$
	Open=/usr/libexec/mc/ext.d/sound.sh open midi

shell/i/.wma
	Open=/usr/libexec/mc/ext.d/sound.sh open wma
	View=%view{ascii} /usr/libexec/mc/ext.d/sound.sh view wma


### Play lists ###

regex/i/\.(m3u|pls)$
	Open=/usr/libexec/mc/ext.d/sound.sh open playlist


### Video ###

shell/i/.avi
	Include=video

regex/i/\.as[fx]$
	Include=video

shell/i/.divx
	Include=video

shell/i/.mkv
	Include=video

regex/i/\.(mov|qt)$
	Include=video

regex/i/\.(mp4|m4v|mpe?g)$
	Include=video

# MPEG-2 TS container + H.264 codec
shell/i/.mts
	Include=video

shell/i/.ts
	Include=video

shell/i/.vob
	Include=video

shell/i/.wmv
	Include=video

regex/i/\.fl[icv]$
	Include=video

shell/i/.ogv
	Include=video

regex/i/\.ra?m$
	Open=/usr/libexec/mc/ext.d/video.sh open ram

# WebM
shell/i/.webm
    Include=video

type/WebM
    Include=video

include/video
	Open=/usr/libexec/mc/ext.d/video.sh open ALL_FORMATS
	View=%view{ascii} /usr/libexec/mc/ext.d/video.sh view ALL_FORMATS


### Documents ###

# Postscript
type/^PostScript
	Open=/usr/libexec/mc/ext.d/doc.sh open ps
	View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view ps

# PDF
type/^PDF
	Open=/usr/libexec/mc/ext.d/doc.sh open pdf
	View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view pdf

# html
regex/i/\.html?$
	Open=/usr/libexec/mc/ext.d/web.sh open html
	View=%view{ascii} /usr/libexec/mc/ext.d/web.sh view html

# StarOffice 5.2
shell/.sdw
	Open=/usr/libexec/mc/ext.d/doc.sh open ooffice

# StarOffice 6 and OpenOffice.org formats
regex/i/\.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg)$
	Open=/usr/libexec/mc/ext.d/doc.sh open ooffice
	View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view odt

# AbiWord
shell/.abw
	Open=/usr/libexec/mc/ext.d/doc.sh open abw

# Gnumeric
shell/i/.gnumeric
	Open=/usr/libexec/mc/ext.d/doc.sh open gnumeric

# Microsoft Word Document
regex/i/\.(do[ct]|wri)$
	Open=/usr/libexec/mc/ext.d/doc.sh open msdoc
	View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view msdoc
type/^Microsoft\ Word
	Open=/usr/libexec/mc/ext.d/doc.sh open msdoc
	View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view msdoc

# RTF document
shell/i/.rtf
	Open=/usr/libexec/mc/ext.d/doc.sh open msdoc

# Microsoft Excel Worksheet
regex/i/\.xl[sw]$
	Open=/usr/libexec/mc/ext.d/doc.sh open msxls
	View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view msxls
type/^Microsoft\ Excel
	Open=/usr/libexec/mc/ext.d/doc.sh open msxls
	View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view msxls

regex/i/\.(ppt|pps)$
	Open=/usr/libexec/mc/ext.d/doc.sh open msppt
	View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view msppt

# Use OpenOffice.org to open any MS Office documents
type/^Microsoft\ Office\ Document
	Open=/usr/libexec/mc/ext.d/doc.sh open ooffice

# Framemaker
type/^FrameMaker
	Open=/usr/libexec/mc/ext.d/doc.sh open framemaker

# DVI
shell/i/.dvi
	Open=/usr/libexec/mc/ext.d/doc.sh open dvi
	View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view dvi

# TeX
shell/i/.tex
	Include=editor

# DjVu
regex/i/\.djvu?$
	Open=/usr/libexec/mc/ext.d/doc.sh open djvu
	View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view djvu

# Comic Books
regex/i/\.cb[zr]$
	Open=/usr/libexec/mc/ext.d/doc.sh open comic

# Epub & mobi
regex/i/\.(epub|mobi)$
	Open=/usr/libexec/mc/ext.d/doc.sh open epub
	View=%view{ascii} /usr/libexec/mc/ext.d/doc.sh view epub


### Miscellaneous ###

# Compiled Java classes
shell/.class
	View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view javaclass

# 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

# sqlite3.db
type/^SQLite 3.x database
	Open=/usr/libexec/mc/ext.d/misc.sh open sqlite
	View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view sqlite

# dbf
shell/i/.dbf
	Open=/usr/libexec/mc/ext.d/misc.sh open dbf
	View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view dbf

# REXX script
regex/\.(rexx?|cmd)$
       Open=rexx %f %{Enter parameters};echo "Press ENTER";read y

# Disk images for Commodore computers (VIC20, C64, C128)
shell/i/.d64
	Open=%cd %p/uc1541://
	View=%view{ascii} c1541 %f -list
	Extract=c1541 %f -extract

# Glade, a user interface designer for GTK+ and GNOME
shell/i/.glade
	Open=/usr/libexec/mc/ext.d/misc.sh open glade

# Gettext Catalogs
regex/\.g?mo$
	View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view mo

# po
shell/.po
	Open=/usr/libexec/mc/ext.d/misc.sh open po

# lyx
shell/i/.lyx
	Open=/usr/libexec/mc/ext.d/misc.sh open lyx
	View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view lyx

# torrent
shell/i/.torrent
	View=%view{ascii} /usr/libexec/mc/ext.d/misc.sh view torrent

### Plain compressed files ###

# ace
shell/i/.ace
	Open=%cd %p/uace://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view ace
	Extract=unace x %f

# arc
shell/i/.arc
	Open=%cd %p/uarc://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view arc
	Extract=arc x %f '*'
	Extract (with flags)=I=%{Enter any Arc flags:}; if test -n "$I"; then arc x $I %f; fi

# zip
shell/i/.zip
	Open=%cd %p/uzip://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view zip

# zip
type/i/^zip\ archive
	Open=%cd %p/uzip://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view zip

# jar(zip)
type/i/^Java\ (Jar\ file|archive)\ data\ \((zip|JAR)\)
	Open=%cd %p/uzip://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view zip

# zoo
shell/i/.zoo
	Open=%cd %p/uzoo://
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view zoo

# gzip
type/^gzip
	Open=/usr/libexec/mc/ext.d/archive.sh view gz %var{PAGER:more}
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view gz

regex/\.(gz|Z)$
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view gz

# bzip2
type/^bzip2
	Open=/usr/libexec/mc/ext.d/archive.sh view bzip2 %var{PAGER:more}
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view bz2

regex/\.bz2?$
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view bz2

# bzip
type/^bzip
	Open=/usr/libexec/mc/ext.d/archive.sh view bzip %var{PAGER:more}
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view bzip

# compress
type/^compress
	Open=/usr/libexec/mc/ext.d/archive.sh view gz %var{PAGER:more}
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view gz

# lz
regex/\.lz$
	Open=/usr/libexec/mc/ext.d/archive.sh view lz %var{PAGER:more}
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view lz

# lz
type/^LZIP
	Open=/usr/libexec/mc/ext.d/archive.sh view lz %var{PAGER:more}
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view lz

# lz4
regex/\.lz4$
	Open=/usr/libexec/mc/ext.d/archive.sh view lz4 %var{PAGER:more}
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view lz4

# lzma
regex/\.lzma$
	Open=/usr/libexec/mc/ext.d/archive.sh view lzma %var{PAGER:more}
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view lzma

# xz
regex/\.xz$
	Open=/usr/libexec/mc/ext.d/archive.sh view xz %var{PAGER:more}
	View=%view{ascii} /usr/libexec/mc/ext.d/archive.sh view xz

# Parity Archive
type/^Parity\ Archive\ Volume\ Set
	Open=/usr/libexec/mc/ext.d/archive.sh open par2

### Default ###

# Default target for anything not described above
default/*
	Open=
	View=


### EOF ###
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       edit.indent.rc                                                                                      0000755                 00000001424 15154606577 0007323 0                                                                                                    ustar 00                                                                                                                                                                                                                                                       #! /bin/sh
# *** External Formatter (Indenter) for GNU Midnight Commander.
# arguments:
#    $1 - Name of the file being edited
#    $2 - Name of the file to be processed

exec >/dev/null

case `echo $1 |sed 's/^.*\.//'` in
    c|h)
    # ftp://ftp.gnu.org/pub/gnu/indent/
    # Please add options to your ~/.indent.pro, not here.
        indent "$2"
    ;;
    C|cc|CC|cxx|CXX|cpp|CPP)
    # http://astyle.sourceforge.net/
        astyle "$2"
    ;;
    java|JAVA)
    # http://astyle.sourceforge.net/
        astyle --style=java --mode=java "$2"
    ;;
    htm|html|HTM|HTML)
    # http://tidy.sourceforge.net/
        tidy -q -m -ascii -wrap 80 "$2"
    ;;
    *)
    # http://www.gnu.org/software/coreutils/
        fmt "$2" >"$2.tmp" && rm -f "$2" && mv -f "$2.tmp" "$2"
    ;;
esac
                                                                                                                                                                                                                                            filehighlight.ini                                                                                   0000644                 00000002226 15154606577 0010076 0                                                                                                    ustar 00                                                                                                                                                                                                                                                       [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=~;$$$;bak;tmp
    extensions_case=false
    regexp=(^#.*|.*~$)

[archive]
    extensions=7z;Z;ace;arc;arj;ark;bz2;cab;gz;lha;lz;lz4;lzh;lzma;rar;rpm;tar;tbz;tbz2;tgz;tlz;xz;zip;zoo

[doc]
    extensions=chm;css;ctl;diz;doc;docm;docx;dtd;htm;html;letter;lsm;mail;man;me;msg;nroff;odp;ods;odt;pdf;po;ppt;pptm;pptx;ps;rtf;sgml;shtml;tex;text;txt;xls;xlsm;xlsx;xml;xsd;xslt

[source]
    extensions=ada;asm;awk;bash;c;caml;cc;cgi;cpp;cxx;diff;erl;h;hh;hi;hpp;hs;inc;jasm;jav;java;js;m4;mak;ml;mli;mll;mlp;mly;pas;patch;php;phps;pl;pm;prg;py;rb;sas;sh;sl;st;tcl;tk;xq

[media]
    extensions=3gp;ape;asf;avi;flac;flv;it;m3u;med;mid;midi;mkv;mod;mol;mov;mp2;mp3;mp4;mpeg;mpg;mpl;ogg;ogv;s3m;umx;vob;wav;webm;wma;wmv;xm

[graph]
    extensions=ai;bmp;cdr;eps;gif;ico;jpeg;jpg;omf;pcx;pic;png;rle;svg;tif;tiff;webp;wmf;xbm;xcf;xpm

[database]
    extensions=cdx;dat;db;dbf;dbi;dbx;fox;mdb;mdn;mdx;msql;mssql;pgsql;sql;ssql
                                                                                                                                                                                                                                                                                                                                                                          mc.menu                                                                                             0000644                 00000026207 15154606577 0006060 0                                                                                                    ustar 00                                                                                                                                                                                                                                                       shell_patterns=0

##############################################################################
#   %%  The % character
#   %f  The current file (if non-local vfs, file will be copied locally and
#                         %f will be full path to it)
#   %p  The current file
#   %d  The current working directory
#   %s  "Selected files"; the tagged files if any, otherwise the current file
#   %t  Tagged files
#   %u  Tagged files (and they are untagged on return from expand_format)
#   %view Runs the commands and pipes standard output to the view command
#   If %view is immediately followed by '{', recognize keywords
#   ascii, hex, nroff and unform
#
#   If the format letter is in uppercase, it refers to the other panel
#
#   With a number followed the % character you can turn quoting on (default)
#   and off. For example:
#   %f    quote expanded macro
#   %1f   ditto
#   %0f   don't quote expanded macro
##############################################################################

+ ! t t
@       Do something on the current file
        CMD=%{Enter command}
        $CMD %f

+ t t
@       Do something on the tagged files
        CMD=%{Enter command}
        for i in %t ; do
            $CMD "$i"
        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
        %view{ascii,nroff} roff -c -Tlatin1 -mandoc %f

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
        [ "$tar"x = x ] && tar="$Pwd"
        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
        [ "$tar"x = x ] && tar="$Pwd"
        cd .. && \
        tar cf - "$Pwd" | bzip2 -f > "$tar.tar.bz2" && \
        echo "../$tar.tar.bz2 created."

5       Compress the current subdirectory (tar.7z)
        Pwd=`basename %d /`
        echo -n "Name of the compressed file (without extension) [$Pwd]: "
        read tar
        [ "$tar"x = x ] && tar="$Pwd"
        cd .. && \
        tar cf - "$Pwd" | 7za a -si "$tar.tar.7z" && \
        echo "../$tar.tar.7z created."

6       Compress the current subdirectory (tar.xz)
        Pwd=`basename %d /`
        echo -n "Name of the compressed file (without extension) [$Pwd]: "
        read tar
        [ "$tar"x = x ] && tar="$Pwd"
        cd .. && \
        tar cf - "$Pwd" | xz -f > "$tar.tar.xz" && \
        echo "../$tar.tar.xz created."

= f \.c$ & t r
+ f \.c$ & t r & ! t t
c       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
        for i in %t ; do
            cat "$i" >> %D/"$i"
        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 "$i has no copy in "%D": NOT deleted."
            fi
        done

m       View manual page
        MAN=%{Enter manual name}
        %view{ascii,nroff} MANROFFOPT='-c -Tlatin1' MAN_KEEP_FORMATTING=1 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
        for i in %t ; do
            CHECK=`awk '{print $1 ; exit}' "$i"` 2>/dev/null
            WFILE=`mktemp "${MC_TMPDIR:-/tmp}/news.XXXXXX"` || exit 1
            case "$CHECK" in
                Newsgroups:|Path:)
                    cp "$i" "$WFILE" && sed '/^'"$CHECK"' /,/^$/d' "$WFILE" > "$i"
                    if [ "$?" = "0" ]; then
                        rm "$WFILE"; echo "$i header removed. OK."
                    else
                        echo "Oops! Please check $i against $WFILE."
                    fi
                    ;;
                *)
                    echo "$i skipped: Not a news article."
                    ;;
            esac
        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)
        (
            for i in %t ; do # strip headers
                FIRST=`awk '{print $1 ; exit}' "$i"`
                cat "$i" | sed '/^'"$FIRST"' /,/^$/d'
            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\.lz4$ | 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.7z)   PRG="7za e -so";;
            *.tar.bz2)  PRG="bunzip2 -c";;
            *.tar.gz|*.tar.z|*.tgz|*.tpz|*.tar.Z) PRG="gzip -dc";;
            *.tar.lz)   PRG="lzip -dc";;
            *.tar.lz4)  PRG="lz4 -dc";;
            *.tar.lzma) PRG="lzma -dc";;
            *.tar.xz)   PRG="xz -dc";;
            *)          exit 1;;
        esac
        $PRG %f | tar xvf -

= t r
+ ! t t
y       Gzip or gunzip current file
        unset DECOMP
        case %f in
            *.gz|*.[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|*.[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.F)   D=`basename %f .tar.F`; set freeze -dc;;
            *.tar.Z)   D=`basename %f .tar.Z`;;
            *.tar.bz2) D=`basename %f .tar.bz2`; set bunzip2 -c;;
            *.tar.gz)  D=`basename %f .tar.gz`;;
            *.tar.z)   D=`basename %f .tar.z`;;
            *.tgz)     D=`basename %f .tgz`;;
            *.tpz)     D=`basename %f .tpz`;;
        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.F)   D=`basename "$i" .tar.F`; set freeze -dc;;
                *.tar.Z)   D=`basename "$i" .tar.Z`;;
                *.tar.bz2) D=`basename "$i" .tar.bz2`; set bunzip2 -c;;
                *.tar.gz)  D=`basename "$i" .tar.gz`;;
                *.tar.z)   D=`basename "$i" .tar.z`;;
                *.tgz)     D=`basename "$i" .tgz`;;
                *.tpz)     D=`basename "$i" .tpz`;;
          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
            *.Z)   EXT=Z;;
            *.bz2) EXT=bz2;;
            *.gz)  EXT=gz;;
            *.tgz) EXT=tgz;;
            *.tpz) EXT=tpz;;
            *.z)   EXT=z;;
        esac
        case "$EXT" in
            bz2|Z|gz|z) D=`basename %f ."$EXT"`;;
            tgz|tpz)    D=`basename %f ."$EXT"`.tar;;
        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
        for i in %t ; do
            unset D
            unset EXT
            case "$i" in
                *.Z)   EXT=Z;;
                *.bz2) EXT=bz2;;
                *.gz)  EXT=gz;;
                *.tgz) EXT=tgz;;
                *.tpz) EXT=tpz;;
                *.z)   EXT=z;;
            esac
            case "$EXT" in
                bz2|Z|gz|z) D=`basename "$i" ."$EXT"`;;
                tgz|tpz)    D=`basename "$i" ."$EXT"`.tar;;
            esac
            if [ "$EXT" = "bz2" ]; then
                bunzip2 -v "$i"
                gzip -f9 -v "$D"
            else
                gunzip -v "$i"
                bzip2 -v "$D"
            fi
        done

+ x /usr/bin/open | x /usr/local/bin/open & x /bin/sh
o       Open next a free console
        open -s -- sh
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         