Вышел (http://xyzcmd.syhpoon.name/news/9/) релиз XYZCommander 0.0.5 (http://xyzcmd.syhpoon.name), консольного файлового менеджера, написанного на языке Python и распространяемого в рамках лицензии LGPL.
Основные возможности:- Интеграция с Python-окружением: настройки приложения можно менять "на лету" через консоль управления; все конфигурационные файлы представляют собой скрипты на языке Python, для упрощения используется специальный набор конфигурационных функций;- С помощью системы конфигурирования можно настраивать собственные действия, переопределять операции (alias), создавать внутренние команды, а также изменять управляющие комбинации клавиш;- Система плагинов позволяет расширять функциональность без модификации ядра приложения;- Возможность создавать собственные функции-обработчики для реагирования на различные системные события;- Настраиваемый внешний вид виджетов, посредством подключения визуальных тем;- Поддержка Unicode.- Поддержка вкладок в навигационны...
URL: http://xyzcmd.syhpoon.name/news/9/
Новость: http://www.opennet.me/opennews/art.shtml?num=27975
сейчас под какой python ?
помню по старым версиям там urwid , смотрю на http://excess.org/urwid/ не шибко активно развивается
ssh ftp добавлены , а то смотрел первые версии вроде не было возможности
или Вы сделаете только "голый коммандер" а кто хочет тот добавляет плагины ?
>сейчас под какой python ?
>помню по старым версиям там urwid , смотрю на http://excess.org/urwid/ не шибко
>активно развивается
>ssh ftp добавлены , а то смотрел первые версии вроде не было
>возможности
>или Вы сделаете только "голый коммандер" а кто хочет тот добавляет плагины
>?Работает под 2.4, 2.5 и 2.6. Urwid как раз переводят под 3 версию.
Плагины добавлять как раз вполне можно, к следующей версии опишу подробнее как это делается.
может не так выразился , новость прочитал , то что есть возможность подключать плагинывопрос был в том <какие планы у разработчика> сделать "голый коммандер" и отдать на откуп сообществу написание плагинов или "дорасти" до возможностей МЦ своими силами ?
>может не так выразился , новость прочитал , то что есть возможность
>подключать плагины
>
>вопрос был в том <какие планы у разработчика> сделать "голый коммандер" и отдать на откуп сообществу написание плагинов или "дорасти" до возможностей МЦ своими силами ?Ну пока, делаю сам, сообщество ещё толком не образовалось :) Если найдутся те, кто захочет присоединиться и развивать вместе, я буду очень рад.
пилите syhpoon, пилите..)
$ ./xyzcmd
Traceback (most recent call last):
File "./xyzcmd", line 25, in <module>
Launcher().run()
File "/tmp/xyzcmd-0.0.5/libxyz/launcher.py", line 91, in run
self.parse_configs_1()
File "/tmp/xyzcmd-0.0.5/libxyz/launcher.py", line 275, in parse_configs_1
self._parse_conf_file(const.XYZ_CONF_FILE)
File "/tmp/xyzcmd-0.0.5/libxyz/launcher.py", line 311, in _parse_conf_file
self._parse_file(_system, _(u"Error parsing system config %s: %s"))
File "/tmp/xyzcmd-0.0.5/libxyz/launcher.py", line 351, in _parse_file
dsl.exec_file(file)
File "/tmp/xyzcmd-0.0.5/libxyz/core/dsl.py", line 43, in wrap
return func(cls, *args, **kwargs)
File "/tmp/xyzcmd-0.0.5/libxyz/core/dsl.py", line 284, in exec_file
error(_(u"Unable to execute file: %s") % unicode(e))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 10: ordinal not in range(128)
12.55 spanasik@R60 /tmp/xyzcmd-0.0.5
$ uname -a
Linux R60 2.6.32-24-generic #42-Ubuntu SMP Fri Aug 20 14:24:04 UTC 2010 i686 GNU/Linux
>$ ./xyzcmd
>Traceback (most recent call last):а локаль у вас какая выставлена?
$ printenv LANG
ru_RU.utf8
>$ printenv LANG
>ru_RU.utf8Хм, весьма странно, я именно на этой локали и тестил русский перевод.
А как вы устанавливали? А то вижу чё-то /tmp/. Для убунту есть ppa:1) sudo add-apt-repository ppa:syhpoon/xyzcmd
2) sudo aptitude update && sudo aptitude install xyzcmdможно легко установить и так же безболезненно удалить, ежели чего :)
зачем ppa, чтобы просто посмотреть ?я не устанавливал, просто скачал исходники, скачал либу для интерфейса, запустил. баг явно не относится к тому, как именно ставили программу, имхо
Запускать из каталога с сырцами и запускать установленную программу, это не совсем одно и то же, согласитесь. Он ожидает увидеть свои файлы в определённых местах, и их не видит, отсюда могут лезть разнообразные ошибки.
Согласен, просто ориентируюсь на eclipse, к примеру. Я его положил в ~/bin/eclipse и юзаю себе спокойно. Захочу другую версию, положу рядом.Если оно не видит что-то, надо вывести ошибку в stderr, а не валиться, имхо. Не все же юзают из ppa, некоторым больше нравится, когда необходимые программы лежат в одном месте, а не по всей системе. Тем более, если программа "на потестить".
>Согласен, просто ориентируюсь на eclipse, к примеру. Я его положил в ~/bin/eclipse
>и юзаю себе спокойно. Захочу другую версию, положу рядом.
>
>Если оно не видит что-то, надо вывести ошибку в stderr, а не
>валиться, имхо. Не все же юзают из ppa, некоторым больше нравится,
>когда необходимые программы лежат в одном месте, а не по всей
>системе. Тем более, если программа "на потестить".Ну можно не ppa а просто deb скачать и установить, это наименее трудозатратно, имхо, или из сырцов установить. Он пока не умеет запускаться без установки, это да, это есть.
Для нормальных программ не имеет значения откуда их запустили. У вас там что - все захардкожено?
>Для нормальных программ не имеет значения откуда их запустили.Вообще весьма спорное утверждение. Я бы различал случаи когда программа устанавливается в альтернативное место (вроде --prefix для autotools) и когда её пытаются запустить прямо из каталога с сырцами без установки вообще.
>У вас там
>что - все захардкожено?Нет, по умолчанию берётся база установки питона, но она перекрывается переменной окружения XYZCMD_PREFIX.
оно конечно интересно, но vimcommander лучше. IMHO
http://www.vim.org/scripts/script.php?script_id=808
а vifm ещё лучше - http://the-bosha.ru/2009/10/17/vifm/
А есть еще clex http://www.clex.sk/
> Существенная оптимизация локальной VFS-подсистемыНаконец то. Через 5 версий этим стало можно пользоваться?
>> Существенная оптимизация локальной VFS-подсистемы
>
>Наконец то. Через 5 версий этим стало можно пользоваться?Ну, скажем, пользоваться стало значительно удобнее. На тестовых каталогах с 50.000 файлов у меня вход после кеширования занимал пол-секунды, а раньше > 20. Хотя и тут ещё есть где подкрутить малость, можно будет добиться ещё большей скорости.
Да, получше стало. Но все равно - блокировка при входе в большую директорию (особенно на NFS, но и в обычную тоже) заметна и это очень плохо, при том что для нивигации достаточно прочитать _только директорию_, а уж потом можно неспешно дочитывать stat'ы в фоне.
>Да, получше стало. Но все равно - блокировка при входе в большую
>директорию (особенно на NFS, но и в обычную тоже) заметна и
>это очень плохо, при том что для нивигации достаточно прочитать _только
>директорию_, а уж потом можно неспешно дочитывать stat'ы в фоне.Кстати, как выйти из поделия? Почему не реагирует на на что из Esc, F10, ^Q, ^D, ^C, ^Z, ^\?, exit?
>>Да, получше стало. Но все равно - блокировка при входе в большую
>>директорию (особенно на NFS, но и в обычную тоже) заметна и
>>это очень плохо, при том что для нивигации достаточно прочитать _только
>>директорию_, а уж потом можно неспешно дочитывать stat'ы в фоне.
>
>Кстати, как выйти из поделия? Почему не реагирует на на что из
>Esc, F10, ^Q, ^D, ^C, ^Z, ^\?, exit?И F10 и exit должно работать.
>Да, получше стало. Но все равно - блокировка при входе в большую
>директорию (особенно на NFS, но и в обычную тоже) заметна и
>это очень плохо, при том что для нивигации достаточно прочитать _только
>директорию_, а уж потом можно неспешно дочитывать stat'ы в фоне.Именно так и делается, сейчас 99% времени занимает питоновый os.listdir(), но он не просто читает каталог а ещё и предварительно сортирует по типу: dir, file
В эту сторону ещё можно оптимизировать, конечно.
>>Да, получше стало. Но все равно - блокировка при входе в большую
>>директорию (особенно на NFS, но и в обычную тоже) заметна и
>>это очень плохо, при том что для нивигации достаточно прочитать _только
>>директорию_, а уж потом можно неспешно дочитывать stat'ы в фоне.
>
>Именно так и делается, сейчас 99% времени занимает питоновый os.listdir(), но он
>не просто читает каталог а ещё и предварительно сортирует по типу:
>dir, file
>В эту сторону ещё можно оптимизировать, конечно.Уточню, сортирует по типу не listdir а os.walk()