Визуализация разных дисков в файловом менеджере или Не совсем консольный FAR

:

Была у меня давнишняя идея, как расширить возможности интерфейса файловых менеджеров, улучшив визуализацию разных дисков, разных типов дисков и определенных папок. И вот теперь ее удалось реализовать.

Скриншот для затравки:


Но сначала немного лирики:

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

Мое же мнение на это счет может показаться необычным: если во времена Windows 2000 и XP плоская консоль FAR как-то выбивалась из общего визуального ряда оконных приложений, когда все контролы были подчеркнуто выпуклыми и когда пошла мода на глянцевые иконки, то в нынешние времена интерфейсы стали более спокойными и плоскими, идет тенденция к минимизации визуального шума и фокусированию на контенте, и FAR, к удивлению, на фоне остального UI начинает опять смотреться вполне «в струе».

Консольность даже является определенным преимуществом FAR с точки зрения UI (например, все плагины выглядят как «родные»), но она, конечно, все-таки ограничивает возможности расширения его функциональности. Вернее, так было да недавнего времени, пока я не нашел ConEmu.

ConEmu — эмулятор консоли, расширяющий возможности FAR: возможность произвольного изменения размеров окна, поддержка ClearType, drag-n-drop файлов как в Проводнике, корректная поддержка контекстного меню Проводника, возможность расширения палитры доступных цветов, вкладки для разных окон FAR и многое другое. То есть FAR + ConEmu — уже вполне современный файловый менеджер, избавившийся от пережитков чисто консольного приложения.

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

После переписки с автором ConEmu на свет появилась новая версия этого приложения со специальным API, позволяющим задавать фон картинки извне. Ну а я написал плагин для FAR, который и управляет этой фоновой картинкой.

Итак, встречаем Panel Colorer:

Что делает этот плагин?

В нем есть набор правил, по которому происходит раскрашивание панелей в зависимости от их типа.

  • Например, жесткие диски получают синий цвет, съемные — зеленый, CD/DVD — оранжевый а сетевые диски — пурпурный.
  • Помимо этого в рамках каждого типа дисков формируется палитра (т.е. жесткий диск «C:» и жесткий диск «D:» будут иметь чуть разные цвета, чтобы визуально можно было отделить один диск от другого).
  • На каждой панели диска есть его схематичное изображение (фоновая картинка), размер и шкала, отображающая процент его заполнения; причем шкала отображает заполнение динамически, даже во время того как FAR, например, копирует файлы с одного диска на другой.
  • У плагинов есть свои фоновые картинки и подписи.
  • Есть поддержка специальных папок (например, ".svn"), для которых задан свой стиль.

Для чего все это нужно?
  • Во-первых, отличать диски по цвету очень удобно. Сразу видно, когда выбраны разные диски на панелях, сложнее скопировать что-то не туда или удалить не оттуда.
  • Во-вторых, наглядно представлен размер и свободное место на диске.
  • Легче отличить виртуальные файловые системы (например, когда вы вошли внутрь архива или ISO-образа) от настоящих.
  • Плагин может цветом подсказать, в какой папке находятся временные файлы (которые можно безбоязненно удялть), а в какой — системные, которые лучше не трогать.
  • Ну и, согласитесь, скучно, когда все панели одного цвета.

Что в планах?

Сейчас плагин имеет статус экспериментального и носит версию 0.9, так как в нем не реализован один очень важный момент — возможность конфигурирования правил и цветовых схем. Это планируется сделать в версии 1.0. Пока же плагин имеет базовый набор «прошитых» правил и расчитан на дефолтную цветовую схему FAR.

Как установить?

  1. Если у вас еще не стоит FAR, то установите его по этой прямой сыслке: FAR 2.0 (build 1661) x86 (требуется именно x86 версия FAR 1661+)
  2. Загрузите архив ConEmu по этой прямой ссылке: ConEmu 100904 и распакуйте его прямо в директорию, куда установлен FAR.
  3. Загрузите архив с плагином Panel Colorer по этой прямой ссылке: Panel Colorer 0.9 и распакуйте его в подпапку Plugins папки, куда установлен FAR (папка «PluginColorer» будет создана автоматически).
  4. Запустите файл ConEmu.exe из папки установки FAR. ConEmu загрузит FAR автоматически.

Где потом искать обновления?

Плагин (а также исходники к нему на Delphi под лицензией GPL) находится в Google Code. Создана также ветка для обсуждения плагина на форуме FAR manager.

Update: выложена версия 0.91, которую уже можно конфигурировать через файл config.js в папке плагина.