1)«Gtk::Grid is a new container widget that will eventually replace Gtk::Box and Gtk::Table. It arranges its children according to properties of those children rather than its own layout details.» оно стало удобнее или как гном3?
2)как с производительностью? тыкал гном3, он раза в 4 тормознее, даже чем кде со всеми эффектами, а уж рядом с Мэйт... это вина тулкита?
3)как там с багами?
4) Gtk::Style and Gtk::Rc were removed, replaced by Gtk::StyleContext, and Gtk::StyleProviders, such as Gtk::CssProvider.
но зачем?
5)Gdk::Pixmap and Gdk::Bitmap were removed in favour of Gdk::Pixbuf.
2)как с производительностью? тыкал гном3, он раза в 4 тормознее, даже чем кде со всеми эффектами, а уж рядом с Мэйт... это вина тулкита?
Не сравнивал с другими тулкитами, но нетбуке с атомом вместо процессора gtkmm3 хелловорлд стартовал ощутимо дольше, чем аналогичный хелловорлд на gtk3. На i3 разницы уже не видно. Запустившись, работает вполне резво.
Gtk::Style and Gtk::Rc were removed, replaced by Gtk::StyleContext, and Gtk::StyleProviders, such as Gtk::CssProvider.
Gtk3 переехал с ini-конфига тем на полноценный css, посему соответствующие внутренние интерфейсы поменялись.
5)Gdk::Pixmap and Gdk::Bitmap were removed in favour of Gdk::Pixbuf.
щель вся на js поскольку щель у них монолитным куском... куском короче используется похоже для всего (привилегии, чатик, павер-мэнэджмент), то да во все поля
gtkmm - библиотека-биндинг, прослойка между API C++ и gtk. Плюс там задействована sigc++ для обработки сигналов. Отсюда оверхед и дополнительное время на инициализацию всех подсистем. Только этим можно объяснить более долгий запуск.
Если так интересует разработка на gtk с полноценным ООП, предлагаю посмотреть в сторону vala. Это конечно не С++, эта вещь ближе к C#, но на мой взгляд вполне достойная замена. Главный бонус - нет рантаймовой прослойки.
я конечно не уверен, что здесь подразумевается под словом «ядро», но могу лишь сказать, что js-код использует introspection-биндинги (gjs) к обычным библиотекам - clutter, libmutter и т.д.
KDE же тоже заскриптован по уши. Один KWin чего стоит. Как они добились быстрой работы связки C++ + Js я не знаю, но KWin действительно очень быстро работает.
Хотя можно было конечно прикрутить API для того же js или питона. А можно и для того и для другого и еще и для расширений в виде бинарных файлов на том же vala, C или C++. Да ещё с возможносью отключить ненужные API на этапе компиляции для уменьшения числа зависимостей. Эх, мечты, мечты...
подозреваю, что выбор чисто из соображений популярности и что люди будут писать дополнения.
но при этом дополнения к продукту с почти фошыстским управлением и, такое ощущение, активным противодействием каким-либо отличным от ген. линии веяниям.
к тому же народ пишет для чего-то что уже тем или иным образом захватило кусок рынка и желательно работало уже неплохо. гнум не может похвастаться ни тем ни другим.
вообще всё это вызывает впечатление какого наркоманства или саботажа. или и того и другого.
не знаю, что на счет биндинга в c++, должно вроде как все быть аналогично.
Собственно, был добавлен GtkRevealer - бокc для показа контейнера с анимацией.
GtkStackSwitcher - переключение между контейнерами с возможностью анимации.
GtkStack - добавлен в Gtk3.10, может иметь только один контейнер, используется для переключения stackswitch'ером.
Собственно, получается при совмещении набор кнопок, каждая ответственна за показ привязанного стака. Можно использовать и иконки в качестве названия использовать.
GtkFlowBox - очередной контейнер, последовательно располагающий дочерние элементы (могут быть только FlowChild).
GtkHeaderBar - собственно в гноме 3.12 все это видели с возможностью совмещения декораций и функционала. В качестве заголовка может быть абсолютно любой виджет.
GtkApplication, GtkApplicationWindow - вроде как связка для управления окнами одного приложения. Собственно, надобности не было, потому не использовал.
GtkPopover - собственно меню с треуголником. Ну и можно туда рандомные виджеты помещать. Хорошая и годная идея.
Из функций, мне известных ввиду активного пользования:
в GtkWidget добавили margin (start, end, top, bottom), дополнительное управление занимаемым пространством (vexpand, hexpand, valign, halign), css стилизация (style_context + CssProvider).
Есть несколько стандартных css классов (suggested-action - делает кнопки синими, что-то для HeaderBar, не помню сейчас уже название, можно погуглить в гайдлайнах гнома если интересно)
Из негатива:
Удалили возможность прицепления иконок для контекстного и обычного меню. Видете ли прошлый век и не нужно.
Это я поверхностно задел тему, начиная с 3.10 gtk, ибо самая актуальная версия на мой взгляд.