Total Commander 7.0. Что нового?

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


На данный момент, вне всякого сомнения, TC - самый популярный двухпанельный файловый менеджер во всём мире. Свою популярность он заслужил не только своей непревзойдённой функциональностью и стабильностью, но и благодаря отличной поддержке разработчиком своего детища. Многочисленное интернациональное сообщество пользователей TC постоянно обсуждает расширение возможностей TC, которое потом зачастую им реализуется. В этот раз всё случилось как всегда: поток новых функций хлынул из семёрки как из рога изобилия, и я не один день потратил на то, чтобы выбрать самые «вкусные» новинки. Теперь я делюсь найденным с вами.

Новинки "явные"...

Первое, что бросается в глаза - это давно обещанные обновлённые иконки. Старый набор "тянулся" ещё со времён Windows 95, и, несмотря на возможность самостоятельной их замены, вызывал неприятие у многих пользователей, в особенности новичков. И вот, свершилось... Более того: иконки появились и в главном меню TC - неслыханная вещь для TC, для которого графические "навороты" никогда не были в списке приоритетов.



Конечно, привыкшие обходиться без иконок пользователи, всегда могут их отключить, как и большинство других нововведений в интерфейсе. Например, можно отключить наконец-то появившуюся полную поддержку визуальных стилей XP и Vista в панели инструментов и в различных диалогах копирования. Дело в том, что эти самые диалоги, из-за некоторых особенностей реализации, не поддерживали темы XP, поэтому разработчику пришлось их заменить на новые, которые используются по умолчанию под всеми современными версиями Windows. Если вам захочется вернуть старые диалоги, то сделать это можно добавив ключ NewStyleProgress=0 в секцию [Configuration] файла wincmd.ini
Ещё одним "графическим" улучшением стала возможность раскрашивания чередующихся строк в разные цвета. На мониторах с высоким разрешением это действительно упрощает поиск нужного файла.



Но оставим графику в покое, ведь TC содержит множество изменений, которые сразу не так заметны...

...и "тайные"

Прежде всего, в новой версии TC содержится множество добавлений и исправлений, призванных унять "своенравность" операционной системы Windows Vista. Перечислять всё не имеет смысла, примите на веру, что большинство проблем, возникающих из-за политик безопасности Vista, так или иначе решены. Самые любопытные пользователи уже наверняка нашли в каталоге Коммандера файл tcmadmin.exe - эта палочка-выручалочка как раз для того и создана. Кстати, помогает она решить и проблемы доступа в других NT-системах: так попытка зайти в каталог, к которому текущий пользователь доступа не имеет, не прервётся с ошибкой, а потребует ввода администраторского пароля.



Пользователи 64-битных версий Windows получили в своё распоряжение... нет, увы, не 64-битную версию TC. Пока это всего-навсего ключ x64disableredirection, позволяющий корректно отображать содержимое некоторых системных каталогов. А полноценного 64-битного Тотала мы не увидим, судя по всему, очень и очень долго.
Пропал у пользователей TC повод для возмущения, связанный с медленной работой с сетевым окружением - многие помнят, как "подвисал" TC, при попытке входа на недоступный сетевой ресурс. Автор долго отнёкивался - мол, это проблемы Windows, - но, в конце концов, нашёл вполне приемлемый выход, перенеся многие сетевые функции в отдельные потоки. Для конечного пользователя это значит, что "зависшее" обращение можно закрыть без вреда для TC. Плюс это попросту работает быстрее, чем раньше.
Пошёл автор программы навстречу пользователям, просившими его добавить новые средства для работы со встроенными командами TC и внешними приложениями. Полноценных макрокоманд так и не реализовано (по-прежнему приходится использовать сторонние средства), зато теперь есть алиасы и пользовательские команды. Первые представляют собой простые сокращения (т.е. "длинную" команду вроде cm_RightPrevCustomView можно сократить до rpcv), и польза их заключается уже в том, что выполняться они могут из командной строки (в отличие от команд cm_xxx). Вторые, по сути, предоставляют те же возможности, что кнопки на панели инструментов - на пользовательскую команду может быть назначен запуск какой-то внешней программы или внутренней команды. В чём тогда отличие? В том, что пользовательскую команду всегда можно использовать как внутреннюю. Например, вставить в меню собственный пункт с этой командой (в любом месте, а не только в подменю "Запуск", как это было возможно раньше). Соответственно, можно на такую команду назначить любое сочетание клавиш (а не только клавиши из списка того же "Запуска"). Ну и, само собой, эти команды можно будет использовать во внешних скриптах.
Кстати, о командах: без новых внутренних команд, как обычно, не обошлось. Это не только команды для работы с новыми функциями TC, но и улучшения уже имеющихся команд, например добавлено целых десять команд для работы с выделением файлов (cm_SelectFiles, cm_SelectAllFiles и т.д.), все их приводить тут не имеет смысла, ищите описание в справке. В общей сложности команд набралось уже порядка пяти сотен (и это без учёта команд назначаемых пользователем), но "справиться" с ними можно с помощью нового редактора:



В нём можно быстро найти нужную команду либо сразу создать собственную.
Однако не все функции, добавленные разработчиком, встретили одобрение пользователей. Так, новый режим переключения между закладками на панелях, при котором панель отображалась лишь после перехода на нужную вкладку, вызвал массу протестов. На самом деле такой режим действительно может быть удобен, если на одной из вкладок открыто медленное сетевое соединение... но в большинстве случаев ситуация иная, и автор был вынужден добавить ключ TabSwitchMode, настраивающий поведение TC при переключении вкладок.
Также, уже после выхода, возникли вопросы со следующим функциональным улучшением TC - отдельными деревьями для каждой панели.



Эти деревья были востребованы пользователями, переходящими со стандартного Explorer на Total Commander, однако понравились они, увы, далеко не всем. Большинство пользователей вообще сочли новинку бесполезной... Тем не менее - теперь TC может работать и в таком трёх- или даже четырёхпанельном режиме, что определённо несёт свои удобства. Визуально сравнивать структуру каталогов на разных носителях с такими деревьями, например, стало проще.
А старые-добрые панельки TC обзавелись очень и очень полезной возможностью мультисортировки. Ctrl+щелчок на заголовке колонки включает этот режим и устанавливает очерёдность; так, чтобы найти самый старый текстовый файл в каталоге, список можно отсортировать по расширению, потом по времени. Сортировка работает на всех колонках, в том числе и на тех, что взяты из контентных плагинов.
Настал, наконец, счастливый день и для любителей мобильности - тех, кто держит настроенный TC на переносных носителях. Вдобавок к переменной окружения %COMMANDER_PATH%, появившейся ещё в шестой версии файлового менеджера, добавились переменные %COMMANDER_DRIVE% (указывает на диск, с которого запущен TC), и %COMMANDER_INI% (путь файла настроек TC). Так что теперь можно использовать собственный TC на чужом компьютере, не опасаясь, что какие-то плагины или утилиты не подхватят старые настройки.

Работа с оглядкой

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



Сравнение тех файлов, у которых TC самостоятельно или с помощью листер-плагинов может показать тамбнейлы, превращается в элементарную задачу - вы эти файлы просто видите сразу же. К тому же перезапись обзавелась и кое-какой автоматизацией - теперь сравнение по заданному условию и последующую перезапись TC может производить самостоятельно - нажмите в диалоге перезаписи кнопку «Дополнительно» и убедитесь сами.
Другой объект жалоб – это не очень функциональный менеджер фонового копирования (BTM). В семёрке предприняты меры по его улучшению, например теперь в нём можно вручную менять порядок копирования. Просто перетаскиваем элементы списка мышкой – вот и вся наука.
Многим хотелось, чтобы копирование в BTM происходило автоматически, а не по нажатию F2. Разработчик пошёл навстречу пользователям – ключ AlwaysCopyInBackground=2 в wincmd.ini включает именно такой способ копирования.
Уважаемый читатель, скажи мне, мешают ли тебе каталоги "System Volume Information", "Documents and Settings" и подобные им? Избавиться от них нельзя, заходить в них обычно незачем - так почему бы их не убрать с глаз долой? Открываем "Список исключений" в опциях TC, добавляем туда названия тех каталогов и файлов, которые нам видеть не хочется – и всё, Тотал их больше не показывает. Можно использовать полные и относительные пути, переменные окружения, файловые маски... Мелочь - а приятно!



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

Новинки инструментов TC

Встроенные в Коммандер инструменты также заметно улучшились. Начнём с малого: листер теперь имеет курсор (включение/отключение по F6), что позволяет не пользоваться мышкой при выделении текста, а F11 теперь разворачивает листер на полный экран и обратно. Менее очевидны следующие изменения: при просмотре графики без плагинов листер сможет центрировать картинку, и подгонять её размеры под размеры своего окна самостоятельно. Также листер теперь гораздо лучше определяет UTF-кодировки, в том числе - и в HTML.
Но это только цветочки по сравнению с тем, что добавилось в инструмент сравнения файлов по содержимому. Кроме того, что теперь сравнивать можно файлы из архивов/плагинов/FTP, сам инструмент серьёзно увеличил свои возможности. Теперь "не отходя от кассы" сравниваемые файлы можно отредактировать вручную. Также можно довольно гибко настроить параметры сравнения - например, задать игнорирование часто повторяющихся строк (очень полезно для сравнения исходных кодов), или заставить воспринимать любое количество пробелов за один. Также можно сравнивать участки файлов вручную. Поясню, зачем это надо: один и тот же текст, например код программы, может быть отформатирован по разному - с отступами, с пустыми строками, с повторными операторами. Теперь TC, как уже сказано, теперь сможет определять "похожесть" файлов, а не только их идентичность. Тем, кого не удовлетворит и такая функциональность, не стоит отчаиваться - они могут подключить собственный инструмент сравнения (например, утилиту CompareIt!), и пользоваться им "без отрыва от производства".
Групповое переименование - едва ли не самый функциональный из инструментов - стал ещё лучше. Во-первых, случайно попавшие в список файлы можно удалить оттуда, просто нажав Delete. Во-вторых, теперь имена файлов можно загрузить из файла, или наоборот - загрузить в файл, сразу же этот файл отредактировать, и применить уже отредактированные имена. Что ещё нужно при переименовании пары тысяч скачанных mp3-файлов? Разве только чтобы TC сам прописывал в них теги, беря информацию из файла или названия трека...
А ведь и это теперь возможно – новый инструмент изменения атрибутов может и не такое! С помощью контентных плагинов, теоретически, можно менять любые параметры файла - прописывание тегов в тысячу файлов становится тривиальнейшей задачей. На момент написания статьи плагины с поддержкой этой функции уже стали появляться, так что ищите и обрящете.
Раз уж речь зашла о плагинах, скажу, что теперь файлсистемные плагины поддерживают просмотр эскизов и настраиваемые колонки (о, как давно об этом просили!). Контентые плагины для работы этой функции не используются, реализовать такое взаимодействие слишком сложно, потому каждому плагину предоставлена возможность выводить свой собственный набор колонок, что в высшей степени логично. Пока существуют всего два плагина, поддерживающих эту возможность: первый - это decClipboardFS, плагин для отображения буфера обмена Windows. В дополнительных колонках отображается информация о формате скопированных данных, имя приложения, откуда было произведено копирование, и т.п. Второй - это MAIL_WFX, почтовый клиент для TC. Он, соответственно, может показывать информацию об отправителе, статус письма, и другую информацию, которую вы обычно видите в своём почтовом клиенте.
Колонки FS-плагинов настраиваются точно так же, как и обычно, конечно, с учётом того, что плагин использует лишь собственные данные.



Очевидность полезности новой возможности - налицо, надеюсь, уже существующие плагины в скором времени обзаведутся её поддержкой. А если и нет - ничего страшного, TC имеет абсолютную обратную совместимость, и все старые плагины будут работать как и раньше.
И ещё одно небольшое изменение в интерфейсе файлсистемных плагинов - добавление поддержки ссылок. В основном это сделано для более простой реализации плагинов подобных TempPanel, так что обычному пользователю это не особенно интересно.
Инструмент поиска тоже заметно приобрёл в весе – теперь он может искать файлы на FTP с тем же успехом, что и на локальных дисках. Вдобавок, появилась опция настройки глубины вложенности подкаталогов. Полезно, если искать нужно только в текущем каталоге, или вы знаете что «на заданной глубине» искомого файла точно нет.
Закончу рассказ об инструментах описанием самой долгожданной новинки: встроенный FTP-клиент теперь «поумнел». Отныне, и во веки веков, закачка с FTP автоматически возобновляется через тридцать секунд, если она почему-то "зависла". Т.е. Тотал теперь можно оставлять качать файлы во время отсутствия пользователя, не опасаясь, что он где-нибудь "застрянет". Добавилась поддержка FTPS-соединений - правда для этого потребуется набор библиотек OpenSSL (легко найти в Интернете). Ну и, наконец, теперь принудительно поддерживается активность соединения через прокси. Дело в том, что некоторые прокси-сервера "слишком много на себя берут", в результате чего FTP-сервер считает соединение неактивным, и закрывает его. Теперь этого больше не будет.

По мелочам.

Это, безусловно, не все добавления и улучшения, появившиеся в этой версии. Улучшена работа с диспетчером фоновой пересылки, внесена возможность перенаправления секций в файле настроек, имеется куча более мелких изменений. Щёлкните, к примеру, два раза по разделителю панелей - он встанет ровно посередине. Приятная мелочь, ровно как и изменение размеров внутреннего просмотрщика по F11... Или вот такое удобство: все строки для ввода путей и имён файлов теперь поддерживают автодополнение - примерно так же, как это сделано в адресной строке Windows Explorer. А диалог создания нового каталога помнит имена всех созданных когда-либо каталогов, а по умолчанию предлагает назвать каталог по имени подкурсорного файла... И таких незаметных мелочей в семёрке - сотни, всё вспомнить просто невозможно. Используя TC, я то и дело натыкаюсь на что-то подобное, так что полезно бывает прочесть историю изменений, чтобы найти там что-то новое и пока неизвестное.

Что дальше?

При выходе каждой новой версии TC я задаю себе этот вопрос. Да, наверно, и не только я. В самом деле, кажется, что все возможности уже давным-давно реализованы, и добавить что-либо существенное уже невозможно. И, тем не менее, каждый раз появляется что-то новое - не всегда то, что ожидаемо, не всегда то, что востребовано, но всегда что-то глобальное.
Так чего нам ждать в версии 7.5? Точно на этот вопрос ответить не может никто, но основываясь на самых частых просьбах автору, его собственных заявлениях, и собственных фантазиях, можно кое-что предположить.
Очень возможно, что версия 7.5 будет полностью поддерживать юникод. Необходимость в этом назрела уже довольно давно, но реализовать такую поддержку совсем непросто. Не вдаваясь в подробности, скажу, что возникнут проблемы совместимости с линейкой ОС Win9x (скорее всего, новые версии TC просто перестанут там работать), и, что гораздо страшнее, с множеством существующих плагинов для TC (по-хорошему, их потребуется переписывать под юникод, а ведь далеко не все авторы плагинов готовы заниматься своими старыми разработками). Напомню, что на данный момент TC поддерживает юникод лишь частично, на том уровне совместимости, который обеспечивается операционной системой. Перевод TC на юникодные рельсы состоится рано или поздно, и это, по словам самого автора, основная задача на будущее.
Есть вероятность появления в следующей версии нового (уже пятого) типа плагинов. Нет, этого никто не обещал, но этого ждут многие. Всё изобилие существующих плагинов, кажется, уже исчерпывает предоставленные ими возможности, новые плагины появляются реже и реже, да и то, зачастую, это "римейки" - плагины, повторяющие уже существующие, но с использованием новых функций. Что это будут за плагины - сказать сложно. Кто-то предполагает, что это будут "интерфейсные" плагины, с помощью которых можно будет встраивать в окно TC собственные "навороты". Кто-то просит интерфейс для плагинов копирования, кому-то хочется интерактивности... Возможно всё.
Есть некоторые основания предполагать, что обзаведётся TC полноценной консолью (насколько это возможно для графического приложения). Те решения, что есть сейчас, чего греха таить, не устраивают многих, а функция эта достаточно востребованная.
Ну и конечно, в следующей версии TC будут улучшения и исправления. Впрочем, их то долго ждать не придётся - вряд ли традиция, по которой одна-две минорных версии с исправлениями выходят через некоторое время после выхода мажорной, будет нарушена, ибо программ без ошибок не бывает. Даже если это Total Commander. (На момент написания статьи уже была доступна версия 7.01, включающая массу исправлений, так что прогноз уже сбылся).


В заключение

Несмотря на всё моё желание, я не написал про такие вещи, как перенаправление секций файла настроек (для удобства и увеличения безопасности), улучшение быстрого поиска, не упомянул про функции автообновления панелей... Поверьте - уместить все новшества TC 7.0 в одну статью невозможно. Поэтому - читайте справку и заглядывайте на сайт http://tckb.megabyte-web.ru
и форум forum.wincmd.ru - там вы найдёте всё, что вас интересует.

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