Parece un problema simple, pero no puedo encontrar la respuesta: ¿Cómo se consulta (a través de X11) qué monitores existen y sus resoluciones?¿Cómo consultar la resolución de la pantalla X11?
Respuesta
Echa un vistazo display macros y screen macros del Xlib manual.
Específicamente:
- Desde el first link:
ScreenCount()
,ScreenOfDisplay()
- Desde el second link:
WidthOfScreen()
,HeightOfScreen()
Si Xinerama está en uso, intente XineramaQueryScreens
. De lo contrario, es posible que pueda suponer una sola pantalla y utilizar (X)WidthOfScreen
/(X)HeightOfScreen.
(Véase también la otra respuesta. Es remotamente posible que alguien está usando el viejo modelo de pantalla X donde sus pantallas son :x.0
, :x.1
, etc.)
Para los servidores X modernos, también está la extensión XRandR, que proporciona el modelo más actualizado de información de diseño de pantallas múltiples, incluyendo pantallas superpuestas y cambios de pantalla dinámicos.
La documentación está disponible en XRandR 1.3.1 Protocol spec y libXrandr man page.
Esto podría ser atento para cli y secuencias de comandos
xwininfo -root
Pero XRandR podría ser más preciso, sobre todo, cuando hay múltiples entorno de monitor:
xrandr
Se parece '' xrandr' comparación con xwininfo -root' no lo hace Sin embargo, le informamos sobre el monitor que está actualmente activo. Sin embargo, le informa sobre el monitor por proxy de la ventana raíz activa. – CMCDragonkai
Limpio xrandr
producción para uso ImageMagick
xrandr |grep \* |awk '{print $1}'
No está relacionado con el X11? –
La biblioteca X11 funciona solo con sistema operativo tipo Unix, por lo que no es una solución multiplataforma.
Un código completo
#include <stdio.h>
#include <X11/Xlib.h>
int
main(const int argc, const char *argv[])
{
Display *display;
Screen *screen;
// open a display
display = XOpenDisplay(NULL);
// return the number of available screens
int count_screens = ScreenCount(display);
printf("Total count screens: %d\n", count_screens);
for (int i = 0; i < count_screens; ++i) {
screen = ScreenOfDisplay(display, i);
printf("\tScreen %d: %dX%d\n", i + 1, screen->width, screen->height);
}
// close the display
XCloseDisplay(display);
return 0;
}
Una recopilación
gcc -o setup setup.c -std=c11 `pkg-config --cflags --libs x11`
Un resultado (real para mi ordenador)
Total count screens: 1
Screen 1: 1366X768
Basado en:
Gracias por proporcionar el código. ¿Conoce la respuesta a mi pregunta? Http://stackoverflow.com/questions/42987932/is-a-monitor-in-gtk3-the-same-as-a-screen-in-x11. Pregunto si las pantallas que está encontrando en este código son las mismas que Gtk3 3.22 llama monitores. –
- 1. Obtener y establecer la resolución de pantalla
- 2. ¿Cómo acomodar la resolución de la pantalla del iPhone 4?
- 3. ¿Cómo puedo obtener la resolución de la pantalla en R
- 4. XNA - Obtenga la resolución de pantalla actual
- 5. declaración condicional para la resolución de pantalla?
- 6. Obtener resolución de pantalla
- 7. ¿Qué tan alto van los números de la pantalla X11?
- 8. css obtener la altura de la resolución de pantalla
- 9. CSS: la resolución de problemas de la pantalla absoluta
- 10. ¿Cómo obtener la resolución de pantalla de su dispositivo Android ...?
- 11. Resolución de pantalla Silverlight
- 12. Cómo obtener la resolución de pantalla del navegador en vivo
- 13. ¿Cómo saber la resolución de pantalla en "DP"?
- 14. Objetivo C: ¿cómo obtener la resolución de pantalla actual?
- 15. ¿Cuál es la resolución de la pantalla del iPhone?
- 16. ¿Cambiar la resolución de la pantalla mediante programación?
- 17. Resolución de pantalla de Android
- 18. pantalla de código java resolución
- 19. ¿Cómo obtener resolución de pantalla en C++?
- 20. Android: Obtenga la resolución de pantalla/píxeles como valores enteros
- 21. Redirigir en función de la resolución de pantalla con jQuery?
- 22. Obtenga la resolución de pantalla real en Ice Cream Sandwich
- 23. Uiimage de UIView: ¿superior a la resolución en pantalla?
- 24. ¿Cómo dibuja la computadora la pantalla?
- 25. Encuentre un número de pantalla gratis de X11
- 26. Resolución de píxeles de pantalla en mm
- 27. Programación de Android: resolución de pantalla
- 28. ¿Cómo consultar la resolución de hardware NATIVE del monitor principal en Windows?
- 29. captura de pantalla usando OpenGL y/o X11
- 30. ¿cómo centro javascript css popup div, sin importar la resolución de la pantalla?
+1 para xinerama – asveikau