The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск пользовательского окружения GNOME 3.24"
Отправлено Аноним, 23-Мрт-17 18:24 
> А почему выбрано именно такое решение?

Которое именно?

Почему Гном на GTK? Ну так исторически сложилось.

Почему GTK использует для тем CSS?
gtkrc-формат в GTK2 был неудобен. Вся функциональность была реализована в отдельных движках — внешних модулях на C или еще на чем, которые самостоятельно рисовали элементы. Они могли показать наружу настройки, а в gtkrc-теме описывалось, фактически, какой элемент каким движком (либо без движка, см. тему Raleigh) рисовать и с какими настройками.
Для GTK3 справедливо решили, что такая система неудобна, и лучше использовать что-нибудь постандартнее. Например, CSS. Ну так и сделали. Правда, работа была совершенно огромная, и ее делали очень постепенно, версию за версией. Поэтому все ругались, что темы ломаются. Последнее такое крупное изменение было в GTK 3.20, где отрисовку виджетов полностью отделили от них самих. Элементы задают несколько css-нодов, а уж как они отображаются, определяется целиком и полностью через CSS. В итоге темы стало НАМНОГО проще писать и у них стало НАМНОГО больше возможностей.

Почему GNOME Shell не использует GTK, а использует Clutter?
Потому что через Clutter у них отрисовка идет с аппаратным ускорением (а тут отрисовка достаточно сложная, чтобы без него все люто тормозило). А в GTK на тот момент этого не было.

Почему он не на голом Clutter, а со своей надстройкой St?
Потому что Clutter — это не интерфейсный тулкит, а, по сути, движок. Он умеет рисовать через OpenGL и передавать события. А рисовать конкретно кнопочки и т.д. нет. Можно, например, реализовать на нем виджет CoverFlow и встроить его в GTK-приложение, он для таких вещей делался.
Поэтому St — реализация тулкита на Clutter. Всякие кнопочки, свитчи и т.д. Базовая реализация CSS-стилей тоже там.

Почему CSS?
Учитывая, что тулкит свой, то у них уже существующих решений не было. Потому выбрали удобный и стандартный вариант. Просто-напросто. :)

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру