{"id":114355,"date":"2024-03-16T12:25:47","date_gmt":"2024-03-16T10:25:49","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-biblioteki-libadwaita-1-5-dlya-sozdaniya-interfejsov-v-stile-gnome"},"modified":"2024-03-16T12:25:47","modified_gmt":"2024-03-16T10:25:49","slug":"vypusk-biblioteki-libadwaita-1-5-dlya-sozdaniya-interfejsov-v-stile-gnome","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-biblioteki-libadwaita-1-5-dlya-sozdaniya-interfejsov-v-stile-gnome","title":{"rendered":"The release of the Libadwaita 1.5 library for building interfaces in the GNOME style.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>The GNOME Project has released version 1.5 of the Libadwaita library, which includes a set of components for styling user interfaces in accordance with GNOME HIG (Human Interface Guidelines). The library includes ready-made widgets and objects for building applications that align with the overall GNOME style, with interfaces that can adapt to screens of any size. The library code is written in C and is distributed under the LGPL 2.1+ license.      <\/p>\n<p>The libadwaita library is used in conjunction with GTK4 and includes components from the Adwaita theme used in GNOME, which have been extracted from GTK into a separate library. Extracting GNOME's visual styling elements into a separate library enables the necessary changes for GNOME to be developed independently of GTK, allowing GTK developers to focus on foundational aspects while GNOME developers can more rapidly and flexibly implement the styling changes they require without impacting GTK itself.     <\/p>\n<p>The library includes standard widgets that cover various interface elements such as lists, panels, editing blocks, buttons, tabs, search forms, dialog windows, etc. The proposed widgets allow for the creation of versatile interfaces that function seamlessly on both large PC and laptop screens and small touchscreens of smartphones. The user interface of applications dynamically adapts based on the screen size and available input devices. The library also includes a set of Adwaita styles that align appearances with GNOME guidelines, eliminating the need for manual adaptation.    <center><img decoding=\"async\" alt=\"The release of the Libadwaita 1.5 library for building interfaces in the GNOME style. \" src=\"\/wp-content\/uploads\/2024\/03\/ceebe04451a5c575526c4634c8839ab6.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<p>The main change in libadwaita 1.5 is the redesign of adaptive widgets for creating dialog windows that adjust to the size of the visible area. Unlike traditional dialogs that are placed in separate windows, the new dialogs are formed on the client side, rendered within existing windows, and cannot extend beyond the parent window. This approach simplifies the creation of versatile dialogs that work across mobile and desktop interfaces and provides enhanced control over dialogs (for example, there's no need to track overflow, behavior regarding close buttons can be chosen, automatic full-screen expansion is enabled in mobile app versions, and the style of the current window, rather than the system, is taken into account when dimming the dialog).    <center><img decoding=\"async\" alt=\"The release of the Libadwaita 1.5 library for building interfaces in the GNOME style. \" src=\"\/wp-content\/uploads\/2024\/03\/9a5a1c004d469aaef08a59d8f8bebbd5.png\" style=\"display:block;margin: 0 auto;\" \/><img decoding=\"async\" alt=\"The release of the Libadwaita 1.5 library for building interfaces in the GNOME style. \" src=\"\/wp-content\/uploads\/2024\/03\/1205f7239c13387ea3d8512db0ebbd2e.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>        <\/p>\n<p>There are plans to implement another version of such dialogs that are attached not to windows but to tabs within a window, which may be useful in applications like browsers, so that tab-related dialogs do not overlap the main window when switching between tabs.    <\/p>\n<p>Support for displaying dialogs as bottom sheets, pinned to the bottom of the screen, has been implemented for mobile devices, rather than as center-aligned sheets. Bottom-pinned dialogs free users from confusion about closing windows \u2014 in such dialogs, part of the parent window remains visible, and the close buttons for both the parent window and the dialog are clearly separated, making them difficult to confuse.    <center><img decoding=\"async\" alt=\"The release of the Libadwaita 1.5 library for building interfaces in the GNOME style. \" src=\"\/wp-content\/uploads\/2024\/03\/cf7a188d4ea8d52d73902aef76007e67.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<p>Managing new dialogs is done using the AdwDialog class, which generally behaves similarly to the GtkWindow class, with differences mainly in display and closing operations. For example, the ':transient-for' property has been replaced with a parameter in the adw_dialog_present() function, a new signal '::close-attempt' has been added, and the handling of the ':can-close' parameter has been modified. Instead of using the AdwPreferencesWindow, AdwAboutWindow, and AdwMessageDialog classes, it is proposed to use the AdwPreferencesDialog, AdwAboutDialog, and AdwAlertDialog classes with the new dialogs.    <\/p>\n<p>Dialogs that do not have a parent window will still be handled as separate windows. Dialogs whose parent windows cannot be used for dialog placement, for example, if they do not allow resizing or are missing the AdwWindow and AdwApplicationWindow classes, will also function as windows.      <\/p>\n<p>Changes in Libadwaita 1.5 not related to dialog overhauls:    <\/p>\n<ul>\n<li class=\"l\"> The AdwEntryRow class now includes the ':text-length' property to limit the size of text in the input field.\n<li class=\"l\"> The remove_response() method has been added to the AdwMessageDialog class.\n<li class=\"l\"> The AdwBreakpointBin class, which allows for arbitrary user interface modifications depending on window size, now includes the capability to programmatically remove breakpoints.\n<li class=\"l\"> The AdwSwipeTracker class has been updated with the ':allow-window-handle' flag, allowing swiping over the top panel (used in sheets pinned to the bottom edge).\n<li class=\"l\"> The brightness of colors used for window shading in dark mode has been increased.      <\/ul>\n<p>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=60793\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u043e\u0435\u043a\u0442 GNOME \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Libadwaita 1.5, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0435\u0439 \u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u0442\u0438\u043b\u0435\u0432\u043e\u0433\u043e \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f\u043c GNOME HIG (Human Interface Guidelines). \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0432\u0438\u0434\u0436\u0435\u0442\u044b \u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043e\u0431\u0449\u0435\u043c\u0443 \u0441\u0442\u0438\u043b\u044e GNOME, \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u0435\u0442 \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u043e \u043f\u043e\u0434\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0434 \u044d\u043a\u0440\u0430\u043d\u044b \u043b\u044e\u0431\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430. \u041a\u043e\u0434 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421\u0438 \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":114356,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-114355","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u043e\u0435\u043a\u0442 GNOME \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Libadwaita 1.5, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0435\u0439 \u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u0442\u0438\u043b\u0435\u0432\u043e\u0433\u043e \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f\u043c GNOME HIG (Human Interface Guidelines).\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-biblioteki-libadwaita-1-5-dlya-sozdaniya-interfejsov-v-stile-gnome\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Libadwaita 1.5 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u0432 \u0441\u0442\u0438\u043b\u0435 GNOME | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u043e\u0435\u043a\u0442 GNOME \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Libadwaita 1.5, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0435\u0439 \u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u0442\u0438\u043b\u0435\u0432\u043e\u0433\u043e \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f\u043c GNOME HIG (Human Interface Guidelines).\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-biblioteki-libadwaita-1-5-dlya-sozdaniya-interfejsov-v-stile-gnome\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-03-16T10:25:49+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-03-16T10:25:49+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Release of the Libadwaita 1.5 library for creating GNOME-style interfaces | ProHoster","description":"The GNOME project has released version 1.5 of the Libadwaita library, which includes a set of components for user interface styling in accordance with GNOME HIG (Human Interface Guidelines) recommendations.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-biblioteki-libadwaita-1-5-dlya-sozdaniya-interfejsov-v-stile-gnome","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Libadwaita 1.5 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u0432 \u0441\u0442\u0438\u043b\u0435 GNOME | ProHoster","og:description":"\u041f\u0440\u043e\u0435\u043a\u0442 GNOME \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Libadwaita 1.5, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0435\u0439 \u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u0442\u0438\u043b\u0435\u0432\u043e\u0433\u043e \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f\u043c GNOME HIG (Human Interface Guidelines).","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-biblioteki-libadwaita-1-5-dlya-sozdaniya-interfejsov-v-stile-gnome","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-03-16T10:25:49+00:00","article:modified_time":"2024-03-16T10:25:49+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/114355","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=114355"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/114355\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/114356"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=114355"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=114355"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=114355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}