about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorbptato <nincsnevem662@gmail.com>2025-05-09 19:11:20 +0200
committerbptato <nincsnevem662@gmail.com>2025-05-09 19:26:46 +0200
commit2d50eaa6f764c7181bb409cf74e8c8514a94f9da (patch)
tree084538b606934b2f57ae82d6ce942c8cf716cb65
parent9422ea9bb0bc644560fad510f54c092d8157caa5 (diff)
downloadchawan-2d50eaa6f764c7181bb409cf74e8c8514a94f9da.tar.gz
config: add external.show-download-panel
-rw-r--r--doc/cha-config.512
-rw-r--r--doc/config.md8
-rw-r--r--res/config.toml1
-rw-r--r--src/config/config.nim1
-rw-r--r--src/local/pager.nim6
5 files changed, 25 insertions, 3 deletions
diff --git a/doc/cha-config.5 b/doc/cha-config.5
index 975cf5bd..9ba5d4ce 100644
--- a/doc/cha-config.5
+++ b/doc/cha-config.5
@@ -511,6 +511,18 @@ T}@T{
 T}
 _
 T{
+show\-download\-panel
+T}@T{
+boolean
+T}@T{
+true
+T}@T{
+Whether the \f[CR]about:downloads\f[R] should be shown after starting a
+download.
+T}@T{
+T}
+_
+T{
 copy\-cmd
 T}@T{
 shell command
diff --git a/doc/config.md b/doc/config.md
index a165e47b..0e50b080 100644
--- a/doc/config.md
+++ b/doc/config.md
@@ -411,6 +411,14 @@ details, see <!-- MANOFF -->[localcgi.md](localcgi.md).<!-- MANON -->
 </tr>
 
 <tr>
+<td>show-download-panel</td>
+<td>boolean</td>
+<td>true</td>
+<td>Whether the `about:downloads` should be shown after starting a
+download.</td>
+</tr>
+
+<tr>
 <td>copy-cmd</td>
 <td>shell command</td>
 <td>"xsel -bi"</td>
diff --git a/res/config.toml b/res/config.toml
index 5b783038..121e0509 100644
--- a/res/config.toml
+++ b/res/config.toml
@@ -61,6 +61,7 @@ sockdir = "${TMPDIR:-/tmp}/cha-sock-$LOGNAME"
 editor = "${EDITOR:-vi}"
 cgi-dir = ["cgi-bin", "$CHA_LIBEXEC_DIR/cgi-bin"]
 download-dir = "${TMPDIR:-/tmp}/"
+show-download-panel = true
 w3m-cgi-compat = false
 copy-cmd = 'xsel -bi'
 paste-cmd = 'xsel -bo'
diff --git a/src/config/config.nim b/src/config/config.nim
index 2c27ac5d..5627cdd0 100644
--- a/src/config/config.nim
+++ b/src/config/config.nim
@@ -126,6 +126,7 @@ type
     historySize* {.jsgetset.}: int32
     cookieFile*: ChaPathResolved
     downloadDir* {.jsgetset.}: ChaPathResolved
+    showDownloadPanel* {.jsgetset.}: bool
     w3mCgiCompat* {.jsgetset.}: bool
     copyCmd* {.jsgetset.}: string
     pasteCmd* {.jsgetset.}: string
diff --git a/src/local/pager.nim b/src/local/pager.nim
index 1402ed14..177c4682 100644
--- a/src/local/pager.nim
+++ b/src/local/pager.nim
@@ -2233,9 +2233,9 @@ proc saveTo(pager: Pager; data: LineDataDownload; path: string) =
     pager.lineData = nil
     if pager.downloads != nil:
       pager.setContainer(pager.downloads)
-    else:
-      pager.downloads = pager.gotoURL(newRequest(newURL("about:downloads").get),
-        history = false)
+    elif pager.config.external.showDownloadPanel:
+      let url = newURL("about:downloads").get
+      pager.downloads = pager.gotoURL(newRequest(url), history = false)
   else:
     pager.ask("Failed to save to " & path & ". Retry?").then(
       proc(x: bool) =