XYZCommander: пояснения автора

В опубликованном на днях топике "Три-Веселых-Буквы-Commander " я рецензировал новый консольный менеджер, причем в ироничном тоне, мол, зачем нужен еще один? Материал попался на глаза автору XYZCommandera — Max E. Kuznecov'у, который прислал письмо, проясняющее ситуацию. Поскольку оно довольно подробное — публикую полностью, а не в качестве комментария к топику.

Приветствую!
Чисто случайно обнаружил вашу заметку о моём поделии mtaalamu.ru/blog/admining/1226.html. Захотелось высказать пару мыслей. Проект молодой, поэтому дополнительная информация о нём не помешает.


Итак, проект написан на питоне, главный плюс такого решения — лёгкая расширяемость. Я изначально планировал модульную архитектуру, и даже большая часть функциональности самого командера находится в плагинах-модулях. Написать модуль на питоне, субъективно гораздо проще и приятнее чем, скажем, на С, вот в чём основной плюс питона, в данном вопросе. И просто как пример лёгкости расширения: я сейчас написал экспериментальный модуль, с помощью которого навигация в командере осуществляется в режиме редактора vi, то есть в основном режиме кнопками j,k,l,h,dd,yy и так далее, производятся действия, а в режиме вставки они просто вводятся в командную строку. Весь модуль занял пару десятков строк кода.

Из отличительных особенностей программы я бы отметил:

* Правила описания объектов (FSRules) — это выражения, комбинируемые посредством логических операторов И, ИЛИ, НЕ, оторые описывают функцию фильтрующую переданный файловый объект. Скажем правило вида «type{socket} and owner{: operator}» отфильтрует сокеты, группа владельцев которых — operator. Объекты можно фильтровать по имени, типу, владельцу, размеру, битам доступа и так далее. Данные фильтры широко используются внутри системы. Скажем, для описания так называемых actions — действий которые выполняются при нажатии кнопки ENTER на объекте. То, что когда мы жмём ENTER на каталоге и заходим в него, или на *.avi файле запускаем плеер, это всё не захардкожено где-нибудь внутрях а описано в конфигах посредством этих самых правил, и, стало быть, эти действия легко изменить/настроить под себя. Тоже самое с визуальными темами. Например мы можем подсветить файл, у которого владелец — пользователь vasya и размер более гигабайта синим цветом на красном фоне, и сложность таких правил может быть произвольной.

* Система сообщений — множество системных операций генерируют специальный сообщения, на которые можно подписываться и реагировать нужным образом. Например — сообщение startup при старте программы или shutdown при выходе из неё.

* Уже описанные выше плагины — позволяют произвольно расширять функциональность без необходимости лазить внутрь системы.

* Консоль управления — многие параметры можно менять прямо во время работы через интерактивную питоновую консоль.

Здесь есть документик, в котором описаны эти и другие особенности: xyzcmd.syhpoon.name/static/doc/overview.pdf.

Много всего ещё не готово, в силу возраста: тот же аналог Ctrl-O, множество VFS драйверов и ещё куча всего. Это всё со временем появится. Надеюсь, что несколько вас убедил, что это не очередной безликий велосипед. Или, по крайней мере, мне хочется так думать ;)

Спасибо.

Хочу еще раз поблагодарить автора за подробное пояснение, а также извиниться, если тон моей рецензии оказался излишне ёрническим. Пожелаем новому продукту такой же популярности, как и другим любимым русскоязычным IT-сообществом коммандерам (Volkov Commander, Far, Midnight Commander и т.д.).
  • +12
  • 25 сентября 2010, 01:51
  • yababay

Комментарии (8)

RSS свернуть / развернуть
+
+1
Пишите, ежели будут вопросы в каменты или на мыло mek#mek.uz.ua
avatar

syhpoon

  • 25 сентября 2010, 05:26
+
0
Ну! А я что говорил.
Даешь каждому «велосипеду» свою дорогу !!!
avatar

Markony

  • 25 сентября 2010, 10:55
+
0
Вопрос автору XYZ: Вы принципиально ориентируетесь на англоязычную аудиторию?
avatar

durman

  • 26 сентября 2010, 02:11
+
0
Совсем нет. Просто англоязычная аудитория, она шире, вот и всё. Для многих проектов, и не только open-source, такое положение дел, когда основная документация на английском, позволяет захватит более широкий круг потенциально заинтересованных лиц. А так, например, в последней версии я добавил русский перевод всех системных сообщений, в дальнейшем, возможно, и до документации доберусь.
avatar

syhpoon

  • 26 сентября 2010, 03:28
+
0
Понятно.
Так вам тогда надо бы публиковать свою программу на англоязычных ресурсах-only.
avatar

durman

  • 26 сентября 2010, 11:22
+
0
А syhpoon так и делает. Просто ссылка на его проект попала на linuxcenter.ru, а сюда ее скопипастил я, как человек живо интересующийся всякими коммандерами. И уж потом автор, увидев случайно «рецензию», написал мне, пояснив некоторые моменты.

Сам-то XYZcommander добротно локализован, выводит русскоязычные меню и диалоги. А вот сайт да, пока только англоязычный. Но когда работаешь один, да еще и на общественных началах — на всё времени и сил не хватает, по себе знаю. Приходится чем-то жертвовать.

Сайт Midnight Commander'а, кстати, на английском выводится по умолчанию, хотя там команда русскоязычная в основном.
avatar

yababay

  • 26 сентября 2010, 13:09
+
0
Человек все делает правильно
у нас навряд-ли на популярных ресурсах найдешь единомышленников — лишь один снобизм и тп
На англоязычных сайтах покультурнее, тем более он заявит о себе — будет проще найти работу зарубежом. Почему бы и нет?
avatar

Sergei_T

  • 29 сентября 2010, 20:09
+
0
Это точно!
Англоязычная аудитория шире с каждым годом.
Русскоязычная все уже...
И с кодировкой сразу нет проблем.
avatar

Markony

  • 26 сентября 2010, 07:53

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.