За считанные часы до выхода GNOME 3.12 представлен (https://mail.gnome.org/archives/gnome-announce-list/2014-Mar...) стабильный релиз новой ветки многоплатформенного тулкита для создания графического интерфейса пользователя - GTK+ 3.12.0 (http://www.gtk.org/). Ветка GTK+ 3.12 полностью обратно совместима с прошлыми выпусками GTK+ серии 3.x.В состав тулкита входит полный набор виджетов, позволяющих использовать GTK+ для проектов различного уровня и размера. Код GTK+ развивается в рамках проекта GNU и распространяется под лицензией LGPL, что позволяет использовать GTK+ не только для разработки свободного ПО, но и для создания проприетарных приложений, не требуя от производителей закрытых программ выплаты роялти или покупки специальной лицензии. С тех пор, как GTK+ был разработан в рамках проекта GIMP, тулкит используется в различных проектах, например, GTK+ лежит в основе десктоп-окружений GNOME и Xfce или используется в таких продуктах, как Firefox и OpenOffice/LibreOffice.
GTK+ спроектирован для поддержки не только C/C++, но и других языков программирования, таких как Perl и Python, что в сочетании с использованием визуального построителя интерфейса Glade (http://glade.gnome.org/) позволяет существенно упростить разработку и сократить время написания графических интерфейсов. Организация вывода в GTK+ абстрагирована от типа оконных систем, например, поставляется бэкенд, обеспечивающий возможность работы поверх дисплейного сервера Wayland, а также бэкенд, позволяющий отрисовывать вывод библиотеки GTK+ в окне web-браузера (запустив Gtk-приложение на одной машине, можно открыть web-браузер на другой машине и получить доступ к интерфейсу данной программы).
Из добавленных в GTK+ 3.12.0 улучшений (https://developer.gnome.org/gtk3/3.12/) можно отметить:
- Бэкенд (https://live.gnome.org/Wayland/GTK+), обеспечивающий возможность работы поверх дисплейного сервера Wayland, переведён на использование технологий Wayland 1.4 (http://www.opennet.me/opennews/art.shtml?num=38923). Для организации взаимодействия между приложениями и десктоп-окружением задействован протокол xdg-shell (https://wiki.tizen.org/wiki/Wayland_xdg-shell_protocol);
- Расширены возможности бэкенда Broadway (http://git.gnome.org/browse/gtk+/log/?qt=grep&q=broadway), позволяющего отрисовывать вывод библиотеки GTK3+ в окне web-браузера. Для обмена данными теперь применяются только бинарные буферы и современный протокол WebSocket. Для оптимизации прокрутки задействованы кольцевые хэши. Реализована поддержка декарирования окон на стороне клиента. Добавлена обработка событий ввода с сенсорных экранов и поддержка экранной клавиатуры IPad;
- Добавлен виджет GtkFlowBox (https://developer.gnome.org/gtk3/3.12/GtkFlowBox.html), реализующий контейнер для расположения дочерних элементов с вёрсткой по сетке. Поддерживается полный набор режимов выделения, а также функции сортировки и фильтрации;<center><a href="https://developer.gnome.org/gtk3/3.12/flow-box.png">... src="http://www.opennet.me/opennews/pics_base/0_1395818167.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
- Добавлен виджет GtkActionBar (https://developer.gnome.org/gtk3/3.12/gtk3-GtkActionBar.html), предоставляющий панель для отображения контекстных действий. Например, для отображения кнопок внизу окна;
- Добавлен виджет GtkPopover (https://developer.gnome.org/gtk3/3.12/GtkPopover.html) для замены меню и диалогов на контекстно зависимые блоки;
- Расширено число элементов для которых доступны средства для людей с ограниченными возможностями, том числе такая поддержка добавлена для ссылок в метках, модельных меню, GtkColorChooser и разных виджетах;- Улучшена интеграция с системой меню платформы OS X, по умолчанию в OS X теперь предлагается глобальное меню приложения;
- Объявлены устаревшими режимы изменения размера в GtkContainer, геттеры и сеттеры для изображений в GtkMessageDialog и вызов gtk_dialog_get_action_area();
- Усовершенствовано оформление внешнего вида всех диалогов, обновлён стиль вкладок в виджете GtkNotebook;- В дочерние элементы GtkStack добавлена поддержки индикации наступления события, к которому необходимо привлечь внимание;- В GtkProgressBar добавлена поддержка плавной анимации;- Во многие контейнеры добавлена поддержка отрисовки фоновых изображений и бордюров;- В реализацию диалога управления выводом на печать добавлена поддержка сервиса Google Cloud Print.URL: https://mail.gnome.org/archives/gnome-announce-list/2014-Mar...
Новость: http://www.opennet.me/opennews/art.shtml?num=39408
Хороший набор изменений особенно если посмотреть гит, уважаю этот проект
Тут есть видео, рассказывающее о некоторых нововведениях:
http://worldofgnome.org/gtk-3-12-top-101-features/
Недавно тыкал палочкой GTK, это какая то садомия а не работа с графическим интерфейсом. На дворе 21 век уже давно, где нормальные IDE с поддержкой GTK, где визуальные редакторы? Anjuta и Glade - это не серьезно, безусловно с помощью этих двух инструментов можно наваять гуй-программу, но сколько сил и средств на это уйдет? Нужно что-то похожее на QtCreator или Netbeans/Swing.Да GObject - это прорыв, но этого уже мало.
Все правильно, не для школьников.
Все правильно.
Са̀домазохи́зм — сексуальное отклонение, заключающееся в достижении полового удовлетворения посредством душевного или физического страдания, причиняемого партнеру или самому себе в процессе партнерских взаимоотношений.
Всё правильно.
Всё равно не для школьников.
Это и хорошо, это будет нужно только полутора хуру-землекопам.
> Всё равно не для школьников.И вообще не для людей. Ну так в программировании это давно считается нормальным, многими даже приветствуется. Так что не проблема, жили так и дальше будем так же жить.
Цена за производительность (ну, тут я может погорячился) и за универсализм. Зато, когда пишешь софт, понимаешь, как оно работает, всё более-менее прозрачно. Вообще, идеи заложенные в GTK очень даже нравятся. А в привязке к Питону он невероятно прост в использовании.
Правда? Что-то смотря на GTK приложения этого не видно.
Вы не застали фразу - "дельфи какашка, это инструмент используют говнокодеры которые ничего кроме кнопок не умеют"? возможно теперь все боятся что-бы их в этом же не обвинили ;)А если серьёзно, продуманную оболочку, для разработки ГУИ сделать может оказаться сложнее
чем тулкит, т.к. в этой такой работе очень сложно с разделением на труда блоки. Тут скорее нужна работа архитектора(мнение которого ещё и будет принято потенциальными пользователями как правильное) и подчинённых точно выполняющих указания, а такую работу сложно организовать.
GObject - это кусок G
> где нормальные IDE с поддержкой GTK, где визуальные редакторы?Эмоция понятна (сам её испытываю),
но эту претензию скорее надо адресовать не разработчикам GTK (они своё дело сделали), а сообществу, которое телется сделать нормальную Delphi-подобную среду для разработки гуёвых приложений.Хотя, Lazarus вполне подходит на эту роль. Но тем, кого в линуксе не совсем устраивает паскаль (как меня, например), приходится писать гуйню ручками в текстовом редакторе. И это мартышкин труд, согласен. Но в мире СПО трудно кого-то винить - сами себе злые буратины.
А превьюшки в диалогах открытия файлов когда будут? В KDE есть, в щиндовсе есть, а в gtk — до сих пор только показ thumbnail'ов 16x16 из кэша и костыли приложений (превью выбранного файла справа).
Все правильно, как говорят выше - не для школьников! :-)
>Добавлен виджет GtkFlowBoxОтлично, я считаю
Gtk машт флоу
А главное - оперативно. 14й год всего на дворе)
в гтк действительно не было подобного лейаута? я в шоке
И по традиции через несколько дней после релиза GTK+-3.12 ждем GNOME 3.12
Сегодня же
Кто там жаловался, что под wayland продвигаются декорации окон от приложений? Зоопарк с оформлением приходит и в иксы. В новых гтк-программах единых заголовков окон вообще не будет, все рисуется через гтк.
> Добавлен виджет GtkPopover для замены меню и диалогов на контекстно зависимые блоки;Дениска Попов затесался в команду разработчиков Gnome ?
Если так, то он шикарен. А точнее, шикарен этот виджет. Не нужно создавать отдельное диалоговое окно на каждый чих.
Склонность опенсорсников к решению несуществующих проблем, конечно, еще найдет своего исследователя-психиатра. Вот, есть уже вполне работающий второй gtk+, так нет же: похороним гном2, бросимся писать gtk+3. А то, что пользователи бегут кто куда, - дык кто о них думает, болезных. Быдлокодить всяко важнее.
> Склонность опенсорсников к решению несуществующих проблем, конечно, еще найдет своего
> исследователя-психиатра. Вот, есть уже вполне работающий второй gtk+, так нет же:
> похороним гном2, бросимся писать gtk+3. А то, что пользователи бегут
> кто куда, - дык кто о них думает, болезных. Быдлокодить всяко
> важнее.Сначала сбежали, потом вернулись. Оказывается, они неплохие идеи в Гном заложили, но реалиовали как надо только сейчас.
Но вот чего жууутко не хватает - это возможностей кастомизации. Где всевозможные апплеты, индикации, панели?! Где возможнось влёгкую переопределить что угодно в теме интерфейса под свой вкус? Это то, что меня когда-то в Гноме2 привлекло. А сейчас всё грустно в этом плане.
В расширениях
Кто-нибудь, поясните, пожалуйста, следующий момент: если Gtk c версии 3 переведен с GDK на Cairo для отрисовки, то зачем продолжают использовать GDK?
GDK -- это Gnome Display Manager, это API для работы с дисплеем, эдакая обёртка над нативным API работы с окнами, рабочими столами, X-серверами и пр. GDK, исторически, включал в себя и ряд других возможностей Xlib, завёрнутые в GObject интерфейсы, в частности и такую функциональность, как отрисовка отрезка, дуги окружности, кривой безье, битмапа и пр. Но в связи с развитием и проникновением везде библиотеки Cairo (дублирующей эту функциональность и добавляющей новых возможностей), от использования GDK и для целей отрисовки отказались, и назначение GDK теперь максимально соответствует названию.
Пользуясь случаем, прорекламирую порт темы Clearlooks на GTK+ 3 — Clearlooks-Phénix:http://packages.qa.debian.org/c/clearlooks-phenix-theme.html
почему столько нареканий на gtk3 объясните кто в теме пожалуйста кратко если возможно?
Потому что она немного другая
Причем, если раньше были одни косяки из рисовалки (см. ранее), то теперь вылезли косяки связанные как с рисовалкой, так и с тем, что виджеты ну ОЧЕНЬ АКТИВНО, перепиливаются
А теперь давайте добавим, что заставить пакетный менеджер той же убунты 12.04 скушать последний тулкит, фактически сложнореализуемо (собрать самому, испортить в системе всё нафиг), линковка и либы тоже местами сделаны гребанными придурками (*а у меня всё "работает"*)...
В общем, чтобы "попробовать" нужно мягко говоря, надорваться... А это означает, что негатив исходит от (100% - все минусующие):
1. Неосиляторов (~3%)
2. От тех, кто даже не пробовал, просто хочется негативчику (~96%)
3. От тех, кто после 2-3 дневного развлечения вляпался в новые "фишки" (~1%)
Т.е. для обычного "неписателя на С" всё должно быть прекрасно и рисуется быстро и т.п., только бы железка пожирнее была бы
Да, ещё негатива добавляет очень большое количество различных библиотек, которые линкуются для "более современной работы", что приводит к немеренному жору памяти от формы с один контролом, что тоже не есть гуд.
Кстати, не в курсе, как там с поддержкой тачскринов? Есть возможность обрабатывать жесты каким-нибудь образом?
Всегда "казалось", что "управление жестами" - это внешняя сторона интерфейса, аналогичная "горячим клавишам" и т.п.
Ни одного примера не видел, только внешние утилиты
Можешь сказать примеры этих утилит и как ими пользоваться вкратце? Просто по идее, в GTK должна быть поддержка жестов в любом случае, например, чтобы при пролистывании того же самого GtkTreeView выполнялся не drug'n'drop, а именно пролистывание. Я нашёл в новых версиях GTK3 событие связанное с обработкой нажатий тачскрина, но упоминается оно только в гите и в ченжлоге, документации почти никакой не было.В частности необходима возможность вращения объекта двумя пальцами.
Тут я не силён, потому что исходников не смотрел, с жестами имел дело только на уровне "поиграться в горячие клавиши" и забыть
uTouch - Вам в помощь
Да и в исходниках компонент, при желании, можно посмотреть, только не всем интересны танцы с лезвиями в карманах, пускай и со стороны
Благодарствую за обстоятельный ответ.В генте не было особой проблемы собрать с gtk3-флагом, однако после сборки некоторых пакетов (например емакс с gtk3) они становятся либо страшными на вид, либ мало-юзабельны. Мне встречались нарекания на gtk3 больше всего от программистов в основном, но и на вопросы о решении gtk3-проблем как правило на форумах молчание...
> почему столько нареканий на gtk3 объясните кто в теме пожалуйста кратко если
> возможно?Потому что переделали всё! Потому что людям приходится переводить софт на GTK3 с GTK2. Потому что они могут взять и убрать многопоточность. Потому что виджета для отрисовки через OpenGL довольно долго не существовало, приходилось извращаться (А на GTK2 - был). В остальном - GTK3 намного лучше и удобнее, чем GTK2. Взять хотя бы стили. Теперь они похожи на стили CSS, а не так как раньше - какой-то гибрид пространств имён C++ и стилей CSS.
Вообщем, нет нареканий. Просто переписывать софт людям тяжко.
Они вернули кнопки "свернуть", "развернуть" для nautilus!!!