Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Signed-off-by: Khairul Anuar Romli <khairul.anuar.romli@intel.com>
---
qapi/ui.json | 4 +++-
ui/gtk.c | 7 +++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/qapi/ui.json b/qapi/ui.json
index 1052ca9c38..ff14bb2f46 100644
--- a/qapi/ui.json
+++ b/qapi/ui.json
@@ -1141,6 +1141,7 @@
# @show-cursor: Force showing the mouse cursor (default: off).
# (since: 5.0)
# @gl: Enable OpenGL support (default: off).
+# @detach-all: Detatch all VirtualConsoles from beginning (default: off).
#
# Since: 2.12
#
@@ -1150,7 +1151,8 @@
'*full-screen' : 'bool',
'*window-close' : 'bool',
'*show-cursor' : 'bool',
- '*gl' : 'DisplayGLMode' },
+ '*gl' : 'DisplayGLMode',
+ '*detach-all' : 'bool' },
'discriminator' : 'type',
'data' : { 'gtk' : 'DisplayGTK',
'curses' : 'DisplayCurses',
diff --git a/ui/gtk.c b/ui/gtk.c
index ce885d2ca3..a07e5a049e 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -2211,6 +2211,7 @@ static void gtk_display_init(DisplayState *ds,
DisplayOptions *opts)
GdkDisplay *window_display;
GtkIconTheme *theme;
char *dir;
+ int i;
if (!gtkinit) {
fprintf(stderr, "gtk initialization failed\n");
@@ -2290,6 +2291,12 @@ static void gtk_display_init(DisplayState *ds,
DisplayOptions *opts)
gtk_menu_item_activate(GTK_MENU_ITEM(s->grab_on_hover_item));
}
gd_clipboard_init(s);
+
+ if (opts->detach_all) {
+ for (i = 0; i < s->nb_vcs - 1; i++) {
+ gtk_menu_item_activate(GTK_MENU_ITEM(s->untabify_item));
+ }
+ }
}
static void early_gtk_display_init(DisplayOptions *opts)