The OpenNET Project / Index page

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

Релиз GTK+ 3.8.0 и Clutter 1.14.0

26.03.2013 13:08

За день до выхода GNOME 3.8 увидел свет стабильный релиз новой ветки многоплатформенного тулкита для создания графического интерфейса пользователя - GTK+ 3.8.0. Ветка GTK+ 3.8 полностью обратно совместима с прошлыми выпусками GTK+ серии 3.x.

В состав тулкита входит полный набор виджетов, позволяющих использовать GTK+ для проектов различного уровня и размера. Код GTK+ развивается в рамках проекта GNU и распространяется под лицензией LGPL, что позволяет использовать GTK+ не только для разработки свободного ПО, но и для создания проприетарных приложений, не требуя от производителей закрытых программ выплаты роялти или покупки специальной лицензии. С тех пор, как GTK+ был разработан в рамках проекта GIMP, тулкит используется в различных проектах, например, GTK+ лежит в основе десктоп-окружений GNOME и Xfce или используется в таких продуктах, как Firefox и OpenOffice/LibreOffice.

GTK+ спроектирован для поддержки не только C/C++, но и других языков программирования, таких как Perl и Python, что в сочетании с использованием визуального построителя интерфейса Glade позволяет существенно упростить разработку и сократить время написания графических интерфейсов. Организация вывода в GTK+ абстрагирована от типа оконных систем, например, поставляется бэкенд, обеспечивающий возможность работы поверх дисплейного сервера Wayland, а также бэкенд, позволяющий отрисовывать вывод библиотеки GTK+ в окне web-браузера (запустив Gtk-приложение на одной машине, можно открыть web-браузер на другой машине и получить доступ к интерфейсу данной программы).

Из добавленных в GTK+ 3.8.0 улучшений можно отметить:

  • Обеспечена поддержка протокола Wayland 1.0. Бэкенд, обеспечивающий возможность работы поверх дисплейного сервера Wayland, был доступен и ранее, но поддерживал ранний экспериментальный API Wayland, который был стабилизирован только после выпуска Wayland 1.0.

    По заявлению одного из разработчиков GTK+, бэкенд для поддержки Wayland в плане стабильности и функциональности, достиг уровня пригодного для повседневного использования. Например, реализована поддержка декорации на стороне клиента, что позволило придать окнам с приложениями на GTK+ привычный вид, а также обеспечить такие возможности как скруглённые углы и скрытые рамки. Кроме того, реализована корректная работа с клавиатурой и хранение настроек через GSettings;

  • Переработка GDK-бэкенда Broadway, позволяющего отрисовывать вывод библиотеки GTK3+ в окне web-браузера. В бэкенд внесены изменения для обработки соединений с использованием отдельного процесса broadwayd, который по аналогии с X-сервером берёт на себя обработку всех задач по взаимодействию с клиентскими приложениями, работа с которыми организована через браузер. Для обработки запросов через HTTP в состав broadwayd включена реализация http-сервера, а также обеспечена возможность запуска дополнительных процессов broadwayd, которые выполняют функции сходные с раздельными X-сессиями при доступе через Web. Таким образом, пользователь теперь может легко запустить broadwayd и реализовать такие схемы как работа в одном окне браузера одновременно с несколькими Gtk-приложениями или открытие нескольких браузерных сессиий.
  • Улучшение API для формирования визуальных тем, описание стиля в которых задаётся в CSS-подобном представлении с возможностью смены стиля на лету. В новой версии переработаны и расширены средства для работы со шрифтами: заданные по умолчанию параметры шрифта теперь воспринимаются как начальные значения, а не жесткие настройки, которые нельзя изменить. Добавлена поддержка CSS-свойств для задания таких параметров шрифтов и определения размеров шрифта в относительных величинах (например, xx-small, medium, smaller, larger).

    Расширены средства для изменения оформления областей ввода текста с использованием сенсорных экранов, налажен вывод фоновых изображений при отрисовке меню. Отрисовка GtkFrame теперь осуществляется в фоне. Уровень прозрачности отдельно может задаваться для любых экземпляров GtkWidget, на не только для элементов первого уровня.

  • Управление геометрией: Размер группы теперь может определяться заданием высоты с автоматическим расчётом ширины. Невидимые виджеты теперь возвращают размер 0, что позволяет использовать GtkWidget::visible по аналогии с "display: none" в CSS (для достижения эффекта "visibility: hidden" в CSS следует использовать GtkNotebook с пустой страницей);
  • Добавлена поддержка всплывающих окон, элементы которых можно выводить вместо контекстного меню при использовании на устройствах с сенсорными экранами;
  • В диалоге вывода на печать теперь автоматически выводится список доступных принтеров, наличие которых было определено через сервис avahi (действует только при сборке --enable-avahi-browsing);
  • В GtkTreeView и GtkIconView добавлена возможности активации по одному клику;
  • Добавлена поддержка протокола оконного менеджера для синхронизации кадров, позволяющего учитывать готовность вывода при отрисовке композитным менеджером. Протокол даёт возможность приложениям информировать оконный менеджер о необходимости задержать обновления вывода до завершения отрисовки в буфер элементов интерфейса, что позволяет избежать ситуаций вывода частично отрисованного окна, увеличить гладкость масштабирования и отрисовки;
  • Проведена обширная работа по увеличению производительности: оптимизирован рендеринг текста в GtkLabel и других виджетах, сокращено число операций излишней перерисовки при изменении размера группы, для ускорения загрузки пиктограмм задействован кэш GtkIconInfo, для ускорения работы CSS задействован индекс с деревом селекторов;
  • Удалена поддержка цветовых схем. Объявлена устаревшей возможность создания собственных свойств CSS. Прекращена поддержка вызовов: gtk_style_provider_get_style, gtk_style_provider_get_icon_factory, gtk_style_context_set_direction, gtk_window_set_opacity, GtkGradient и GtkSymbolicColor;
  • Изменена реализация объекта GtkIconInfo, который теперь не привязан к GObject через механизм Boxed Types. Несмотря на то, что технически наблюдается изменение ABI, на практике при использовании Boxed Types весь существующий код будет работать без изменений и GtkIconInfos невозможно использовать вне Gtk.

Одновременно представлена новая стабильная ветка графической библиотеки Clutter - 1.14.0, API и ABI которой обратно совместимы с прошлыми версиями библиотеки. Clutter активно используется для обеспечения работы пользовательского интерфейса в проекте GNOME 3. Функции библиотеки Clutter ориентированы на активное использование анимации и визуальных эффектов, что позволяет применять при создании обычных GUI приложений методы, используемые при разработке игр. При этом сама библиотека напоминает игровой движок, в котором максимальное число операций выносится на плечи GPU. Одним из основных преимуществ Clutter является то, что для создания сложного интерфейса пользователя требуется написание минимума кода. Библиотека может работать поверх OpenGL, GLib, GObject, GLX, SDL, WGL, Quartz, EGL и Pango. Имеются биндинги для языков Perl, Python, C#, C++, Vala и Ruby.

Из изменений в новой ветке Clutter выделяется обеспечение поддержки расширения XInput 2.x в качестве используемой по умолчанию системы обработки ввода при работе поверх X11. С практической стороны, переход на XInput 2.x приведёт к доступности из коробки поддержки распознавания событий и жестов для систем с сенсорным экраном. Добавлен новый класс ClutterTapAction с реализацией простой системы распознавания жестов через касания к сенсорному экрану. Для оптимизации повторной отрисовки задействован отдельный буфер, который позволил добиться увеличения производительности и избавиться от артефактов в процессе обновления содержимого экрана. Добавлена поддержка одновременной сборки бэкендов Wayland с клиентом и композитным сервером.

Дополнительно можно отметить выход новой тестовой ветки Glade 3.15.0, инструментария для быстрой разработки интерфейсов для приложений на основе GTK+. Созданный в Glade интерфейс сохраняется в формате XML, который можно затем динамически загрузить в GTK-приложение при помощи объекта GtkBuilder. XML-файлы с определением интерфейса могут быть использованы в GTK-программах на различных языках программирования, включая C, C++, C#, Vala, Java, Perl и Python. Ключевым улучшением в Glade 3.15 является реализация поддержки интерфейса Drag & Drop - виджеты теперь свободно можно перетаскивать мышью между рабочими областями Glade. Дополнительно отмечается изменение интерфейса редактора свойств, в котором высвобождено больше вертикального экранного пространства, что позволило отобразить одновременно больше доступных свойств.

  1. Главная ссылка к новости (https://mail.gnome.org/archive...)
  2. OpenNews: В HTML5-бэкенде к GTK3+ появилась поддержка запуска нескольких процессов-обработчиков
  3. OpenNews: Релиз GTK+ 3.6.0
  4. OpenNews: Релиз графической библиотеки Cairo 1.12.0
  5. OpenNews: Релиз GTK+ 3.4.0 и Glade 3.12.0 с поддержкой сенсорных экранов
  6. OpenNews: Релиз графической библиотеки Clutter 1.12.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/36500-gtk
Ключевые слова: gtk, clutter, gui
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (42) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:34, 26/03/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да релиз это хорошо но руководств по GTK 3 на русском нет и это печально
     
     
     
    Часть нити удалена модератором

  • 3.30, Пингвино (ok), 18:31, 26/03/2013 [ответить]  
  • +2 +/
    Таки да, необходимо изучать английский язык.
     
     
  • 4.60, Аноним (-), 20:06, 27/03/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Это печально, дискриминация.
    Унижение со штатов
     
     
  • 5.61, Пингвино (ok), 06:07, 28/03/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Это печально, дискриминация.
    > Унижение со штатов

    Какая такая дискриминация? По факту английский язык - это международный язык, вот и всё.

     
  • 2.57, Аноним (-), 16:55, 27/03/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пишите на Qt. Имеется печатная литература на русском.
     

  • 1.3, Аноным (ok), 13:43, 26/03/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ФФ использует, да не той версии, а ведь уже прошло...
     
     
  • 2.13, paulus (ok), 14:26, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > ФФ использует, да не той версии, а ведь уже прошло...

    угу, даже midori-gtk3 есть, а ff как-то не видать...


     
     
  • 3.49, Хрен с горы (?), 22:26, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    https://bugzilla.mozilla.org/show_bug.cgi?id=627699
    Процесс идет :)
     

  • 1.5, Xasd (ok), 13:55, 26/03/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    для Венды -- существует скомпилированный вариант? (разумеется не какой-нибудь там 32-битный, а нормальный 64-битный)
     
     
  • 2.12, Xasd (ok), 14:25, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • +/
    сам спросил -- сам отвечаю -- существует кой какие неофициальные билды,
    в том числе 64-битные...

    http://opensourcepack.blogspot.ru/p/pygobject-pygi-aio.html

    не 3.8.0 -- но всё равно относительно свежие ^_^

     
     
  • 3.34, Аноним (-), 19:09, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > http://opensourcepack.blogspot.ru/p/pygobject-pygi-aio.html

    GTK? Под винду? Да еще бидон? О, мсье знает толк в извращениях.

     

  • 1.7, тупой хомяк (?), 14:04, 26/03/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Clutter.. Прекрасны линукс-композиты из-за которых даже видео нормально не посмотришь, особливо в окне.
     
  • 1.16, Аноним (-), 14:38, 26/03/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >Улучшение API для формирования визуальных тем, описание стиля в которых задаётся в CSS-подобном представлении с возможностью смены стиля на лету. В новой версии переработаны и расширены средства для работы со шрифтами: заданные по умолчанию параметры шрифта теперь воспринимаются как начальные значения, а не жесткие настройки, которые нельзя изменить. Добавлена поддержка CSS-свойств для задания таких параметров шрифтов и определения размеров шрифта в относительных величинах (например, xx-small, medium, smaller, larger).

    Опять темы поломали...

     
     
  • 2.35, Аноним (-), 19:09, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Опять темы поломали...

    А что из этого приводит к поломке?

     
  • 2.39, Необъективный_ (ok), 19:26, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Надо позитивнее:
    "У разработчиков тем для Gtk+ 3.x появилась возможность в очередной раз проникнуться простотой и красотой предоставленного API и перечитать документацию, чтобы исправить свои жалкие поделия."
     
  • 2.43, Аноним (-), 20:55, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    В общем-то с выходом Адвайты все эти сторонние темы стали не нужны. Ещё бы они запили нормальные иконки по-умолчанию. Например, Фаэнзу или Элементари.
     
     
  • 3.51, Аноним (-), 22:50, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • +/
    В Гноме 3.8 иконки поменяются - http://worldofgnome.org/new-default-folder-icons-for-gnome-3-8/
    Правда, пока только для папок.
     

  • 1.19, Mihail Zenkov (ok), 15:00, 26/03/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В GtkTreeView и GtkIconView добавлена возможности активации по одному клику;

    Интересно, добавят ли когда нибудь открытие файлов/директорий одним кликом?

     
     
  • 2.29, BayaN (ok), 18:30, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты должен быть благодарен судьбе за то, что вообще оставлена возможность открывать и выбирать файлы! Ведь это слишком сложно для простого пользователя и требует дополнительных навыков и умений.
     
     
  • 3.33, anonymous (??), 18:41, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ты должен быть благодарен судьбе за то, что вообще оставлена возможность открывать
    > и выбирать файлы! Ведь это слишком сложно для простого пользователя и
    > требует дополнительных навыков и умений.

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

     
  • 3.37, Необъективный_ (ok), 19:19, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • +/
    На протяжении нескольких релизов в Gtk+ была сломана функция выбора каталога. (Она всегда возвращала адрес домашнего каталога вместо выбранного.) И ничего, пользователи как-то пережили... А пользователи последнего (не LTS) релиза убунту могут до сих пор радоваться этому багу в своей системе.
     
     
  • 4.45, Аноним (-), 21:12, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > На протяжении нескольких релизов в Gtk+ была сломана функция выбора каталога. (Она
    > всегда возвращала адрес домашнего каталога вместо выбранного.) И ничего, пользователи
    > как-то пережили... А пользователи последнего (не LTS) релиза убунту могут до
    > сих пор радоваться этому багу в своей системе.

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

     
     
  • 5.46, Необъективный_ (ok), 21:59, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Хм, никогда не замечал.

    Пришел Аноним и высказал свое ценное мнение.

    > Это один из тех багов про которые знают в основном тролли для наброса в гномо-срачах.

    Это один из тех багов, о который споткнулись реальные пользователи программ. Кроме того, некоторые пользователи не поленились отправить баг-репорты авторам программ. Из-за чего, в частности, мне об этом баге известно, хотя в моем дебиане он не наблюдается. Для справки: https://bugs.launchpad.net/gtk/+bug/1125260

    > Наряду с выпиливанием 2-х панельного режима из наутилуса, который я тоже ни разу не использовал за ~10 лет пользования гномом.

    Те, кто пользовался этой функцией, очень за тебя рады.

    Кстати, при чем тут вообще гном? По делу возразить нечего...

     
  • 4.48, ArtKun (?), 22:13, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >Gtk+ была сломана функция выбора каталога

    Была? Уже починили что ли? Пора написать в багзиллу.

    //Fedora 17 & Fedora 18 user here.

     
     
  • 5.55, Необъективный_ (ok), 01:02, 27/03/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Была? Уже починили что ли? Пора написать в багзиллу.

    По ссылке почти все есть:
    https://bugzilla.gnome.org/show_bug.cgi?id=691040

    Ссылку на коммит тоже можно найти при желании:
    http://git.gnome.org/browse/gtk+/commit/?id=81df0059

    > //Fedora 17 & Fedora 18 user here.

    А вот тут ничем помочь не могу. Пинайте мейнтейнеров своего дистрибутива...

     

  • 1.21, BayaN (ok), 15:53, 26/03/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    >Организация вывода в GTK+ абстрагирована от типа  оконных систем

    Но в этом нет ничего страшного, авторы конечных приложений и Gnome быстро исправят этот недостаток.

     
     
  • 2.31, Аноним (-), 18:32, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    это каким же образом, пропатчат gtk+ ?
     
     
  • 3.36, Аноним (-), 19:11, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > это каким же образом, пропатчат gtk+ ?

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

     
  • 3.38, Необъективный_ (ok), 19:21, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    По моему скромному опыту многие проги на Gtk+ 2.x так же используют библиотеки иксов. Искренне надеюсь, что в скором времени ситуация изменится.
     
     
  • 4.42, BayaN (ok), 20:21, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Конечно изменится, теперь они будут гвоздями прибиты к Wayland =)
     

  • 1.26, Аноним (-), 16:35, 26/03/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Очень хорошая новость!
     
  • 1.40, dr Equivalent (ok), 19:45, 26/03/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Не, все это безусловно радостно, но е-мое, что за хрень с заголовками на скрине?
     
  • 1.41, Аноним (-), 20:16, 26/03/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Эта долбаная фигня наконец научилась переключаться по вкладкам колёсиком мышки? GTK 2 умеет, Qt умеет, только эта фиговина - нет.
     
     
  • 2.47, zzzzz (??), 22:05, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Эта долбаная фигня наконец научилась переключаться по вкладкам колёсиком мышки? GTK 2
    > умеет, Qt умеет, только эта фиговина - нет.

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

     
     
  • 3.50, Аноним (-), 22:32, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот ... Блин, теперь точно на Midori с GTK3 версией не перейду, останусь на GTK2. И ведь блин, Audacious на него безальтернативно перевели, выбор плейлистов стал адом. Ну сделали бы отключаемым, зачем прибивать-то? Точно к третьему релизу последние мозги растеряли...
     
     
  • 4.52, anonymus (?), 22:58, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну дак напиши патч, там кода строчек на 30. ну, или отправь фичреквест. опенсорц же. хотя в каждую прогу отдельно добавлять поддержку - это не кул, да.
     
     
  • 5.53, Аноним (-), 23:23, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > ну дак напиши патч, там кода строчек на 30. ну, или отправь
    > фичреквест. опенсорц же. хотя в каждую прогу отдельно добавлять поддержку -
    > это не кул, да.

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

     
     
  • 6.56, Аноним (-), 09:15, 27/03/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пропатчил, скроллинг работает. Патч взял отсюда, чуть подправив под себя номера строк https://launchpadlibrarian.net/101685319/undo_no_scroll.patch .
     
  • 5.54, zzzzz (??), 23:52, 26/03/2013 [^] [^^] [^^^] [ответить]  
  • +/
    точно искать лень, но в обсуждении вопрос стоял так: мы выпилили и возвращать не будем. так что только патч на гтк, который придется поддерживать самому.
     
  • 3.59, Аноним (-), 17:04, 27/03/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >гноморазрабы выкинули эту фичу, т.к. на сенсорных дисплеях возможность прокрутки табов приводит к взрыву мозга. возвращать это они не собираются=(

    Мда, у гномоводов планшет головного мозга...

     

  • 1.44, anonymus (?), 21:09, 26/03/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А как у broadway  с поддержкой мобильных браузеров, кто-нибудь пробовал его с планшета, например, потыкать?
    И еще вопрос про заголовки: теперь в gtk и qt не только тема виджетов будет разная, но и заголовки? Не хотеть!
     
     
  • 2.58, Аноним (-), 16:59, 27/03/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А шо ви хотели? Wayland way однако.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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