diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2020-02-22 11:51:10 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2020-02-22 11:51:10 +0000 |
commit | 5c377cd285536f4bec2a6cfb6352a45cfe6cb39e (patch) | |
tree | e87a9e2f7e3d8207714717fac427d1e97158625c /frontends/gtk/window.c | |
parent | f3bdee255d3c4252640b2337224e2f0b95944d7f (diff) | |
download | netsurf-5c377cd285536f4bec2a6cfb6352a45cfe6cb39e.tar.gz netsurf-5c377cd285536f4bec2a6cfb6352a45cfe6cb39e.tar.bz2 |
GTK: Use new BW_CREATE_FOREGROUND flags
This gets rid of temp_open_background which was, frankly, a bit
of an eyesore. In addition it makes the open-in-new-tab context
menu action behave like Firefox's with respect to the user's preference
regarding whether or not to immediately focus new tabs.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
Diffstat (limited to 'frontends/gtk/window.c')
-rw-r--r-- | frontends/gtk/window.c | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/frontends/gtk/window.c b/frontends/gtk/window.c index 39b7413d3..b47a1b07d 100644 --- a/frontends/gtk/window.c +++ b/frontends/gtk/window.c @@ -143,9 +143,6 @@ struct gui_window { /**< first entry in window list */ struct gui_window *window_list = NULL; -/** flag controlling opening of tabs in the background */ -int temp_open_background = -1; - static void nsgtk_select_menu_clicked(GtkCheckMenuItem *checkmenuitem, gpointer user_data) @@ -806,9 +803,13 @@ gui_window_create(struct browser_window *bw, gui_window_create_flags flags) { struct gui_window *g; /* what is being created to return */ - bool tempback; + bool open_in_background = !(nsoption_bool(focus_new)); GtkBuilder* tab_builder; + /* If there is a foreground request, override user preference */ + if (flags & GW_CREATE_FOREGROUND) + open_in_background = false; + nserror res; res = nsgtk_builder_new_from_resname("tabcontents", &tab_builder); @@ -953,18 +954,9 @@ gui_window_create(struct browser_window *bw, nsgtk_window_input_method_commit, g); /* add the tab container to the scaffold notebook */ - switch (temp_open_background) { - case -1: - tempback = !(nsoption_bool(focus_new)); - break; - case 0: - tempback = false; - break; - default: - tempback = true; - break; - } - nsgtk_tab_add(g, g->container, tempback, messages_get("NewTab"), g->icon); + nsgtk_tab_add(g, g->container, + open_in_background, + messages_get("NewTab"), g->icon); /* initialy should not be visible */ nsgtk_search_toggle_visibility(g->search); |