diff options
author | Josh Rickmar <jrick@devio.us> | 2012-07-11 16:04:05 -0400 |
---|---|---|
committer | Josh Rickmar <jrick@devio.us> | 2012-07-11 16:04:05 -0400 |
commit | 958f63e109c4ad9bd395f1c22b4cf0acb7f97b7d (patch) | |
tree | 4b085fecd5a71741012f2c4fa90fba7ffff1f277 /xombrero.c | |
parent | 4c05ef647d9a2038a4ba63ad6e3558bba996e4e9 (diff) | |
download | xombrero-958f63e109c4ad9bd395f1c22b4cf0acb7f97b7d.tar.gz |
Add a show_scrollbars option to disable showing of scrollbars. Enable
(keep current behavior) for gui_mode = normal, and disable for gui_mode = minimal. Requires GTK3.
Diffstat (limited to 'xombrero.c')
-rw-r--r-- | xombrero.c | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/xombrero.c b/xombrero.c index b5a61e8..0f8ea5a 100644 --- a/xombrero.c +++ b/xombrero.c @@ -124,6 +124,7 @@ TAILQ_HEAD(command_list, command_entry); #define XT_CSS_YELLOW "yellow" #define XT_CSS_GREEN "green" #define XT_CSS_BLUE "blue" +#define XT_CSS_HIDDEN "hidden" #define XT_PROTO_DELIM "://" @@ -582,6 +583,31 @@ buffers(struct tab *t, struct karg *args) return (0); } +int +set_scrollbar_visibility(struct tab *t, int visible) +{ +#if GTK_CHECK_VERSION(3, 0, 0) + GtkWidget *h_scrollbar, *v_scrollbar; + + h_scrollbar = gtk_scrolled_window_get_hscrollbar( + GTK_SCROLLED_WINDOW(t->browser_win)); + v_scrollbar = gtk_scrolled_window_get_vscrollbar( + GTK_SCROLLED_WINDOW(t->browser_win)); + + if (visible == 0) { + gtk_widget_set_name(h_scrollbar, XT_CSS_HIDDEN); + gtk_widget_set_name(v_scrollbar, XT_CSS_HIDDEN); + } else { + gtk_widget_set_name(h_scrollbar, ""); + gtk_widget_set_name(v_scrollbar, ""); + } + + return (0); +#else + return (visible == 0); +#endif +} + void hide_oops(struct tab *t) { @@ -6851,8 +6877,12 @@ create_browser(struct tab *t) GTK_SCROLLED_WINDOW(w)); t->adjust_v = gtk_scrolled_window_get_vadjustment( GTK_SCROLLED_WINDOW(w)); +#if GTK_CHECK_VERSION(3, 0, 0) +#else gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(w), - GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); /* XXX not needed in gtk3? */ + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); +#endif + t->wv = WEBKIT_WEB_VIEW(webkit_web_view_new()); gtk_container_add(GTK_CONTAINER(w), GTK_WIDGET(t->wv)); @@ -7546,6 +7576,7 @@ create_new_tab(char *title, struct undo *u, int focus, int position) /* browser */ t->browser_win = create_browser(t); + set_scrollbar_visibility(t, show_scrollbars); gtk_box_pack_start(GTK_BOX(t->vbox), t->browser_win, TRUE, TRUE, 0); /* oops message for user feedback */ |