Почему я не могу переместить окно в верхний левый угол с помощью wmctrl в Unity?

7

Я играл с wmctrl , чтобы больше контролировать мои окна. Я столкнулся с странным поведением, когда Unity резервирует двойное пространство.
Смотрите этот снимок экрана:

Я открыл терминал и переместил окно с помощью верхней команды. Он должен находиться в верхнем левом углу (X = 0 Y = 0). Но почему-то есть некоторый запас между терминалом и барами Unity.

Если я правильно понимаю страницы man, это может иметь какое-то отношение к WA: 65,24 .

Может кто-нибудь помочь мне исправить это?

    
задан janw 25.02.2016 в 23:07
источник

1 ответ

4

Вероятно, не тот ответ, который вы искали:

Проблемы с комбинацией Unity и wmctrl

Сочетание Unity и wmctrl , к сожалению, имеет несколько особенностей, из которых описанное вами поведение является одним.

Глядя на ваш выход

  • Вы упомянули 65,24 , это width для Unity Launcher и height вашей панели.
  • В строке:

    0x03400005  0 0   24    65   1111  janw_VirtualBox unity-launcher
    

    в выводе wmctrl -lG , вы можете видеть, что Launcher позиционируется в x=0, y=24 , а размер пусковой установки - 65 x 1111 . ( 1111 - это высота вашего экрана за вычетом высоты вашей панели)

Строго говоря, команда размещения активного окна в верхнем левом углу должна быть:

wmctrl -r :ACTIVE: -e 0,65,24,1500,550

и не:

wmctrl -r :ACTIVE: -e 0,0,0,1500,550

Однако это не решит проблему, это просто ошибка. Там еще будет описанная вами манга. То же самое произойдет и при использовании xdotool (не установлено по умолчанию):

xdotool windowmove "$(xdotool getactivewindow)"  65 24

или

xdotool windowmove "$(xdotool getactivewindow)"  0 0

Чтение вывода wmctrl -dG

Глядя на 1792x1111 в WA: 65,24 1792x1111 , вы можете видеть, что у вас есть разрешение монитора 1857 ( 65 + 1792 ) x 1135 ( 1111 + 24 ).
В этом случае он точно соответствует значениям в DG: 1857x1135 , так как у вас есть только один просмотр (рабочая область): DG обозначает размер total ваш рабочий стол (все видовые экраны).

Подведение итогов

Оба wmctrl и xdotool работают нормально, если вы устанавливаете окно максимально . Эффект, который вы описываете, не произойдет. Перемещение или изменение размера окна, однако, оставляют несколько пикселей как с панели запуска, так и с панели, как описано в этот ответ. :
" Окно, которое нужно переместить / изменить, должно быть как минимум на несколько пикселей от пусковой установки Unity и верхней панели ".

Кроме того, что вы описали, еще одна проблема, с которой вы столкнетесь, если вы начнете играть с wmctrl и Unity , это отклонение , как описано в this one .

    
ответ дан Jacob Vlijm 26.02.2016 в 06:45
источник