Автор Гілка: Синеньке з двома панелями  (Прочитано 3529 раз)

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
А хто зможе на своїй улюбленій мові написати таке синеньке, з двома панелями?

Можна обмежитися тільки такими вимогами:
  * показувати тільки панель, навіть без файлів;
  * всі додаткові операції робити через додатки;
  * зробити один додаток, який показує в панелях файли на локальній файловій системі;
  * зробити додатки та конфігурацію дружніми до пакетів, тобто для вважати що всі файли не можна можифікувати а можна лише додавати чи видаляти файли в каталогах з додатками (/usr/share/app/plugin.d) чи конфігурацією (/etc/app/config.d, ~/.app/config.d).

Якщо хтось бажає більше, то можна вкрасти підтримку extfs у mc (див. /usr/share/mc/extfs/ ). Можна ще стирити підтримку Ctlr-O ( викор. /usr/libexec/mc/cons.saver ).

Хто справиться? :-)
[Fedora Linux]

zzandy

  • Гість
Re: Синеньке з двома панелями
« Відповідей #1 : 2007-02-17 20:13:11 »
 * всі додаткові операції робити через додатки;

Логічно ...

Відсутній Cthulhu

  • Кореспондент
  • ***
  • дописів: 183
  • Карма: +0/-0
Re: Синеньке з двома панелями
« Відповідей #2 : 2007-02-19 11:09:34 »
Можна, звичайно, import curses і так далі, але навіщо це? Особисто в мене стимулу нема. JFF не проходить, бо є вже інший :)

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: Синеньке з двома панелями
« Відповідей #3 : 2007-02-19 15:28:34 »
Я трохи над цим думав раніше, і в результаті прийшов до висновку, що мені навіть не панельки треба, а якесь швидке доповнення у вигляді списку, по якому можна рухатися. Бо в панельках дуже часто блукаєш і не можеш знайти потрібний тобі файл, особливо в деб'янівському терміналі (чи немодифікованому MC - не знаю...), де не працює Ctrl-Backspace, і є тьма "прихованих" файлів і директорій в домфівці, а вимкнути їх показ поки що не можу - деб'ян система для мене нова, надто часто треба вмикати назад.
Друге, що мені на даний момент не подобається в MC - підсвітка синтаксису тормозить і глючить, отже я перейшов на vim, але він довго завантажується на Cel600.
Отже така пропозиція - а може організувати панельки всередині vim-у за допомогою вбудованої мови? Чи таке можливо? (Я з нею поки знайомий дуже поверхнево, тому судити не можу.)
Самі панельки (завдання номер один) vim нам дасть у будь-якій кількості.
Командний рядок теж є.
Зчитування багатьох конфіг-файлів - є, і досить розвинене.
Теоретично, підсвітку типів файлів можна організувати через підсвітку синтаксису.
А от з віртуальними файловими системами пропоную подивитися в бік fuse - може зробить це взагалі для чистої оболонки, тоді воно буде доступне й у vim. Щось типу `vcd foo-1.2.3.tar.bz2'. І змінити запрошення оболонки, щоб приховати `/tmp/foo-1.2.3-234567/'. (Як працювати з fuse я теж поки не знаю, але виглядає воно непогано).

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: Синеньке з двома панелями
« Відповідей #4 : 2007-02-19 15:59:54 »
Можна, звичайно, import curses і так далі, але навіщо це? Особисто в мене стимулу нема. JFF не проходить, бо є вже інший :)
Небажаючих просим не турбуватися.
Моя особиста причина: JFF+JFE(xperience), плюс може щось корисне й залишиться.
[Fedora Linux]

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: Синеньке з двома панелями
« Відповідей #5 : 2007-02-19 16:02:43 »
Отже така пропозиція - а може організувати панельки всередині vim-у за допомогою вбудованої мови? Чи таке можливо?

Напевно можливо, бо в Emacs-і це вже давно є. ;-)

Вибір мови реалізації за вами - мені просто цікаво, як саме буде реалізовано вимоги.
[Fedora Linux]

Відсутній Cthulhu

  • Кореспондент
  • ***
  • дописів: 183
  • Карма: +0/-0
Re: Синеньке з двома панелями
« Відповідей #6 : 2007-02-19 16:32:31 »
плюс може щось корисне й залишиться.
Не забудьте потім опублікувати=)