From dfe584d1a656f4d95764dd06fa8502aa45b187fe Mon Sep 17 00:00:00 2001 From: Josh Rickmar Date: Wed, 16 May 2012 14:16:53 -0400 Subject: [PATCH] Add a setting to show download notifications via show_oops (default 0) and document it in the manpage. --- settings.c | 16 ++++++++++++++++ xxxterm.1 | 3 +++ xxxterm.c | 8 ++++++-- xxxterm.conf | 3 ++- xxxterm.h | 1 + 5 files changed, 28 insertions(+), 3 deletions(-) diff --git a/settings.c b/settings.c index f98fa77..9efae47 100644 --- a/settings.c +++ b/settings.c @@ -101,6 +101,7 @@ int enable_favicon_tabs = 0; char *external_editor = NULL; int referer_mode = XT_REFERER_ALWAYS; char *referer_custom = NULL; +int download_notifications = 0; char *cmd_font_name = NULL; char *oops_font_name = NULL; @@ -132,6 +133,7 @@ int set_cookies_enabled(char *); int set_ctrl_click_focus(char *); int set_home(char *); int set_download_dir(struct settings *, char *); +int set_download_notifications(char *); int set_default_script(struct settings *, char *); int set_default_script_rt(char *); int set_default_zoom_level(char *); @@ -389,6 +391,7 @@ struct settings rs[] = { { "enable_favicon_entry", XT_S_INT, 0, &enable_favicon_entry, NULL, NULL, NULL, set_enable_favicon_entry }, { "enable_favicon_tabs", XT_S_INT, 0, &enable_favicon_tabs, NULL, NULL, NULL, set_enable_favicon_tabs }, { "referer", XT_S_STR, 0, NULL, NULL,&s_referer, NULL, set_referer_rt }, + { "download_notifications", XT_S_INT, 0, &download_notifications, NULL, NULL, NULL, set_download_notifications }, /* font settings */ { "cmd_font", XT_S_STR, 0, NULL, &cmd_font_name, NULL, NULL, set_cmd_font }, @@ -1309,6 +1312,19 @@ set_ctrl_click_focus(char *value) } int +set_download_notifications(char *value) +{ + int tmp; + const char *errstr; + + tmp = strtonum(value, 0, 1, &errstr); + if (errstr) + return (-1); + download_notifications = tmp; + return (0); +} + +int set_enable_autoscroll(char *value) { int tmp; diff --git a/xxxterm.1 b/xxxterm.1 index ac24163..fa43c63 100644 --- a/xxxterm.1 +++ b/xxxterm.1 @@ -1029,6 +1029,9 @@ add - add to downloadmanager, but do not start. .Ed The default is "start". +.It Cm download_notifications +When enabled a message is shown when downloads are started and +finished. Default is 0. .It Cm enable_autoscroll When enabled clicking MB3 will spawn the autoscroll ball, scrolling can then proceed by dragging the mouse away from the ball. diff --git a/xxxterm.c b/xxxterm.c index 3b7ec5d..e17a91b 100644 --- a/xxxterm.c +++ b/xxxterm.c @@ -4746,6 +4746,9 @@ download_status_changed_cb(WebKitDownload *download, GParamSpec *spec, if (status != WEBKIT_DOWNLOAD_STATUS_FINISHED) return; + if (download_notifications) + show_oops(NULL, "Download of '%s' finished", + basename((char *)webkit_download_get_destination_uri(download))); file = webkit_download_get_destination_uri(download); if (file == NULL) return; @@ -4860,8 +4863,9 @@ download_start(struct tab *t, struct download *d, int flag) /* get from history */ g_object_ref(d->download); gtk_label_set_text(GTK_LABEL(t->label), "Downloading"); - show_oops(t, "Download of '%s' started...", - basename((char *)webkit_download_get_destination_uri(d->download))); + if (download_notifications) + show_oops(t, "Download of '%s' started...", + basename((char *)webkit_download_get_destination_uri(d->download))); } if (flag != XT_DL_START) diff --git a/xxxterm.conf b/xxxterm.conf index cc81ded..67967b7 100644 --- a/xxxterm.conf +++ b/xxxterm.conf @@ -30,6 +30,7 @@ # home = https://www.cyphertite.com # download_dir = ~/downloads # download_mode = start +# download_notifications = 1 # window_maximize = 1 # window_width = 1024 # window_height = 768 @@ -52,7 +53,7 @@ # xterm_workaround = 1 # single_instance = 1 # enable_socket = 1 -# js_autorun_enabled = 0 +# enable_js_autorun = 0 # auto_load_images = 0 # enable_localstorage = 0 # userstyle_global = 1 diff --git a/xxxterm.h b/xxxterm.h index 9ad85c1..8e5676d 100644 --- a/xxxterm.h +++ b/xxxterm.h @@ -685,6 +685,7 @@ extern int enable_favicon_entry; extern int enable_favicon_tabs; extern int referer_mode; extern char *referer_custom; +extern int download_notifications; /* globals */ extern char *version; -- 2.11.4.GIT