Page 1 of 2

Графический интерфейс Kolibri OS

Posted: Tue Aug 28, 2007 10:57 pm
by Alver
Я определил для себя некоторые задачи по улучшению графического интерфейса Kolibri в связи с чем есть планы по некоторым изменениям в ядре, которые хочу обсудить.
Итак - первая:
Основная цель: возможность создания иконок, которые не будут накладываться поверх окошек.
Способ выполнения - Создать функции ядра, способные выводить графику на область не занятую приложениями, но не затрагивающие открытых окошек (Это вывод текста, точки, рисунка, прямоугольника, отрезка, возможно в урезанных вариантах) . Затем создание программ не рисующих собственного окна но выводящих иконки сразу на область фона (не в изображение фона а на точки процесса 1 - OS\IDLE)
Кроме того в качестве побочного эффекта, можно будет создавать проги, выводящие анимацию или эффекты на рабочий стол в фоновом режиме ( например визуализацию к музыке как в Winamp.
Мнения, проблемы, советы, пожелания пожалуйста?

Posted: Tue Aug 28, 2007 11:07 pm
by Gluk
есть одно пожелание.. удачи! =)

Re: Графический интерфейс Kolibri OS

Posted: Wed Aug 29, 2007 1:51 am
by mike.dld
Какое там удачи. Это же непонятно что, а не идея.
  1. бросается в глаза то, что способ выполнения как-то мало связан, собственно, с проблемой: "рисование на рабочем столе" и "не накладывающиеся на другие окна иконки"
  2. создание дополнительных дублирующих функций ядра - откуда это взялось? у нас и так говнофункций хватает, так ещё и эти появятся, специально для любителей рисовать на рабочем столе (надеюсь, хоть две программы появятся, этим занимающиеся)
  3. что должна делать ОС, когда она перемещает окно? правильно - перерисовывать рабочий стол. в данном случае, или нужен дополнительный буфер для того, что нарисовали программы, или ОС должна сообщать программам о том, что они должны обновить рабочий стол, что в принципе лично для меня является нарушением принципов построения ОС и не может привести ни к чему хорошему
  4. иконки по своей сути - не просто рисунки на рабочем столе. они должны реагировать на активацию. и тут опять ОС должна будет просить отреагировать программу? то есть, предложение заключается в том, чтобы добавить возможность создавать кнопки в чужих окнах?
  5. были, и есть, люди, которым хочется полупрозрачных окон, супер-пупер графических эффектов и винампов, которые рисуют на рабочем столе. так вот: это всё херня и никому на самом деле не нужно. что действительно нужно - так это программы, несущие в себе функциональность, а они, в свою очередь, не могут быть некрасивыми
А если быть кратким, то я не считаю предложенные изменения, если их в принципе можно реализовать не через жопу, "улучшением графического интерфейса Kolibri". Неправильной дорогой идёте, товарищи.

Posted: Wed Aug 29, 2007 8:02 am
by Mario79
Alver
1. Не самая актуальная вещь.
2. Система будет перегружена, особенно в связи с наличием лишь Vesa (нет видеодрайверов).
3. Проблему с иконками можно решить, если реализовать функцию, перемещающую окно на вершину и вниз оконного стека, после клика по иконке.

Posted: Wed Aug 29, 2007 10:18 am
by k@sTIg@r
Alver
Я согласен с ребятами...

Ленин
5. были, и есть, люди, которым хочется полупрозрачных окон, супер-пупер графических эффектов и винампов, которые рисуют на рабочем столе. так вот: это всё херня и никому на самом деле не нужно. что действительно нужно - так это программы, несущие в себе функциональность, а они, в свою очередь, не могут быть некрасивыми
Позволь с тобой не согласится. Технологии не стоят на месте, и теперешнее железо, которое у большей части (покрайней мере моего окружения) людей, позволяет делать красивые весчи, как полупрозрачности, супер-пупер графические эффекты и прочую лабуду, без особых тормозов. Не надо? не скажи... я знаю много людей которые себе линух ставили только из-за берила, на ХР ставят VistaTransformationPack и т.д. Да, это может нам, простым програмистам не нужны эти причуды (у меня, например, ХР с классическим оформлением), но зачем заранее сужать круг пользователей колибри? Выход я уже описывал, нужно переделать оконную систему колибри, а точнее оконный менеджер вынести из ядра. Ты и сам это знаешь. Помню тебя посещали идеи насчет оконной системы (по подобию GTK или что-то вроде системы widget'ов). Мне они нравятся, вот думаю не присоеденится ли к твоей идее и начать ее воплощать??? Но только когда вернусь :(

Mario79
3. Проблему с иконками можно решить, если реализовать функцию, перемещающую окно на вершину и вниз оконного стека, после клика по иконке.
Если я правильно понял, то лучше это решить хотябы 3-х уровневым стеком (ниже всех, стандартные, выше всех).

ЗЫ. Надеюсь вернусь скоро.....

Posted: Wed Aug 29, 2007 5:21 pm
by Leency
Alver wrote:Основная цель: возможность создания иконок, которые не будут накладываться поверх окошек.
Цель благородная и нужная :) Это самый видный баг Колибри. Неприятно...
Как это сделать я не знаю. ИМХО реализовать надо вначале функцию окон всегда сверху\всегда снизу.
Людям: не набрасывайтесь вы так на человека. Лучше просто выскажитесь как лучше реализовать.
Мнения, проблемы, советы, пожелания
Пожелания самые хорошие - с успехом добиццо всего что очень хочеццо ;) Удачи.

Posted: Wed Aug 29, 2007 9:37 pm
by Alver
Ленин
иконки по своей сути - не просто рисунки на рабочем столе. они должны реагировать на активацию. и тут опять ОС должна будет просить отреагировать программу?

Иконки должны реагировать на нажатие кнопки мыши, на их рисунке, будет ли это активацией окна, или обработчик мыши это техническая деталь. У нас есть приложение @rb которое реагирует на нажатие правой кнопки мыши на области рабочего стола, если доработать это приложение определением позиции иконки, при клике левой кнопкой, и обработкой события 5 (перерисовка фона рабочего стола), можно создать обработчик иконок на одном процессе, вместо кучи потоков @ICON.
то есть, предложение заключается в том, чтобы добавить возможность создавать кнопки в чужих окнах?
В чужих окнах ничего рисовать и создавать нельзя.
Но я был не прав, любая прога, кроме самой проги иконок, рисующая на рабочем столе, будет убивать иконки, и создавать муть, поэтому для спецэффектов остаются только стандартные способы.
были, и есть, люди, которым хочется полупрозрачных окон, супер-пупер графических эффектов и винампов, которые рисуют на рабочем столе. так вот: это всё херня и никому на самом деле не нужно.
Ну здесь ты не прав. Каждый решает сам что ему нужно. А по мне лучший вариант это сбалансированность между примочками интерфейса, его функциональностью и производительностью системы.

Mario79
Не самая актуальная вещь.
Самые актуальные - самым опытным. :wink:
Система будет перегружена...
От дополнительных прог я уже отказался, по причине изложенной выше. Однако для иконок пока еще считаю лучшим вариантом один процесс с отрисовкой в рабочем столе, вместо кучи с собственными окошками.
Проблему с иконками можно решить, если реализовать функцию, перемещающую окно на вершину и вниз оконного стека, после клика по иконке.
Идея хорошая, надо будет попытаться разобраться как работает код оконного стека.

В общем если чего сварганю, выложу на своем сайте, если получится, тогда и можно будет решить.

Posted: Wed Aug 29, 2007 9:47 pm
by DmitrySokolowsky
Оффтоп: пожалуйста, напиши в профиле адрес твоего сайта

Posted: Wed Aug 29, 2007 9:52 pm
by Alver
Атауальпа
Написал.

Posted: Thu Aug 30, 2007 12:10 am
by Serge
Mario79

Не факт, что тормоза будут. Сегодня гонял Ubuntu в разрешении 1280*1024 c Vesa драйвером и никаких тормозов при отрисовке.

Posted: Thu Aug 30, 2007 9:11 am
by k@sTIg@r
Alver wrote:Однако для иконок пока еще считаю лучшим вариантом один процесс с отрисовкой в рабочем столе, вместо кучи с собственными окошками.
Нужно сделать чтоб рабочий стол был отдельным приложением (а не частью ядра), которое будет ниже всех. Вот оно уже и будет рисовать фон, а на нем иконки, и реагировать на клики левой и правой (ну и средней) кнопок мыши. Можно (и наверно нужно) чтоб он же и отрисовывал панель. ИМХО.
Но как сказал Serge нужно сначала реализовать слои окон.

PS+OFFTOP. А как реализовано разворачивание окна на весь экран? Насколько помню, развернутое окно не перекрывает панель. Панель выставляет какие-то системные параметры по размеру развернутых окон?

Posted: Thu Aug 30, 2007 4:28 pm
by Gluk
k@sTIg@r
Нужно сделать чтоб рабочий стол был отдельным приложением (а не частью ядра), которое будет ниже всех. Вот оно уже и будет рисовать фон, а на нем иконки, и реагировать на клики левой и правой (ну и средней) кнопок мыши. Можно (и наверно нужно) чтоб он же и отрисовывал панель.
я считаю так же, за исключением отрисовки панели. а то получится Винданутый эксплоэр, и если ЭТО полетит/повиснет, то полетит/повиснет все и сразу.. // Колибри не винда, однако.. // а в целом ты прав, картинка на рабочем столе ИМХО не удел ядра.. да и куча процессов-иконок напрягают, и производительность снижают (ИМХО).

Posted: Thu Aug 30, 2007 5:03 pm
by DmitrySokolowsky
Лично я мечтаю, чтобы можно было создавать иконки таким же образом, как в Aston Shell... Там это делается очень просто и удобно, как мне кажется.
И ещё, чтобы можно было свободно перетаскивать иконки мышкой по рабочему столу, и выстраивать их по имени и так далее...
Но, понятное дело, не наступая на виндовые грабли.

Posted: Thu Aug 30, 2007 5:28 pm
by Gluk
Атауальпа
Лично я мечтаю, чтобы можно было создавать иконки таким же образом, как в Aston Shell... Там это делается очень просто и удобно, как мне кажется.
И ещё, чтобы можно было свободно перетаскивать иконки мышкой по рабочему столу, и выстраивать их по имени и так далее...
это будет возможно если вынести иконки (из отд. процессов) и картинку рабочего стона (из ядра, где, повторюсь, ей не место) в одно приложение..

Re: Графический интерфейс Kolibri OS

Posted: Mon Feb 18, 2008 2:20 am
by chektor
В современных видеокартах уйма памяти, которая используется "на полную" только в играх и соответствующих программах. При обычной, "офисной", работе ее тоже нужно использовать. Пусть приносит пользу! Пусть хранит у себя окно рабочего стола, пусть хранит хоть десять окон! Разгружайте ядро где это возможно! НО! Найдите способ быстро проверить, что отображается на экране в действительности. В первых "операционках" очень часто были сбои такого характера.
Что касается иконок, то Alver прав на 100%! На моем рабочем столе нет ни одной иконки! Мне так удобно! Я их не запрещал, просто я их все перенес в "нужные места" (по моему мнению). Но "оперативные иконки" на свой стол я кладу и, после решения таких оперативных задач эти иконки удаляю. Поэтому мне всегда видно, что еще осталось сделать. Но когда ко мне приходят гости, то мне нужны разные рабочие столы, со своими набором иконок. Более того, есть такие гости - маленькие дети, которым будет понятнее и удобнее, если при наведении на иконки курсора мышки, они станут анимированными и, более того, я могу превратить курсор мышки в "увеличительное стекло" и еще более наглядно показать такую иконку-картинку. Со звуком, маленьким демо-роликом -чтоб наглядно было видно, что делает "та" программа и как выглядит "эта" игрушка.
И вы уж определитесь пожалуйста - на себя вы работаете или для народа? Если вы работаете только на себя (и на таких как вы, крутых программистов) то вам и рабочего стола, вообще, не надо! А если для народа, то не стесняйтесь перенимать лучшее, наработанное в этот еще непродолжительный отрезок времени развития компьютеров.