Bash Commander
2007-08-27 19:44Давным-давно, когда виндовс еще ходил в коротких штанишках, основным интерфейсом для юзера были "синие окошки". И не только для M$-DOS. В 89-м году выпало мне сваять для Юникса аналогичную прибамбасину, Demos Commander. Штука оказалась полезная, пользуюсь до сих пор. Но жизнь не стоит на месте. Развивать имеющуюся версию нет смысла, проще переписать заново. А если делать с нуля... Есть другое решение.
Берем bash - одну из самых распространённых командных оболочек для Unix. В качестве одной из компонентов он содержит библиотеку readline, выполняющую редактирование в строке ввода. Вводим в readline новую фичу: переход при нажатии ^O в режим отображения панелей со списком файлов.
В режиме панелей добавляется следующая функциональность:
sir66 скрестил ужа с ежом - deco и csh - в виде сопрограмм. Монстр, правда, получился нежизнеспособный, корявый и громоздкий. Но сейчас, с наличием readline, есть шанс на успех.
Берем bash - одну из самых распространённых командных оболочек для Unix. В качестве одной из компонентов он содержит библиотеку readline, выполняющую редактирование в строке ввода. Вводим в readline новую фичу: переход при нажатии ^O в режим отображения панелей со списком файлов.
В режиме панелей добавляется следующая функциональность:
- Стрелки, Home, End, Page Up, Page Down - передвижение по списку файлов
- Tab - смена панели
- Insert, ^T - пометка текущего файла
- Enter, ^M - выполнение команды и отмена режима панели, повторный Enter - возврат в режим панели
- ^J - вставка текущего имени файла в командную строку
- F1...F10 - выполнение одной из функций, определенных в стартовом скрипте .bashrc
- ^R - смена текущего каталога, выбор из списка: $HOME или / или каталог противоположной панели или /mnt/* или /Volume/*
- ^X^W - распахивание текущей панели на всю ширину экрана
- ^X^T - отметка файлов по шаблону, например *.txt
- ^X^H - отображение скрытых файлов
Продолжение: подключайтесь к проекту

no subject
Date: 2007-09-28 07:52 (UTC)Динамический размер
Date: 2007-10-05 21:46 (UTC)Я подправил пару функций и научил его подстраиваться под размер терминала
Вот старый вариант :
http://iakovlev.org/images/deco_01.png
Новый вариант :
http://iakovlev.org/images/deco_02.png
no subject
Date: 2007-10-09 12:23 (UTC)Только у Вас подстройка проходит не до конца: расширения файлов не прижимаются вправо. И уголки псевдографики сбиваются...
Можете закоммитить правки через CVS непосредственно на deco.sf.net?
CVS
Date: 2007-10-14 12:02 (UTC)cvs -z3 -d:pserver:anonymous@deco.cvs.sourceforge.net:/cvsroot/deco co -P deco
cvs checkout: Updating deco
M deco/draw.c
M deco/main.c
А оно резульно комитится ?