mir/xrandr compatibility lib
Bryce Harrington
bryce at canonical.com
Tue Apr 9 21:59:17 UTC 2013
On Mon, Apr 08, 2013 at 12:20:38PM -0700, Bryce Harrington wrote:
> I'm looking into making a wrapper lib for mir that provides a few basic
> xrandr operations via mir. I think I understand what's needed but want
> to get your sanity check before I get too far into it.
>
> This mir/randr compatibility library ("mirandr?") will provide the
> header file X11/extensions/Xrandr.h, but stripped down to only the RANDR
> 1.0 routines and structure definitions. That should be adequate for
> applications and is a reasonably achievable subset (i.e. no multi-head
> layout operations, properties, or other advanced stuff). Since
> libXrandr is in C, this will need to be in C as well.
For now, pushed some preliminary bits to:
https://code.launchpad.net/~bryce/+junk/mirandr
> The library will provide mir implementations of these commonly needed
> RANDR 1.0 calls:
>
> XRRGetScreenInfo()
> XRRSetScreenConfig()
> XRRQueryVersion() // Just returns 1.0
> XRRQueryExtension() // Stub; just return true
>
> The getter call (retrieving read-only information) is the immediate
> priority. The setter routine may be more involved to get right so
> implementaton will be left to phase 2.
>
> There are also a number of accessors and constructor/destructor routines
> for the various structs. These are entirely local (they don't make any
> server calls) so will be reused as-is.
>
>
> The implementation of XRRGetScreenInfo() will essentially just set up a
> mir connection, grab the display info, and reformat it into the Xrandr
> structures. So, borrowing logic from the demo client, it'd look
> something like:
>
> MirConnection* connection{nullptr};
> mir_wait_for(mir_connect(mir_test_socket, __PRETTY_FUNCTION__,
> connection_callback, &connection));
> MirDisplayInfo info;
> mir_connection_get_display_info(connection, &info);
>
> // Create XRRScreenConfiguration structure
> // Copy info.width, info.height to structure
>
> mir_connection_release(connection);
> // return structure
>
>
> How's this all sound so far?
>
> Bryce
>
> --
> Mir-devel mailing list
> Mir-devel at lists.ubuntu.com
> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/mir-devel
More information about the Mir-devel
mailing list