X11: open window on its previous position
Signed-off-by: Thomas Bernard <miniupnp@free.fr>
This commit is contained in:
parent
80f2f681b3
commit
1d023c49e2
@ -1368,8 +1368,17 @@ int Get_input(int sleep_time)
|
||||
case ConfigureNotify:
|
||||
if (event.xconfigure.above == 0)
|
||||
{
|
||||
int x_pos, y_pos;
|
||||
unsigned int width, height, border_width, depth;
|
||||
Window root_window;
|
||||
|
||||
Resize_width = event.xconfigure.width;
|
||||
Resize_height = event.xconfigure.height;
|
||||
if (XGetGeometry(X11_display, X11_window, &root_window, &x_pos, &y_pos, &width, &height, &border_width, &depth))
|
||||
{
|
||||
Config.Window_pos_x = event.xconfigure.x - x_pos;
|
||||
Config.Window_pos_y = event.xconfigure.y - y_pos;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ClientMessage:
|
||||
|
||||
@ -1092,7 +1092,7 @@ void Program_shutdown(void)
|
||||
}
|
||||
#endif
|
||||
// Config.Window_pos_x / Config.Window_pos_y are set in win32screen.c
|
||||
#else
|
||||
#elif !defined(USE_X11)
|
||||
// All other targets: irrelevant dimensions.
|
||||
// Do not attempt to force them back on next program run.
|
||||
Config.Window_pos_x = 9999;
|
||||
|
||||
@ -46,6 +46,7 @@ void GFX2_Set_mode(int *width, int *height, int fullscreen)
|
||||
unsigned long white, black;
|
||||
char * winName[] = { "GrafX2" };
|
||||
Visual * visual;
|
||||
(void)fullscreen;
|
||||
|
||||
if (X11_display == NULL)
|
||||
X11_display = XOpenDisplay(NULL);// NULL is equivalent to getenv("DISPLAY")
|
||||
@ -152,6 +153,8 @@ void GFX2_Set_mode(int *width, int *height, int fullscreen)
|
||||
XSetWMProtocols(X11_display, X11_window, &wmDelete, 1);
|
||||
|
||||
XMapWindow(X11_display, X11_window);
|
||||
if (Config.Window_pos_x != 9999 && Config.Window_pos_y != 9999)
|
||||
XMoveWindow(X11_display, X11_window, Config.Window_pos_x, Config.Window_pos_y);
|
||||
}
|
||||
|
||||
if (screen == NULL)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user