Also spew wayland display name through session pipe.
This commit is contained in:
parent
a85c8d761c
commit
2bb4907993
4 changed files with 18 additions and 12 deletions
|
@ -349,7 +349,7 @@ retry:
|
|||
listCommitsDone.push_back( commitID );
|
||||
}
|
||||
|
||||
static Display *threadDPY = XOpenDisplay ( wlserver_get_nested_display() );
|
||||
static Display *threadDPY = XOpenDisplay ( wlserver_get_nested_display_name() );
|
||||
XSendEvent( threadDPY, ourWindow, True, SubstructureRedirectMask, &nudgeEvent );
|
||||
XFlush( threadDPY );
|
||||
|
||||
|
@ -2758,7 +2758,7 @@ steamcompmgr_main (int argc, char **argv)
|
|||
alwaysComposite = True;
|
||||
}
|
||||
|
||||
dpy = XOpenDisplay ( wlserver_get_nested_display() );
|
||||
dpy = XOpenDisplay ( wlserver_get_nested_display_name() );
|
||||
if (!dpy)
|
||||
{
|
||||
fprintf (stderr, "Can't open display\n");
|
||||
|
@ -2906,7 +2906,7 @@ steamcompmgr_main (int argc, char **argv)
|
|||
|
||||
if ( readyPipeFD != -1 )
|
||||
{
|
||||
dprintf( readyPipeFD, "%s\n", wlserver_get_nested_display() );
|
||||
dprintf( readyPipeFD, "%s %s\n", wlserver_get_nested_display_name(), wlserver_get_wl_display_name() );
|
||||
close( readyPipeFD );
|
||||
readyPipeFD = -1;
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ void vblankThreadRun( void )
|
|||
|
||||
void vblank_init( void )
|
||||
{
|
||||
g_nestedDpy = XOpenDisplay( wlserver_get_nested_display() );
|
||||
g_nestedDpy = XOpenDisplay( wlserver_get_nested_display_name() );
|
||||
assert( g_nestedDpy != nullptr );
|
||||
|
||||
g_lastVblank = get_time_in_nanos();
|
||||
|
|
|
@ -563,15 +563,14 @@ int wlserver_init(int argc, char **argv, bool bIsNested) {
|
|||
};
|
||||
wlserver.wlr.xwayland_server = wlr_xwayland_server_create(wlserver.wl_display, &xwayland_options);
|
||||
wl_signal_add(&wlserver.wlr.xwayland_server->events.ready, &xwayland_ready_listener);
|
||||
|
||||
char wayland_display_name[32];
|
||||
|
||||
int result = -1;
|
||||
int display_slot = 0;
|
||||
|
||||
while ( result != 0 && display_slot < 128 )
|
||||
{
|
||||
sprintf( wayland_display_name, "gamescope-%d", display_slot );
|
||||
result = wl_display_add_socket( wlserver.wl_display, wayland_display_name );
|
||||
sprintf( wlserver.wl_display_name, "gamescope-%d", display_slot );
|
||||
result = wl_display_add_socket( wlserver.wl_display, wlserver.wl_display_name );
|
||||
display_slot++;
|
||||
}
|
||||
|
||||
|
@ -585,9 +584,9 @@ int wlserver_init(int argc, char **argv, bool bIsNested) {
|
|||
wlserver.wlr.seat = wlr_seat_create(wlserver.wl_display, "seat0");
|
||||
wlr_seat_set_capabilities( wlserver.wlr.seat, WL_SEAT_CAPABILITY_POINTER | WL_SEAT_CAPABILITY_KEYBOARD | WL_SEAT_CAPABILITY_TOUCH );
|
||||
|
||||
wlr_log(WLR_INFO, "Running compositor on wayland display '%s'", wayland_display_name);
|
||||
wlr_log(WLR_INFO, "Running compositor on wayland display '%s'", wlserver.wl_display_name);
|
||||
|
||||
setenv("GAMESCOPE_WAYLAND_DISPLAY", wayland_display_name, 1);
|
||||
setenv("GAMESCOPE_WAYLAND_DISPLAY", wlserver.wl_display_name, 1);
|
||||
|
||||
if (!wlr_backend_start( wlserver.wlr.multi_backend ))
|
||||
{
|
||||
|
@ -727,11 +726,16 @@ void wlserver_send_frame_done( struct wlr_surface *surf, const struct timespec *
|
|||
wlr_surface_send_frame_done( surf, when );
|
||||
}
|
||||
|
||||
const char *wlserver_get_nested_display( void )
|
||||
const char *wlserver_get_nested_display_name( void )
|
||||
{
|
||||
return wlserver.wlr.xwayland_server->display_name;
|
||||
}
|
||||
|
||||
const char *wlserver_get_wl_display_name( void )
|
||||
{
|
||||
return wlserver.wl_display_name;
|
||||
}
|
||||
|
||||
static void handle_surface_destroy( struct wl_listener *l, void *data )
|
||||
{
|
||||
struct wlserver_surface *surf = wl_container_of( l, surf, destroy );
|
||||
|
|
|
@ -12,6 +12,7 @@ struct wlserver_t {
|
|||
struct wl_display *wl_display;
|
||||
struct wl_event_loop *wl_event_loop;
|
||||
int wl_event_loop_fd;
|
||||
char wl_display_name[32];
|
||||
|
||||
struct {
|
||||
struct wlr_backend *multi_backend;
|
||||
|
@ -84,7 +85,8 @@ void wlserver_mousewheel( int x, int y, uint32_t time );
|
|||
|
||||
void wlserver_send_frame_done( struct wlr_surface *surf, const struct timespec *when );
|
||||
|
||||
const char *wlserver_get_nested_display( void );
|
||||
const char *wlserver_get_nested_display_name( void );
|
||||
const char *wlserver_get_wl_display_name( void );
|
||||
|
||||
struct wlserver_surface
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue