Total Rebuilt: Как своими руками переделать известный файл-менеджер?
История Total Commander началась в 1993 году, когда немецкий программист Кристиан Гислер (Christian Ghisler) решил упростить себе и многим пользователям жизнь, выпустив файловый менеджер. Ранее он существовал под именем Windows Commander, но из-за претензий компании Microsoft его пришлось переименовать в Total Commander.
Автор не пытается сделать из своей программы какой-то мультимедийный комбайн, как это стало популярно в среде разработчиков программного обеспечения, и именно поэтому большинство пользователей дополняют файловый менеджер плагинами и настраивают под свои нужды. Но не все имеют достаточные навыки или желание, чтобы копаться в море плагинов, и специально для таких людей энтузиасты от софта выпускают уже готовые к использованию сборки Total Commander. Обычно они состоят из настроенной программы, плагинов и вспомогательных утилит, объединенных общей программой установки. Я опишу процесс создания такой сборки на примере собственной разработки, пользующейся популярностью в Сети.
Называется она Total Commander PowerPack (не путать с одноименной сборкой от польских производителей, которая вышла значительно позже и включает почти все известные плагины без особого подбора по выполняемым ими функциям). Название моей сборки складывается из названия самой программы Total Commander, далее идет номер версии программы, слово PowerPack и версия сборки. На момент написания статьи выпущена Total Commander 6.53 PowerPack 1.70.
Чтобы сделать свою сборку, надо скачать с сайта производителя дистрибутив программы. Он поддерживает немало языков, но русского среди них нет по причине малой численности пользователей из России, покупающих Total Commander. Поэтому придется скачать еще и русский языковой файл с того же сайта или более полную версию перевода с русскоязычного сайта . Теперь остается зарегистрировать вашу копию программы, если вы располагаете достаточными средствами, или найти так называемое «лекарство», что не совсем законно, но на работоспособности программы никак не сказывается.
Теперь, когда мы имеем в наличии полностью рабочую русскую версию, следует подумать о включаемых в состав сборки плагинах. Дело каждого - какие из них использовать, благо выбор огромный. Вообще, Total Commander поддерживает четыре типа плагинов: архиваторные (используются для работы с архивами, которые не поддерживаются внутренними средствами программы и имеют расширение wcx), информационные (позволяют отображать дополнительную информацию о файлах; расширение wdx), плагины просмотра (позволяют открывать изображения, мультимедийные и многие другие файлы средствами внутреннего просмотрщика Lister; расширение wlx) и плагины файловой системы (предоставляют доступ к дискам, недоступным в Windows). Я, например, делал упор на плагинах просмотра, чтобы, не выходя из Total Commander, можно было открывать любые типы файлов. Используя мою сборку, можно по нажатию клавиши F3 просматривать все графические, мультимедийные и текстовые файлы, а также документы Microsoft Word и Excel. Существует поддержка дистрибутивов Windows Installer и образов дисков, в которые можно заходить как в обычные папки. За счет соответствующих плагинов можно посмотреть дополнительную информацию о файлах, а если они запакованы, то и информацию об архиве.
Кроме плагинов, немаловажную роль в сборке играют мелкие утилиты и специализированные программы, расширяющие или дополняющие функциональные возможности файлового менеджера. Тут фантазия просто безгранична: если плагинов для описываемой программы существует очень много, то различных утилит, которые можно использовать непосредственно под управлением Total Commander, не перечесть, и практически любую разработку для операционной системы Windows можно так или иначе использовать для этих целей. Не нравится блокнот - встраиваем в сборку любой понравившийся текстовый редактор; не нравятся плагины для просмотра изображений - встраиваем графический просмотрщик; требуются дополнительные архиваторы - нет ничего проще. Я решил не создавать из своей сборки пакет «все в одном» и добавил лишь необходимые, по моему мнению, утилиты: текстовый редактор AkelPad, значительно расширяющий функции обработки текстовой информации, и программку TweakTC, которая позволяет настраивать скрытые, но необходимые параметры Total Commander. На мой взгляд, одного архиватора Zip в составе файлового менеджера мало, и я добавил наиболее хорошо сжимающие архиваторы, настроив их на максимальную компрессию: 7-Zip, ACE, CAB и RAR.
Для многих очень важен внешний вид Total Commander: цветовая гамма, расположение элементов интерфейса и пр. И в этом аспекте каждый найдет для себя то, что ему нужно, ибо все элементарно настраивается и изменяется. Я решил не мудрствовать и оставил привычную цветовую гамму практически неизменной, изменил только некоторые значки файлов и панель кнопок и ввел ряд элементов для быстрого доступа к различным функциям файлового менеджера и всей системы. А для завзятых геймеров и просто жаждущих чего-то новенького пользователей я добавил озвучивание некоторых событий в работе с файловым менеджером голосами персонажей известных игр.
Теперь затронем техническую сторону создания собственной сборки. Допустим, вы подсоединили все плагины и необходимые утилиты к Total Commander и изменили на свой вкус его внешний вид, что делается без особого труда прямо из главного окна программы или из ее настроек. Теперь все это надо сохранить на случай, скажем, переустановки Windows. Есть много вариантов: например, скопировать в укромное место или запаковать в архив, но если вы хотите распространять свою сборку, как это делаю я на своем сайте www.samlab.ws , тогда вам придется подумать над созданием хотя бы простенького инсталлятора. Можно ограничиться обычным самораспаковывающимся архивом, но если подходить к вопросу серьезно, то лучше сделать функциональную программу-инсталлятор с выбором устанавливаемых компонентов и прочих полезных вещей. Но простого копирования папки с настроенным Total Commander для этого недостаточно, да и не все необходимые для работы файлы хранятся вместе с ним. Тут нужен более гибкий подход к настройкам файлового менеджера и знание его конфигурационных файлов wincmd.ini и wcx_ftp.ini. В первом хранится большинство его настроек, а во втором - список ftp-соединений. Описание обоих файлов можно найти в справке для программы. Но даже если файлы вами изучены и хранящиеся в них параметры файлового менеджера настроены должным образом, это не дает вам гибкости при дальнейшей установке. Для грамотной установки необходимо изучить ту программу, в которой вы эту самую установку осуществляете. Например, сделана инсталляция с выбором устанавливаемых компонентов, однако при создании дистрибутива вы этого не учли, все файлы запаковали вместе и конфигурационный файл wincmd.ini оставили без изменений - в результате после установки вы получите полную версию со всеми компонентами. Чтобы этого не происходило, нужно при создании установочного пакета чуть ли не для каждого файла прописывать, что с ним будет происходить во время установки, причем все это нужно делать в строгом соответствии с файлом wincmd.ini. Ибо, если отменить установку какого-либо компонента в дистрибутиве, оставив конфигурационный файл неизменным, Total Commander будет думать, что этот компонент установлен. Короче говоря, нужно, чтобы установочная программа вносила изменения в wincmd.ini, а не только копировала файлы в отведенные места. Для этих целей я рекомендую использовать пакет NSIS - Nullsoft Scriptable Install System