Board.KolibriOS.org

Official KolibriOS board
It is currently Sun Sep 22, 2019 3:34 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 42 posts ]  Go to page Previous 1 2 3
Author Message
 Post subject: Re: Mirage File Manager
PostPosted: Thu Feb 08, 2018 9:00 am 
Offline

Joined: Sat Apr 22, 2017 6:11 pm
Posts: 222
Починил ввод русских букв. На один серьёзный недостаток стало меньше.


Attachments:
File comment: Обновлённая версия документации: исправлена "недопечатка", актуализирован список недостатков.
cfm-man.ru.cp1251.txt [6.5 KiB]
Downloaded 70 times
File comment: Обновленная версия с поддержкой кириллистических букв.
cfm [19.66 KiB]
Downloaded 67 times
Top
   
 Post subject: Re: Mirage File Manager
PostPosted: Thu Feb 08, 2018 2:23 pm 
Offline

Joined: Sat Apr 22, 2017 6:11 pm
Posts: 222
Работы над проектом временно прекращены.

Исходный код передан надёжному человеку (я на это надеюсь), но и остальные могут найти копию (как я не люблю гитхаб)
here/здесь.


Top
   
 Post subject: Re: Mirage File Manager
PostPosted: Thu Feb 08, 2018 2:41 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5061
Как-то все шустро начиналось и шустро закончилось.

_________________
Через тернии к звездам


Top
   
 Post subject: Re: Mirage File Manager
PostPosted: Tue Mar 06, 2018 11:12 am 
Offline

Joined: Sat Apr 22, 2017 6:11 pm
Posts: 222
Небольшое обновление.

В новой версии исправлены незначительные ошибки.
Стало возможным кастомизировать вид каретки ввода.
Реализована автоматическая подстановка ранее вводимых команд. Для этих целей используются клавиши-стрелочки:
  • стрелочка вверх -- заполнить ввод предыдущей командой;
  • стрелочка вниз -- заполнить поле ввода следующей в списке history командой.
Добавлены новые команды:
  • history -- выводит список из 10 ранее введённых команд (без повторов и пустых строк);
  • dt -- выводит системную дату и время в консоль со строками на русском языке (команда добавлена для совместимости с SHELL, правда на текущий момент вывод отличается);
  • set-cc-type <число от 0 до 3 включительно> -- установить тип консольного курсора (0 или число > 3 устанавливает отсутствие обозначения ввода - каретка не отображается; 1=прямоугольник/тайл; 2=прямая вертикальная черта (pipe); 3=прямая горизонтальная черта в нижней части поля ввода символа);
  • set-cc-size <число от 1 до 16 включительно> -- установить размер каретки ввода для стиля 2 и 3 - горизонтальная и вертикальная линия;
  • get-cc-size -- получить и распечатать в консоль текущий размер каретки ввода, используемый для стиля 2 и 3 (горизонтальная и вертикальная линия);
  • sd -- аналогично команде shutdown (полностью её дублирует, являясь по факту более коротким алиасом).
Видео с изменениями доступно по ссылке.


Attachments:
File comment: Документация к обновлённой версии
cfm-man.ru.cp1251.txt [8.02 KiB]
Downloaded 62 times
cfm [20.66 KiB]
Downloaded 64 times
Top
   
 Post subject: Re: Mirage File Manager
PostPosted: Tue Mar 06, 2018 12:33 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5061
Привет,

Видео по процессу разработки и новым фичам очень клевая идея. Я бы может тоже занялся.

Чем пишешь видео?
Шрифт кстати используется системный?

Вкладки и избранное я и сам очень хотел сделать, если будет у тебя будет круто.
Остальные функции работы с файлами и ассоциации файлов по расширению - легко. Есть @OPEN которому передаешь полный путь к файлу и он сам разгруливает как и что запускать.

_________________
Через тернии к звездам


Top
   
 Post subject: Re: Mirage File Manager
PostPosted: Tue Mar 06, 2018 12:45 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5061
Сейчас ты пишешь функции, делаешь ядро, а GUI будешь делать в конце. Т.е. рабочая версия программы получится в самом конце. Это Waterfall.

Лучше вести разработку по Agile когда каждая версия программы была законченой, пускай и с обрезанным функционалом. Т.е. первая версия GUI и основные функции, а с каждой новой версией наращивать функционал. Идея в том, чтобы как можно раньше выходить на рабоспособность для конечного пользователя.
Это эффективней, чем пару месяцев писать в стол, может пропасть мотивация. При Адрайле твою программу начнут раньше использовать (польза для юзеров), тестировать (польза для всех), давать свой фидбек о программе (польза для разоработчика).

Если интересно более подробно https://worksection.com/blog/waterfall-vs-agile.html

_________________
Через тернии к звездам


Top
   
 Post subject: Re: Mirage File Manager
PostPosted: Tue Mar 06, 2018 6:33 pm 
Offline

Joined: Sat Apr 22, 2017 6:11 pm
Posts: 222
За пояснение с @OPEN спасибо, не знал и не разбирался. Обязательно постараюсь применить.

Последнее видео записано Quick Time и собрано в iMovie под Mac OS X. Под Windows я записываю с помощью OBS Studio. Фильтры никакие не использовал (в том числе в роликах с озвучкой), все эффекты и шрифты стандартные (из коробки).

Шрифт Колибри стандартный системный по коду 2 (UTF-16LE) без масштабирования. С этим есть несколько проблем, об одной напишу ниже.

Видео, если у кого-то появится желание, можно раз в полгода делать как обзор изменений. Для этого нужно энтузиазм и чтобы каждый автор программы (или кто-то за него) записал кусок видео с изменениями и написал текст (либо для вывода на экран, либо для озвучки). Потом собраться смонтировать это дело и озвучить (если надо).

Вкладки хочется, над этим надо работать.


Проблемка
Либо ошибся я, либо ls в корневой директории у меня не работает из-за ошибки в 70-ой и как следствие в 80-ой функции (можно списать на документацию). Правда в том, что я могу сделать конвертацию UTF16LE <-> ASCII и обойти проблему. Саму ошибку искать только буду - можете меня опередить (магия где-то в этом файле: http://websvn.kolibrios.org/filedetails ... fs_lfn.inc ).
Суть в том, что например 2, '/', 0, 'c', 0, 'd', 0, '2', 0, '/', 0, 0, 0 корректный путь, а db 2, '/', 0, 0, 0 не корректно. Во втором случае ядро считает абсолютный путь относительным, что не соответствует документации.
Выдержка из документации: "Можно указать кодировку строки, поместив в её начале байт." Более того: "В абсолютном пути можно поместить этот байт после '/' или добавить дополнительный '/' перед ним." Все случаи не тестировал, но для некоторых это тоже не работает. Возможно документация устарела.


Top
   
 Post subject: Re: Mirage File Manager
PostPosted: Tue Mar 06, 2018 6:57 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5061
Небольшое уточнение:

- для простого открытия файла
Code:
RunProgram("/sys/@open", #open_param);
- для показа диалога "Открыть с помощью" к параметру нужно добавить '~' вроде такого
Code:
   sprintf(#open_param,"~%s",#file_path);
   RunProgram("/sys/@open", #open_param);


Проблемку перенесу в viewtopic.php?f=31&t=3397&start=135

_________________
Через тернии к звездам


Top
   
 Post subject: Re: Mirage File Manager
PostPosted: Wed Mar 07, 2018 2:26 am 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
theonlymirage
Вообще, UTF-16 с префиксом кодировки выглядит довольно коряво. В функции 80 можно без него.


Top
   
 Post subject: Re: Mirage File Manager
PostPosted: Thu Mar 15, 2018 5:11 pm 
Offline

Joined: Sat Apr 22, 2017 6:11 pm
Posts: 222
Pathoswithin
Увы, 80-ая у меня работает с кодировкой 1=cp и соответственно 3=utf8 тоже (правда русские не тестировал), с utf16le не заработала - возвращает непонятно что. Будем смотреть.

Небольшое обновление:
В новой версии помимо перенаправления вывода в файл доступна гибкая настройка цветовой гаммы. Список новых команд:
  • set-cc-color <цвет в формате HEX: #RRGGBB> -- задаёт цвет каретки (курсора ввода);
  • set-color-fon <цвет в формате HEX: #RRGGBB> -- задаёт цвет фона консоли (background'а), по умолчанию чёрный;
  • set-color-folder <цвет в формате HEX: #RRGGBB> -- устанавливает цвет отображения имени директорий/папок;
  • set-color-text <цвет в формате HEX: #RRGGBB> -- устанавливает цвет отображения обычного текста в консоле;
  • set-color-file <цвет в формате HEX: #RRGGBB> -- устанавливает цвет отображения имени файлов (но на текущий момент команда ls при выводе на экран помечает файлы как обычный текст, а не пометкой файл);
  • set-color-app <цвет в формате HEX: #RRGGBB> -- устанавливает цвет отображения исполняемых файлов (приложений, но на текущий момент ls не помечает исполняемые файлы особым образом);
  • set-color-warning <цвет в формате HEX: #RRGGBB> -- устанавливает цвет отображения ошибок и предупреждений внутри консоли;
  • set-color-command <цвет в формате HEX: #RRGGBB> -- устанавливает цвет отображения пользовательских команд и строки ввода;
  • set-color-partition <цвет в формате HEX: #RRGGBB> -- устанавливает цвет отображения партиций/разделов на диске (но команда ls пока не помечает их должным образом);
  • mkfile <имя файла/путь> -- создать пустой файл, если уже не существует файла с таким именем (не работает с русскими именами пути);
  • about -- выводит информацию о программе, авторах и версии (включая дату выпуска);
  • tail <имя файла/путь> -- выводит последние 10 строк из указанного файла (по умолчанию при возможности, игнорирует вывод пустых строк);
  • uptime -- (не тестировалось) отображает время работы системы с момента старта в: днях, часах, минутах, секундах и 100-ой доле секунды.

Цвет в формате HEX выглядит так: #RRGGBB, где:
-- все семь символов пишутся слитно;
-- символ решётка '#' обозначает формат HEX и его начало;
-- соответственно это шестнадцатеричное число;
-- R значение это значение для красной составляющей цвета, G - для зелёного и B - для синей составляющей цвета;
-- на каждую составляющую отводится по 8 бит (1 байт), соответственно каждая составляющая цвета задаётся 2 шестнадцатеричными цифрами;
-- цифры представлены символами от '0' до 'F' (допустимы только в верхнем регистре: '0123456789ABCDEF').
Таким образом:
#00FF00 -- зелёный цвет;
#0000FF -- самый синий цвет.
Наример, команда задания красного цвета для отображения папок:
Code:
set-color-folder #FF0000


Поддерживается перенаправление вывода в файл с помощью символа '>' (который не должен содержаться внутри одинарных или двойных кавычек).
Пример:
Code:
echo "Hello world!" > /tmp0/1/hwtest.txt

Эта команда добавит текст "Hello world!" (включая кавычки) в конец файла /tmp0/1/hwtest.txt, если такой существует.
Если файл не существует, то он будет создан с содержимым в виде указанного выше текста.
Перенос строки пока не поддерживается (в будущем будут модификаторы /t/r/n, которые можно будет использовать для замены кодов символа при выводе в файл).
При выводе в файл множества строк, они так же склеиваются вместе, без переноса.


Attachments:
cfm-man.ru.cp1251.txt [11.35 KiB]
Downloaded 74 times
cfm [33.72 KiB]
Downloaded 64 times
Top
   
 Post subject: Re: Mirage File Manager
PostPosted: Thu Mar 15, 2018 5:26 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5061
Неплохо бы чтобы окно "тянулось" и проктрутку.
Тут неправильно выводится cd http://prntscr.com/irlcsd

_________________
Через тернии к звездам


Top
   
 Post subject: Re: Mirage File Manager
PostPosted: Thu Mar 15, 2018 5:36 pm 
Offline

Joined: Sat Apr 22, 2017 6:11 pm
Posts: 222
Так точно =), это один из базовых недостатков, который пока не удалось побороть.
Кстати, если кого-то не затруднит, есть просьба протестировать uptime на корректность спустя часы и сутки работы. Корректность можно проверять по аналогичной команде внутри shell.

P.S. Исправление мигания при перерисовке окна и добавление скролл бара думаю будет в ближайших версиях.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 42 posts ]  Go to page Previous 1 2 3

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited