LINUX.ORG.RU

GTK+ теперь поддерживает прозрачность


0

0

Дизайнер тем GNOME Andrea Cimitan разработал поддержку прозрачности виджетов GTK+ в движке Murrina.

Этим шагом дизайнер отмел всю критику тулкита GTK+, вроде "этому тулкиту нехватает гибкости и расширяемости". Реализация потребовала дополнительных 10-20 строчек кода, поэтому "люди, которые думают что в GTK+ нет RGBA, или оно требует сложных хаков, мягко говоря, неправы", - пишет он в своем блоге.

Пока исходный код не доступен для широкого круга лиц, но он будет в следующем релизе Murrina engine.

Да, прозрачность включается только при наличии композитного менеджера, и, да, она работает БЫСТРО.

Скрины http://www.cimitan.com/blog/2007/12/1...

>>> Еще скрины

★★★★★

Проверено: Shaman007 ()

Ответ на: комментарий от geek

>они догадались ждать, пока в буфер рисуются дочерние виджеты? Афигеть :)

нет, они решили рисовать все виджеты на клиенте, серверу ничего не передавать. Примерно как в Unreal Tournament. Как они заставят взаимодействовать ЭТО с другими тулкитами, я даже боюсь представить.

lester_dev ★★★★★
() автор топика
Ответ на: комментарий от Joe_Bishop

>все темы под гтк, кроме нимбуса - пионерские поделки

Я сейчас Wasp юзаю.(Типо BeOS style theme) Балдею от жёлтых выделений и прогрессбаров.

Otto_Laringolog
()
Ответ на: комментарий от geek

> это фейковая прозрачность, а не "такая"

Точно. Они и исходники поэтому не показывают - чтобы никто, не дай Бог, самую настоящую прозрачность не умыкнул. Вполне возможно, что вообще не покажут, чтоб "врагам" не досталась - так и будут скриншотами пугать.

anonymous
()

>"этому тулкиту нехватает гибкости и расширяемости"
??????
этому тулкиту нехватает спидов и памяти
благодаря ему ubuntu выжирает аккумуляторы буков быстрее чем mustdie

anonymous
()
Ответ на: комментарий от r

ru_UA керует! И нэ ебэ :) а вообще удивился, что действительно нет такого слова в русском??

anonymous
()
Ответ на: комментарий от Otto_Laringolog

>Балдею от жёлтых выделений

ужас, нах!!!

anonymous
()
Ответ на: комментарий от Otto_Laringolog

>Балдею от жёлтых выделений

чувак, меняй ник. Тебе эти выделения не простят :)

lester_dev ★★★★★
() автор топика
Ответ на: комментарий от geek

>а высказаться хочется, да? =)

Конечно. Это очень заразно =)

MYMUR ★★★★
()
Ответ на: комментарий от MYMUR

> Он любит рассказывать о том, как в КуТе/КДЕ появляются фишки, которые в ГТК/Гноме появились годы назад.... ;)

Где в Qt stock icons? Почему мне пришлось для поддержки этой спецификации freedesktop.org писать отдельную библиотеку?

Где в Qt стандартный диалог About?

(Тем не менее должен заметить, что Qt есть многое, чего нет в GTK. Перечислять смысла не вижу.)

Sikon ★★★
()
Ответ на: комментарий от anonymous

>Точно. Они и исходники поэтому не показывают - чтобы никто, не дай Бог, самую настоящую прозрачность не умыкнул.

в движке темы просто окну X11, на которое мапится виджет - задается opacity, которая берется из gtkrc. Собственно и всё. Остальное - забота драйвера видеокарты и менеджера композиции

geek ★★★
()
Ответ на: комментарий от polachok

> по мне так мурена - безвкусица. аврора получше будет...

Аврора очень тяжела для глаза и виджеты там как-то слишком выпячены. А муррене все очень просто и симпатично, достойный наследник clearlooks - которая тоже очень неплоха, но уже порядком поднадоела.

PS использую муррину в собственной цветовой гамме

anonymous
()
Ответ на: комментарий от Sikon

>Где в Qt стандартный диалог About?

Ещё один любитель пожаловал ::)) Ну что ж, затянись:

void QMessageBox::about ( QWidget * parent, const QString & title, const QString & text ) [static]
Displays a simple about box with title title and text text. The about box's parent is parent.
about() looks for a suitable icon in four locations:
It prefers parent->icon() if that exists.
If not, it tries the top-level widget containing parent.
If that fails, it tries the active window.
As a last resort it uses the Information icon.
The about box has a single button labelled "OK".
See also QWidget::windowIcon() and QApplication::activeWindow().

anonymous
()
Ответ на: комментарий от lester_dev

>нет, они решили рисовать все виджеты на клиенте, серверу ничего не передавать.

емнип, похожая схема используется в Qt изначально. Если мне склероз не изменяет

geek ★★★
()
Ответ на: комментарий от anonymous

>Что такое "наявность"? Это по-белорусски "наличность"))
Это "наличие" или "присутствие".

NonHuman ★★★
()
Ответ на: комментарий от anonymous

Мне человеческий диалог с возможностью задания списка авторов и лицензии.

Если это шашечки, то я даже не знаю, что _не_ шашечки...

Sikon ★★★
()

Ну раз будет в муррине (буэээ), то появится и в других движках, хотя зачем это надо - непонятно, но для галочки сойдёт. :)

Bohtvaroh ★★★★
()
Ответ на: комментарий от Sikon

>Мне человеческий диалог с возможностью задания списка авторов и лицензии.

kdelibs поможет отцу русской демократии.

>Если это шашечки, то я даже не знаю, что _не_ шашечки...

его полное отсутствие ::))

anonymous
()
Ответ на: комментарий от lester_dev

>>выдыхай ::))

>ой! у тебя два глаза и два рта! или я немного перебрал...

Видимо ты точно перебрал , у него 4 глаза и 2 рта ;-)

kitov ★★★
()
Ответ на: комментарий от anonymous

Не хочу kdelibs. В GTK ведь это в самом GTK, а не в libgnome*. К тому же я пишу под Qt4, а перспектива таскать за собой пол-KDE4 как-то не очень привлекает.

Sikon ★★★
()
Ответ на: комментарий от anonymous

> kdelibs поможет отцу русской демократии.

Круто, писать кроссовый софт на либе, которая даже ещё не вышла в этом самом своём кроссовом варианте, это сильно.

Bohtvaroh ★★★★
()
Ответ на: комментарий от Otto_Laringolog

Фанаты "золотого дождика" на моём ЛОРе? Как страшно жить. (ц)

anonymous
()
Ответ на: комментарий от Bohtvaroh

Кед бояться - на кутях не писать.

anonymous
()
Ответ на: комментарий от geek

>емнип, похожая схема используется в Qt изначально. Если мне склероз не изменяет

таки изменяет, срочно патчи свой склероз :)

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

lester_dev ★★★★★
() автор топика
Ответ на: комментарий от alpmild

>Т.е. нужен будет xcompmgr? А он ведь так любит кушать память :(

1. 2 мб VSS - это "любит кушать память" ?

2. подойдет любой менеджер. XFCE'шный или compiz

geek ★★★
()
Ответ на: комментарий от Sikon

>Почувствуйте разницу.

справедливости ради нужно сказать, что верхний диалог построен в глейде. Там так и называется - about dialog. Есть ли в чистом гтк такое, я не знаю.

lester_dev ★★★★★
() автор топика
Ответ на: комментарий от geek

>1. 2 мб VSS - это "любит кушать память" ?
Он, паразит, течет, по крайней мере в Демьяне.

>2. подойдет любой менеджер. XFCE'шный или compiz 
Юзаю Openbox.

alpmild
()
Ответ на: комментарий от Sikon

>Почувствуйте разницу.

Действительно кнопок больше , но я думаю наклепать такое самому - дело 10 минут .

kitov ★★★
()
Ответ на: комментарий от kitov

Правильно. В итоге все клепают сами. Что приводит к тому, что во всех GTK-приложениях используется один и тот же диалог About, а во всех Qt-не-KDE-приложениях - разный.

(Я взял из Psi, чтобы было похоже хоть на одну известную программу на Qt-не-KDE. К тому же он похож на KDE'шный.)

Sikon ★★★
()

0_о ГТКашники наконец-то осилили прозрачность

anonymouse
()
Ответ на: комментарий от Sikon

>Qt-не-KDE-приложениях - разный.

ну справедливости, опять же, ради, надо спросить - покажи хоть одно qt-не-KDE приложеньице? :)

lester_dev ★★★★★
() автор топика
Ответ на: комментарий от lester_dev

> ну справедливости, опять же, ради, надо спросить - покажи хоть одно qt-не-KDE приложеньице? :)

По памяти: Psi, SpeedCrunch, qsvn, strigi, smplayer, qdvdauthor, TOra, из проприетарных - Opera, Skype, Google Earth.

Sikon ★★★
()
Ответ на: комментарий от lester_dev

Я не очень понимаю, зачем в Glade своя заготовка для About. Наверное, это для тех, кому не нравится стандартный GTK'шный.

Sikon ★★★
()
Ответ на: комментарий от MuZHiK-2

> Ну просто обалдеть! В кедах хрен хнает сколько это есть, а велосипедчики только подтянулись. Оперативненько..

Анука сцылочку в студию, тож такое хо в кедах ;-)

SilentLexx
()
Ответ на: комментарий от Sikon

>По сравнению с GTK'шным этот диалог мегаубог.

Вот и спрашивай тогда не "где диалог Эбаут", а "где диалог Эбаут чтоп как в гытыка!" :)

MYMUR ★★★★
()
Ответ на: комментарий от Sikon

Должен же хотя бы один виджет быть убогее, чем в Гноме. А то гномам будет обидно.

anonymous
()
Ответ на: комментарий от MYMUR

У ГТК действительно проблемы, если даже его фанаты не нашли лучшего аргумента, кроме юзабельности диалога about. Писец представил себе: пользовали запустили программу, сразу ткнули на абаут, не нашли кнопки лицензия и в шоке убежали на ГТК.
Аффтар пешы ищще.

anonymous
()
Ответ на: комментарий от geek

>> помню, ещё весной баловался с такой прозрачностью...

> это фейковая прозрачность, а не "такая"

Да? Гик, бросай траву, а?

AiFiLTr0 ★★★★★
()
Ответ на: комментарий от SilentLexx

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

AiFiLTr0 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.