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

Справочная информация

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

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

Проблема

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

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

  1. отлично работает и изменяет размер до требуемого размера
  2. изменяет размер до неправильного размера
  3. изменить размер (не обязательно до нужного размера), медленно уменьшить ширину и высоту окна, изменить размер снова и повторять эти шаги некоторое время, пока оно окончательно не остановится (обычно при некотором неправильном размере)
  4. Так же, как № 3 выше, и он останавливается на высоте 1 с некоторой шириной, меньшей запрошенной.
  5. То же, что и № 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 имеют одну и ту же проблему) или проблема связи с базовой структурой (также маловероятно).

Вопрос (ы)

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

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

1 ответ

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

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

0
ответ дан 8 November 2017 в 01:42

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

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