LINUX.ORG.RU

Вышел GTK+ 3.4.0

 , , ,


0

3

Увидела свет новая версия популярной библиотеки для создания графических интерфейсов — GTK+ 3.4.0. Список новшеств:

  • Поддержка меню в GtkApplication.
  • Новый виджет для выбора цвета.
  • Улучшена поддержка устройств тактильного ввода:
    • Новые устройства GDK_SOURCE_TOUCHSCREEN и GDK_SOURCE_TOUCHPAD.
    • Новые события GdkEventTouch и GDK_TOUCH_MASK.
    • Новый сигнал GtkWidget::touch-event.
  • Поддержка плавной прокрутки (smooth scrolling).
  • На устройствах с тачскринами поддерживается кинетическая прокрутка (kinetic scrolling).
  • Значительно улучшена поддержка Mac OS X.
  • Впервые в ветке 3.x официально поддерживается Windows.
  • Значительно дополнен бекенд для Wayland.
  • Улучшена поддержка тем:
    • Более полная поддержка CSS (можно использовать 'transparent' в качестве цвета, добавлены свойства 'background-clip', 'background-origin', 'background-size', добавлен синтаксис задания линейного градиента).
    • В CSS поддерживаются проценты, углы и другие единицы измерения.
    • Во всплывающих подсказках можно использовать скругленные углы.
    • Можно задавать отдельные темы для окон без фокуса.

>>> Подробности

★★★★★

Проверено: tazhate ()
Последнее исправление: Silent (всего исправлений: 4)

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

Затем, что в evince C-w это закрытие текущего окна (единообразно с браузерами), а не «выход» (когда закрываются все окна приложения).

в браузере ctrl+q работает, ЧЯДНТ?

Не понимаешь разницы между закрытием одного окна/таба и выходом из программы (закрытием всех окон).

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

совершенный со своими OLE/COM/ActiveX.

щито?? Дооо, эти дыры совершенней некуда.

В том контексте, о котором шла речь, дыры тут сводиться к дырам в любой либе используемой нескольким приложениями. То есть заявление вообще не уместно. Ведь 2012 год на дворе, а в моем Linux-е нет возможностей времён Windows 98. Мало того, что сходные программы используют свой отдельный вид (файл/шрифт и т.п. Диалоги) и еще и свои отдельные настройки и методы хранения настроек, да еще и программисту нельзя создать прямоугольных контекст и добавить/переопределить туда вывод виджета (виджета, а не программы или процесса с которым нужно еще определять взаимодействие, настраивать его роботу и т.п.). И это при такой махине как X Server.

Религиозные войны гиков на тему рассовано чистых машин без Qt/GTK+ , противоречат здравому смыслу, где разработчикам не нужно плодить велосипеды только из-за отсутствии оного под необходимый тулкит фреймворк и это при заведомой ориентации на ПК, а не специфичные устройства.

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

а в моем Linux-е нет возможностей времён Windows 98

потому что это там не нужно, вообще не нужно

Мало того, что сходные программы используют свой отдельный вид (файл/шрифт и т.п. Диалоги)

в kde модуль просмотра изображений(gwenview), отображение списка файлов/есц(dolphin) и много чего используется совместно. К примеру в долфине у меня открываются архивы как папки с помощью ark, в конкуерор отображаются папки за счет модуля долфина. И т.п. Все выглядит как одно целое и использует один инструмент - Qt.

свои отдельные настройки и методы хранения настроек,

а кто виноват что в гноме запилили реестр?

да еще и программисту нельзя создать прямоугольных контекст и добавить/переопределить туда вывод виджета

см. Qt

чистых машин без Qt/GTK+

Qt - прекрасно вписывается в интерфейс гнома. Никто не виноват что GTK+ никак нормально не может отображать темы сложнее Windows 98

И это при такой махине как X Server

если бы это все юзало X сервер у тебя бы не тормозили тока DE конца 90х(?). Иксы не нужны, его технологии давно умерли, и пора делать современную замену.

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

Не понимаешь разницы между закрытием одного окна/таба и выходом из программы (закрытием всех окон).

понимаю. хочу выходить из evince по ctrl+q, как из всех остальных приложений. что не так?

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

На пункте меню нажми C-q и оно перманентно изменится.

попытался это нажимать в меню — не работает. ничего не меняется, остается ctrl+w. (evince)

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

Никто не виноват что GTK+ никак нормально не может отображать темы сложнее Windows 98

Ты упорот?

Иксы не нужны, его технологии давно умерли, и пора делать современную замену.

Ага, точно упорот.

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

галочка помогла. огромное человеческое спасибо.

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

Речь шла не о необходимости (или еë отсутствии) сидеть в винде, а о кросс-платформенном софте.

Ты заявил, что разработчики сабжа зря делают поддержку винды, что могли бы заняться чем-нибудь другим. В качестве причины, судя по всему, была твоя неприязнь к Windows.

Я же в ответ сказал, что желание делать кросс-платформенный софт вместо прибивания кода гвоздями-и-всем-что-под-руку-подвернëтся к какой-то одной платформе, наоборот, следует только приветствовать, и твоë мнение относительно [не]нужности винды никого волновать не должно — не такая ты важная особа, чтобы разработчики под твои хотелки прогибались.

anonymous
()
Ответ на: комментарий от sigsegv
>с gtk2 проблем нет и не было. гуглить насчет gtk3 пытался. нашел несколько инструкций, но ничего не получилось. можно конкретный линк с инструкцией, которая работает без гнома?

require 'ffi-gtk3'

Gtk.init

main_window = Gtk::Window.new(:toplevel)
main_window.set_border_width(10)

GObject.signal_connect(main_window, "delete-event") {
    Gtk.main_quit 
    true
}

GObject.signal_connect(main_window, "destroy") { 
    Gtk.main_quit 
}


button = Gtk::Button.new_with_label("Change theme to HighContrast")

GObject.signal_connect(button, "clicked") { 

    css_provider = Gtk::CssProvider.new()
    css_provider.load_from_path ("/usr/share/themes/HighContrast/gtk-3.0/gtk.css")

    style_context = main_window.get_style_context();
    style_context.add_provider(css_provider, Gtk::STYLE_PROVIDER_PRIORITY_THEME)
}

main_window.add(button)
main_window.show_all()

Gtk.main

/me разбил голову фейспалмами. Вы издеваетесь?

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

вот чего я вообще не понял, так это зачем вообще xfce пытается выставлять тему gtk3. особенно так криво.

Не криво, а нормально. Создаёшь директорию, называешь wakerTheme. Запихиваешь туда похожие gtk2 и gtk3. Радуешься.

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

GObject.signal_connect(main_window

Кто до этого догадался?

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

потому что это там не нужно, вообще не нужно

Оно там нужно, потому что я так решил. :)

см. Qt

Ну понятно, типичный фанатик борящийся за чистоту от некоторых тулкитов. Вы наверное и в Бога/НЛО/ГМО(...) верите?

Вот банально кто-то разработал сложное приложение на GTK+. Решил поделится разработками, выделел отдельные виджеты в отдельные либы. Технически, другим программыстам должно бысть просто реализувать общение другим GUI приложениям через несколько вызовов с выделеными виджетами. Как я сказал в Windows 98 данную проблему решили.

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

anonymous
()

Быстрее бы обновиться до 3.4 Гном это лучшее что пробовал.

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

твоë мнение относительно [не]нужности винды никого волновать не должно

Давай только без этого детского сада, окей? У кого софт, у того и доля рынка. Есть софт - люди пользуются, есть доля рынка. Нет софта (игр, например), люди не пользуются, нет доли рынка. При чём тут вообще мнения?

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

Если задача увеличить долю линукса - то зря они поддерживают винду. Если такой задачи нет - разговор другой. Идея простая, понятная, и со всякой ерундой типа «важная особа\неважная особа» связи не имеющая.

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

Интересно, как же ты представляешь себе увеличение доли линукса непортируемым Linux-only софтом? Как предлагаешь переманивать пользователей с платформ, под которые есть 99.999% имеющегося в линуксе ПО ([немалая] часть которого и затевалась как аналоги программ с не-линукса)?

Кросс-платформенным софтом ещë можно как-то попробовать привлечь новых пользователей, платформо-завсисимым — почти бесполезно. При всëм разнообразии программ под Linux «там» их всë равно больше. И, к сожалению, нередко более качественных (пусть и небесплатных, но писать цену в список преимуществ линукса следует осторожно, если не хочешь прославить его как «ОС для нищебродов»).

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

Это ты очередной фанатик, не писавший ни на GTK ни на Qt

Вы таки будете смеяться. Но, программирую как под GTK+, так и под Qt (правда последнее время только под Qt). И в подобных задачах, как раз главная проблема правильно обрабатывать процессы, для того что-бы вставить виджет GTK+ в Qt программу теоретически особо даже потеть не нужно, можно просто создать фрейм-буфер переопределяющий вывод в прямоугольную область в Qt (благо в GTK+ может просто рисовать практически куда угодно), но вот обработка событий/передача фокуса там так по разному сделана, что без внесение изменений в GTK+ тяжело обойтись. Работа с событиями на базовом уровне могла бы быть вынесена в стороннюю либу/слой, которая бы использовалась как GTK+ так и Qt.

Со временем просто, появляются жена, потом дети, нет времени делать ту же «морду» под разные тулкиты, это немного бесит, что приходится делать ту работу которую за тебя уже сделали, понимая, что делаешь велосипед под ту же архитектуру. Технология ActiveX очень бы хорошо вписалась в концепцию OpenSource.

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

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

И кто-то использует этот самый активх, кроме как мс?

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

как же ты представляешь себе увеличение доли линукса непортируемым Linux-only софтом?

Так же, как увеличилась доля винды непортируемым win-only софтом. Или ты правда думаешь, что винда заняла рынок благодаря кросплатформенному софту? Нет, она его заняла тупо благодаря софту. Кроссплатформенный он или нет - кого это волновало при выборе винды? «Ах, мюторрент не кросплатформенный, поэтому не буду юзать винду» - так что ли?

Качественный, допиленный софт. Не требущий IQ 150+ и мануалов на 100 страниц. Если кроссплатформенность делает софт качественнее - окей. Но скорее кроссплатформенность просто отнимает силы на обход мест, которые делаются по-разному в разных осях. - У вас диалог выбора цвета - говно! - Да некогда, мы вот думаем над новой абстракцией, что бы переносимость улучшить.

«там» их всë равно больше.

Больше - не самоцель. 95% хлама никто не юзает вообще.

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

Windows-way наращивания популярности в нынешнее время вряд ли прокатит — винда набрала немалое распространение уже в первой половине 1990-х, когда ни о какой готовности линукса к десктопам и речи не шло, выбор софта был куда более скудным и т.п.. И да, сначала 100% совместимость с досом (от самых первых виндов и по всей линейке 9x, разве что в выкидыше WinMe наговнякали), потом обратная совместимость (не такая полная, но тут отчасти виноваты сторонние говнокодеры, привыкшие писать пользовательские данные вроде настроек и прочего в системные ветки реестра и директории) с уже виндовым софтом.

Сейчас такой номер, скорее всего, не пройдëт — работающего в винде (в данном случае не важно, win-only или как «побочный» эффект кросс-платформенности) софта хоть попой ешь, выбор [почти] на все случаи жизни. В такой ситуации завлекать кого-то по принципу «у нас есть программы, аналогичные вашим, только другие» бесполезно, т.к. на освоение новой системы и новых приложений необходимо время независимо от наличия или отсутствия у пользователя умственных способностей, а нафига это кому-то надо? Никто в здравом уме не будет менять тот же пресловутый Photoshop на Gimp «лишь бы с винды слезть» (хомячков, ставящих фотошоп для всякой ерунды просто потому, что это фотошоп, можно не учитывать ибо «беспонтовый» гимп они за просто так ставить тоже не будут).

У кросс-платформенного ПО как раз козырь в том и состоит, что какой бы ни была система, сама программа везде одна и та же — освоился с приложением и пофиг на «запускалку программ». Это существенное преимущество по сравнению с xyz-only софтом, и кросс-платформенность тех же Gtk и Qt тут сильно помогает. Запиливать самодельные велосипеды по примеру OO.o/LO лично мне представляется ещë более расточительным способом потратить силы, время и деньги, чем делать «очередную абстракцию» в одном тулките и сэкономить тем самым те же время, силы и деньги куче разработчиков прикладного ПО.

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

Т.е. ты видишь схему так - весь (или основной) софт под винду - кроссплатформенный, а потом - опа, заменить винду линуксом, что бы пользователь даже не заметил? Ибо неважно, насколько там кроссплатформенный transmission, пока под виндой юзают мюторрент. А для этого все (даже ms с офисом) должны писать софт на свободных тулкитах, что бы потом опа - и перенесли на линукс?

Я верно тебя понял?

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

Я верно тебя понял?

В целом да, идея именно такая — не стучать людям топором по голове, ставя чуть-ли не ультиматум «либо линукс с linux-only софтом, либо валите нафиг обратно в свою винду/мак[ак]ос/...», а пилить кросс-платформенный софт, продвигать его «в народ», и постепенно менять ту же винду на Linux, привлекая пользователей какими-нибудь более важными [для них] преимуществами, чем просто открытость/свободность/кросс-платформенность (для весьма немалого количества даже не-хомячков эти параметры не станут решающими).

И да, тулкиты наподобие Gtk и Qt обеспечивают профит не только в виде экономии затрат для разработчиков приложений, но и в более-менее унифицированном внешнем виде, поведении, взаимодействии различных программ и т.п..

Для примера, можешь поставить себя на место т.н. «виндузятника», только наоборот — тебе нравится линукс, ты привык пользоваться им и линуксовым софтом, а тут приходит некто и пытается чуть-ли не насильно впарить тебе винду, аргументируя это наличием под неё некоего win-only ПО, линуксовых аналогов которому тебе и так более чем достаточно. Очевидно, да ты и сам говорил, что ты пошлёшь такого «умника» известно-куда. Так с какой стати «они» должны действовать иначе и переходить на линукс, если они не видят в этом смысла?

Винда набрала популярность тоже далеко не за пару дней, да и было у неё некоторое преимущество — пожалуй, именно на 1990-е, когда линукс ещё слабо подходил на роль «ОС для всех», пришёлся наиболее ощутимый рост количества персоналок. Без майкрософтовского FUD-а и прочих сомнительных методов продвижения, конечно, тоже не обошлось, но имеем то, что имеем. Сейчас зохавать мир десктопов сложнее, чем 15–20 лет назад.

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