24 votos

Cómo conseguir precisa de la ventana de información (dimensiones, etc.) en Linux (X)?

¿Cómo puedo recibir información precisa información de la ventana en Linux? Sé que se puede utilizar wmctrl para obtener una ventana del tamaño, pero el tamaño real de la ventana puede variar debido a la decoración de las ventanas. Necesito la siguiente información y métodos:

* precise window dimensions
* precise available screen space (excluding panels like gnome-panel)
* the ability to set a window to be a certain size, including decorations

¿Cuál sería la mejor manera de hacer esto?

Gracias de antemano!

26voto

Hay algunos programas en linux para la consola, que podría ser de ayuda.

  • xwininfo: Usted obtiene el tamaño de la ventana de exclusión de la decoración y la posición absoluta (de la pantalla) y relativa (a la zona para windows)
  • xdpyinfo: Esto le da mucho más información acerca de la pantalla del dispositivo, que usted nunca quiere saber acerca de. Pero tiene en algún lugar de la salida de algo como screen: #0 , seguido por dimension: 1024x768.

6voto

Bryan Head Puntos 3077

> precisa de las dimensiones de la ventana

El siguiente ejemplo (voluntad de trabajo, al menos en sh, bash y zsh) imprime la geometría de la ventana con y sin marco para todas las ventanas con "KWrite" en algún lugar en el título.

windows="$(wmiface findNormalWindows "KWrite" "" "" "" "" "")"
for window in $(echo $windows); do
{
  echo $window
  wmiface framePosition $window
  wmiface frameSize $window
  wmiface windowPosition $window
  wmiface windowSize $window
  echo
} done

> precisa espacio disponible de la pantalla (excepto los paneles de gnome-panel)

xrandr

Por ejemplo:

xrandr | head -n1 | cut -d, -f2 | cut -d" " -f3-5

Salida en mi caso:

4400 x 2560

No está seguro de cómo excluir de los paneles - si usted tiene más de un monitor, que puede ser incluso en medio de la pantalla virtual, por lo que la geometría de la pantalla sin que los paneles pueden ser más complicado que "el espacio de pantalla disponible".

> la capacidad de establecer una ventana a un tamaño determinado, incluyendo decoraciones

wmiface setFrameGeometry $window $x $y $width $height

Leer wmiface LÉAME para obtener aún más comandos posibles.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X