This is per upstream connection state, so it's better of in the
upstream information struct.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This is per upstream connection state, so it's better of in the
upstream information struct.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Write through the window properties set by Xnest's client to the
upstream windows.
This is important for rootless mode.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Add a little helper for writing properties, using atom and type as string
instead of XIDs. The upstream's atom XIDs are looked up automatically.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Start collecting the per-screen data into an own struct. Leaving this struct
in a global array (just like the individual fields) right now, because several
places still need to iterate over it. In later steps might move into a per
screen's devPrivate.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Now that no Xlib operations (besides opening and closing connection)
aren't used anymore, we can move over the last pieces and use XCB
instead of Xlib for connecting the upstream Xserver.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Now that no X11 calls are being done via Xlib anymore, we're free to
also move over event receiving, leaving Xlib pretty much unused.
Also need to add a simple event queue mechanism, because we've go a
screen operation (see xnestBitBlitHelper) that needs to collect up
certain events for it's return value.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Use the visuals lookup table introduced by previous commit for
looking up local vs upstream visuals and their colormaps.
Replacing the the old Xlib visuals table.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Record the associations between host's and our visuals as well their
corresponding cmaps in a global table, which's used later for lookups.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Upcoming patches will need to retieve GC's XIDs on the upstream connection.
Moving this out into separate .c file, in order to not creating more
dependencies on Xlib headers, which we wanna get rid of.
For now, looking at the Xlib GC structure, attached to our DDX GCs.
When all users of the Xlib GC have gone (ie. moved all consumers to xcb),
we'll create the GC via xcb directly, thus replacing the Xlib GC struct
by XID - the interface of this helper will remain the same.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Fetching the setup data from xcb instead of Xlib, storing in our own struct,
holding all information needed for one particular upstream connection.
For now, there's only one, but future multi-upstream implementation will
change this to an array (and storing pointers to particular upstream in
various places).
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>