Mirage File Manager

Work with drives, directories, files
  • Работы над проектом временно прекращены.

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

    В новой версии исправлены незначительные ошибки.
    Стало возможным кастомизировать вид каретки ввода.
    Реализована автоматическая подстановка ранее вводимых команд. Для этих целей используются клавиши-стрелочки:
    • стрелочка вверх -- заполнить ввод предыдущей командой;
    • стрелочка вниз -- заполнить поле ввода следующей в списке 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
    Документация к обновлённой версии
    Downloaded 271 times
    cfm (20.66 KiB)
    Downloaded 276 times
  • Привет,

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

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

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

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

    Если интересно более подробно https://worksection.com/blog/waterfall-vs-agile.html
    Из хаоса в космос
  • За пояснение с @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 не корректно. Во втором случае ядро считает абсолютный путь относительным, что не соответствует документации.
    Выдержка из документации: "Можно указать кодировку строки, поместив в её начале байт." Более того: "В абсолютном пути можно поместить этот байт после '/' или добавить дополнительный '/' перед ним." Все случаи не тестировал, но для некоторых это тоже не работает. Возможно документация устарела.
  • Небольшое уточнение:

    - для простого открытия файла

    Code: Select all

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

    Code: Select all

    	sprintf(#open_param,"~%s",#file_path);
    	RunProgram("/sys/@open", #open_param);
    Проблемку перенесу в http://board.kolibrios.org/viewtopic.ph ... &start=135
    Из хаоса в космос
  • theonlymirage
    Вообще, UTF-16 с префиксом кодировки выглядит довольно коряво. В функции 80 можно без него.
  • 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: Select all

    set-color-folder #FF0000
    Поддерживается перенаправление вывода в файл с помощью символа '>' (который не должен содержаться внутри одинарных или двойных кавычек).
    Пример:

    Code: Select all

    echo "Hello world!" > /tmp0/1/hwtest.txt
    
    Эта команда добавит текст "Hello world!" (включая кавычки) в конец файла /tmp0/1/hwtest.txt, если такой существует.
    Если файл не существует, то он будет создан с содержимым в виде указанного выше текста.
    Перенос строки пока не поддерживается (в будущем будут модификаторы /t/r/n, которые можно будет использовать для замены кодов символа при выводе в файл).
    При выводе в файл множества строк, они так же склеиваются вместе, без переноса.
    Attachments
    Downloaded 278 times
    cfm (33.72 KiB)
    Downloaded 274 times
  • Неплохо бы чтобы окно "тянулось" и проктрутку.
    Тут неправильно выводится cd http://prntscr.com/irlcsd
    Из хаоса в космос
  • Так точно =), это один из базовых недостатков, который пока не удалось побороть.
    Кстати, если кого-то не затруднит, есть просьба протестировать uptime на корректность спустя часы и сутки работы. Корректность можно проверять по аналогичной команде внутри shell.

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

    Users browsing this forum: No registered users and 1 guest