O que está acontecendo é que wmctrl está retornando a geometria da janela dentro das decorações (ou seja, não incluindo a barra de título e bordas), mas está usando a posição da janela maior para o movimento.
(Algumas linhas de saída de comando foram removidas: xdotool
pode não estar instalado)
$ wmctrl -lG
0x04000040 0 702 23 900 950 KMatrix dave@KMatrix: test – Konsole
$ xdotool getwindowgeometry 0x04000040
Window 67108928
Position: 702,23 (screen: 0)
Geometry: 900x950
O próximo comando solicita a janela de interesse e retorna a janela pai, que inclui todas as decorações e varia de acordo com o tema da janela em uso.
$ xdotool selectwindow
25166060
$ xdotool getwindowgeometry 0x18000ec
Window 25166060
Position: 700,0 (screen: 0)
Geometry: 904x977
Como você pode ver, é uma janela diferente; a posição X inicia 2px para a esquerda (702-2) e a largura total é maior para 4px (900 + 2 + 2) porque a borda direita também é 2px. Y é mais alto (acima da borda superior, se houver, e da barra de título); a altura é maior por causa de tudo isso mais a borda inferior.
wmctrl move a janela pai para a posição desejada [X, Y] da janela filho; a largura e a altura são aplicadas corretamente à criança, conforme mostrado no "antes & depois" abaixo.
$ wmctrl -lG
0x04000040 0 702 23 900 950 KMatrix dave@KMatrix: test – Konsole
$ xdotool getwindowgeometry 0x18000ec # (PARENT)
Window 25166060
Position: 700,0 (screen: 0)
Geometry: 904x977
$ xdotool getwindowgeometry 0x04000040 # (CHILD)
Window 67108928
Position: 702,23 (screen: 0)
Geometry: 900x950
$ wmctrl -ir 0x04000040 -e 0,702,23,900,950 # <----- "MOVE/RESIZE" *****
$ wmctrl -lG
0x04000040 0 704 46 900 950 KMatrix dave@KMatrix: test – Konsole
$ xdotool getwindowgeometry 0x18000ec # (PARENT)
Window 25166060
Position: 702,23 (screen: 0) <----- Desired [X,Y] applied to parent
Geometry: 904x977
$ xdotool getwindowgeometry 0x04000040 # (CHILD)
Window 67108928
Position: 704,46 (screen: 0)
Geometry: 900x950 <----- Desired [W,H] applied to child
Editar: informações adicionais.
Geometria do ambiente de trabalho, Viewport & amp; Workarea
$ wmctrl -d # (KDE)
0 * DG: 1680x1050 VP: 0,0 WA: 0,0 1680x1015 Desktop 1
$ xdotool -v
xdotool version 3.20140217.1
Re: @Setsetsher dica nos comentários
$ xprop | grep FRAME
_KDE_NET_WM_FRAME_STRUT(CARDINAL) = 2, 2, 23, 4
_NET_FRAME_EXTENTS(CARDINAL) = 2, 2, 23, 4