dn2l - Dos Navigator для Linux

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

dn2l - Dos Navigator для Linux

Сообщение unxed » 29.10.2020 00:44:53

Друзья, у меня тут на днях получилось сделать работающую сборку Dos Navigator'а для Linux. Собираю я его пока с помощью Virtual Pascal'я, под который он написан, но планирую пересадить на fpc (а ещё перевести с кастомного форка turbo vision с неясным юридическим статусом на лицензионно чистый fv).

Оно уже даже в состоянии запуститься, отрисовать интерфейс и, скажем, скопировать рекурсивно папку или файлик какой-нибудь конфигурационный отредактировать. Даже встроенный тетрис запускается!

Вот гитхаб, можно стянуть исходники и посмотреть, как они устроены:
https://github.com/unxed/dn2l/

А сюда я пришел, потому что не эксперт по fpc от слова совсем, и помощь опытных камрадов была бы очень кстати :) Ну и заодно поделиться с коллегами, что одним живым проектом на Паскале стало больше вот :)
unxed
новенький
 
Сообщения: 29
Зарегистрирован: 25.10.2020 23:38:56

Re: dn2l - Dos Navigator для Linux

Сообщение Vadim » 29.10.2020 05:15:56

Ох, юнные годы чудесные... :-)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: dn2l - Dos Navigator для Linux

Сообщение Awkward » 29.10.2020 09:07:13

А скрестить Dos Navigator и Connect не получится?
Awkward
новенький
 
Сообщения: 43
Зарегистрирован: 19.01.2017 00:06:47

Re: dn2l - Dos Navigator для Linux

Сообщение alexs » 29.10.2020 09:46:46

Проблема может быть с многобайтовыми кодировками. Насколько я помню - FV тоже не умеет UTF8 правильно отображать.
Рад буду ошибиться в этом вопросе.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: dn2l - Dos Navigator для Linux

Сообщение unxed » 29.10.2020 18:18:20

alexs писал(а):Проблема может быть с многобайтовыми кодировками. Насколько я помню - FV тоже не умеет UTF8 правильно отображать.
Рад буду ошибиться в этом вопросе.


Не умеет. Но сишную TV смогли на юникод пересадить. Значит, и с FV такой фокус возможен. В DN вообще не FV, а кастомный вариант борландовской TV, от которой нужно уходить в пользу FV, конечно. А тему внедрения во FV UTF-8 вот тут обсуждаем: viewtopic.php?p=160633#p160633

Добавлено спустя 4 часа 34 минуты 58 секунд:
Начал экспериментировать с переносом DN на FP/FV, вот здесь:
https://github.com/unxed/dn2l/tree/fp_experiments
Последний раз редактировалось unxed 03.11.2020 21:39:04, всего редактировалось 1 раз.
unxed
новенький
 
Сообщения: 29
Зарегистрирован: 25.10.2020 23:38:56

Re: dn2l - Dos Navigator для Linux

Сообщение Alex2013 » 02.11.2020 12:25:27

alexs писал(а):Проблема может быть с многобайтовыми кодировками. Насколько я помню - FV тоже не умеет UTF8 правильно отображать.
Рад буду ошибиться в этом вопросе.

Ну UTF8 в консольной программе имеет смысл только при показе и редактировании текстов, а у DN насколько я помню, традиционно мощные механизмы перекодировки. Что касается вывода русской версии интерфейса то ИМХО достаточно сделать встроенный "перекодирующий драйвер" благо в TV все довольно централизованно .

Но вообще для "оживления DN" я бы пошел другим путем и сделал бы его GUI-версию (возможно со "спец режимом" имитации консоли "но это неточно"...)!

Кстати я еще во времена ДОС делал довольно полноценный "ДОС-GUI" для своих старых TV программ, так что могу смело утверждать, что это вполне возможно...

ИзображениеИзображение

... Хорошо видно, что "окошко с вопросами" вообще полностью выдрано из текстовой версии без изменений .
Alex2013
долгожитель
 
Сообщения: 2923
Зарегистрирован: 03.04.2013 11:59:44

Re: dn2l - Dos Navigator для Linux

Сообщение alexs » 02.11.2020 13:03:16

Там именно надо делать поддержку многобайтных кодировок.
Простое перекодирование - это очередной костыль.
Сейчас очень часто возникают ситуации когда надо одновременно на отображать символы 2-3х языков (мой пример - русский/английский/китайский).
Насколько я помню стандартный TV ещё от борланда - весь текстовый вывод был организован по факту через 2 или 3 фунции. Т.е. там есть шанс ввести поддерку UTF8 (и подобных многобайтовых кодировок)

И ещё - самая прелесть FAR/MC/DN в том, что это консольные приложения. И превращать их в очередное подобие тотала - это не верный путь. Надо чтобы оно работало в консоле/терминале - в т.ч. по ssh и т.д.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: dn2l - Dos Navigator для Linux

Сообщение Alex2013 » 02.11.2020 13:42:21

alexs писал(а):И ещё - самая прелесть FAR/MC/DN в том, что это консольные приложения. И превращать их в очередное подобие тотала - это не верный путь. Надо чтобы оно работало в консоле/терминале - в т.ч. по ssh и т.д.


В принципе согласен но классические консоли в эпоху VR/AR удел немногих профессионалов, а для большинства это просто некое "неудобное черное меню" (С) :shock: так что если есть желаннее "повторить успех DN" то с этим придется считаться.

И кроме того сейчас уже "на 100%" на подходе эпоха "истинного 3D" (по клику на картинке запускается ролик...)
Изображение
...и нужна реально "новая прозрачная(по аналогии с NC) парадигма" но чисто консольные приложения в нее уже гарантировано не в пишутся. То есть нужна еще одна еще более плотная "оболочка/обертка вокруг консоли" с удобным инструментарием но представляющее собой единый комплекс с несколькими уровнями функциональности .

Уровни функциональности
1 Командная строка (КС)
2 Удобные "помощники" для КС
3 "Призрак файловой системы " над КС (Уровень NC)
4 "Расширенный многооконный интерфейс " НАД "панелями NC". ( Уровень DN )
5 Уровень "виртуализации" рабочего стола (по сути повторение того что Нортон Коммандер сделал с КС )
6 "Пространственный уровень" выход на "функциональное 3D" (по сути повторение уровня 4 но для уровня 5 )
7 "Истинное 3д" в импрессивных(VR) и "над реальных" (AR) интерфейсах и прочих 3д-UI (c MR/ER/XR) ...
( То есть продуманная механика взаимодействия "с пространством" без привязки пользователя к "центру мироздания" )

8 "виртуализация реальности" (Пока почти полный бред но с нейро интерфейсом возможно будет уместно ) рассматриваемой "как КС" или еще один "рабочий стол". (Что-то похожее у меня само собой получилось "на уровне восприятия", то есть то что я вижу привычно воспринимается мной как некий фрейм и составляет только часть некого более глобального сенсорного пространства , но есть и другие фреймы (например: воображение, память, моделирование ситуаций "от третьего лица" , что-то вроде медиаплеера и т.д. ) )

"Уровень 5" был отдан на откуп ОS и разным сторонним утилитам. (И совершенно по моему зря ! Если бы виртуальный десктоп стал бы просто еще одним окном или панелью "ФМ-образной "оболочки мы бы не мучались сейчас с вечно тормозным интерфейсом ОС )

"Уровень 6" Как-бы "и есть и нет" как "кот Шредингера" то есть элементы подобного есть даже в знаменитом "Win-tab режиме" Виндовс 7 но толку от них мало так как у этих поделок нет реальной интеграции с пользовательские интерфейсом и они не дают ощущения "прозрачной надстройки" над 2д-интерфейсом с улучшенной функциональностью .

""Уровень 7" вообще разработан слабо ... есть "стартовые локации" "Портала смешанной реальности","SteamVR Home" или Окулус Номе но это все слабо коррелирует с реальными нуждами пользователя ВиАр то есть это никоем боком не "ВиАр ФМ"
Есть разные внешние утилиты но все они ВиАр расширение обычного десктопа, а удобная навигация по ФС это все-же большая часть хоть сколько нибудь продвинутой работы с любой ОС .
Последний раз редактировалось Alex2013 03.11.2020 21:47:02, всего редактировалось 3 раз(а).
Alex2013
долгожитель
 
Сообщения: 2923
Зарегистрирован: 03.04.2013 11:59:44

Re: dn2l - Dos Navigator для Linux

Сообщение Seenkao » 02.11.2020 16:11:17

Alex2013, посмотрел ролик... блин... это виртуальная реальность? Даже просто на глаз можно понять, что сделано всё на скорую руку, лишь бы людям что-то впихнуть (и ведь многие поведутся!)
Зачем клавиатура? Зачем мышка? Зачем какой-то указатель?

Если это всё есть, то зачем очки? Да в старых фильмах и то лучше всё было сделано, как раз и печатали всё сразу в виртуальной реальности. И всё остальное делали, без всяких внешних добавлений, посредством перчаток и очков.
Seenkao
энтузиаст
 
Сообщения: 502
Зарегистрирован: 01.04.2020 03:37:12

Re: dn2l - Dos Navigator для Linux

Сообщение Alex2013 » 02.11.2020 17:53:47

1 Это НЕ виртуальная реальность.. это упрощенная (вид из черно-белых камер + цветные виртуальные вставки) версия дополненной реальности (по сути это то что в прошлом году пытался сделать я сам )

Изображение

Изображение

2 Это действительно "сделано на скорую руку" как перспективная фишка только что вышедшего Oculus Quest 2.

Добавлено спустя 4 минуты 24 секунды:
Seenkao писал(а):Зачем клавиатура? Зачем мышка? Зачем какой-то указатель?

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

Добавлено спустя 1 минуту 42 секунды:
Seenkao писал(а):Если это всё есть, то зачем очки?

В ролике их юзают вместо монитора (точнее целой кучи мониторов ).

Добавлено спустя 8 минут 48 секунд:
Seenkao писал(а):Да в старых фильмах и то лучше всё было сделано, как раз и печатали всё сразу в виртуальной реальности. И всё остальное делали, без всяких внешних добавлений, посредством перчаток и очков.


Во первых то что было "в старых фильмах" там и осталось. (В реальности ""виртуальная печать" все еще далеко не так удобна как этого хотелось , а "7-доф перчатки" так в основном и остались только в старой фантастике... Во вторых распознавание рук вещь хоть и хорошая, но пока сильно неточная и совершенно лишенная тактильной обратной связи (в этом смысле даже "контролеры-указатели" лучше: их видишь в ВиАр и ощущаешь в реальности + есть "вибро" при столкновении с виртуальными стенами и предметами . ) )
Alex2013
долгожитель
 
Сообщения: 2923
Зарегистрирован: 03.04.2013 11:59:44

Re: dn2l - Dos Navigator для Linux

Сообщение unxed » 03.11.2020 21:42:28

Alex2013 писал(а):
alexs писал(а):Проблема может быть с многобайтовыми кодировками. Насколько я помню - FV тоже не умеет UTF8 правильно отображать.
Рад буду ошибиться в этом вопросе.

Ну UTF8 в консольной программе имеет смысл только при показе и редактировании текстов, а у DN насколько я помню, традиционно мощные механизмы перекодировки. Что касается вывода русской версии интерфейса то ИМХО достаточно сделать встроенный "перекодирующий драйвер" благо в TV все довольно централизованно .


Встроенные мощные механизмы перекодировки работают только с однобайтными кодировками, увы. От этого придется уходить в пользу чего-нибудь вроде iconv со временем.

Насчёт "достаточно сделать перекодирующий драйвер": версия, собираемая на VP, именно так сейчас и работает: там встроена прокладка, на лету перекодирующая DNовскую 866 в UTF-8, которую ждёт терминал. Ограничений у такого решения масса: имена файлов в UTF-8 не поддерживаются, ввод в UTF-8 отображается криво. То есть это годится только на стадии proof of concept как временное решение. В перспективе - перевод DN на FV и добавление полноценной поддержки UTF-8 во FV. Про это здесь viewtopic.php?p=160633#p160633

Добавлено спустя 1 минуту 11 секунд:
alexs писал(а):И ещё - самая прелесть FAR/MC/DN в том, что это консольные приложения. И превращать их в очередное подобие тотала - это не верный путь. Надо чтобы оно работало в консоле/терминале - в т.ч. по ssh и т.д.


Я пока за пределы консоли вылезать не планирую. На территорию Дабл Командера лезть тоже не собираюсь: там и без меня справляется народ отлично, по-моему.

Добавлено спустя 3 минуты 5 секунд:
""Уровень 7" вообще разработан слабо ... есть "стартовые локации" "Портала смешанной реальности","SteamVR Home" или Окулус Номе но это все слабо коррелирует с реальными нуждами пользователя ВиАр то есть это никоем боком не "ВиАр ФМ"


Уровень 8: нейросеть сама за вас выполняет все файловые операции. Уровень 9: вам не надо давать команды нейросети, достаточно надеть на голову шлем нейроинтерфейса, и ваши желания считываются автоматически в момент возникновения.

Это всё, конечно, классно, но к идее сделать лицензионно чистую версию DN, работающую в консоли *nix'ов (в перспективе и под другими ОС, возможно), имеет примерно такое же отношение, как вакцина от ковида к полёту на Марс.
unxed
новенький
 
Сообщения: 29
Зарегистрирован: 25.10.2020 23:38:56

Re: dn2l - Dos Navigator для Linux

Сообщение Alex2013 » 03.11.2020 22:38:22

Все уровни вплоть до "уровня 7" уже можно "пощупать" но по сути ФМ все еще живут на уровне 4+ (тот же Дабл Командер )...
Что создает неслабый "технологический разрыв" между ушедшими далеко вперед возможностями и "уровнем визуализации" той же файловой системы (А потребности новом подходе ощущаются очень сильно, потому что в любой современной операционке заложена масса возможностей, которых никто никогда не увидит просто потому, что их (какая нежданность! :wink: ) невидно ! ) .

Ладно, но нет желания двигать прогресс ВиАр/ЭйАр ( это пока негорит ) и при желании действительно можно обойтись "суровым 2д" но почему бы на пример не сделать режим эмуляции "консольного вывода" с помощью функций GUI ? С помощью такого "скрытого GUI" легко реализовать разные вкусности по сути точно так реализован например вывод в ДосБокс !
(Там есть опция output которая обычно установлена в = surface (обычные режимы доступные физически или консольно ) но кроме режима surface в ДБ есть и overlay, opengl, openglnb, ddraw ... где "консольный" вывод осуществляется средствами более продвинутых методов вывода. )
С точки зрения модификации подобный подход практически совершенно не требует особого вмешательства в базовый код . Но зато позволяет двигаться дальше добавлять новую функциональность поверх существующей но с сохранением базы .

Это Фар + ConEmu ! (Представь как что-то похожее будет смотреться в ДН !! :idea: )
Изображение
Последний раз редактировалось Alex2013 04.11.2020 04:11:06, всего редактировалось 1 раз.
Alex2013
долгожитель
 
Сообщения: 2923
Зарегистрирован: 03.04.2013 11:59:44

Re: dn2l - Dos Navigator для Linux

Сообщение unxed » 04.11.2020 00:04:13

Именно так оно работает в wx-версии far2l, чтобы обойти ограничения линуксовых терминалок (чтоб была полная поддержка клавы с событиями keyup/keydown, буфер обмена, уведомления в трее и тд). Никто не мешает приделать к free vision поддержку соответствующих расширений терминала, и гонять dn2l в терминалке far2l, чтоб там всё это тоже было.

Что касается VR и всего такого, я чего-то не могу сходу назвать ни один реально используемый инструмент, где это всё имело бы какой-то практический смысл. В электронных таблицах этого нет, в текстовых процессорах этого нет, в средах разработки этого нет, в терминалках этого нет, вообще нигде этого нет, кроме игр. Возникает резонный вопрос: а зачем оно? «Трёхмерную нортоновскую таблицу» ещё Лукьяненко в цикле книжек про Глубину пророчил. Что-то не сбывается пророчество пока.
unxed
новенький
 
Сообщения: 29
Зарегистрирован: 25.10.2020 23:38:56

Re: dn2l - Dos Navigator для Linux

Сообщение Alex2013 » 04.11.2020 02:28:11

По Vr/Ar : Как раз сейчас технологии подбираются к тому с чего по хорошему они должны были НАЧИНАЕТСЯ к замене обычных дисплеев виртуальными,а все остальное сейчас не более чем "блеск нищеты". Окрою небольшой "секрет полишинеля " реального (ВиАр и тем более ЭйАр) все еще нет. И (ИМХО) его и не будет пока не будет возможности поставить знак равенства между "монитором ТУТ и монитором ТАМ "
Изображение
То все что есть сейчас не более чем ДЕМКА в духе старинных электромеханических игровых автоматов "с тросикам лампочками и моторчиками" вместо настоящего дисплея . Но как только ВиАр -очки смогут полностью заменить реальный монитор (Причем это точно долны быть имен очки, в крайнем случае "визор" в формате чуть больше лыжных очков ) )
Все изменится !
И к черту "полное погружение" и прочие свистелки !

Скажите а как-же 100500 скринов с "огромными виртуальными экранами" ? (Я тоже умею такие делать )
ИзображениеИзображение
А ни как!
Потому что вблизи это примерно так ...
ИзображениеИзображение
(То есть водим носом по виртуальному экрану размером со стену дома ) Нет кино так смотреть "это Вау" а работать "фиги с две" !
Но повтряю как только это получится (то бишь ВиАр -шлемы или очки смогут полностью заменить реальный монитор ) ВСЕ изменится !
И ждать осталось недолго (Весьма возможно что Oculus Quest 2 с его 1832x1920 на каждый глаз УЖЕ перешел заветный рубеж по нужному для этого минимальному разрешению )

Добавлено спустя 1 час 55 минут 11 секунд:
unxed писал(а):Именно так оно работает в wx-версии far2l, чтобы обойти ограничения линуксовых терминалок (чтоб была полная поддержка клавы с событиями keyup/keydown, буфер обмена, уведомления в трее и тд). Никто не мешает приделать к free vision поддержку соответствующих расширений терминала, и гонять dn2l в терминалке far2l, чтоб там всё это тоже было.

Это отличная новость ! Потому что то-же ФАР я много лет не представляю без ConEmu ( с его нормальным полноэкранным режимом и возможностью масштабировать шрифты "налету" ) Чуть фантазии и "новый ДН" сможет обзавестись полным ZUI и например полупрозрачными "слоями" + возможностью "вытаскивания окон". (Наподобие разных тулбаров в графических редакторах )

Что-же касается более отдаленных перспектив то можно действительно сделать менеджер виртуальных десктопов (чисто 2д разумеется никакого отношения к ВиАр это не имеет ) ... "Трехмерный куб Нортона " разумеется чушь давным давно, есть утилиты типа shock4way3d но все они на уровне "поигрался да забыл".
Изображение

Нет "уровень 3д" должен быть осмысленным и реально полезным (например можно сделать не куб, а "ящик с папками" в "виртуальном бюро" )
Изображение
Применительно к ФМ это будет как вторичная ассоциативная подборка панелей фм в духе Win+Tab из Win7 .
Изображение
Последний раз редактировалось Alex2013 04.11.2020 11:17:00, всего редактировалось 2 раз(а).
Alex2013
долгожитель
 
Сообщения: 2923
Зарегистрирован: 03.04.2013 11:59:44

Re: dn2l - Dos Navigator для Linux

Сообщение SSerge » 04.11.2020 05:27:43

unxed писал(а):Никто не мешает приделать к free vision поддержку соответствующих расширений терминала


Вы бы его сначала под уникод корректно переписали, что ли...
А так то, конечно, никто не мешает. Но, опять таки, вспомним сколько времени заняло портирование Turbo Vision под Turbo C++ у _его непосредственных авторов_, и какая дрянь из этого получилась в итоге...
В одни руки, подозреваю, затратите не менее трёх лет интенсивной работы.
А патчи не помогут ввиду нестыковок на базовом уровне.

Добавлено спустя 5 минут 47 секунд:
а, да. Если уж fv переделывать, так imho, надо менять модель чтобы вместо объектов были классы. Ибо основная часть сообщества "олдтаймовые методы" давно не пользует.

Добавлено спустя 3 часа 22 минуты 53 секунды:
Кстати, по поводу оригинального (досового) DOS навигатора.
Припоминается следующий натуральный баг: если навести курсор на элемент каталога ".." и сотворить "удалить" соответствующей клавишей, то он без рассуждений и запросов делает это. Помнится, из-за одной этой фичи его в своё время выводили из обращения и безжалостно уничтожали на компах организации.
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

След.

Вернуться в Разработки на нашем сайте

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17

Рейтинг@Mail.ru