Giter Site home page Giter Site logo

Comments (5)

XhstormR avatar XhstormR commented on September 24, 2024 1

Unfortunately I haven't managed to make tmux 3.4 display hyperlinks, can you share steps to reproduce?

@krobelus Simply add this config to .tmux.conf file to enable the hyperlinks feature.

set -ga terminal-features "*:hyperlinks"

from fish-shell.

faho avatar faho commented on September 24, 2024 1

systemd also outputs it always if stdout is a terminal

That's good news, then.

I'm extremely careful to add any feature that terminals have to support because there are a ton of extremely bad terminals that people insist on using, but if we already have a big thing that uses a particular feature unconditionally it appears to be supported enough. If some obscure terminal has issues we can probably just tell people that better terminals are available for free.

The question is whether this feature helps a real use case.

Tbh I personally haven't ever wanted this. I see now that the terminal would mark hyperlinks, which may be annoying. It will also typically open them in your graphical file manager, which I don't tend to really do.

from fish-shell.

faho avatar faho commented on September 24, 2024

Fish already gives the terminal the PWD via OSC-7, so your terminal already has the information and could give you a "go to directory" button or open a new tab in the same directory.

Detecting if a given terminal supports a sequence is always a massive pain - unfortunately terminal developers tend to focus on adding features to their own terminal instead of making compatibility easy.

So I'm going to say that we don't want to do this. You can add it to your own prompt by doing something like

printf '\e]8;;file://%s\e\\\%s\e]8;;\e\\' $(string escape --style=url -- $PWD) $(prompt_pwd)

wherever you print the PWD.

from fish-shell.

krobelus avatar krobelus commented on September 24, 2024

Detecting if a given terminal supports a sequence is always a massive pain

We don't need to probe for this feature, we can use it unconditionally because terminals that don't support this feature will ignore it. systemd also outputs it always if stdout is a terminal (they have a compile-time option to turn it off but that's mainly for pagers that don't support this).

The question is whether this feature helps a real use case.
Since tmux by default open new windows in the directory of the session (not the current window's directory), I think it could improve the OOTB experience.
Unfortunately I haven't managed to make tmux 3.4 display hyperlinks, can you share steps to reproduce?

from fish-shell.

krobelus avatar krobelus commented on September 24, 2024

I agree that prompt_pwd doesn't have a strong case. Worth trying sure but not sure if it's a good default.

I think much more useful and less objectionable is to add hyperlinks to valid paths which are already underlined.
Possibly also to commands that resolve to scripts, like the new Ctrl-O binding.

We don't need to probe for this feature

(actually we'd need to add a couple of exceptions for known-broken terminals; we can copy what gcc does (see info gcc | less +/At.this.time))

from fish-shell.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.