Разработчики Gnome представили (http://mail.gnome.org/archives/gtk-devel-list/2009-April/msg...) предварительный план подготовки релиза Gtk+ 3.0, в котором собраны основные идеи по улучшению библиотеки. Ожидается изменение структуры API, полная переработка некоторых подсистем, перевод всех "public" структур в область видимости "private" и проведение значительной чистки библиотеки от устаревшего кода. Нарушение программной и бинарной совместимости Gtk с некоторыми приложениями, обернется повышением производительности и уменьшением размера библиотеки. На основе Gtk+ 3.0 уже в марте 2010 года будет выпущен инновационный релиз GNOME 3.0 (http://www.opennet.me/opennews/art.shtml?num=21071).
Версия Gtk+ 2.0 была выпущена в 2002 году и на протяжении всей линейки 2.x сохранила обратную бинарную совместимость, позволяя не прибегать к перекомпиляции приложений после обновления библиотеки в системе. Тем не менее поддержание неизменного ABI позволяет вносить в код библиотеки только не...URL: http://mail.gnome.org/archives/gtk-devel-list/2009-April/msg...
Новость: http://www.opennet.me/opennews/art.shtml?num=21201
> Добавление компонентов для обсчета физики, например, для создания эффектов инертной прокрутки, магнетизма, влияния трения, отскока элементов, растягивания, затухания, размывания, отбрасывания тени и т.п.зачем? может еще эффект радиации и турбулентность астрального плана добавить?
> Полностью независимый от экрана рендеринг;
звучит смело
> > Добавление компонентов для обсчета физики, например, для создания эффектов инертной прокрутки, магнетизма, влияния трения, отскока элементов, растягивания, затухания, размывания, отбрасывания тени и т.п.
>зачем? может еще эффект радиации и турбулентность астрального плана добавить?Затем, чтоб компиз выкинуть на помойку (хотя без scale я уже как-то как без рук :-). Я уверен что все эти рюшки можно будет отключить, а если нельзя - хакнут чтоб можно было.
Еще не известно, что придеться выкинуть на помойку. Лишь бы эти рюшечки, не мешали разработчикам допиливать основное ядро библиотеки.
Обратите внимание, что эти рюшечки предлагаются для реализации независимым разработчикам.
А понадобиться они могу во всяких мобильных "гламурных тыкалках".
> Добавление вращающегося круглого виджета для индикации прогресса выполнения операцииБа, сферический конь в гноме! :-D
> > Добавление компонентов для обсчета физики, например, для создания эффектов инертной прокрутки, магнетизма, влияния трения, отскока элементов, растягивания, затухания, размывания, отбрасывания тени и т.п.Крута! Можно будет игрушки простенькие писать на движке гнома. Давно хотел сам написать приличный "арканоид"...
>Давно хотел сам написать приличный "арканоид"..."приличный" - звучит круто.
удачи. :-)
>Можно будет игрушки простенькие писать на движке гнома. Давно хотел сам написать приличный "арканоид"...Да пиши на чем угодно, зачем ждать чего-то?
>>Можно будет игрушки простенькие писать на движке гнома. Давно хотел сам написать приличный "арканоид"...
>
>Да пиши на чем угодно, зачем ждать чего-то?Он хочет сделать так: свёрнутая в заголовок апликуха двигается туда-сюда мышкой, а "подброшенный" предварительно один из ярлыков летает по экрану, переотражаясь от границ экрана и этой самой апликухи. Задача - затолкать все ярлыки на край экрана.
смело и креативно :)
Не сделают они гном 3 к марту 2010, я гарантирую это.
>Не сделают они гном 3 к марту 2010, я гарантирую это.Март 2009 - 2.26
Сентябрь 2009 - 2.28
Март 2010 - 2.30 = 3
>Не сделают они гном 3 к марту 2010, я гарантирую это.Значит поможем!
>Не сделают они гном 3 к марту 2010, я гарантирую это.Они поняв это начнут читерствовать: возьмут свой любимый дотнет и быстренько на нем налабают тормозное и тяжеловесное глюкало.На винды вон посмотрите.А их запевала Мигель как раз на дотнет подсел.
В моём проекте возникла необходимость переключить состояние чекбокса без издания соответствующего сигнала, то есть втихаря.
Но оказалось что сделать это обычным методом g_object_set невозможно из-за стиля написания объектов GTK+.Я задал вопрос по поводу замены в gtktoggleaction.c строки
gtk_toggle_action_set_active (action, g_value_get_boolean (value));
на строчку
action->private_data->active = g_value_get_boolean (value);
чтобы появилась возможность "молчиливого" переключения состояния виджета,
но мне ответили что это противоречит стилю написания GTK+ виджетов, а в чём конкретно проблема не объяснили.
Уровень моего английского не позволяет устроить полноценную дискуссию на данную тему в списке рассылке разработчиков в связи с чем просьба к русским хакерам -- разъясните мне почему нельзя изменить стиль написания объектов GTK+ так как я это предложил выше?
а самому класс (структуру, функцию,...) переопределить (раз уж такая пьянка) никак?
Ну так я на будущее имею ввиду, сейчас я конечно с помощью какого нибудь "костыля" обойдусь, но вот в 3.0 по моему нужна возможность "тихого" переключения свойств виджета, тем более что это очень просто сделать. У меня например самописные объекты реализованы именно так как я описал выше и это позволяет переключать свойства либо с сигналом либо без и при этом не нужно никаких дополнительных обработчиков (костылей).То есть используя метод g_object_set свойство переключается без сигнала, а при использовании метода gtk_widget_set_*** сигнал издаётся и если необходимо выполняются дополнительные обработки. Фактически gtk_widget_set_*** является оболочкой для g_object_set со всеми необходимыми дополнениями.
>action->private_data->active = g_value_get_boolean (value);Это не стоит делать по очень простой причине. Нарушается инкапсуляция. Прямого доступа к полям объекта следует избегать всеми силами.
>>> Это не стоит делать по очень простой причине. Нарушается инкапсуляция. Прямого доступа к полям объекта следует избегать всеми силами.Дело в том что именно так и сделано в методах gtk_widget_set_***, это совсем не прямой доступ, это как раз доступ через классовый метод на сколько я понимаю.
Суть проблемы в том что архитектура GObjects позволяет реализовать два метода переключения свойств объекта, один через стандартный метод g_object_set другой через оболочку gtk_widget_set_***. Так вот в GTK+ на данный момент в стандартном методе прописана оболочка, то есть всё перевёрнуто вверх ногами, вместо того чтобы в оболочке прописать стандартный метод а в стандартном методе сделать простое присвоение тем самым дать разработчику возможность менять свойство объекта двумя способами. Сейчас же мы фактически имея два метода используем одну и туже функцию, по моему это не правильно.
>Сейчас же мы фактически имея два метода используем одну и туже функцию,
>по моему это не правильно.Наверное, это действительно неправильно, но это лучше, чем дать программисту право изменять поля объекта.
Будем надеяться, что в GTK3.0 весь этот бред приведут в порядок
>>> но это лучше, чем дать программисту право изменять поля объекта.Я видимо как то неправильно объяснил своё предложение.
Я не предлагаю включить включить возможность прямого доступа к полям объекта.
Я предлагая привести в порядок методы объекта, чтобы имея два метода можно было иметь два способа изменения полей, с сигналом и без.
На данный момент в GTK+ два метода но оба по сути делают одно и то же.
>В моём проекте возникла необходимость переключить состояние чекбокса без издания соответствующего сигнала, то есть втихаря.Есть возможность отключить конкретный сигнал в рантайме.
Не хочу разжигать очередной флейм, но просто просматривайте иногда блог разработчиков Qt. Пока в gtk решают проблемы первой необходимости, для Qt уже давно занимаются только инновациями. Я здесь говорю даже не о базовой функциональности тулкита. Это анимация, и новые концепции UI.
Я пользовался и gtk некоторое время(не по причине лицензии, а из-за остутствия соответствующего биндинга). Постил на gtk-devel-list то что мне хотелось бы видеть переработанным в gtk, но мое сообщение просто проигнорировали. Просто не выдержал и проблем в тулките и такого свинского отношения людей, которые даже не удосужились ответить парой строк на мое довольно длинное письвмо . Решил просто сделать биндинг к Qt. Пока не сожалею. Биндинг уже в состоянии, что его можно использовать. Перевел свой проект на Qt, объем кода кое-где уменьшился до двух раз.
Я сильно надеялся на gtk, да и сейчас желаю им всяческих успехов. Но сомнения гложат...
>Постил на gtk-devel-list то что мне хотелось бы видеть
>переработанным в gtk, но мое сообщение просто проигнорировали.Мало ли что тебе хотелось, взял бы да переработал, прокт открытый же. Это только ты по-свински поступил, не вложив ни капли своего пытаешься что-то требовать.
>>Постил на gtk-devel-list то что мне хотелось бы видеть
>>переработанным в gtk, но мое сообщение просто проигнорировали.
>
>Мало ли что тебе хотелось, взял бы да переработал, прокт открытый же.
>Это только ты по-свински поступил, не вложив ни капли своего пытаешься
>что-то требовать.У тебя с головой все в порядке? Признак хорошего поведения и вежливости - это дать ответ на вопрос интересующемуся человеку. Пусть даже и короткий. Пусть отрицательный. С какой стати я поступаю плохо? Я не требовал, а только лишь указал что мне конкретно не нравится и аргументировал. Может я ждал что они предложат мне поработать над этим? Хотя я не обязан этого делать. Не забывай gtk - это тулкит, на него ориентируются из-за его лицензии много компаний. Я разработчик прикладухи, с чего мне контрибьютить?? Да и квалификации врядли хватит. Скорее всего их за больное задело то что я сравнил с Qt.
И потом я по-моему написал - что я начал работу над биндингом к Qt к языку программирования который использую, так что не бзди что я не вложил ни капли своего. Свой маленький вклад в опен-сорц я сделал, а как насчет тебя?
Если кто-то скажет вам, что ваша тачка полный отстой по сравнению с той, которая у вашего соседа Васи, вы как будете реагировать? Точно не станете покупать новую, что в принципе эквивалентно ответу в списке рассылки (точнее его отсутствию).
>
>И потом я по-моему написал - что я начал работу над биндингом
>к Qt к языку программирования который использую, так что не бзди
>что я не вложил ни капли своего. Свой маленький вклад в
>опен-сорц я сделал, а как насчет тебя?А ссылку на ваш пост в gtk можно? Для оценки адекватности :)
Мне тоже частенько не отвечают в рассылках свободных проектов, даже когда пишу о явных багах и недоработках. Может быть, у меня плохой английский, может быть - разработчикам просто нечего ответить.В любом случае GTK - это сообщество, работающее по сетевому принципу, а QT - одна компания, со строгой иерархией и всяческими ограничениями для разработчиков (в смысле им приходится следовать чёткому плану и выполнять всё в конкретные сроки). Если вам самому нужно "работать на дядю", выбор QT более чем понятен. Если же вы хотите что-то такое "замутить" - выбор за GTK и гномом.
>Если вам самому нужно "работать на дядю", выбор
>QT более чем понятен. Если же вы хотите что-то такое "замутить"
>- выбор за GTK и гномом.Что в Вашем понимании значит "замутить"? Вне зависимости от того, работаю я на дядю или пишу free software, у меня одинаковый список требований:
1. стабильно работающая программа;
2. по возможности с такими рюшечками, которые бы облегчили ее пользователям жизнь;
3. Выбранный GUI toolkit должен ускорять процесс разработки.Так почему же я должен, работая на дядю, выбирать QT, а занимаясь, к примеру, разработкой free software, выбирать GTK?
Список требований - это не правильно. Требования есть и должны быть у проприетарщиков, но не у коммьюнити. У сообщества требования заменяются мягкими пожеланями и предложениями, чтобы максимально упростить жизнь программистам и выпустить хороший, радующий глаз продукт.QT всегда будет такой библиотекой, которую хотят видеть менеджеры Нокии и это понятно, ведь для их смартфонов нужны конкретные работающие приложения в максимально быстрые сроки. Дело в том, что нам такой подход не годится, ведь мы используем линукс на персональных компьютерах, а не на сотовиках. Отсюда вывод: только GTK.
Не согласен с вами. Объяснять долго не буду, повторю еще раз что после портирования кода с gtk на qt существенно улучшилась логика кода, читаемость, уменьшился объем. Qt идет вперед последние годы. Gtk пытается догнать..
Какие-то туманные и оторванные от реальности утверждения. Неубедительно.
>QT всегда будет такой библиотекой, которую хотят видеть менеджеры Нокии и это понятно, ведь для их смартфонов нужны конкретные работающие приложения в максимально быстрые сроки. Дело в том, что нам такой подход не годится, ведь мы используем линукс на персональных компьютерах, а не на сотовиках. Отсюда вывод: только GTK.Это ваапще круто, типа торсионионных полей. Т.е. утверждается, что для линукс не нужны конкретные работающие приложения?
"Список требований - это не правильно...
...Отсюда вывод: только GTK."Так держать.
Как по Вашему, если бы не было требований к ракете-носителю "Протон", она радовала бы глаз и облегчала бы жизнь тем, кто ее запускает?
Догоним и перегоним QT и KDE? Такими темпами они стадию бетта-теста Gnome 3.x затеят на уровне когда KDE4 будет стабильна как скала.
>KDE4 будет стабильна как скалада вы оптимист
Допилят, допилят... осенью на EEE поставил KDE-4.0.1, сейчас уже дообновлялся до 4.2.1 (4.2.2 в портежи пока не "пускают", из-за проблем c http://bugs.gentoo.org/264647). Прогресс ощущаю так сказать "ручками"... производительность и стабильность растет от релиза к релизу... а вот поставить Gnome на EEE - так половина диалоговых окон в 1024х600 вписываться не будет... по-правде сказать и в KDE такое иногда мона наблюдать, но судя по исходникам прог, где подобное всплывает, там юзается kde3support...
P.S. по поводу производительности: уже на уровне KDE-4.2.1 на EEE мона работать вполне и вполне комфортно (с вкюченными визуальными эффектами), даже при отсутствии xorg-server-1.6 в портежах и DRI2...
>производительность и стабильность растет от релиза к релизурастет производительность тулкита, а не окружения
кеды как были дырявыми, та и остались, разве что ещё десяток софтин портировали на qt4
>>производительность и стабильность растет от релиза к релизу
>
>растет производительность тулкита, а не окружения
>кеды как были дырявыми, та и остались, разве что ещё десяток софтин
>портировали на qt4Очень голословно. Посмотрите хотя бы мэйл-лист разрабов, работа идет очень интенсивно. Да, иногда очень дерзкие решения внедряются, но они хотя бы пытаются что-нибудь сделать новое, исследовать неизведанное,а не порастать мхом. Я считаю такой подход имеет право на жизнь, еще лет 60-70 назад, такими идиотами казались люди пытающиеся создать вычислительную машину.
>иногда очень дерзкие решения внедряются, но они хотя бы пытаются что-нибудь сделать новое, исследовать неизведанноенет, речь не о том. архитектура - да, молодцы, навели порядок.
я говорю о реализации, об элементарном комфорте использования, не разработки.
пользователю побоку, что есть такой классный фонон и прикольный кинетик. ему надо чтобы плазма не крашилась и чтобы диски было чем писать, понимаете
>я говорю о реализации, об элементарном комфорте использования, не разработки.
>пользователю побоку, что есть такой классный фонон и прикольный кинетик. ему надо
>чтобы плазма не крашилась и чтобы диски было чем писать, понимаетеКак бы тут появляется преимущество свободного ПО - куча альтернатив. Выбирайте, хотя бы тот же гном. Я считаю, что удобнее, то и надо использовать.
Рискуя показаться очередным троллем, но я заявляю :), что kde 4.2.2 уже юзопригодно. Плазма не крашится уже давно, в том смысле насколько я над ней издевался. Ну с записью дисков, и kde4-networkmanager да, пока токо снапшоты для KDE 4. Хотя с k3b обещала людьми (и, наверное, деньгами) Mandriva помочь.
Вообщем, кто не рискует, тот не пьет шампанского :)
>Как бы тут появляется преимущество свободного ПО - куча альтернатив.тут же проявляются и недостатки - никаких гарантий, только благие намерения
>Плазма не крашится уже давно, в том смысле насколько я над ней издевался.
значит многие баги железозависимы. что впрочем неудивительно
>тут же проявляются и недостатки - никаких гарантий, только благие намеренияNO WARRANTY - параграфы 11 и 12 GPLv2. В нашем мире нет ничего идеального, воопще. Никто не может 100% вам что-нибудь гарантировать. Не говоря уже про EULA.
>значит многие баги железозависимы. что впрочем неудивительно
Об этом уже много раз разрабы говорили. К примеру эпический фэйл дров от Nvidia. Хотя сейчас все нормально, тьфу-тьфу. Так бывает почти всегда, делаешь что-нибудь совершенно новое, используешь кардинально отличные подходы, но при этом надеешься даже не только на существующее железо, но и на софт, который лежит ниже (X сервер, драйверы), а в них, опа :), ошибки или нереализованные до конца возможности (которые пока никто до тебя не использовал). Вот и приходиться с этим жить.
>тут же проявляются и недостатки - никаких гарантий, только благие намеренияСвободное ПО дает точно такие же гарантии, как и закрытое - то есть, никаких.
> Да, иногда очень дерзкие решения внедряются, но они хотя бы пытаются что-нибудь сделать новое, исследовать неизведанное,а не порастать мхом.Вот у меня тоже ассоциация что КДЕ ето не серьёзно а так поигратся)
А вот гномовцы с программой постепенной смены тулкита очень порадовали, по поводу постепенной очистки старыx АПИ и уже сейчас за год до официального выxода тулкита возможность проверить программные интерфейсы, и начать постепенную конверсию кода, в случае необxодимости. Вот за ето огромный респект и наоборот чувствуется забота о комьюнити.
ПС: природа любит еволицию во всём, иногда нужны революции, но когда революций много ето тоже плоxо)
На вкус и цвет все фломастеры разные. Кому это нравится, а кому-то нет. Такова жизнь.
Я не претендую на истину в последней инстации.
и будет GNOME 3.0 != GNOME3? :)
Самое главное забыли - реализовать всё это на C++
Зачем? Есть vala.
Они делают так, как считают нужным, если кому-то это не по душе - он начинает использовать другие разработки, например qt.
Если же вы знаете что-то лучше их, то сделайте gnome++. Я уверен, если это будет действительно стоящий проект, за вами последует сообщество. А советовать кому-то менять путь только из-за того, что сами принадлежите другой религии, ну это знаете ли, как-то походит на насаждение демократии:)
>советовать кому-то менять путь только из-за того, что сами принадлежите другой
>религии, ну это знаете ли, как-то походит на насаждение демократии:)Религия и язык программирования имеют между собой мало общего.
Ну раз уж хотите обсудить значение слова религии в данном контексте, то ладно:) Думаю что название священные войны тоже имеют мало общего с тем явлением, которое оно обозначает.
И здесь ситуация такая же, это разные взгляды на решение схожих или одних и тех же задач. Когда один человек пишет приложение или библиотеку на С, другой делает подобное на С++ - это разные взгляды. А если один пишет на haskel, другой на perl6, но опять же, подобное, то это тоже разные взгляды. Вот разные взгляды и их настойчивое отстаивание - это обычно и называется религией. Приходит этакий умник, и говорит, допустим gtk'кашникам, - ей робяты, не занимайтесь чепухой, пора бы вам переписать её на C++. Ну придя бы ко мне такой человек, как минимум получил бы в ответ слова - перепиши сам. И поэтому часто всё это обзывается религией, священными войнами, фанатизмом и тд. Потому что есть исторические свидетельства, как в своё время "неправильных" ведьм сжигали, просто потому, что кто-то считал что это неправильно и что они ведьмы.
"Мы должны быть добрее друг к другу"(с)АССА
c++ будет наконец или хотя бы наименьшая зависимость?
> Новые возможности, которые хотелось бы реализовать в Gtk+ 3.x
> силами независимых разработчиков:...
Главное, чтобы эти свистелки и перделки не тормозили интерфейс удаленных приложений в нагруженных до коллизий сетях. Если все это будет нормально без тормозов ходить через 33600 кбит/с, то можно и с перделками. Если же нет, то нафиг надо -- прелести X-протокола ценятся выше. QT 4.x уже сдох в сетевой среде. Так пусть хоть gtk работает.
Пока армия юбунтоводов многочисленна, gtk иже с ними/нами. Про фломастеры уже писали, и как там внутри кодится - толко истинным художникам в радость. QT, как правильно заметили - всё более манагерский продукт, а значит более бездушный (слышу свист помидоров). Душевен тот, чьё имя мы здесь не называем, несмотря на весь свой глянец? Вот так и с QT vs GTK. Кому заработать, а кому и фантазии полёт. Так что ждём реинкарнации GTK, а там и софта всяко-разного.