Dear list, I have questions on RandR / Xinerama programming. I'm a developer of window manager "Sawfish", but I don't have external display.
My main concern is the relation between the whole which contains all area (partially) covered by crt's, and parts = crt's. Display * dpy; 1. With libXinerama, I'm told that the size of the default screen of the struct Display is, roughly speaking, that of all physical screens combined together. Then, what Xinerama implements is the combination of physical monitor to form one big "screen", right? 2. In libXrandr on the other hand, it seems that each of dpy->screen[i] corresponds to crt / crt controller. (I've found it by looking into the source of XRRUpdateConfiguration. There, dpy->screen[index].width/height are affected by the rotation status. But the rotation happens on each physical monitor, not the entire coordinate system.) But the RandR protcol uses the word "screen" as the entire coordinate system which houses all of crt's. What are display (struct Display) and screen (member of Display) exactly? Is there terminology confusion among Xlib, Xinerama and Xrandr? To which does the root window correspond? 3. How can you obtain the "offset" of each crtc/output from (0, 0) of the entire coordinate? And the entire "screen" size? 4. If my guesses above are right, then RandR is not the superset of Xinerama, contrary to the implication in RandR protocol 1.3.1, section 11.2. Instead, RandR is a replacement indeed, no? (I may be confusing user interface and API of libXinerama and libXrandr. :P) I'm thinking of submiting doc patch / Wikipedia update after the smoke clears. Maybe tutorial, too. Please be kind. :) With best regards, Teika (Teika kazura) _______________________________________________ [email protected]: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.freedesktop.org/mailman/listinfo/xorg
