Как видеть всё: Lister и его плагины

Wake up, Neo

Нео, ты всегда чувствовал, что с этим миром что-то не так. Как будто существует нечто, что ускользает от твоего восприятия... Ты использовал неудобные и тяжёлые программы для того, чтобы быстро посмотреть содержимое нескольких файликов. Запускал
ACDSee для картинок и Word для документов... Но в глубине сознания ты понимал - так не должно быть...

И наш Нео прав :) В большинстве случаев абсолютно не требуется использовать те программы, которые кажутся нам, в общем-то, безальтернативными вариантами. Пользователям TC гораздо удобнее использовать листер-плагины, количество и возможности которых сегодня таковы, что многие используемые ранее программы можно смело отправлять на помойку.
Преимущества листер-плагинов вытекают из тесной интеграции с Total Commander, а потому - очевидны. Панели TC обеспечивают навигацию по дискам с одновременным просмотром нужных файлов. При этом обычный функционал TC не теряется, и файлы можно скопировать/удалить/переименовать/сделать что угодно прямо во время просмотра.

Но обо всём по порядку. Постараюсь рассказать от и до - и о самом Листере, и о его плагинах, и о секретах тонкой настройки плагинов.

Изучаем приёмы пользования листером

Листер - это инструмент просмотра, вызываемый по нажатию кнопки F3 - об этом, думаю, знают даже абсолютные новички в TC. "Голый" листер (т.е. без плагинов и внешних утилит) показывает всё... но только лишь в текстовых режимах (что для просмотра графики, например, абсолютно бесполезно). И всё-таки, чтобы освоить некоторые приёмы работы с листером, изучим его таким, какой он есть по умолчанию.

Что очень удобно в листере - это то, что переключаться между всеми поддерживаемыми им режимами просмотра можно нажатиями нескольких клавиш. Каждая клавиша соответствует своему режиму просмотра, запомнить их - дело трёх минут, достаточно взглянуть на подсказки в меню опций листера:


12 горячих клавиш на все случаи жизни

С текстовым режимом всё понятно: текст он и в Африке текст. Если выбрать этот режим, скажем, при просмотре какого-нибудь exe-файла, то можно попытаться найти и прочесть текстовые ресурсы, "спрятанные" в нём.
Двоичный режим - примерно то же, что и текстовый, но символы форматирования отображаются как двоичные символы (текст, к примеру, в этом режиме, останется читаемым, но все переходы на новые строки будут отображаться как два обычных символа. Попробуйте сами). Этот режим используется по умолчанию для просмотра двоичных файлов (таковыми Lister считает все неизвестные ему форматы).
Шестнадцатеричный режим - одновременно показывает содержимое файла в двоичном виде и hex-код каждого символа. Естественно, смещение символов тоже показывается. Режим этот очень полезен для программистов, и, хотя не заменяет продвинутых hex-вьюверов, для быстрого просмотра удобен.
Четвёртый режим, пожалуй, нуждается в отдельном описании. Дело в том, что в этом режиме листер начинает-таки использовать плагины и превращается в монстра. Впрочем, и без плагинов в мультимедиа-режиме листер распознаёт и показывает bmp и ico - файлы, а также rtf.
Пятый режим - этакий псевдоброузер. Жмём F3 на html-файле, выбираем этот режим, и гипертекст становится вполне читаемым, исходное форматирование при этом не теряется. Конечно о графике, фреймах и прочем придётся забыть - только гипертекст.
Шестой и седьмой режимы заставляют листер декодировать открытый файл из двухбайтных кодировок.

Существует возможность выбора из трёх шрифтов вывода. Два шрифта по умолчанию уже назначены - это ANSI и ASCII шрифты, третий предоставляется установить пользователю. Обычно третьим шрифтом ставится KOI-8 шрифт (подробности тут).

Включение переноса строк заставляет листер форматировать текст по ширине, а включение опции "рисунки в размер окна" подгоняет размеры открытой графики к размерам окна листера.

Думаю, тут всё понятно, пройдёмся теперь по настройке листера:


Диалог настройки Lister

В общем-то, всё ясно. Стоит пояснить, разве что, только значение галочки "IrfanView/XnView для показа не-BMP рисунков".
Эта опция осталась ещё с тех времён, когда Листер не поддерживал плагины, и для показа неподдерживаемых форматов можно было подключить любое из этих двух мощных средств просмотра. Сейчас же, с появлением плагинов, надобность в установке этой галочки отпала, мало того - рекомендуется не использовать IrfanView/XnView без сильной необходимости, т.к. это может привести к конфликтам между этими просмотрщиками и плагинами.

Теперь несколько приёмов использования Lister.
Приём первый: быстрый просмотр. Самая что ни на есть удобная и логичная фича, а ведь многие и не догадываются, что она существует. Для её использования просто жмём Ctrl+Q, и листер открывается на неактивной панели Коммандера!


Быстрый просмотр - одна из самых удобных возможностей TC

В таком режиме мы можем перемещаться по диску, одновременно просматривая содержимое файлов под курсором. Если под курсором будет папка - на соседней панели отобразится информация о ней:


Информация о папке

Также в этом режиме работают все возможности файлового менеджера. Одновременно с просмотром мы можем копировать и перемещать файлы на соседнюю панель, и т.д.
Кстати, имеется приятная возможность: позицию разделителя панелей в обычном и QuickView режимах можно определить самому, как это сделать - написано здесь. При обычной навигации по дискам удобнее установить разделитель посередине, чтобы панели имели одинаковую ширину, а при быстром просмотре - установить так, чтобы панель просмотра имела больший размер.
При быстром просмотре меню листера не отображается, поэтому изменять режимы просмотра можно только горячими клавишами, предварительно сделав переход на панель просмотра (или используя скрипт на PowerPro
).
Небольшой приём: если перейти на панель просмотра, то клавиши "P" и "N" начинают работать как стрелки в панели навигации, т.е. выбирать для просмотра предыдущий ("Previous") и следующий ("Next") файлы в списке. Для обычного режима просмотра по F3 этот приём срабатывает, только если предварительно выделить несколько файлов - тогда переключение будет работать между этими выбранными файлами.
Ещё одна интересная возможность - просмотр тестовых файлов в архивах. Если некоторые, поддерживаемые TC, типы архивов вроде Zip или Rar, содержат текстовые файлы, то при быстром просмотре по Ctrl+Q будет показано содержимое первого из этих файлов. Текстовые файлы находятся не по расширению, видимо как-то анализируется их содержимое. При обычном просмотре по F3 эта функция не работает.



Итак, с возможностями по умолчанию мы разобрались, перейдём теперь к плагинам.

Плагины: революция сознания

Что мы смотрим чаще всего? Графику, документы и мультимедиа, причём, пожалуй, именно в том порядке, как я перечислил. Значит и плагины будут описываться в том же порядке.

Плагинов для просмотра графики создано немалое количество, начиная от простенького ImageLister, кончая навороченным Imagine. Я не стану описывать их все, расскажу только о двух плагинах, которые на момент написания статьи активно развиваются..

Графика

Imagine

Первое, что хочется отметить в этом плагине - поддержку большого количества форматов чтения и записи. Я насчитал около тридцати "понимаемых" плагином форматов и двадцать форматов, в которые плагин может конвертировать изображения. Второе - это абсолютная настраиваемость плагина - настраивается и интерфейс, и горячие клавиши. Третье - возможность работы Imagine как самостоятельной программы. Четвёртое - он умеет встраивать тамбнейлы в стандартные контекстные меню:


Тамбнейл Imagine

Также плагин умеет делать страницу миниатюр, обладает неплохими возможностями по корректировке параметров изображения, умеет применять фильтры, и много чего ещё. А ещё вместе с листер-плагином Imagine поставляется архиваторный плагин, с помощью которого можно конвертировать любую графику (в т.ч. анимированную) в png.
Короче говоря - все остальные просмотрщики графики могут отправляться в мусорное ведро. Этот полумегабайтный плагин с лёгкостью обходит такого монстра, как ACDSee; единственная функция, не найденная мной в Imagine - возможность включения слайд-шоу.

SGViewer

Этот плагин, несмотря на то, что не обладает всеми возможностями Imagine, также достоин рассмотрения. Дело в том, что он работает чуть быстрее, умеет показывать слайд-шоу, и избавлен от некоторых неприятных глюков при просмотре psd-файлов. В остальном же он проигрывает Imagine по функциональности, да количеством поддерживаемых форматов тоже не особенно радует. Сохранять же SGViewer умеет лишь в bmp и jpg форматы.

Ещё не мог не вспомнить о следующем плагине, который тоже имеет отношение к графике:

ICLView
Плагин, который умеет смотреть иконки, находящиеся в файлах. Поддерживаются все бинарные файлы, содержащие ресурсы (exe, dll, ocx и другие), и, само собой - библиотеки иконок (icl). Если в файле есть иконки - ICLView их найдёт и покажет.


ICLView в действии.

Плагин также умеет редактировать библиотеки иконок (добавлять и удалять иконки), ну и, само собой, иконки можно сохранять на диск. Полезная штука для дизайнеров, и программистов, любящих выдирать чужие иконки ;)

Документы

Документных форматов существует большое множество, и плагинов, которые позволяют эти форматы смотреть, также довольно много. Я начну описание с плагинов для самых популярных форматов, и закончу форматами редкими и даже экзотическими.

listdoc & office
Два плагина для просмотра документов MS Office. Различаются тем, что listdoc не поддерживает вывод форматированного текста (т.е. будет отображать просто текстовое содержимое документа) и потому работает очень быстро, а office показывает документы с оригинальным форматированием, и из-за этого работает немного медленнее. Office использует вордовские конвертеры от MS (наличие MS Office не обязательно, достаточно сохранить файлы конвертеров в папке с плагином, как это указано в его справке), и потому может открывать не только документы Word, но и таблицы Excel (и некоторые другие форматы, вроде старых версий Word).

SynPlus
Один из самых "навороченных" листер-плагинов. SynPlus вполне способен заменить ваш любимый текстовый редактор. Да-да, это не ошибка - в SynPlus предусмотрена возможность редактирования текста!
Но редактировать текст можно и в стандартном Блокноте, так чем же ещё может похвастаться SynPlus:
- Поддержка схем подсветки. Достаточно взглянуть на скриншот, чтобы понять, что это.
Вместе с плагином поставляются схемы для довольно большого количества форматов, а если их кому-то не хватает - можно воспользоваться встроенным редактором подсветок.
- Удобная навигация по тексту (закладки и быстрый поиск).
- Возможность повторного просмотра ранее открывавшихся файлов, а также возможность запоминать избранные файлы.
- Работа со всеми популярными кодировками.
- Возможность подключения плагинов, для просмотра не поддерживаемых по умолчанию кодировок, к примеру.
- Настройка горячих клавиш на любые поддерживаемые плагином действия.
- Добавление поддержки миниатюр для текстовых файлов.
- Большое количество других настроек, как интерфейсных, так и пользовательских.
- Возможность работы в качестве самостоятельного приложения.


SynPlus и его редактор схем подсветок

Единственным существенным недостатком этого плагина можно считать, разве что, ощутимые тормоза при открытии больших файлов. Впрочем, плагин можно настроить на выдачу подтверждения при открытии больших файлов.
Для меня плагин практически заменил используемый ранее Bred3. Не хватает, разве что, возможности изменения размеров шрифта по горячей клавише, в остальном - всё очень удобно.

IEView
Самый "всеядный" из листер-плагинов, о чём скромно сообщается в его описании :). Но ведь и в самом деле: плагин построен на движке Internet Explorer, а значит, наследует все его возможности (и тормоза с ошибками, к сожалению, тоже). Если забыть о недостатках, то обилию возможностей можно только порадоваться. Плагин, само собой, смотрит гипертекстовые документы (в т.ч. mht и chm), но это только основная возможность IEView. Все остальные его возможности зависят от установленного на вашем компьютере ПО. С установленным MS Word плагин будет показывать поддерживаемые офисные документы (с сохранением форматирования и даже с возможностью редактирования), после установки Adobe Acrobat станет возможным просмотр PDF-файлов... Ну и так далее - список программ, которые могут интегрироваться в IE (и, соответственно, использоваться плагином), довольно обширен, и смысла перечислять их все нет.
Кстати, для кого-то удобной покажется возможность вывода Explorer-like вида папок в режиме QuickView:


Лёгким движением руки Explorer интегрируется в Total

pdfview
Если вам не нравится, как PDF-документы открываются в IEView, то можно попробовать этот плагин. Дополнительно для работы плагина потребуется свежая версия Ghostscript (http://www.ghostscript.com/doc/AFPL/index.htm). Хотя, на мой взгляд, принцип работы pdfview (конвертация в bmp через Ghostscript) гораздо хуже, чем принцип IEView (загрузка Acrobat Reader), поскольку качество выходной картинки при такой конвертации очень страдает.

WebView
Ещё один плагин для просмотра гипертекстовых документов (и только для них - в отличие от IEView больше никаких форматов не поддерживается).
Плагин построен на Mozilla Control, и, соответственно, не требует установленного в системе IE. Плюс это или минус, судить сложно (ведь IE, пока что, включается во все версии Windows).
К сожалению, реальной альтернативы тому же IEView плагин составить не может - слишком много недочётов и мелких ошибок. Впрочем, существует определённая группа пользователей - MS-ненавистников, которым плагин понравится как раз потому, что он "не IE" :)

xBaseView
Многофункциональный плагин, поддерживающий просмотр и редактирование огромного количества форматов файлов баз данных (начиная от самых распространённых вроде XLS, и DBF). Поддержка 15 форматов "зашита" в сам плагин, а все остальные форматы открываются с помощью технологий ADO, ODBC и BDE. Плагин умеет конвертировать базы из формата в формат, понимает SQL-запросы, само собой - умеет искать и фильтровать записи. Перечислять возможности плагина можно очень долго, а лучше всего его просто скачать и установить, дабы всё изучить самому. Такая вещь всегда может пригодиться.
Плагин, как повелось это у модулей с подобным количеством возможностей, умеет работать как самостоятельное приложение. Если кому-то вдруг не хватит возможностей этого плагина (в чём я, лично, сомневаюсь), могут найти более функциональную shareware-версию xBaseView на сайте разработчика.

OpenOffice Simple Viewer
В последнее время всё более популярным становится бесплатный офисный пакет OpenOffice.org. Множество пользователей нашли в нём качественную и функциональную замену громоздкому MS Office, и появление плагина для просмотра документов OpenOffice.org было абсолютно логичным. Правда плагин пока не поддерживает вывод форматирования этих документов, но он быстро развивается, и, думаю, у него всё впереди. Сейчас же плагин вполне подходит для быстрого просмотра файлов с расширениями ODT, ODS, ODP, ODG, ODF, ODB, ODM, OTT, OTH, OTS, OTG, OTP, SXW, SXC, SXG, SXI, SXD, SXM, STW, STC, STD, STI.

ruDwgPreview

Те, кто знаком с AutoCAD, могут использовать этот плагин для просмотра DWG-файлов. По заверениям разработчика, поддерживаются файлы AutoCAD версий c 13 по 2005.

Mathematica Link
С помощью этого плагина пользователи математического пакета Mathematica смогут просматривать созданные в нём файлы (при условии, что сам пакет проинсталлирован на их компьютер).

PdbView

Плагин, читающий документы форматов PDB и PRC. Будет полезен для владельцев КПК, работающих под управлением PalmOS, в которой эти форматы и используются.
Несмотря на то, что плагин довольно давно не обновляется, распространяется он с исходниками, и, при желании, любой умеющий человек может переписать его. Впрочем, думаю, нужды в этом не возникнет - работает плагин хорошо, и нареканий при работе не возникает.

SolidWorks® Preview
Плагин, примечательный, кроме поддержки файлов от SolidWorks, ещё и тем, что с тем же успехом может быть использован и в известной программе WhereIsIt. В общем, если кому-то понадобится...

Мультимедиа

Несмотря на то, что распространённых мультимедийных форматов существует не так уж и много, плагинов для их просмотра существует больше всего. Каждый автор стремится переплюнуть всех остальных, создав свой плагин, который будет в чём-то да лучше конкурентов. Получается довольно интересная эволюция мультимедийных плагинов, в которой есть и представители тупиковых ветвей (о которых рассказывать не стоит), а есть и настоящие красавцы, обладающие богатыми возможностями и удобством.

MediaShow
MediaShow - одна из лучших попыток создать полноценный видеоплеер для TC. Созданные тем же автором плагины DSView&SMViewer как-то не прижились из-за большого количества различных проблем в работе. А вот в MediaShow, похоже, все ошибки прошлого были учтены, и он обещает стать не только отличным плагином для TC, но и одним из лучших видеоплееров вообще. Главное, чтобы автор не забросил разработку, как иногда это, к сожалению, случается.
Плагин по внешнему виду схож с другим популярным плеером - LightAlloy. Мало того - MediaShow даже поддерживает плагины LightAlloy, а по функционалу, имхо, уже давно его обошёл. К плагину нет никаких претензий по поводу отображения видео, управление в нём реализовано очень удобно (в режиме QuickView - вообще сказка!), само собой, плагин умеет работать в качестве отдельного приложения, и вообще - в нём очень много вкусного.


MediaShow со скином от LA

Единственное нарекание к плагину - небольшие глюки в интерфейсе. Очень надеюсь, что они будут поправлены в следующих версиях.

flashview & SWF Lister
Технологию Flash тоже стоит отнести к мультимедиа. И плагины, созданные для просмотра swf-файлов, само собой, существуют.
Flashview и SWF Lister - как раз такие плагины. Оба они похожи, если и не как братья-близнецы, то как двоюродные - точно :). Оба плагина непритязательны и удобны, и оба требуют наличия установленного Flash Control в системе.
SWF Lister, вообще-то, обладает такой возможностью, как извлечение ресурсов из SWF-файлов, но требует денег. Бесплатно же можно пользоваться lite-версией этого плагина, в которой такой возможности, увы, нет.

AmpView
Один из самых популярных плагинов для прослушивания аудиофайлов. Этот плагин отходит от оригинальной концепции wlx-плагинов, и практически является самостоятельным плеером (он, кстати, может работать и без TC). С одной стороны - в этом есть некое удобство, например собственный плейлист (в который сохраняются ранее прослушиваемые по F3 файлы), с другой стороны - абсолютная невозможность использовать плагин для режима QuickView и ограничения при использовании совместно с другими мультимедиа-плагинами. Вообще же, несмотря на удобство и возможности AmpView, всегда есть WinAmp, который и по тому и по другому выигрывает однозначно.

mmedia
Кому-то может понравиться плагин, использующий возможности стандартного Windows Media Player для просмотра видео и прослушивания аудио. Такая концепция, с одной стороны, гарантирует такую же всеядность, как у WMP, с другой стороны - удобство использования плагина в сравнении с MediaShow не всегда очевидно.

playlist
Непритязательный плагин просмотра плейлистов pls&m3u, который, к тому же, может использоваться в качестве простенького плеера.

TxQuickView
Очень оригинальный плагин, к сожалению - платный (впрочем, эта платность особенно не мешает). TxQuickView - попытка сделать универсальный плагин на все случаи жизни. Посудите сами: он позволяет просматривать 69 форматов изображений, 37 аудио- и видеоформатов, файлы шрифтов, документы различных форматов, показывает сведения о бинарных исполняемых файлах, имеет возможность включения Hex-режима просмотра, а также возможность просмотра форм проектов Delphi (DFM).
Однако, TxQuickView проигрывает плагинам, которые не обладают подобной всеядностью, зато хорошо работают для разных форматов отдельно. Так, просмотр графики намного удобнее реализован в Imagine, мультимедиа-форматы лучше проигрываются в MediaShow, а инфы о бинарниках TxQuickView показывает намного меньше, чем fileinfo/PEViewer. Единственной, действительно уникальной, возможностью плагина, можно назвать только просмотр форм Дельфи.
В любом случае - всегда можно выбрать, что использовать: один универсальный но малофункциональный плагин, либо несколько более мощных.

Другие форматы

ArcView&ArchView
Оба плагина реализуют одну и ту же идею: просмотр сведений об архивных файлах. ArcView, на данный момент, мощнее - в нём реализована поддержка большего количества форматов, имеется возможность просмотра структуры архива, да и по настройкам он побогаче.


Сведения об архиве из ArcView

eml
Плагин предназначен для просмотра файлов писем *.msg/*.eml, получаемых из почтовых клиентов (например, из TheBat!).

Font & TTFViewer
Два разных плагина с одинаковым, в общем-то, предназначением: они созданы для просмотра шрифтов. Различия в том, что первый смотрит все форматы шрифтов, второй - только TTF и OTF, но имеет некоторые дополнительные возможности в настройке. Я бы взял на себя смелость рекомендовать именно Font.wlx, т.к. его возможностей в 100% случаев хватает за глаза, несмотря даже на то, что последняя его версия датирована 2005 годом.

IniEd
Очень удобный плагин для просмотра и редактирования различных файлов настройки (поддерживаются стандартные *.ini, *.inf и *.reg файлы). Плагин предоставляет возможности быстрой сортировки и поиска нужных ключей, также в нём реализовано быстрое их редактирование. Для большинства обычных пользователей это может оказаться ненужным, но тем, кто любит вручную ковыряться в настроечных файлах - плагин будет архиполезен.

LinkInfo
Плагин, показывающий информацию о ярлыках файлов (иконка, путь, комментарий, параметры и т.д). Просто и со вкусом :)

md2wlx
Плагин для просмотра 3D-моделей md2 (модели в играх на движке Q2).

wcpfrep
Абсолютно невозможный для понимания плагин. Это в том смысле, что я, например, не понимаю, как разработчики смогли в трёхсоткилобайтный плагин засунуть поддержку множества распространённых форматов хранения 3D-графики (3DS, LWO, STL, Wavefront OBJ, lego Draw DAT, DXF, AC3D, PLY плагин открывает без проблем. Других форматов у меня не нашлось). Просмотр, зум, вращение, изменение режимов рендеринга - всё это есть.

PEViewer & fileinfo & SymbolView
Целых три плагина различной функциональности для просмотра сведений о бинарных исполняемых файлах. И у каждого из них есть свои отличительные особенности, заставляющие использовать этот плагин в связке с другими двумя.
PEViewer - единственный плагин, умеющий определять компилятор, создавший просматриваемый бинарник (поскольку стопроцентного алгоритма определения компилятора существовать никак не может, то определяется наиболее вероятный вариант, обычно и являющийся верным).
Fileinfo очень удобен для просмотра списка импортируемых и экспортируемых файлом функций (особенно это полезно для изучения чужих DLL). Само собой, раз речь зашла об импорте функций, то плагин умеет проверять зависимости бинарников.
SymbolView же показывает всю возможную информацию скопом, и тоже может оказаться удобным, если вас не смутят некоторые глюки в его работе.
Итого, наилучшим выбором, как я уже сказал, будет использование всех трёх плагинов в связке. Конечно, простым пользователям эти плагины вряд ли могут пригодиться, а вот программистам они окажутся очень полезными.

tccalendar
Интересная задумка, но, на мой взгляд, - несколько вычурная. В виде плагина для TC реализован лучший календарь, который я когда-либо видел. Огромное количество выводимых дат, возможность задания собственных событий, различные расчёты... Описывать его возможности можно долго, но лучше его просто увидеть.
Возникает лишь один вопрос: почему плагином, почему не отдельной программой?

VisualDirSize
Плагин, полезный, так сказать, для всех слоёв населения. Смотрите сами: что TC выводит по умолчанию при нажатии Ctrl+Q на папке? Немного общей инфы об этой папке. А что выводится после установки VisualDirSize? Смотрите на скриншот:


VisualDirSize: анализ содержимого папки

Конечно, сбор информации о содержимом папки может занимать продолжительное время, но, имхо, оно того стоит. А если учесть богатство настроек плагина, то вообще становится неясно, как это раньше мы без этой красоты жили.

Думаю, на этом можно остановиться. Само собой, в обзор попали далеко не все плагины, но того, что я перечислил, хватит среднему пользователю за глаза. Нужен плагин для просмотра какого-либо экзотического формата файлов? Ищите на wincmd.ru
. Не нашли - обращайтесь на forum.wincmd.ru, есть вероятность, что вам помогут найти плагин, если он существует, или даже напишут его (хотя это зависит от того, как просить будете ;)).

Установка


А теперь стоит рассказать отдельно про то, как плагины устанавливать и настраивать. Дело в том, что поддержка wlx-плагинов была добавлена довольно давно, а возможность автоматической установки - относительно недавно. Соответственно, существует много листер-плагинов, не поддерживающих автоустановку по той причине, что они были написаны до создания этой возможности. Само собой, если плагин всё же поддерживает автоустановку, то описанные далее инструкции к нему применять не обязательно, просто следуйте указаниям установщика.
Итак, не единственный, но наиболее удобный способ установки плагинов:
1. В настройках TC открываем закладку "Плагины".



2. Жмём кнопку "Настройка" в секции "Плагины внутреннего просмотрщика". Появляется окно со списком всех установленных Wlx-плагинов. Думаю, что делать дальше, вопросов ни у кого не возникнет.



Зато могут возникнуть другие вопросы: что даёт изменение порядка плагинов в этом списке, и что за строки справа от названия плагинов?
По первому вопросу: порядок плагинов равен их приоритету. Например, если для одного формата файлов подходят два вида плагинов, то сперва загружен будет тот, который в этом списке находится выше.
По второму вопросу: эти строки называются detect string, и служат для привязки плагина к типам файлов. Это очень сложный и тонкий инструмент для настройки привязок плагинов, с которым мы сейчас попробуем разобраться.

Detect string: разберёмся с детекцией

Detect string (или строка привязки) плагина обычно задаётся создателем этого плагина. С её помощью можно со стопроцентной точностью указать, какие именно файлы и в каком порядке должен открывать плагин, а какие файлы он открывать не должен ни в каком случае. Обычно правка строк привязки не требуется, но бывают случаи, когда их изменение облегчает жизнь. Такой ситуацией может оказаться конфликт двух плагинов, или неправильно созданная строка по умолчанию. Иногда, изменив строку привязки, можно значительно оптимизировать скорость открытия файла плагином. В любом случае, полезнее знать эту тонкость, но если не хотите забивать себе этим голову - пропустите эту главу.
Настройки каждого листер-плагина находятся в файле wincmd.ini в секции [ListerPlugins]. Обычно они выглядят так:

N=c:\plugin\path\pluginname.wlx
N_detect="detect string"

N - порядковый номер плагина (начиная с 0). Нас же интересует строка N_detect - то, что стоит после символа равенства, мы и будем править.
Разберём состав строк привязки:

Операторы строк привязки:
&      - логическое И. Условие выполняется, если оба значения выражений истинны.
|      - логическое ИЛИ. Условие выполняется, если хотя бы одно значение выражений истинно.
=      - РАВЕНСТВО. Условие выполняется, если значения выражений равны.
!=      - НЕРАВЕНСТВО. Условие выполняется, если выражения не равны.
<      - МЕНЬШЕ. Условие выполняется, если значение выражения слева меньше значения выражения справа. Сравнение числа и строки всегда приводит к невыполнению условия; булёвые значения хранятся как 0/1 (FALSE/TRUE).
>      - БОЛЬШЕ. То же самое, что и предыдущий операнд, с выполнением условия при меньшем правом значении выражения.

Примечание: сравнение строк и чисел возможно только для строк с одним символом (например, "A" или "Z"). В таком случае сравнивается ANSI-код этого символа (т.е. "A"=65).

Операнды строк привязки:
EXT      - указывает расширения файлов, которые должен открывать плагин. Расширения всегда должны идти в верхнем регистре. Пример:

N_detect="ext="TXT""

Плагин будет привязан к расширению TXT.

SIZE
      - указывает размер файлов (в байтах), которые должен открывать плагин. Пример:

N_detect="size>1024"

Плагин будет открывать только файлы размером более 1 кб.

FORCE      - ключ, указывающий на загрузку плагина при выборе пункта "Графика/Мультимедиа/LS-плагины" в меню листера. Становится равным единице, если этот пункт был выбран. Может применяться в комбинации с другими условиями, например:

N_detect="ext="TXT"|force & (ext="ASC"|ext="ME")"

Плагин будет вызываться для файлов с расширением .txt автоматически, и для файлов с расширениям .asc и .me в том случае, если пользователь выбрал пункт "Графика/Мультимедиа/LS-плагины" в меню.

MULTIMEDIA   - устанавливает приоритет плагина над встроенными средствами просмотра. Работает только в TC 6.0 и выше. Пример:

MULTIMEDIA & (EXT="WAV" | EXT="MP3")

В этом случае плагин будет вызываться вместо встроенного медиаплеера для расширений .wav и .mp3

[N]      - N-байт файла (полезно для проверки сигнатур). Можно обращаться к первым 8192 байтам. Пример:

([0]="M" & [1]="Z")

Эта строка осуществляет проверку на сигнатуру Windows-exe, у которых первые байты всегда MZ.

12345      - просто число 12345.

"Пример"   
- строка "пример"

Функции:
()      - скобки. Определяют порядок выполнения/сравнения.

!()      - логическое НЕТ - инвертирования выражения в скобках. Скобки обязательны, даже если выражение состоит всего из одного операнда.

FIND()      - поиск текста, заключённого в скобки в первых 8192 байтах файла. Если текст найден, возвращается 1, и 0 в обратном случае. Пример:

FIND("<HTML>")


Проводится проверка всех файлов, являющихся HTML (содержащих тег открытия html-документа).

FINDI()      - то же самое, но без учёта регистра.

Для дополнительной информации можно посмотреть справку по написанию lister-плагинов.

-

Пока это всё. Но это - далеко не всё, что можно рассказать о таком инструменте, как листер. Так что многое вы ещё откроете для себя в процессе его использования.
Удачи!

Павел Дубровский
15.03.06