그놈 스타일 인터페이스 생성을 위한 Libadwaita 1.5 라이브러리 출시

그놈 프로젝트는 그놈 HIG(Human Interface Guidelines) 권장 사항을 준수하는 사용자 인터페이스 스타일을 지정하기 위한 구성 요소 집합이 포함된 Libadwaita 1.5 라이브러리 릴리스를 발표했습니다. 라이브러리에는 일반 GNOME 스타일을 준수하는 응용 프로그램을 구축하기 위한 기성품 위젯과 객체가 포함되어 있으며, 인터페이스는 모든 크기의 화면에 반응적으로 적응할 수 있습니다. 라이브러리 코드는 C 언어로 작성되었으며 LGPL 2.1+ 라이선스에 따라 배포됩니다.

libadwaita 라이브러리는 GTK4와 함께 사용되며 GTK에서 별도의 라이브러리로 이동된 GNOME에서 사용되는 Adwaita 스킨 구성 요소를 포함합니다. GNOME 비주얼을 별도의 라이브러리로 이동하면 GNOME에 필요한 변경 사항을 GTK와 별도로 개발할 수 있으므로 GTK 개발자는 기본 사항에 집중할 수 있고 GNOME 개발자는 GTK 자체에 영향을 주지 않고 스타일 변경 사항을 보다 빠르고 유연하게 추진할 수 있습니다.

라이브러리에는 목록, 패널, 편집 블록, 버튼, 탭, 검색 양식, 대화 상자 등과 같은 다양한 인터페이스 요소를 포함하는 표준 위젯이 포함되어 있습니다. 제안된 위젯을 사용하면 PC 및 랩톱의 대형 화면과 스마트폰의 작은 터치 스크린 모두에서 원활하게 작동하는 범용 인터페이스를 만들 수 있습니다. 애플리케이션 인터페이스는 화면 크기와 사용 가능한 입력 장치에 따라 동적으로 변경됩니다. 라이브러리에는 수동 사용자 정의 없이 그놈 지침에 모양과 느낌을 가져오는 Adwaita 스타일 세트도 포함되어 있습니다.

그놈 스타일 인터페이스 생성을 위한 Libadwaita 1.5 라이브러리 출시

Основным изменением в libadwaita 1.5 стала переработка адаптивных виджетов для создания диалоговых окон, подстраивающихся под размер видимой области. В отличие от традиционных диалогов, которые размещаются в отдельных окнах, новые диалоги формируются на стороне клиента, отрисовываются внутри существующих окон и не могут выходить за пределы родительского окна. Подобный подход упрощает создание универсальных диалогов, сочетаемых с интерфейсами для мобильных и настольных систем, а также предоставляет дополнительные возможности для управления диалогами (например, не нужно отслеживать выход за границу окна, можно выбирать поведение в отношении кнопок закрытия, обеспечивается автоматическое развёртывание на весь экран в мобильных версиях приложений, учитывается стиль текущего окна, а не системы, при затемнении диалога).

그놈 스타일 인터페이스 생성을 위한 Libadwaita 1.5 라이브러리 출시그놈 스타일 인터페이스 생성을 위한 Libadwaita 1.5 라이브러리 출시

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

Для мобильных устройств реализована поддержка размещения диалогов в форме листов, закреплённых в нижней части экрана (bottom sheets), а не в форме листов, выровненных по центру. Прикреплённые к нижней части диалоги избавляют пользователей от путаницы с закрытием окон — в подобных диалогах часть родительского окна остаётся видимой и кнопки закрытия родительского окна и самого диалога явно разделены, поэтому их теперь трудно спутать.

그놈 스타일 인터페이스 생성을 위한 Libadwaita 1.5 라이브러리 출시

Управление новыми диалогами производится при помощи класса AdwDialog, работа с которым в большинстве ситуаций походит на использование класса GtkWindow, а различия сводятся к операциям отображения и закрытию. Например, свойство «:transient-for» заменено на параметр в функции adw_dialog_present(), добавлен новый сигнал «::close-attempt», изменена обработка параметра «:can-close». Вместо классов AdwPreferencesWindow, AdwAboutWindow и AdwMessageDialog с новыми диалогами предложено использовать классы AdwPreferencesDialog, AdwAboutDialog и AdwAlertDialog.

Диалоги, которые не имеют родительского окна, по-прежнему будут обрабатываться в форме отдельных окон. Как окна также будут функционировать диалоги, родительские окна которых не могут быть использованы для размещения диалогов, например, если они не допускают изменения размера или для них отсутствуют классы AdwWindow и AdwApplicationWindow.

Не связанные с переработкой диалогов изменения в Libadwaita 1.5:

  • В класс AdwEntryRow добавлено свойство «:text-length» для ограничения размера текста в поле ввода.
  • В класс AdwMessageDialog добавлен метод remove_response().
  • В класс AdwBreakpointBin, позволяющий менять интерфейс пользователя произвольным образом в зависимости от размера окна, добавлена возможность программного удаления точек останова.
  • В класс AdwSwipeTracker добавлен флаг «:allow-window-handle», допускающий пролистывание поверх верхней панели (используется в листах, прикреплённых к нижнему краю).
  • Повышена яркость цветов, используемых при затенении окон при тёмном стиле оформления.

출처 : opennet.ru

코멘트를 추가