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-08-28 17:39 (UTC)Я тоже активно юзаю deco, под тремя системами: Linux, FreeBSD, MacOSX. Давно пора поддержку Unicode добавить, но рука не поднимается. Мелкими правками красиво не получается, а переписывать всё с нуля лениво и неинтересно. Переделка bash будет проще и элегантнее.