X Windows в командной строке Ubuntu 16.04 иногда меняет размер бесконечных циклов?

Предыстория

Я запускаю Ubuntu 16.04 Desktop, и у меня возникли проблемы с изменением размера окон из командной строки. Недавно я переключился на Fluxbox в качестве моего диспетчера окон и проявил большой интерес к ключевым словам, которые запускают команды командной строки для работы с окнами.

В Fluxbox действия по привязке клавиш для изменения размера окон в процентах экрана иногда вызывают изменение размера окна, затем медленно сжимаются, затем снова измените размер, затем медленно сжимайтесь, повторяя какое-то время, пока он не остановится на некотором совершенно неправильном размере или никогда не остановится. Я предположил, что это проблема с Fluxbox, и вместо этого попытался использовать xdotool и wmctrl, но такая же проблема возникла.

Проблема

Я реплицировал эту проблему на гостевой установке VMWare Ubuntu 16.04 и собственную версию Ubuntu 16.04. Я также повторил его под разными менеджерами окон в каждой системе: XFCE4, KDE, Fluxbox, Unity, Fluxbox, построенный из источника.

Если у меня есть окно с произвольным размером, запуск любой из этих команд будет с перерывами:

отлично работает и изменяет размер до размера измененного размера до неправильного размера (не обязательно до нужного размера), медленно уменьшайте ширину и высоту окна, снова изменяйте размер и повторяйте эти шаги для в то время, пока он не остановится (обычно с некоторым неправильным размером). То же, что и # 3 выше, и останавливается на высоте 1 с меньшей шириной, чем запрошенная. То же, что и # 3 выше, но никогда не останавливает изменение размера и сжатие

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

Я выполнил эти команды на большой области отображения, которая намного больше указанных размеров. Команды, которые я пробовал (для размера цели 900x900):

wmctrl -r :ACTIVE: -o 0,-1,-1,900,900 wmctrl -i -r 0x01000004 -o 0,-1,-1,900,900 xdotool getactivewindow windowsize 900 900 xdotool getactivewindow windowsize --sync 900 900 xdotool windowsize 20971524 900 900 xdotool windowsize --sync 20971524 900 900

Как вы можете видеть, я пробовал использовать как xdotool, так и wmctrl, используя автоматическое обнаружение активного окна и явную спецификацию активное окно (поиск с использованием wmctrl и xdotool соответственно). Я также пробовал разные размеры, которые меньше или больше, окна для разных программ, чем просто терминал, окна, которые не являются текущими, и одновременно перемещают окно. Ни один из них, похоже, не имеет никакого отношения к исходу. Чтобы попытаться отладить проблему, я попытался запустить strace в команде xdotool, чтобы проверить, не застряла ли она где-то:

strace xdotool windowsize --sync 20971524 900 900 2>~/trace.log

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

Вопрос (ы) [ ! d16]

Куда я иду отсюда и где я должен искать решение? Возможно ли возникнуть проблема с Wayland vs XWindows, так как Wayland был введен для Ubuntu в 16.04? Есть ли устаревшие XWindows, которые я могу / должен попытаться решить? Это просто ошибка в XWindows, которую все видят? Существуют ли другие инструменты, которые могут изменить размер по-разному? Разве я не учитываю что-то в команде изменения размера?

0
задан 8 November 2017 в 02:42

3 ответа

Проблема связана с некоторыми окнами и «подсказками геометрии окна». В частности, с терминатором (версия gnome) существует известная проблема, в которой подсказки Window Geometry могут / могут / намекать, что окно должно быть немного меньше или больше, изменяя его разум каждый раз, когда X изменяет размер окна до намеченного размера. [!d0 ]

Решение, по крайней мере, для терминатора (версия gnome), заключается в отключении подсказок геометрии окна в конфигурации. Каждая программа, имеющая проблему, может иметь или не иметь решение по отдельности.

0
ответ дан 22 May 2018 в 16:25

Проблема связана с некоторыми окнами и «подсказками геометрии окна». В частности, с терминатором (версия gnome) существует известная проблема, в которой подсказки Window Geometry могут / могут / намекать, что окно должно быть немного меньше или больше, изменяя его разум каждый раз, когда X изменяет размер окна до намеченного размера.

Решение, по крайней мере, для терминатора (версия gnome), заключается в отключении подсказок геометрии окна в конфигурации. Каждая программа, имеющая проблему, может иметь или не иметь решение по отдельности.

0
ответ дан 18 July 2018 в 03:41

Проблема связана с некоторыми окнами и «подсказками геометрии окна». В частности, с терминатором (версия gnome) существует известная проблема, в которой подсказки Window Geometry могут / могут / намекать, что окно должно быть немного меньше или больше, изменяя его разум каждый раз, когда X изменяет размер окна до намеченного размера.

Решение, по крайней мере, для терминатора (версия gnome), заключается в отключении подсказок геометрии окна в конфигурации. Каждая программа, имеющая проблему, может иметь или не иметь решение по отдельности.

0
ответ дан 24 July 2018 в 17:54

Другие вопросы по тегам:

Похожие вопросы: