Por que não consigo mover uma janela para o canto superior esquerdo com wmctrl no Unity?

Por que não consigo mover uma janela para o canto superior esquerdo com wmctrl no Unity?

Tenho brincado wmctrlpara ter mais controle das minhas janelas. Encontrei um comportamento estranho em que o Unity reserva o dobro do espaço.
Veja esta captura de tela:

insira a descrição da imagem aqui

Abri o terminal e movi a janela usando o comando top. Deve estar no canto superior esquerdo (X=0 Y=0). Mas por algum motivo há alguma margem entre o terminal e as barras do Unity.

Se eu entendi as páginas de manual corretamente, pode ter algo a ver com oWA: 65,24.

Alguém pode me ajudar a consertar isso?

Responder1

Provavelmente não é a resposta que você estava procurando:

Problemas com a combinação de Unidade ewmctrl

A combinação de Unity e wmctrlinfelizmente tem algumas peculiaridades, das quais o comportamento que você descreve é ​​uma delas.

Olhando para sua saída

  • O que 65,24você mencionou, são oslargurado Unity Launcher e doalturado seu painel.
  • Na linha:

    0x03400005  0 0   24    65   1111  janw_VirtualBox unity-launcher
    

    na saída de wmctrl -lG, você pode ver que o Launcher estáposicionadoat x=0, y=24, enquanto o tamanho do lançador é 65 x 1111. ( 1111é a altura da sua tela menos a altura do seu painel)

Estritamente, o comando para colocar a janela ativa no canto superior esquerdo deveria ser:

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

e não:

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

No entanto, isso não resolverá o problema, é simplesmente um bug. Ainda haverá a margem que você descreve. A propósito, o mesmo acontecerá ao usar xdotool(não instalado por padrão):

xdotool windowmove "$(xdotool getactivewindow)"  65 24

ou

xdotool windowmove "$(xdotool getactivewindow)"  0 0

Lendo a saída dewmctrl -dG

Olhando para 1792x1111dentro WA: 65,24 1792x1111, você pode ver que tem uma resolução de monitor de 1857( 65+ 1792) x 1135( 1111+ 24).
Nesse caso, corresponde exatamente aos valores em DG: 1857x1135, já que você só tem uma viewport (área de trabalho): DGrepresenta ototaltamanho da sua área de trabalho (todas as viewports).

Resumindo

Ambos wmctrlfuncionam xdotoolbem se você definir uma janelamaximizado. O efeito que você descreve não ocorrerá.Movendo-seouredimensionarno entanto, as janelas deixarão alguns pixels do inicializador e do painel, conforme descrito emesta resposta.:
"A janela a ser movida/redimensionada precisa ter pelo menos alguns px do inicializador do Unity e do painel superior."

Além do que você descreve, outro problema que você encontrará se começar a brincar wmctrle Unityé odesvio, conforme descrito emEste.

informação relacionada