----------------------------------------------------------- -- -- -- Приложение CFM: Руководство по эксплуатации -- -- Консоль Mirage File Manager -- -- -- ----------------------------------------------------------- ВНИМАНИЕ Проект всё ещё на стадии прототипа. Для реальной работы используйте поставляемую с системой утилиту SHELL. Основные недостатки: -- сломана команда ls при работе с root директорией; -- сломан клипборд и нельзя сделать операцию копировать/вставить/вырезать; -- длинные строки не переносятся; -- при работе в полноэкранном режиме кол-во строк не подстраивается под окно (нельзя задействовать всю область); -- нет доступа к истории команд, нельзя сделать подстановку стрелочками. Если Вас это не пугает, то welcome! О ПРИЛОЖЕНИИ CFM ----------------------------------------------------------- CFM является консольной версией файлового менеджера для ОС Колибри (и по факту является частью Mirage File Manager). Приложение полностью использует кодировку номер 2 (UTF 16 LE) и поддерживает около 40 команд. Было выпущено две версии приложения, которые протестированы и успешно работают на следующих сборках: revision #6900 и revision #7136. Актуальная версия: Prototype 0.0 [на 07.02.2018/dd.mm.yyyy] Автор приложения: Сергей Ефременков (aka theonlymirage) СПИСОК ПОДДЕРЖИВАЕМЫХ КОМАНД ----------------------------------------------------------- ls <путь> -- получить список файлов внутри директории, если параметр <путь> пуст, то используется текущая директория; print <строка> -- напечатать строку <строка> в консоль как есть; echo <строка> -- напечатать строку как есть; cd <путь> -- сменить текущую директорию на <путь>, переход в директорию <путь>; run <имя файла> -- выполнить команды из файла скрипта (обычный текстовый файл); cls -- очистить экран консоли; clear -- очистить экран; exit -- завершить, завершает работу приложения; pwd -- отображает текущую директорию (печатает в консоль строкой); set-mouse-position -- устанавливает позицию курсора на центр экрана (в будущем станет принимать координаты, пока же игнорирует любые параметры); minimize-all-windows -- минимизирует/сворачивает все окна; call <полное имя файла> -- аналогично run, запускает скрипты/сценарии на исполнение; iskef <полное имя файла> -- проверяет (по наличию сигнатуры 'MENUET01') является ли файл исполнимым файлом Колибри ОС, результат печатает строкой (true или false); restart-kernel -- перезапуск ядра (из файла kernel.mnt на рамдиске); reboot -- перезагрузка системы; shutdown -- выключение системы; echo-on -- включить вывод команд (сама команда будет выведена в консоль); echo-off -- отключить вывод команд (сама команда будет выведена в консоль); time -- выводит системное время строкой; date -- выводит системную дату в консоль; help -- выводит листинг доступных команд (в текущей реализации нет прокрутки, поэтому не влезает на экран); pause <число секунд> -- ничего не делать в течении заданных секунд (отменить/разбудить нельзя в отличие от команды sleep, которая появится позже); set-mode <число режима> -- режим работы консоли ФМ: 0-в обычном окне, 1-во весь экран (эта функция создавалась для тех, кому не нужна оболочка и нужна только консоль, работы в этом направлении продолжатся, а пока окно просто максимизируется); terminate <слот> -- завершить процесс/поток по его номеру слота; kill -- завершить процесс/поток по его идентификатору PID; get-core-version -- показать используемую версию ядра ОС; get-free-ram -- отобразить размер свободной оперативной памяти в Кбайтах; get-ram-size -- показать размер ОЗУ в Кбайтах; pslot -- получить номер слота нужного процесса/потока по его идентификатору PID; bgi-redraw -- перерисовать/обновить фон рабочего стола; bgi-set-mode <число режима> -- задать режим отрисовки фона (не тестировалось): 1=замостить, 2=растянуть; get-mouse-speed -- отобразить текущее значение скорости мыши; set-mouse-speed <число> -- задать скорость мыши; get-mouse-sensitivity -- получить значение чувствительности мыши; set-mouse-sensitivity <число> -- задать значение чувствительности мыши; eject <номер устройства> -- извлекает лоток привода (данная функция не была протестирована в работе); mkdir <полное имя/путь> -- создать новую папку/директорию с указанным именем; md <полное имя/путь> -- создаёт новый каталог/директорию; rm <полное имя/путь> -- удаляет существующую папку/директорию (работает только если папка пуста); current-color-scheme -- отображает на экране текущую цветовую схему раскраски консоли: показывает цвета и их значения (в том виде, как они заданы по умолчанию, изменить пока нельзя); get-network-device-count -- показать кол-во сетевых устройств; get-network-device-type <номер устройства> -- отобразить тип сетевого устройства по его номеру в списке (не тестировалось). ЗАПУСК ИСПОЛНЯЕМЫХ ФАЙЛОВ ----------------------------------------------------------- Запуск приложений корректно работает, но пока нужно прописывать полное имя исполняемого файла (с путём). После пробела можно передать строку параметров для запускаемого приложения. Пример запуска шела, который затем запустит текстовый редактор: [Код начало] /rd/1/shell /rd/1/tinypad [Код конец] ФАЙЛЫ СЦЕНАРИЕВ ----------------------------------------------------------- Все команды могут быть использованы и в скриптах/сценариях. Исполнение скриптов/сценариев технически производится аналогично вводу Пользователя. Видео с демонстрацией работы сценариев: https://youtu.be/GL88Lnn8FB8 Пример скриптового сценария: [Код начало] cls print This is start command file. pwd cd /rd/ pwd ls echo This is end command file. [Код конец] В текущей реализации в конце обязательно должна быть одна пустая строка, так как команда выполняется после поступления символа 13. Код 10 в любом месте скрипта игнорируется. Файлы сценариев рекомендуется сохранять с расширением *.cf (command file). Не рекомендуется использовать команды run/call внутри скрипта (возможно непредсказуемое поведение приложения). При необходимости используйте не более 1 такой команды внутри 1 скрипта, располагайте её в конце кода скрипта. ТЕХНИЧЕСКАЯ ПОМОЩЬ И ПОДДЕРЖКА ----------------------------------------------------------- Оф. форум разработки: http://board.kolibrios.org/viewtopic.php?f=44&p=69867 E-Mail: theonlymirage@gmail.com