Версия - howdy-3.0.0-alt10.beta1.gitc5b1766 Дистрибутивы - ALT Education 10.2 XFCE (Sisyphus) - ALT KWorkstation 10.2.1 KDE (Sisyphus) Шаги воспроизведения Установить пакеты # apt-get install -y howdy-gtk Запустить Howdy GTK # howdy-gtk Нажать кнопку Далее. Ожидаемый результат: Отображен шаг “Скачивание файлов данных” Фактический результат: Пустое окно, никакой шаг не отображён. Workaround: изменить размер окна или распахнуть окно на весь экран
Такое же поведение воспроизводится со следующими шагами "Настройка камеры. Мигает ли инфракрасный диод", "Добавление образца лица".
Это выглядит как некоторая особенность работы GTK, но странным образом, если по результатам обработчика клика на кнопку "Далее", эта кнопка имеет свойство sensivity == 1, то у контейнера следующего слайда не происходит перерасчёт размера. Поэтому слайд имеет нулевые размеры и не отображается. Если же изменить размер окна, это вызывает перерасчёт всех размеров, и слайд начинает отображаться нормально. Ещё более интересно, что ошибка не воспроизводится на одной из машин, доступных мне, хотя, кажется, версии всех пакетов совпадают.
Видимо, основной причиной можно назвать то, что авторы gtk-howdy для отображения слайдов не использовали предназначенный для этого виджет Gtk.Stack, а использовали обычный Gtk.Box, при этом скрывая или показывая некоторые куски в зависимости от того, что должно быть видно. Поэтому, при "переключении" слайда не происходит перерасчёта размеров, что можно назвать особенностью GTK. Изменение свойства sensivity у кнопки "Далее" приводит к необходимости перерасчитать размеры всех сгруппированных с ней виджетов, в т.ч. контейнера слайдов и его видимых детей, поэтому новый слайд становится видим. На другой машине проблема не воспроизводится, потому что там другая GTK-3 тема, видимо после клика на кнопку далее происходит её анимация, которая также вызывает перерасчёт размеров и как следствие "проявление" слайда. Проблему можно исправить, принудительно вызывая метод queue_resize у виджета slidecontainer в конце обработчика клика на кнопку "Далее".
howdy-3.0.0-alt11.beta1.gitc5b1766 -> sisyphus: Tue Dec 05 2023 Anton Golubev <golubevan@altlinux> 3.0.0-alt11.beta1.gitc5b1766 - howdy-gtk: Add default args to exit functions (ALT #48543) - Don't pkexec if already root - Handle the case if there are no cameras via except (ALT #48544) - Show real camera ID in the 'Video' tab (ALT #48542) - Don't add a model if the user list is empty (ALT #48529) - More correct preview when stretching the window (ALT #48527) - Remove reading of non-existent '_variables' file (ALT #48500) - Update the container when the slide changes (ALT #48502) - Also use PKEXEC_UID to get username (ALT #48503)