@@ -1099,13 +1099,17 @@
# assuming the guest will resize the display to match
# the window size then. Otherwise it defaults to "off".
# Since 3.1
+# @monitor: Indicate monitor where QEMU window is lauched. monitor
+# could be any number from 0 to (total num of monitors - 1).
+# since 7.0
#
# Since: 2.12
#
##
{ 'struct' : 'DisplayGTK',
'data' : { '*grab-on-hover' : 'bool',
- '*zoom-to-fit' : 'bool' } }
+ '*zoom-to-fit' : 'bool',
+ '*monitor' : 'uint32' } }
##
# @DisplayEGLHeadless:
@@ -1852,7 +1852,7 @@ DEF("display", HAS_ARG, QEMU_OPTION_display,
#endif
#if defined(CONFIG_GTK)
"-display gtk[,full-screen=on|off][,gl=on|off][,grab-on-hover=on|off]\n"
- " [,show-cursor=on|off][,window-close=on|off]\n"
+ " [,monitor=<value>][,show-cursor=on|off][,window-close=on|off]\n"
#endif
#if defined(CONFIG_VNC)
"-display vnc=<display>[,<optargs>]\n"
@@ -2314,6 +2314,14 @@ static void gtk_display_init(DisplayState *ds, DisplayOptions *opts)
vc && vc->type == GD_VC_VTE);
#endif
+ if (opts->u.gtk.has_monitor &&
+ opts->u.gtk.monitor < gdk_display_get_n_monitors(window_display)) {
+ GdkRectangle mon_dest;
+ gdk_monitor_get_geometry(
+ gdk_display_get_monitor(window_display, opts->u.gtk.monitor),
+ &mon_dest);
+ gtk_window_move(GTK_WINDOW(s->window), mon_dest.x, mon_dest.y);
+ }
if (opts->has_full_screen &&
opts->full_screen) {
gtk_menu_item_activate(GTK_MENU_ITEM(s->full_screen_item));
Introducing a new integer parameter to specify the monitor where the Qemu window is placed upon launching. Monitor can be any number between 0 and (total number of monitors - 1). It can be used together with full-screen=on, which will make the QEMU window full-screened on the targeted monitor. v2: fixed typos and updated commit subject and msg (Philippe Mathieu-Daudé) changed param name to monitor, removed unnecessary condition check on the parameter (Paolo Bonzini) Cc: Philippe Mathieu-Daudé <philmd@redhat.com> Cc: Klaus Kiwi <kkiwi@redhat.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Vivek Kasireddy <vivek.kasireddy@intel.com> Cc: sweeaun <swee.aun.khor@intel.com> Cc: Khairul Anuar Romli <khairul.anuar.romli@intel.com> Signed-off-by: Dongwon Kim <dongwon.kim@intel.com> --- qapi/ui.json | 6 +++++- qemu-options.hx | 2 +- ui/gtk.c | 8 ++++++++ 3 files changed, 14 insertions(+), 2 deletions(-)