Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Сб ноя 25, 2017 3:08 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 263 сообщения ]  На страницу 1 2 3 4 518 След.
Автор Сообщение
СообщениеДобавлено: Вт июн 20, 2006 3:46 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Я тут подумал, что "спасение утопающих - дело рук самих утопающих". Клонирование FAR'а, дубль 2: MFAR - Menuet Far, использующий 58-ю функцию. KFAR - Kolibri Far, использующий новую 70-ю.
http://diamondz.land.ru/kfar
http://diamondz.land.ru/kfar_src.7z
Необходимо ядро как минимум ревизии 84, причём очень рекомендуется ревизия 88 (последняя на момент написания этих строк), там пофиксен один мелкий баг с крупными последствиями. Ядро уже выложено на http://diamondz.land.ru/kernel.mnt
Да, кстати, там в исходниках лежат несколько шрифтов. В выложенном бинарнике использован шрифт 7*12 (кстати говоря, как и в mfar). Для разрешения 1024*768 подходит (как мне кажется) шрифт 10*20. Для стандартного (для Kolibri) разрешения 800*600 и для 640*480, по-видимому, лучше использовать 7*12, но сам шрифт мне чем-то не нравится...
И ещё: из каких соображений ядро принципиально не возвращает клавиши, нажатые с Alt? Всё-таки хочется, скажем, выбор диска делать нормально через Alt+F1/F2. Кроме того, может быть, если приложение находится в режиме сканкодов, посылать информацию о нажатии/отпускании управляющих клавиш Ctrl/Alt/Shift?

_________________
Ушёл к умным, знающим и культурным людям.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 20, 2006 7:04 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Mario79
1) Выхода родительского каталога нет в корневых папках диска и виртуальных папках. (Кстати, это особенности функции 70.1) Вообще то, как сделано сейчас, - временно, в нормальной ситуации отображается (скажем) /hd0/1 и обрабатывается Alt+F1/F2.
2) Для kfar не нужно - использованный механизм мне нравится и менять его я не намерен.
3) Конечно, сырой. Как kfar'а, так и ядра. Хотя kfar я тестил под эмулятором на ~20000 файловой папке (есть у меня такая - пришлось даже создавать её на NTFS-томе) - и нормально. В общем, буду тестировать дальше.
Цитата:
Ну это был самы простой способ избавиться от мусора при нажатии голрячих комбинаций для панели, не переписывая кучу приложений которым фиолетово нажата Alt или нет. Можешь конечно восстановить, но что тогда делать с приложениями?

Приложения, работающие в режиме ASCII-кодов, неявно учитывают Alt-раскладку. Приложения, считывающие сканкоды ... а там правда проблемы? И какие горячие комбинации? Alt+F4,Alt+Win,Alt+Ctrl+F12, что ли? Вообще стоит подумать над системным механизмом keyboard shortcuts - то, что в текущей реализации один из потоков @panel кучу времени убивает на опрос, а не была ли нажата соответствующая комбинация клавиш, мне не нравится...
Цитата:
А они не посылаются? Я думал все коды посылаются.

Честно говоря, конкретных тестов не производил, но при просмотре keyboard.inc мне показалось, что не посылаются. Хотя я могу и ошибаться.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 20, 2006 7:11 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Кстати, забыл сразу написать: поддерживается resize окна (это, вообще говоря, неочевидно - mfar и сам far этого не поддерживают). Причём за глюки ядра с отрисовкой фона (два раза проделайте двойной щелчок по заголовку - поймёте) я ответственности не несу (кто у нас тут отвечает а) за графику; б) за отладку?) А почему окно не реагирует на Alt+F4 - безусловное прибитие панелью! - не понимаю...


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 20, 2006 7:47 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Mario79
1) Во вложенных папках есть специальные входы '.' и '..' Их нет только в корневой папке. В частности, для CD в директории /cdx/1 их быть не должно, а во вложенных папках они быть должны. В пределах одного диска можно перемещаться в обоих направлениях.
2) kfar я тестил и на реальной машине. (Иначе как бы я обнаружил особенности, указанные в посте выше?) В эмуляторе нет глюков ядра, зато там есть свои глюки. IMHO разрабатывать программы можно и под эмулятором, но обязательно необходимо тестировать на реальном компе. (Особенно это относится к графическому интерфейсу - есть существенные отличия между Windows и Kolibri).
3) Так, кажется, с клавиатурой у нас работает функция 66? Имеет смысл ввести подфункции 4/5 - определить/удалить системный hotkey. Информация о нажатии на горячие клавиши приходит приложению, определившему hotkey, как событие с кодом (скажем) 10 для функций работы с событиями (10, 11, 23). Возражения есть?


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 20, 2006 7:59 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Виноват? Это ещё почему? Большая часть кода-то осталась старой... (Уж 67-я функция - точно). Так что можно по-прежнему считать виноватым Велика. Но лучше вообще не выяснять, кто виноват, а исправлять ошибки.
Цитата:
И можешь мне не верить - я не знаю почему

Можешь мне не верить - я верю :-) Надо будет заняться выяснением на досуге...

_________________
Ушёл к умным, знающим и культурным людям.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 20, 2006 8:17 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Цитата:
обратное перемещение совсем не реализовано

Как это не реализовано??? Лично писал код! Может, я чего-то не понимаю?
Цитата:
Для /cdx/1 оно есть физически, только вот оба входа в ROOT директории указывают сами на себя. Для чего исключать эти данные на уровне драйвера? Это может реализовать приложение.

Хмм... вопрос сложный... мне кажется логичным, чтобы вход '..', если он есть, указывал именно на родительскую папку, а если таковой нет, то и входа нет... впрочем, это IMHO.
И ещё: может быть, для жёстких дисков вообще не выдавать при чтении корневого каталога метку диска? В абсолютном большинстве случаев она только мешает.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 20, 2006 8:42 pm 
Не в сети
Site Founder
Аватара пользователя

Зарегистрирован: Вс авг 08, 2004 8:55 am
Сообщения: 689
Насчёт метки: может и не возвращать, но нужна функция для её получения.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Чт июн 22, 2006 2:32 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Обновление, ссылки те же. Исправлен баг с /windows/system. Насчёт чтения с CD - это не баг kfar: функция 70.1 при чтении с CD возвращала неправильное значение в ebx. Используйте ревизию ядра 89. Добавлена сортировка файлов: по умолчанию - по имени, но можно переключаться стандартными клавишами Ctrl+F3 ... Ctrl+F9 (сортировка по имени, по расширению, по размеру, по дате/времени последней модификации, отсутствие сортировки, по дате/времени создания, по дате/времени последнего доступа; повторное нажатие клавиш будет переключаться между нормальной/реверсной сортировкой).
Кстати, я ошибался, сканкоды управляющих клавиш действительно посылаются. За исключением Alt (ибо при считывании сканкода Alt нажата клавиша Alt - за подробностями см. документацию на функцию 2).

_________________
Ушёл к умным, знающим и культурным людям.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Чт июн 22, 2006 2:44 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Кажется, я несколько невежливо отстранил mike.dld с (умирающим?) mfar'ом, взяв на себя написание менеджера целиком. Сообщаю, что я никогда не возражаю против доработок своих программ другими программистами, так что если кто-нибудь хочет - присоединяйтесь. Исходники открыты; я всегда доступен по мылу (а также регулярно бываю на этом форуме). Если будут пожелания, могу залить исходники на SVN-сервер.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн июн 26, 2006 3:33 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Версия 0.03 позволяет умеет запускать программы при условии наличия ядра ревизии 91 (с поддержкой функции 70.7).
Mario79
Выводится "Read error", что означает, что функция 70.1 вернула в eax что-то, отличное от 0 и 6. Это глюки функции 70.1. Ведь тестовая прога не делает кучу запросов в порядке типа "/cd3/1", "/cd3/1/dir", "/cd3/1/dir/subdir", "/cd3/1/dir"? Глюки проявляются именно при запросе родительской папки после дочерней.
P.S. Обработка ошибок, конечно, хромает на обе ноги - всё-таки версия 0.03...


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пт июн 30, 2006 4:11 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
Поддержка Alt+F1/Alt+F2 (для работы необходима ревизия 92, старое ядро "проглатывает" комбинации с Alt).
Кстати, что вы думаете по поводу такого шрифта: http://diamondz.land.ru/kfar2 (ссылка временная)?
Mario79
Только с кодом, отвечающим за CD. Для жёстких дисков (да и дискет, хотя там с файловой структурой обычно не ахти) бродить по папкам можно пока не надоест в любом направлении. А вот читать/писать нельзя... Принимаюсь за встроенный viewer.

_________________
Ушёл к умным, знающим и культурным людям.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пт июн 30, 2006 11:04 pm 
Не в сети

Зарегистрирован: Пт янв 06, 2006 6:05 am
Сообщения: 102
diamond писал(а):
Кстати, что вы думаете по поводу такого шрифта: http://diamondz.land.ru/kfar2 (ссылка временная)?


ИМХО "классика" - лучше

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


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 12, 2006 3:37 pm 
Не в сети

Зарегистрирован: Чт янв 26, 2006 8:47 pm
Сообщения: 284
Немного доделал свой коммандир.
Теперь:
-меньше видна перерисовка
-перемещение по папкам при помощи кнопок Вверх,Вниз, Ентер
-попытка сделать ListBox с устройствами
-вывод аттрибутов
-подсветка директорий

http://knikolenko.narod.ru/kolibri/klbrcom.rar


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Сб июл 15, 2006 8:43 pm 
Не в сети

Зарегистрирован: Ср май 18, 2005 7:27 pm
Сообщения: 1001
Diamond и Veliant сейчас единственные разработчики файловых менеджеров. Что собственно нужно людям от файлового менеджера?
- работа в локальной сети;
- встроенный просмотровщик/редактор/распаковщик архивов;
- копирование/удаление/переименование файлов...

Вообще советую почитать статью Транса, особенно первую часть, в которой он рассказывает про свой файловый менеджер.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср авг 02, 2006 4:15 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн ноя 28, 2005 8:00 pm
Сообщения: 1601
KFar 0.1. Качать там же. Добавлен встроенный просмотрщик. Как и в Far'е, просмотр немодален, можно переключаться между панелями и разными инстанциями просмотра по F12. (Сия фича сильно экономит количество окон на экране.) F2 - свернуть/развернуть строки, F4 - переключение text<->hex, F8 - переключение кодировки cp866 (DOS) <-> cp1251 (Win). Полный список поддерживаемых клавиш находится на http://diamondz.land.ru/kfar.txt

_________________
Ушёл к умным, знающим и культурным людям.


Последний раз редактировалось diamond Ср авг 02, 2006 5:25 pm, всего редактировалось 1 раз.

Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 263 сообщения ]  На страницу 1 2 3 4 518 След.

Часовой пояс: UTC+03:00


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB