Linking between wikis in the browser

After discovering this discussion about enabling the browser’s back button, I realised that this could also be used to link between wikis.

Here’s my problem though: I always have all my wikis open in my browser, so I don’t like that when I click a link to another wiki, it creates a new tab with that wiki open, rather than navigating to the already-open wiki and simply opening the tiddler.

This seems to me more of a browser issue, but is there any way around this? Ideally, when I click the link to a tiddler in another wiki, I want my browser to open the tab that already has that wiki open, and then modify the address to …wiki#tiddlerIWant.

Any ideas?

1 Like

you need a browser extension for this.

It does work without a browser AddOn, but not “out of the box”

TW supports a tm-open-external-window message.

If you use the same windowName parameter, with 2 different links, it will open an existing tab.

But

  • It only works if the wiki was opened with that windowName in the first place.

And

  • you would need a custom “open external link” widget, which would use this message instead of the default browser ANCHOR HTML element.

So it does not work out of the box.

1 Like

Here is an experiment. It’s a bit rough but should show the functionality.

title: open-external-window-experiment

\procedure openExternalWiki()
<$action-sendmessage $message="tm-open-external-window"
  $param=`$(url)$/#$(navigateTo)$`
  windowName=`$(wikiID)$`
/>
\end

\procedure e-link(currentTiddler, wikiID:"_tiddlywiki", url:"https://tiddlywiki.com")
<$linkcatcher actions=<<openExternalWiki>> ><$link/></$linkcatcher>
\end

<<e-link HelloThere>>
<<e-link Learning>>

---

<<e-link Learning url:"https://tiddlywiki.com/prerelease" wikiID:"_test" >>
<<e-link HelloThere url:"https://tiddlywiki.com/prerelease" wikiID:"_test" >>

open-external-window-experiment.json (673 Bytes)

I’m not sure, if that would work for you.

have fun!
mario

I don’t know if it will work for the OP, but it looks extremely useful for handling multi-window/tab environments. @TW_Tones, I know you were looking into these some time ago. Did you use a similar technique?