Проект GNOME опубликовал выпуск библиотеки Libadwaita 1.4, включающей набор компонентов для стилевого оформления интерфейса пользователя, соответствующего рекомендациям GNOME HIG (Human Interface Guidelines). Библиотека включает в себя готовые виджеты и объекты для построения приложений, соответствующих общему стилю GNOME, интерфейс которых может адаптивно подстраиваться под экраны любого размера. Код библиотеки написан на языке Си и распространяется под лицензией LGPL 2.1+.

Библиотека libadwaita используется в сочетании с GTK4 и включает компоненты используемой в GNOME темы оформления Adwaita, которые были вынесены из GTK в отдельную библиотеку. Вынос элементов визуального оформления GNOME в отдельную библиотеку позволяет развивать необходимые для GNOME изменения отдельно от GTK, что даёт возможность разработчикам GTK сосредоточиться на базовых вещах, а разработчикам GNOME более быстро и гибко продвигать необходимые для себя изменения стилевого оформления, не затрагивая сам GTK.

В библиотеку входят типовые виджеты, охватывающих различные элементы интерфейса, такие как списки, панели, блоки редактирования, кнопки, вкладки, формы поиска, диалоговые окна и т.п. Предложенные виджеты позволяют создавать универсальные интерфейсы, которые органично функционируют как на крупных экранах ПК и ноутбуков, так и на небольших сенсорных экранах смартфонов. Интерфейс приложений динамически меняется в зависимости от размера экрана и доступных устройств ввода. Библиотека также включает набор стилей Adwaita, приводящих внешний вид в соответствие с рекомендациями GNOME, без необходимости выполнения ручной адаптации.

Основные изменения в libadwaita 1.4:

  • Предложены новые адаптивные виджеты, подстраивающиеся под размер видимой области. В новом наборе обеспечена корректная поддержка вложенного изменения размера (например, когда изменение размера боковой панели, влечёт за собой изменение размера кнопок и переключателей), решены проблемы с анимированными эффектами при переключении режимов, переделана обработка изменения ширины, повышена гибкость использования (например, в версии для мобильных устройств можно перенести часть виджетов из заголовка в нижнюю панель). Старые адаптивные виджеты AdwLeaflet, AdwFlap, AdwSqueezer и AdwViewSwitcherTitle объявлены устаревшими и со временем должны быть заменены на новые.
    \
  • Реализована система точек останова (класс Breakpoint), позволяющая менять интерфейс пользователя произвольным образом в зависимости от размера окна. Точки останова могут использоваться с классами AdwWindow, AdwApplicationWindow и AdwBreakpointBin. Среди прочего, точки останова могут определяться декларативным способом через UI-файлы.
  • В виджете AdwNavigationView реализован шаблон браузинга, пришедший на смену виджету AdwLeaflet в режиме "can-unfold=false", предоставляющий стек навигации, который может настраиваться статически (через UI-файлы) или динамически, и поддерживающий действия navigation.push и navigation.pop для помещения страниц напрямую из UI-файла.
  • В виджет AdwHeaderBar добавлена возможность автоматического показа корректного заголовка для каждой страницы навигации, а также показа кнопки "назад" для перехода к прошлой странице или вывода меню для выбора страниц для перехода.
  • Добавлен виджет AdwNavigationSplitView, имеющий два дочерних элемента - боковую панель и содержимое, которые выводятся бок о бок. Размер боковой панели может выбираться как определённый процент от общей ширины видимой области.
  • Добавлен виджет AdwToolbarView, включающий виджет с содержимым и несколько верхних и нижних панелей (например, AdwHeaderBar, AdwTabBar, GtkSearchBar, GtkActionBar или GtkBox со стилем .toolbar).
  • Добавлен виджет для вывода переключателей AdwSwitchRow, реализованный как подкласс AdwActionRow, содержащий GtkSwitch.
  • Добавлен виджет AdwSpinRow c реализацией строки списка, включающей GtkSpinButton.
  • Добавлен новый класс стилей ".property" для отображения свойств.
  • Добавлена функция adw_about_window_new_from_appdata() для упрощения создания окон с информацией о программе.
  • В виджете AdwComboRow реализована поддержка полей поиска.
  • Добавлено свойство AdwPreferencesPage:description для показа описания в верхней части страницы.
  • В виджете AdwTabOverview значительно переделана обработка миниатюр для лучшей работы с WebKitWebView.
  • Цвет заголовков и панелей инструментов в светлых темах заменён на белый вместо серого. Серый цвет теперь задействован в боковых панелях.

// cc-by opennet.ru
// converted with crypt’s opennet autoreposter <<<

  • MOPKOBKA
    link
    fedilink
    arrow-up
    0
    ·
    3 years ago

    FS медленная в Windows, очень плохо работает с маленькими файлами. Запущенный проект постоянно с ними работает. WSL работает лучше, но к нему не подцепить IDE нормально, JetBrains все что то делает и делает, но лучше оно не становится, через их JetBrains Gateway все тормозит, виснет, не работает копирование в терминале (как? почему?).

    • cryptOP
      link
      fedilink
      arrow-up
      0
      ·
      3 years ago

      я твою проблему не секу. я понимаю так, что ты зашел по ssh удаленно, стянул из гита, запустил сборку…

      • MOPKOBKA
        link
        fedilink
        arrow-up
        0
        ·
        3 years ago

        У меня есть C: и D:, на D: у меня хранится проект. Если его начать копировать то займет это несколько часов по оценке Проводника. Но даже если его скопировать (я дождался), то запустив проект я получу ужасную производительность, недопустимую. Если я делаю git clone в WSL, и запускаю его там, то я теряю IDE, я больше не могу ее запустить и открыть в ней проект, верней могу, но IDE будет работать отвратительно, каждые 5 минут придется ее перезагружать. Еще я пробовал VirtualBox, VMWare, но там постоянно какие то артефакты графические, и скорость все же ниже. Microsoft обещает поправить, сейчас в Insider сборках есть виртуальный диск как в WSL, но без WSL и с ReFS. Буду пробовать как станет стабильным.

        • cryptOP
          link
          fedilink
          arrow-up
          0
          ·
          edit-2
          3 years ago

          ты арендуешь виртуалку с линуксом. там делаешь git clone. IDE должны как-то через ssh уметь соединяться, либо делай push в основной репозиторий и стягивай в виртуалку.

          имеет проект графическую оболочку или нет, я не понял. он на гтк4?

          • MOPKOBKA
            link
            fedilink
            arrow-up
            0
            ·
            3 years ago

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

            • cryptOP
              link
              fedilink
              arrow-up
              0
              ·
              3 years ago

              Это просто более худший вариант WSL

              не совсем. твоя основная проблема в том, что происходит амплификация записи на диск. следи за руками:

              а) много мелких файлов -> много дисковых операций для обновления метаданных ФС б) мы обновляем метаданные ФС в виртуалке -> задержки на медленном носителе x2 в) мы обновляем метаданные ФС на хост системе -> задержки x2

              WSL - это наихудший вариант. Отца русской демократии спасет RAW-работа с дисками на хост-системе + наиболее подходящая ФС в виртулаке с линуксом.

              хостеры не используют WSL по понятным причинам.

              Я думаю диск с ReFS меня спасет

              это copy-on-write fs с большими накладными. она только ухудшит ситуацию.

              • MOPKOBKA
                link
                fedilink
                arrow-up
                0
                ·
                3 years ago

                В WSL работа с файлами очень быстрая (прям как под linux), если файлы находятся внутри виртуальной машины, наружу я их не выпускаю.

                • cryptOP
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  3 years ago

                  ясно. мой текст не вместился в твой буффер. ну тогда нужно почаще повторять вслух текст ниже

                  В WSL работа с файлами очень быстрая

                  чем быстрее повторяешь, тем быстрее работает

                  • MOPKOBKA
                    link
                    fedilink
                    arrow-up
                    0
                    ·
                    3 years ago

                    У меня для измерения производительности ФС для проекта есть специальная программа с числовой оценкой. Зачем повторять когда я могу измерить?

                    • cryptOP
                      link
                      fedilink
                      arrow-up
                      0
                      ·
                      3 years ago

                      это хорошо. специальная программа - это очень хорошо. вообще специальные программы - это магия. они делают массу необъяснимых вещей!

                      • cryptOP
                        link
                        fedilink
                        arrow-up
                        0
                        ·
                        3 years ago

                        @Kaschenko, сегодня не мой день.:( вы мне все кажетесь какими-то странными.

                      • MOPKOBKA
                        link
                        fedilink
                        arrow-up
                        0
                        ·
                        3 years ago

                        Ее писал я, проблема тормозов не в метаданных или кеше, как уверяет разработчик из MS. Если в ReFS отвяжут все тормоза, то должно как раз таки очень помочь. Хотя возможно они просто врут и у них вся подсистема плохая. https://github.com/microsoft/WSL/issues/873#issuecomment-425272829

                        • cryptOP
                          link
                          fedilink
                          arrow-up
                          0
                          ·
                          3 years ago

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

                          • MOPKOBKA
                            link
                            fedilink
                            arrow-up
                            0
                            ·
                            3 years ago

                            Ты говоришь что WSL худший вариант, но на самом деле он такой же как Linux, по производительности ФС. Вся моя проблема с ним заключается в IDE, она плохо работает удаленно. Я пожалуй доверюсь цифрам бенчмарков.