Si Xinerama est en cours d'utilisation, essayez XineramaQueryScreens . Sinon, vous pourrez peut-être supposer un seul écran et utiliser (X)WidthOfScreen /(X)HeightOfScreen.
(Voir également l'autre réponse. Il est à distance possible que quelqu'un utilise l'ancien modèle d'écran X où vos écrans sont :x.0 , :x.1 , etc.)
Consultez les macros d'affichage et les macros d'écran du manuel Xlib.
Plus précisément :
- Depuis le premier lien :
ScreenCount(),ScreenOfDisplay() - Depuis le deuxième lien :
WidthOfScreen(),HeightOfScreen()
Cela pourrait être utile pour le cli et les scripts
xwininfo -root
Mais xRandR peut être plus précis, surtout lorsqu'il y a plusieurs moniteurs :
xrandr