about summary refs log tree commit diff stats
path: root/pkgs/by-name/ts/tskm/src/browser
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-06-11 18:19:39 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-06-11 18:19:39 +0200
commit286b742230cf2c1a0ac944ae2d01c3e0782d0017 (patch)
tree04cf477add9c9584ae428c08e40b611889a31988 /pkgs/by-name/ts/tskm/src/browser
parentmodules/qutebrowser: Use the shell wrapper (diff)
downloadnixos-config-286b742230cf2c1a0ac944ae2d01c3e0782d0017.zip
pkgs/tskm/open: Allow opening multiple URLs at a time
Diffstat (limited to 'pkgs/by-name/ts/tskm/src/browser')
-rw-r--r--pkgs/by-name/ts/tskm/src/browser/mod.rs16
1 files changed, 8 insertions, 8 deletions
diff --git a/pkgs/by-name/ts/tskm/src/browser/mod.rs b/pkgs/by-name/ts/tskm/src/browser/mod.rs
index 8dd52663..29abfcbd 100644
--- a/pkgs/by-name/ts/tskm/src/browser/mod.rs
+++ b/pkgs/by-name/ts/tskm/src/browser/mod.rs
@@ -17,7 +17,7 @@ use crate::{state::State, task};
 pub fn open_in_browser(
     selected_project: &task::Project,
     state: &mut State,
-    url: Option<Url>,
+    urls: Option<Vec<Url>>,
 ) -> Result<()> {
     let old_project: Option<task::Project> =
         task::Project::get_current().context("Failed to get currently active project")?;
@@ -104,17 +104,17 @@ pub fn open_in_browser(
         if ipc_socket_path.exists() {
             let mut stream = UnixStream::connect(ipc_socket_path)?;
 
-            let real_url = if let Some(url) = url {
-                url.to_string()
+            let real_url = if let Some(urls) = urls {
+                urls.into_iter().map(|url| url.to_string()).collect()
             } else {
                 // Always add a new tab, so that qutebrowser is marked as “urgent”.
-                "qute://start".to_owned()
+                vec!["qute://start".to_owned()]
             };
 
             stream.write_all(
                 json! {
                     {
-                        "args": [real_url],
+                        "args": real_url,
                         "target_arg": null,
                         "version": "1.0.4",
                         "protocol_version": 1,
@@ -128,10 +128,10 @@ pub fn open_in_browser(
 
             ExitStatus::default()
         } else {
-            let args = if let Some(url) = url {
-                &[url.to_string()][..]
+            let args = if let Some(urls) = urls {
+                urls.iter().map(|url| url.to_string()).collect()
             } else {
-                &[][..]
+                vec![]
             };
 
             process::Command::new(format!(