LINUX.ORG.RU

DOS Navigator портирован на Linux

 , , , turbo vision,


1

2

Разработчик @unxed, неоднократно предпринимавший попытки запустить двухпанельный файловый менеджер DOS Navigator под Linux, добился, наконец, успеха. Для решения проблемы лицензионной чистоты встроенная модифицированная библиотека Turbo Vision для Паскаля, никогда не публиковавшаяся под открытой лицензией, была заменена на рерайт современного форка доступной легально C++-версии, с переходом на UTF-8 и современную классовую архитектуру взамен характерной для TV, но практически не применяющейся сегодня, объектной.

Заявлена работоспособность базовых функций, таких как навигация по панелям и копирование файлов.

Для поддержки UTF-8 в DOS-сборках применяется специально разработанный для этого DOS UTF8 API, уже добавленный в DOSBox-X.

Отдельно стоит отметить порт на Linux Volkov Commander, предпринятый этим же разработчиком. Используется простой эмулятор 8088. Вывод рисуется в консоль за счёт скрейпинга видеопамяти текстового режима по аналогии с тем, как WinPTY скрейпил консоль Windows.

>>> DOS Navigator 1.20



Проверено: hobbit ()
Последнее исправление: dataman (всего исправлений: 3)

«Чем бы дитя не тешилось...» ©

...Volkov Commander... ...простой эмулятор 8088...

О! Сегодня только вспоминал.

sparkie ★★★★★
()
Ответ на: комментарий от YogSagot

Проблемы mc из-за того, что его UI написан под пишущую машинку 70х, а используют его все на современных 101-клавишных клавиатурах, и не понимают, почему привычные по другим приложениям сочетания клавиш не работают.

Исправить это несложно, см. мои PRы здесь: https://github.com/blue-panels/mcommander/pulls

И это заработает в любом приличном терминале: Konsole, kitty, Windows Terminal, iTerm2 и тд

Только в gnome terminal не заработает - там нейрофобы, они мои PRы с поддержкой современных протоколов ввода брать не хотят (хотя собирались минимум один взять), почему не знаю. Можно потыкать палочкой в их багтрекере!

unxed
() автор топика
Последнее исправление: unxed (всего исправлений: 1)
Ответ на: комментарий от unxed

С сочетаниями клавиш постоянно проблемы связанные с тем, что сами эмуляторы терминала часто клавиши перехватывают для своих нужд, равно как и сама DE. У меня в Навигаторе работает и Copy через Ctrl+Ins, и Paste через Shift+Ins, но только если я в настройках ДЕ и терминала эти сочетания отключил.

YogSagot ★★☆
()
Ответ на: комментарий от YogSagot

Верно. Бесит. Думаю даже в f4 добавить подсказывалку «как освободить кнопки в вашем терминале».

unxed
() автор топика
Ответ на: комментарий от unxed

когда выбирал стек для f4, это уже ремейк Фара на Go

В F4 те же самые грабли - невозможно редактировать текст.

Открываешь редактор, в нем находится текст:

; 0 = keep everything (settings, history, macros, plugins, styles, crash
; logs) in the profile directory below instead of the per-user directory.
; The same effect on a single run: F4_GENERAL_USE_SYSTEM_PROFILES=0.
;UseSystemProfiles=0


Работает выделение клавиатурой, но не работает выделение мышкой. Ладно, выделяем клавиатурой, копируем, и вставляем там же строчкой ниже. И получаем:

; 0 =keep everything (settings, history, macros, plugins, styles, crash; logs) in the profile directory below instead of the per-user directory.; The same effect on a single run: F4_GENERAL_USE_SYSTEM_PROFILES=0.;UseSystemProfiles=0; 0 =keep everything (settings, history, macros, plugins, styles, crash; logs) in the profile directory below instead of the per-user directory.; The same effect on a single run: F4_GENERAL_USE_SYSTEM_PROFILES=0.;UseSystemProfiles=0

Xintrea ★★★★★
()
Ответ на: комментарий от YogSagot

Я lilyterm на gtk2 использую, у меня ничего «лишнего» терминал настроен не перехватывать. Правда прога уже старая, и часть современного софта под ней отображается некорректно. Тоже хочу форкнуть и доделать под современность.

Вы так пишете, будто терминал «сам» что-то решает перехватить каждый день - один раз настроите, и будет работать.

wandrien ★★★★
()
Ответ на: комментарий от Xintrea

Записал в список! Если что, тикетом оперативнее :)

unxed
() автор топика
Ответ на: комментарий от MoldAndLimeHoney

Что вам не хватает в mc и что вам в нем неудобно?

anc ★★★★★
()
Ответ на: комментарий от Xintrea

А что именно у вас не получается использовать в far2l, как проявляется проблема?

«Команды» - так я там второй по числу коммитов :)

unxed
() автор топика
Ответ на: комментарий от Shadow

Поддержка очень ограниченного железа одна из целей, вы это правильно угадали! f4 тяжеловат для Arduino и роутеров дешевле топовых.

unxed
() автор топика
Ответ на: комментарий от YogSagot

Потому что это был шедевр.

Много чего было шедевром в своё время, но это не значит что оно остается шедевром в современном мире.

И потому что я терпеть ненавижу МЦ.

Это уже на сектантство похоже.

anc ★★★★★
()
Ответ на: комментарий от gentoo_user

В Паскале есть две версии ООП, очень сильно кастрированная, но работающая в старых досовских компиляторах, на object, и современная на class. Я заявляю целями сохранение сборки под Dos, но вот сама сборка под Dos в спектр моих интересов не входит, а развитие входит, поэтому не пожалел токенов и перевел на классы. Но и версия на объектах тоже существует и вполне доступна в истории гита, кому она зачем-нибудь понадобится, найдет ее там!

unxed
() автор топика
Ответ на: комментарий от kto_tama

Надо спросить мейтейнера far2l, готов ли заняться. Сам не готов пока, сорвусь, много опенсорсных задачек сейчас.

А пока у вас есть бинарник, работающий на любом Линуксе вплоть до Alpine, и встроенное автообновление!

unxed
() автор топика
Ответ на: комментарий от hobbit

Тоже не особо принимаю всё кроме Лукаса. Просто зачем? Нужно уметь останавливаться, чтоб не испортить. Но жажда наживы победила, штош

unxed
() автор топика
Ответ на: комментарий от enep

Развлекаюсь так! Помните, как книжка Линуса называлась? ;)

unxed
() автор топика
Ответ на: комментарий от unxed

А что именно у вас не получается использовать в far2l, как проявляется проблема?

Господи, там столько тикетов, что не работает копипаст в редакторе, нескончаемый поток.

Вот вы записали тикет что портится текст как я показал. Вы сами этого что, не замечали? Там же глюк на глюке. У меня еще и задержка при пасте на 3-5 секунд, кулер на процесоре взвывает, как будто вставка текста - это охренеть какие вычисления.

Xintrea ★★★★★
()
Ответ на: комментарий от Shadow

VC, переписанный на что-то портальное, вроде wasm, теоретически может быть интересен для менеджмента пейлоадов в микроконтроллерах, если для них есть конвертеры из wasm в нативный код. Но глубоко я в это пока не лазал!

unxed
() автор топика
Ответ на: комментарий от Xintrea

Поставил f4 из AUR.

Запустил его в konsole.

Открыл файл на редактирование.

Попытался выделить текст мышкой. После отпускания мышки выделение сбрасываться.

Ладно. Выделил клавиатурой с зажатым шифтом.

Так как я не знаю, какие клавиши может перехватить konsole, в первую очередь стал проверять через меню:

F9 -> Edit -> Copy.

Переместил курсор.

F9 -> Edit -> Paste.

Результат: ничего не вставилось, пусто.

Закрыл f4))

wandrien ★★★★
()
Ответ на: комментарий от kto_tama

Бинарник должен работать на любом Линуксе, но на musl я ещё не тестил. Палитры должны поддерживаться те же, что в оригинале, если нет пуляйте тикет! И по третьему пункту тоже. Сделаем.

unxed
() автор топика
Ответ на: комментарий от mumpster

Минусы? Срачи это трафик! Люди любят сраться :)

unxed
() автор топика
Ответ на: комментарий от YogSagot

Именно поэтому первым делом перевод на уже нормально работающий с современными консолями FP!

unxed
() автор топика
Ответ на: комментарий от seiken

Проводил ресёч перед началом работы, конечно. textual до Turbo Vision, как и до vtui - продвинутого аналога, написанного с нуля для f4 - как до Луны. На нем можно сделать красивый дашборд, но полноценный UI как на десктопе, со всплыванием событий и тд - хренушки

unxed
() автор топика
Ответ на: комментарий от wandrien

UPD:

Там походу дофига всего не работает. Пункт меню «дублировать строку» тоже не работает.

Нажал хоткей Ctrl+Shift+D, назначенный этому пункту меню. Редактор перестал обновлять экран. Вышел из него по Esc. После этого на основном экране программы перестали работать вообще все функциональные клавиши.

Ну классно…

wandrien ★★★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от Shadow

Рад слышать, пишите тикеты если что сломано!

unxed
() автор топика
Ответ на: комментарий от unxed

На нем можно сделать красивый дашборд, но полноценный UI как на десктопе, со всплыванием событий и тд - хренушки

О, а у меня - есть!

YogSagot ★★☆
()
Ответ на: комментарий от wandrien

Продолжаем изыскания:


На файловых панелях сначала идут скрытые каталоги, затем каталоги, потом скрытые файлы, потом файлы.

Но проблема в том, что цветовое кодирование у скрытых каталогов такое же, как у скрытых файлов. И понять, файл это или каталог, можно только по строчке снизу панели.


Кнопка F4 на каталоге - открывает редактирование прав доступа. Допустим. Но надпись в панели кнопок это никак не отражает, динамически не меняется. (для mc было бы простительно, но mc это mc)


Кнопка F3 на каталоге подсчитывает размер… А где она этот размер отображается? А вот догадайтесь. Я не сразу нашел. Как говорится, «если постоять, потупить, то, в принципе, становится понятно».

Надпись на панели кнопок тоже никак выполняемое действие не отражает.

wandrien ★★★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от wandrien

Еще как есть! С выделением текста и копи-пастом примерно такие же проблемы, что ты у топикстартера в его f4 находил. Дай мне плиз его еще где-то месяц помариновать и тогда уже на строгий суд самых строгих критиков выложу! :D

YogSagot ★★☆
()
Ответ на: комментарий от wandrien

Ты, надеюсь, его не из pipx устанавливал? Потому что там древнющая версия чисто ради теста самого pipx, сноси нафиг.

Из гитхаба клон сливай, там актуальное/злободневное!

YogSagot ★★☆
()
Ответ на: комментарий от YogSagot

Ахахаха, конечно из pipx и ставил, ведь это написано в ридми xDD

wandrien ★★★★
()
Последнее исправление: wandrien (всего исправлений: 1)

регулярно пользуюсь дос навигатором в дос боксе - не понимаю зачем его портировать на линукс.

amd_amd ★★★★★
()

А зачем? Нативных программ не хватает?

Sergey_T ★★★★★
()
Ответ на: комментарий от unxed

Какое нахрен «всплывание событий» в терминальном пользовательском интерфейсе? Не помню такого в МС-ДОС.

seiken ★★★★★
()
Ответ на: комментарий от YogSagot

Потому что это был шедевр.

Шедевр для своей платформы по имени dos.

И потому что я терпеть ненавижу МЦ.

Вас кто-то покусал? :)

anc ★★★★★
()
Ответ на: комментарий от seiken

Ну тут имеется ввиду что терминальный интерфейс не прибит гвоздями, а реализован как плавающие окна которые можно двигать, менять размер, перекрывать друг друга. Турбо Паскаль такое умел посредством TurboVision, и соответсвенно DOS Navigator классический от RITLabs это унаследовал потому что тоже был написан на ТурбоВижне. Собственно, в этом и была его фишка, что окно файлового менеджера это было именно окно открытое на максимайзе, а не область экрана как у Нортона, Волкова или Миднайта. Окна просмотра и редактирования были точно так же отдельными окнами, между которыми можно было свободно переключаться. И вот в такое textual не умеет, хотя это и не претензия к последнему - он нужен для другого.

YogSagot ★★☆
()
Ответ на: комментарий от anc

Шедевр для своей платформы по имени dos.

Совершенно верно. И тем не менее мне, как человеку который пользуется терминалом каждый день, и буквально каждый день в нем использует Midnight Commander, чисто эстетически импонирует его, ДОС Навигатора, look-and-feel - даже не знаю как это по русски описать.

Вас кто-то покусал? :)

Видимо это был Мигель де Иказа, кто ж еще! :D

YogSagot ★★☆
()

DOS Navigator портирован на Linux

Зачем? Помэрла так помэрла..

dynamic_cast ★
()
Ответ на: комментарий от rumgot

добрался и до дос-навигатора :)
а до этого сделал новый файлокомандер f4 :) и попутно переписал/оптимизировал некоторые сжиматели :)
вот что крестИИ-помощник животворящий делает !!

pfg ★★★★★
()

На сегодняшний день постановка «сделать чтоб работало в терминале» это примерно как «сделать чтоб работало в браузере» в эпоху до html5. Сделать совместимым с огромной кучей разных терминалов, помноженных на количество мультиплексоров, с учётом динамического реконнекта из другого места другим терминалом и т.д.

При искреннем желании чтоб у одного их этих проектов продвинутых двухпанельников случилось успешное достижение «удобства, продуманности и стабильности» - я абсолютно не верю успех, ни для одного из упомянутых проектов. Ровно до тех пор, пока постановка не изменится на «сделать графическое приложение-монстра всё в одном - и эмулятор терминала, и двух-панельник, и мультиплексор и прозрачное прокидывание всех этих своих фич по цепочкам ssh, и запуск внутри себя других терминальных приложений». А вот пытаться поддержать запуск себя внутри зоопарка терминалов - тупик.

Ведь изначально Dos Navigator и взлетел потому что он был монстром всё-в-одном. И в эпоху windows7 пока microsoft не начала менять API терминала - то же самое ощущение продуманности давал монстр conemu+far где far активно использовал расширенные фичи conemu.

Также, для задачи удобного двухпанельника - вайб-кодинг не может дать многократного ускорения, потому что тут не менее 50% успеха - в «подумать/собрать обратную связь как сделать чтоб было удобно». Судя по истории разработки оригинальных DN и FAR - многие даже относительно простые в реализации удобные фичи придумывались не сразу, а очень постепенно. Текущие интерфейсы DN/FAR пойдут как база, но продуманности linux-specific фич (мультиплексоров и ssh) там нет. Поэтому удобный двухпанельник для linux не может появиться быстро, только аккуратным продумыванием UI и постепенным приделыванием фич. Если двигаться слишком быстро - пользователи забьют обновляться и не будут давать обратную связь по фичам.

GPFault ★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.