gtk: Add show_tabs=on|off command line option.
PATCH 1/1 gtk: Add show_tabs=on|off command line option.
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.
--- include/ui/console.h | 2 +- qemu-options.hx | 2 +- ui/gtk.c | 5 ++++- vl.c | 12 +++++++++++- 4 files changed, 17 insertions(+), 4 deletions(-)
include/ui/console.h +1 -1
@@ -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
qemu-options.hx +1 -1
@@ -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
ui/gtk.c +4 -1
@@ -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); }
vl.c +11 -1
@@ -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 :
Signature · 1 line
2.7.0
Heya!
Quoted 1 line
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.
It's been a while now, but i was always missing this feature in QEMU and i'd love to see that patch land in QEMU one day.
I discovered that patch by searching for "start qemu with tabs visible" and found this link:
https://patchwork.ozlabs.org/project/qemu-devel/patch/[email protected]/
Regards
- Felix
Quoted 9 lines · Felix Queißner
Heya!
Quoted 1 line
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.It's been a while now, but i was always missing this feature in QEMU and i'd love to see that patch land in QEMU one day.
I discovered that patch by searching for "start qemu with tabs visible" and found this link:
https://patchwork.ozlabs.org/project/qemu-devel/patch/[email protected]/
Not sure why it was
That patch certainly needs a re-spin since it won't apply as-is anymore. Want to have a try?
Thomas
Quoted 5 lines · Thomas Huth
Quoted 4 lines · Felix Queißner
Heya!
Quoted 1 line
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.
Quoted 8 lines
Quoted 5 lines
It's been a while now, but i was always missing this feature in QEMU and i'd love to see that patch land in QEMU one day.
I discovered that patch by searching for "start qemu with tabs visible" and found this link:
https://patchwork.ozlabs.org/project/qemu-devel/patch/[email protected]/
Not sure why it was
I wanted to say: "Not sure why it was never picked up"... sorry, I hit the send button by accident too early.
Thomas
Quoted 4 lines
Not sure why it was never picked up
That patch certainly needs a re-spin since it won't apply as-is anymore. Want to have a try?
I guess the semantics of the code stay the same, but the boilerplate might change a bit?
If so, i guess i can give it a try tomorrow and see if i can make it work.
- Felix
Quoted 8 lines · Felix Queißner
Quoted 4 lines
Not sure why it was never picked up
That patch certainly needs a re-spin since it won't apply as-is anymore. Want to have a try?
I guess the semantics of the code stay the same, but the boilerplate might change a bit?
If so, i guess i can give it a try tomorrow and see if i can make it work.
The part that affects vl.c has changed completely - you now have to declare it in the "QAPI schema" in the file qapi/ui.json instead (and it has to use "-" instead of "_" now).
Just have a look how grab_on_hover is handled nowadays, then you'll should be able to figure it out, I think.
HTH,
Thomas