LINUX.ORG.RU

GTK 4.22

 , ,


0

5

В преддверии выхода GNOME 50, который ожидается менее, чем через две недели, сегодня вышла новая стабильная версия библиотеки графических интерфейсов пользователя GTK.

Основные исправления GTK 4.22:

  • Исправления Drag-and-Drop (DnD):
    • Устранена регрессия, из-за которой сигнал ::leave у виджета DropTarget больше не отправлялся по завершении операции сброса (#8037, Matthias Clasen).
  • Корректировки в демонстрационных приложениях:
    • Демонстрационные программы больше не оставляют после себя файл «foo.png» в текущей папке при запуске (#8080, Marco Trevisan).
    • Исправлена логика завершения работы демо-приложений, чтобы избежать возврата из main() благодаря корректной работе GApplication.quit (!9428, Florian «sp1rit»).
  • Платформозависимые улучшения:
    • Windows: Убран глобальный счетчик блокировок (inhibition counter) для улучшения стабильности (!9455, g.willems).
    • Wayland: Улучшена надежность обработки переменной окружения WAYLAND_SOCKET (!9547, Jonas Ådahl). Также исправлена утечка памяти, связанная со свойствами доступности (a11y) в ToplevelWayland(!9560, Maximiliano Sandoval)
  • Работа с SVG:
    • Расширены условия определяющие текущий режим работы - атрибут gtk:states (!9564), добавлены имена состояний (!9565).
    • Добавлена возможность сброса значений атрибутов (!9553).
    • Удалены некоторые устаревшие API (!9563) (Matthias Clasen).
  • Обновления переводов:
    • Болгарский (Alexander Shopov)
    • Грузинский (Ekaterine Papava)
    • Венгерский (Balázs Úr).
    • Японский (Makoto Sakaguchi)
    • Корейский (Changwoo Ryu)
    • Португальский (Hugo Carvalho)
  • Прочее:
    • Исправлена документация для AccessibleHypertext (!9558, Jamie Gravendeel).
    • В GtkCheckButton для «специальных возможностей» теперь используется корректная метка, а не «сырой» текст (!9575, Lukáš Tyrychtr).
    • Набор иконок обновлен из репозитория разработчика (development kit) для поддержания актуальности визуальных элементов (!9576, Jakub Steiner).

>>> Скачать

>>> Phoronix

★★★★★

Проверено: hobbit ()
Последнее исправление: CrX (всего исправлений: 5)
Ответ на: комментарий от windows10

разметка сайта статична при помощи темплейта

Темплейты выглядят почти всегда как-то так:

<html>

{{ headers }}

<head><title>Фильмы</title></head>

<body>

<h1>Каталог фильмов</h1>

{{ range . }}

<div>

<h3>{{ .Title }}</h3>

{{ if .IsViewed }}✅{{ else }}❌{{ end }}

</div>

{{ end }}

</body>

</html>

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

В принципе, я не против также генерировать GtkUI, но я не знаю ни одного шаблонного движка для него.

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

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

Я гораздо раньше начну путаться, как найти код, который выполняется по этой GtkCheckButton, нарисованной в XML.

Пишут не поэтому. 10 кнопок в цикле - это конечно хорошо. А теперь давай как в калькуляторе - 3 столбца, 3 рядка, 9 кнопок без авторасширения, 0 - с авто.

А ещё бывает сделаешь такой калькулятор. И там не 10 кнопок, а 50. А заказчик говорит: сделай для них шрифт покрупнее. И правишь все в этом XML вместо того, чтобы в программе в одном месте поправить. Или, заколебавшись, правишь в программе, а после десятой правки макет в XML отличается от того, что видит пользователь как советский чертёж от изделия в анекдоте про «доработать напильником».

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

Угу, и я ж об этом. Абсолютно нечитабельное дерьмище с какими-то закорючками, квадратными скобками, запятыми, двоеточиями.

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

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

И выбрать полезную информацию из { "visible": 1 } гораздо проще, чем из <property name="visible">1</property>.

Нечитабельное дерьмище — это XML, заставляющий начало почти каждой строки начинать с <property name=.

Всё равно, что по-русски писать в стиле:

Начало сообщения.
  Начало предложения. Некоторые люди считают, что XML удобно читать. Конец предложения.
  Начало предложения. Я, разумеется, с ними не согласен. Конец предложения.
Конец сообщения.
monk ★★★★★
()
Последнее исправление: monk (всего исправлений: 1)
Ответ на: комментарий от monk

И выбрать полезную информацию из { «visible»: 1 } гораздо проще, чем из <property name=«visible»>1</property>.

Выбрать полезную информацию тебе проще пока у тебя две закорлючки и один объект. Будет сотня таких объектов - потеряешься в закорлючках и запятых, сигнализирующих о продолжении объекта. Все как в С-лапше, впрочем.

Всё равно, что по-русски писать в стиле

И этот стиль является правильным, поскольку конец определяет - конец чего именно. А ваши закорючки, как в анекдоте старом:

- Петька, патроны !
- Десять.
- Что десять?!
- А что "патроны"?!
windows10 ★★★★★
()
Ответ на: комментарий от windows10

Будет сотня таких объектов - потеряешься в закорлючках и запятых, сигнализирующих о продолжении объекта.

Я регулярно пишу программы синхронизации всякой фигни между сайтами и учётными системами. JSON отлаживать быстрее и проще, чем XML. А объектов при синхронизации тысячи, причём со сложной структурой.

И этот стиль является правильным, поскольку конец определяет - конец чего именно.

Начало мнения. Как скажешь. Но я считаю, что он правильный исключительно для тебя. Конец мнения.

monk ★★★★★
()
Последнее исправление: monk (всего исправлений: 1)
Ответ на: комментарий от err

не заметил разницы

В чем? это css у меня для того чтобы таббар сделать узким в ghostty. По умолчанию он пикселей 30 высотой, ну как заголовок в современном gtk. А заголовков окон у меня вообще нет, у меня тайлинг.

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

Я регулярно пишу программы синхронизации всякой фигни

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

Но в данном топике - речь о разметке, о циркуле, и мать ее, линейке.

Начало мнения. Как скажешь. Но я считаю, что он правильный исключительно для тебя. Конец мнения.

Ага. И тогда у меня касательно твоего комментария от 09.03.2026 19:16:39 +02:00 ПРОСТОЙ вопрос:

     }
    ]

А это - закрытие какого блока? Если можно - точный ответ.

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

Во-первых, переход на CSS - мастхев. До сих пор не понимаю кедерастов, как они живут в своем манямирке с их этим как его там ...

qss? По мне так те же яйца, вид сбоку.

В-четвертых, адаптивност

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

PS: Хороший по гибкости вариант у мелкософта с их xaml, но больно уж мозголомный(говорю как разработчик .net wpf с 5 летним стажем), если надо что-то чуть боле сложное. Можно практически всё, но чуть за рамки, ломай голову(где маргин, где паддинг, где ещё какое смещение применить).

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

А это - закрытие какого блока? Если можно - точный ответ.

Это даже я скажу, закрытие массива и его элемента. А какого - х.з., обычно можно скормить prettyfier'у и будет видно по уровню вложенности и подсветке скобок.

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

qss? По мне так те же яйца, вид сбоку.

Ты тему-то кедовскую внутри видел?

А потом ты хочешь высоту элемента меньше минимальной определенной гткшниками

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

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

Это даже я скажу, закрытие массива и его элемента.

Там в вопросе не спрашивалось «что это», там было - это для какого конкретно блока.

А какого - х.з., обычно можно скормить prettyfier'у и будет видно по уровню вложенности и подсветке скобок.

Вот видишь в чем разница: мне, чтобы узнать какого блока это закрытие - достаточно просто прочитать его название. Тебе - нужно обмазываться 3rdparty.

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

gtk3 конечно тяжёлый, но он очень много всякого положительного и удобного принёс

К счастью, как «принёс», так и «пронёс мимо», так что не хвалю и не ругаю. Нравится? Ну так и пользуйтесь, на здоровье! :))

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

так что не соглашусь

Ну, «так-то» © многие тут - «Эдгар», которому это откровенно «По»... ;P ;) :)

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

А это - закрытие какого блока?

Последнего объекта массива. Информации не меньше, чем в </child></object>, а писать/читать почти на порядок меньше.

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

мне, чтобы узнать какого блока это закрытие - достаточно просто прочитать его название

И какой элемент закрыт

        </child>
      </object>

?

monk ★★★★★
()
Последнее исправление: monk (всего исправлений: 1)
Ответ на: комментарий от windows10

Если можно - точный ответ.

Обычно это закрытие массива объектов?

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

У меня стандартный XFce 4.18 с тёмной темой. Меня вполне устраивает, работает шустро не тормозит.

Hangover
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.