XSDesktop

SYNTAX

	wid=XSDesktop(displayname,argv,argc)

	XSWidget *wid;
	int  argc;
	char **argv,*displayname;

DESCRIPTION

XSDesktop open a network connection to display named by displayname and scan for active screens. All active screens are returned in a linked list of widgets and all rootwindow are maped like any standard widget, see the XSWidget definitions for more detail about display and screen informations.

The displayname can be NULL, but isn't recomended. You can parse your argv for a parameter like "-dDISPLAY" or "-display DISPLAY" or force to any specific display, like ":0". If unsure, use getenv("DISPLAY").

All operations of XSDesktop in the X server are immediate.

Example

#include <xstep.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc,char **argv) {

	XSWidget *d1,*d2;
	int i;

	d2=d1=XSDesktop(getenv("DISPLAY"),argv,argc);

	while(d1->last) d1=d1->last;

	for(i=0;d1;i++) {

		printf("display %s, screen %d: %dx%d pixels, depth %d %s\n",
			d1->name,i,d1->width,d1->height,d1->depth,
			d1==d2?"(default screen)":"");

		d1=d1->next;
	}

	return 0;
}