diff options
author | Laércio de Sousa <laerciosousa@sme-mogidascruzes.sp.gov.br> | 2014-08-18 08:45:43 -0300 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2014-08-21 20:14:55 -0500 |
commit | 3a51418b2db353519a1779cf3cebbcc9afba2520 (patch) | |
tree | 0743a5e43fe42818bd5804e2cfd2b9debb53d382 /hw/kdrive/ephyr/ephyr.h | |
parent | 84b02469ef97e6f85d074d220a517d752180045f (diff) |
ephyr: set screen size & origin from host X server output's CRTC geometry
If a given output is passed via new -output option, Xephyr will query
host X server for its info. If the following conditions are met:
a. RandR extension is enabled in host X server;
b. supported RandR version in host X server is 1.2 or newer;
c. the given output name is valid;
d. the given output is connected;
then Xephyr will get output's CRTC geometry and use it to set its own
screen size and origin. It's just like starting Xephyr in fullscreen mode,
but restricted to the given output's CRTC geometry (fake "Zaphod mode").
This is the main feature needed for Xephyr-based single-card multiseat
setups where we don't have separate screens to start Xephyr in fullscreen
mode safely.
Signed-off-by: Laércio de Sousa <laerciosousa@sme-mogidascruzes.sp.gov.br>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'hw/kdrive/ephyr/ephyr.h')
-rw-r--r-- | hw/kdrive/ephyr/ephyr.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/kdrive/ephyr/ephyr.h b/hw/kdrive/ephyr/ephyr.h index 5c4936bb2..4e753f158 100644 --- a/hw/kdrive/ephyr/ephyr.h +++ b/hw/kdrive/ephyr/ephyr.h @@ -74,8 +74,10 @@ typedef struct _ephyrScrPriv { xcb_window_t peer_win; /* Used for GL; should be at most one */ xcb_image_t *ximg; Bool win_explicit_position; + int win_x, win_y; int win_width, win_height; int server_depth; + const char *output; /* Set via -output option */ unsigned char *fb_data; /* only used when host bpp != server bpp */ xcb_shm_segment_info_t shminfo; |