Board.KolibriOS.org

Official KolibriOS board
It is currently Tue Jan 28, 2020 8:31 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 158 posts ]  Go to page Previous 13 4 5 6 711 Next
Author Message
PostPosted: Wed Dec 16, 2009 12:09 am 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
konstantin_666, такое будет возможно реализовать если панели будут достаточно конфигурируемыми, что и есть главная цель обсуждаемого в данной теме проекта. А так в общем прикольно смотрится, может даже удобно)

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
PostPosted: Mon Dec 21, 2009 7:28 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Mar 20, 2006 10:44 am
Posts: 557
Ну тогда и Aston посмотрите, а вообще я привык за два года к компизовскому кубу, Alt+Ctrl+право/лево на одном столе справка, на другом среда разработки, на третьем консоль и т.д. очень удобно! Вопрос кто будет делать?


Top
   
PostPosted: Mon Dec 21, 2009 8:46 pm 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
Ghost, это про рабочий стол? думаю многие хотят сделать более нормальный рабочий стол (я тоже хотел), но мешает отсутствие возможности создать приложению полноэкранное окно подо всеми.

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
PostPosted: Mon Dec 21, 2009 10:18 pm 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Quote:
мешает отсутствие возможности создать приложению полноэкранное окно подо всеми

Я изучал/изучаю устройство оконной системы в KolibriOS. Там оконная подсистема связана с GUI. Мышь, кнопки(лучше бы их там не было), события с привязкой к процессам - всё связано. Непростая смесь. Разобраться можно, но не известно сколько на это уйдёт времени. Если делать по нормальному - это будет вообще не совместимо с текущим гуи. Вдобавок ко всему куча приложений используют системные кнопки KolibriOS...

_________________
KolibriOS-перспективная ос!
Kolibri is best operation system in the world!


Top
   
PostPosted: Mon Dec 21, 2009 10:28 pm 
Offline
Kernel Optimizer
User avatar

Joined: Mon Jan 16, 2006 7:58 pm
Posts: 657
Прежде чем что-либо делать необходимо написать, что ты хочешь сделать и дать описание того, что это даст. На вики можно создать страницу и там постараться изложить свое видение. Переделка ядра в большинстве случаев затронет приложения, которые необходимо будет переписать.


Top
   
PostPosted: Tue Dec 22, 2009 12:25 am 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Quote:
Прежде чем что-либо делать необходимо написать, что ты хочешь сделать и дать описание того, что это даст.


Полностью согласен. Я пока потихоньку(примерно 1-2 часа в неделю) изучаю устройство ядра. Сейчас хотя бы общую архитектуру понять. Отсутствие документации и постоянные практически не документированные изменения затрудняют изучение. Сначала надо понять общую схему работы каждой части из которой состоит ядро, а потом уже детализировать каждую часть. Графической документации в виде некого подобия цветных(это обязательно) блоксхем - вот чего не хватает. Ну и текста к документации конечно. Попробую восстановить блоксхему из "черного ящика" - ядра KolibriOS.
Про устройство оконной подсистемы X server-а документации почти нет. Нашол только общие идеи. Всё остальная "документация" - это програмный код. А вот по устройству различных GUI библиотек документации полно.

_________________
KolibriOS-перспективная ос!

Kolibri is best operation system in the world!


Top
   
PostPosted: Tue Dec 22, 2009 11:03 am 
andrew_programmer
А зачем трогать то что работает? Я вот этого не понимаю. Делай себе на здоровье свою реализацию кнопок в подключаемой либе. Мне вот надо было для zSea я сделал в библиотеке BoxLib. Одно другому не мешает. Не так уж много кода можно выдрать из ядра - ИМХО овчинка выделки не стоит, работы дофига, а эффект мизер.
Вот когда стандарт на библиотеку устоится и многие программы его будут применять, вот тогда можно будет прикинуть какой код выбросить.

З.Ы.Телега должна быть позади лошади, а то лошади толкать телегу несподручно. :lol:


Top
   
PostPosted: Tue Dec 22, 2009 11:48 am 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Mario
Quote:
А зачем трогать то что работает? Я вот этого не понимаю.

Работает, только не так, как надо. И возможностей для реализации полноценной работы с окнами - нет.
Что не так:
1)Отсутствие окон верхнего уровня не позволяет реализовать полноценное меню, выходящее за пределы окна. Можно только реализовать некое подобие этого меню. Только на слабых машинах придётся смотреть слайдшоу. Даже на современных машинах тормоза при быстром перемещении по такому меню.
По этой же причине нельзя реализовать полноценные панели, виджеты рабочего стола, Tollbar-ы.
2)Если реализовать окно "всплывающуя подсказка", то любое внезапно появившееся окно переведёт фокус ввода на себя и запросто может полностью перекрыть всплывающую подсказку. По сути это следствие пункта 1)
3)Нужно окна самого нижнего уровня для рабочего стола вместо кучи потоков Icon.
4)Если элемент управления занимает только малую часть родительского окна, то возникает проблема заливки всего остального фона окна. Если реализовать элемент управления как под окно главного окна, то таких проблем не будет. Сейчас один поток может иметь одно окно. Число потоков не более 256. А по правильному у одного потока должно быть одно главное родительское окно и множество(в пределе бесконечность) дочерних под окон, которые содержаться внутри главного окна.
5)При перемещении окон перерисовываются все нижележащие окна - это не дело. Как же тогда с перетаскиванием окна вместе с отображением его содержимого.
6)Сейчас невозможно реализовать технологию Drag & Drop. Для её реализации необходимо запрограммировать в ядре объект(смотрим объектно ориентированный подход и паттерны проектирования).
7)Невозможно реализовать менеджеры окон и декораторы окон типа Metacity, Compiz и т.д.

Quote:
работы дофига, а эффект мизер.

Работы много, но оно того стоит.

Quote:
Вот когда стандарт на библиотеку устоится и многие программы его будут применять, вот тогда можно будет прикинуть какой код выбросить.

Уже сейчас прикладные программисты столкнулись с проблемой примитивности оконной подсистемы. А чем дальше в лес тем больше будет проблем. К тому же переписывать GUI библиотеки по сто раз вовсе не интересно.

_________________
KolibriOS-перспективная ос!

Kolibri is best operation system in the world!


Top
   
PostPosted: Tue Dec 22, 2009 11:55 am 
andrew_programmer
Я что действительно тупо выражаюсь? В каком месте моего поста я написал, что существующая реализация очень хороша и не стоит делать альтернативу? :?:
Mario wrote:
Одно другому не мешает

Обязательно надо сначала поломать? :shock:
Сначала нужно сделать реализацию, потом выбросим код который станет не нужен.


Top
   
PostPosted: Tue Dec 22, 2009 12:51 pm 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Quote:
Сначала нужно сделать реализацию, потом выбросим код который станет не нужен.

Согласен. Нужно отдельной веткой это делать - иначе никак.

Quote:
Я что действительно тупо выражаюсь? В каком месте моего поста я написал, что существующая реализация очень хороша и не стоит делать альтернативу? :?:

Недопонимание бывает у всех. Всётаки разные люди по разному мыслят. Но после пояснения я понял, что имелось ввиду.

_________________
KolibriOS-перспективная ос!

Kolibri is best operation system in the world!


Top
   
PostPosted: Tue Dec 22, 2009 11:58 pm 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
"3)Нужно окна самого нижнего уровня для рабочего стола вместо кучи потоков Icon." - и еще вместо ядра фон рисовать. имхо не ядреное это дело // а может это в другую ветку форума обсуждение перенести?

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
PostPosted: Wed Dec 23, 2009 11:11 am 
andrew_programmer
Я тут подумал можно сделать наследование формата функций вызова. Потом можно будет вместо вызова Int 0x40 везде прописать макрос mcall, а в самом макросе уже делать переопределение на вызов библиотеки вместо системной функции ядра. В любом случае это будет уже чисто механическая работа и совместимость с кучей программ не потеряется. А новые программы уже можно будет писать чисто на вызовы библиотеки. Ну, распухнут на 10-20% программы (и это только ассемблерные, на Си-шных вообще разница практически будет незаметна), но зато не придется тотально переписывать.

Gluk
Quote:
а может это в другую ветку форума обсуждение перенести?

Согласен, но к сожалению модераторы на форуме только удалять хорошо умеют - выполнять другую работу стоит значительных умственных усилий. :lol:


Top
   
PostPosted: Wed Dec 23, 2009 1:39 pm 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Mario
Я тоже об этом думал. При желании перенаправлением через макрос можно избежать переписывния и добиться совместимости.
Пусть пока обсуждения подождут реальных действий, когда будет реально работающий код.

_________________
KolibriOS-перспективная ос!

Kolibri is best operation system in the world!


Top
   
PostPosted: Thu Dec 31, 2009 7:28 pm 
Offline
User avatar

Joined: Tue Dec 15, 2009 9:23 pm
Posts: 42
Чего здесь спорить? Нужно брать и писать.
Я уже начал работу над одной интересной программой.
Она должна будет заменить @panel, KIV(частично), icon и, возможно, несколько других программ.

И вообще, нужно все мелкие прикладные программы интегрировать в программные комплексы и в каждый такой комплекс встраивать свою библиотеку.
Преимущества: компактность, отсутствие стандартных библиотек и высокая совместимость.

_________________
Не бойтесь делать ошибок. Бойтесь ничего не делать.


Last edited by konstantin_666 on Wed Feb 03, 2010 5:04 am, edited 3 times in total.

Top
   
PostPosted: Sat Jan 30, 2010 4:47 pm 
Offline
User avatar

Joined: Tue Dec 15, 2009 9:23 pm
Posts: 42
Вот. http://introvert.wen.ru/Files/KDesk.zip
Как вам?

_________________
Не бойтесь делать ошибок. Бойтесь ничего не делать.


Last edited by konstantin_666 on Sat Jan 30, 2010 8:40 pm, edited 2 times in total.

Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 158 posts ]  Go to page Previous 13 4 5 6 711 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 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