diff options
| author | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-06-19 14:12:02 +0900 |
|---|---|---|
| committer | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-06-19 14:12:02 +0900 |
| commit | 55c70a1e4c1dd035e2c8f9d42c4471e630816d92 (patch) | |
| tree | bc3e874d4d7753e3fb060db6bd5135cc6a822ca8 | |
| parent | 41ee40356defa00fe2248065ad43ed7d6d44ea36 (diff) | |
modified plugins/urlview.lua, created bin/tmuxdbussync
| -rw-r--r-- | ar/.config/TheSiahxyz/lua/thesiahxyz/plugins/urlview.lua | 22 | ||||
| -rwxr-xr-x | ar/.local/bin/tmuxdbussync | 18 |
2 files changed, 29 insertions, 11 deletions
diff --git a/ar/.config/TheSiahxyz/lua/thesiahxyz/plugins/urlview.lua b/ar/.config/TheSiahxyz/lua/thesiahxyz/plugins/urlview.lua index 907a58e..f13a561 100644 --- a/ar/.config/TheSiahxyz/lua/thesiahxyz/plugins/urlview.lua +++ b/ar/.config/TheSiahxyz/lua/thesiahxyz/plugins/urlview.lua @@ -79,19 +79,19 @@ return { local actions = require("urlview.actions") actions["browser_tmux"] = function(url) - local browser = vim.env.BROWSER or "firefox" - local cmd = { "setsid", "-f", browser } + local cmd - if browser:match("firefox") then - table.insert(cmd, "--profile") - table.insert(cmd, vim.fn.expand("~/.mozilla/firefox/si.tmux")) - elseif browser:match("librewolf") then - table.insert(cmd, "--profile") - table.insert(cmd, vim.fn.expand("~/.librewolf/si.tmux")) + if vim.env.TMUX then + local dbus_script = vim.fn.expand("~/.local/bin/tmuxdbussync") + cmd = { + "zsh", + "-lc", + string.format("source %s && setsid -f xdg-open %q", dbus_script, url), + } + else + cmd = { "setsid", "-f", "xdg-open", url } end - table.insert(cmd, url) - vim.fn.jobstart(cmd, { detach = true }) end @@ -107,7 +107,7 @@ return { -- Command or method to open links with -- Options: "netrw", "system" (default OS browser), "clipboard"; or "firefox", "chromium" etc. -- By default, this is "netrw", or "system" if netrw is disabled - default_action = actions.firefox_tmux, + default_action = actions.browser_tmux, -- Set the register to use when yanking -- Default: + (system clipboard) default_register = "+", diff --git a/ar/.local/bin/tmuxdbussync b/ar/.local/bin/tmuxdbussync new file mode 100755 index 0000000..ffebff9 --- /dev/null +++ b/ar/.local/bin/tmuxdbussync @@ -0,0 +1,18 @@ +#!/bin/sh + +TMUX_DBUS="$DBUS_SESSION_BUS_ADDRESS" +BROWSER="${BROWSER:-firefox}" +BROWSER_NAME=$(basename "$BROWSER") +BROWSER_PID=$(pgrep -f "$BROWSER_NAME" | head -n1) + +if [ -z "$BROWSER_PID" ]; then + echo "No browser process found matching: $BROWSER_NAME" + exit 1 +fi + +BROWSER_DBUS=$(tr '\0' '\n' </proc/"$BROWSER_PID"/environ | grep DBUS_SESSION_BUS_ADDRESS) +BROWSER_DBUS="${BROWSER_DBUS#DBUS_SESSION_BUS_ADDRESS=}" + +if [ "$TMUX_DBUS" != "$BROWSER_DBUS" ]; then + export DBUS_SESSION_BUS_ADDRESS="$BROWSER_DBUS" +fi |
