[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] gtk: Add show_tabs=on|off command line option.
From: |
Igor S |
Subject: |
[Qemu-devel] [PATCH] gtk: Add show_tabs=on|off command line option. |
Date: |
Fri, 26 Feb 2016 12:51:59 +0300 |
User-agent: |
Mozilla/5.0 (Windows NT 5.1; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 |
The patch adds "show_tabs" command line option for GTK ui similar to
"grab_on_hover". This option allows tabbed view mode to not have to be enabled
by hand at each start of the VM.
Signed-off-by: Igor Sudarikov <address@hidden>
---
include/ui/console.h | 2 +-
qemu-options.hx | 2 +-
ui/gtk.c | 5 ++++-
vl.c | 12 +++++++++++-
4 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/include/ui/console.h b/include/ui/console.h
index 6631b96..71132aa 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -453,6 +453,6 @@ int index_from_key(const char *key, size_t key_length);
/* gtk.c */
void early_gtk_display_init(int opengl);
-void gtk_display_init(DisplayState *ds, bool full_screen, bool grab_on_hover);
+void gtk_display_init(DisplayState *ds, bool full_screen, bool grab_on_hover,
bool show_tabs);
#endif
diff --git a/qemu-options.hx b/qemu-options.hx
index f528405..1c2e9ae 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -930,7 +930,7 @@ ETEXI
DEF("display", HAS_ARG, QEMU_OPTION_display,
"-display sdl[,frame=on|off][,alt_grab=on|off][,ctrl_grab=on|off]\n"
" [,window_close=on|off]|curses|none|\n"
- " gtk[,grab_on_hover=on|off]|\n"
+ " gtk[,grab_on_hover=on|off][,show_tabs=on|off]|\n"
" vnc=<display>[,<optargs>]\n"
" select display type\n", QEMU_ARCH_ALL)
STEXI
diff --git a/ui/gtk.c b/ui/gtk.c
index 3773826..8800eca 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -2071,7 +2071,7 @@ static void gd_set_keycode_type(GtkDisplayState *s)
static gboolean gtkinit;
-void gtk_display_init(DisplayState *ds, bool full_screen, bool grab_on_hover)
+void gtk_display_init(DisplayState *ds, bool full_screen, bool grab_on_hover,
bool show_tabs)
{
GtkDisplayState *s = g_malloc0(sizeof(*s));
char *filename;
@@ -2157,6 +2157,9 @@ void gtk_display_init(DisplayState *ds, bool full_screen,
bool grab_on_hover)
if (grab_on_hover) {
gtk_menu_item_activate(GTK_MENU_ITEM(s->grab_on_hover_item));
}
+ if (show_tabs) {
+ gtk_menu_item_activate(GTK_MENU_ITEM(s->show_tabs_item));
+ }
gd_set_keycode_type(s);
}
diff --git a/vl.c b/vl.c
index b87e292..e553611 100644
--- a/vl.c
+++ b/vl.c
@@ -146,6 +146,7 @@ static int no_frame = 0;
int no_quit = 0;
#ifdef CONFIG_GTK
static bool grab_on_hover;
+static bool show_tabs;
#endif
CharDriverState *serial_hds[MAX_SERIAL_PORTS];
CharDriverState *parallel_hds[MAX_PARALLEL_PORTS];
@@ -2194,6 +2195,15 @@ static DisplayType select_display(const char *p)
} else {
goto invalid_gtk_args;
}
+ } else if (strstart(opts, ",show_tabs=", &nextopt)) {
+ opts = nextopt;
+ if (strstart(opts, "on", &nextopt)) {
+ show_tabs = true;
+ } else if (strstart(opts, "off", &nextopt)) {
+ show_tabs = false;
+ } else {
+ goto invalid_gtk_args;
+ }
} else if (strstart(opts, ",gl=", &nextopt)) {
opts = nextopt;
if (strstart(opts, "on", &nextopt)) {
@@ -4567,7 +4577,7 @@ int main(int argc, char **argv, char **envp)
#endif
#if defined(CONFIG_GTK)
case DT_GTK:
- gtk_display_init(ds, full_screen, grab_on_hover);
+ gtk_display_init(ds, full_screen, grab_on_hover, show_tabs);
break;
#endif
default:
--
2.7.0
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [PATCH] gtk: Add show_tabs=on|off command line option.,
Igor S <=