• Netrunner ANSI codes

    From Analog@21:2/123 to G00r00 on Sun Feb 16 09:08:04 2020
    g00r00,

    There seems to be a newerish standard for embedding hyperlinks using ANSI
    that, if implemented, Netrunner could make clickable links to spawn the target in the OS' default browser.

    1. Embedded hyperlink:
    \e]8;;http://example.com\e\\This is a link\e]8;;\e\\\n'

    ref: https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda

    Maybe a CTRL+Click to make hyperlink clickable?

    Cheers,

    |20|15┌─|16|08┤ |08De|07ad|15be|07a|08tz b|07b|15s
    |08└─┘├─┐ |08:>.|07A|08rk |0710|08:|07101|08/|0714|08.
    |04■ |08└|20|15─|16|08┘ |08:>.|10A|02gn |1046|08:|101|08/|10123|08.
    |04A|07n|15al|07o|08g |08:>.|12F|04sx |1221|08:|122|08/|12123|08.
    |08:>.|15S|07ci |1577|08:|151|08/|15131|08. |04░▒░|08▒██▄▌|08:>.|11T|03qw |111337|08:|113|08/|1113|08.

    --- Mystic BBS v1.12 A45 2020/02/09 (Linux/64)
    * Origin: deadbeatz.org (21:2/123)
  • From g00r00@21:1/108 to Analog on Sun Feb 16 12:00:14 2020
    There seems to be a newerish standard for embedding hyperlinks using ANSI that, if implemented, Netrunner could make clickable links to spawn the target in the OS' default browser.

    If other big terminals adopt it (like terminals used by OSes) I will probably add it but its a lot more complex than just screen scraping to get a link which is the direction I plan to go in for this type of thing.

    Once I get time to fix the mouse functions when letterboxing is turned on I will move onto doing the CTRL+click. Unfortunetly it looks like its going to take a full rewrite of mouse handling stuff which NetRunner uses pretty much everywhere.

    --- Mystic BBS v1.12 A45 2020/02/15 (Windows/64)
    * Origin: Sector 7 (21:1/108)
  • From Analog@21:2/123 to g00r00 on Sun Feb 16 11:37:16 2020
    If other big terminals adopt it (like terminals used by OSes) I will probably add it but its a lot more complex than just screen scraping to

    I think the biggest ones are using it like ITerm and Gnome shell. That link I added has a list of them.

    I was more interested in a Mystic MCI code for embedding links. Then you
    could do it without the whole screen scraping. I don't think that's really a pleasant option for finding links. Netrunner would just catch that ANSI code
    as a clickable link.

    One place links fly around is the MRC (relay chat). People paste them all the time. Or in FTNs. With an MCI code, you could do something like: PIPEHThttp://www.link.com/stuffPIPEMyLinkPIPE

    For the MRC, stackfault's client could catch these easily when pasting and
    wrap them in this code using a REGEX.

    Anyways, just some ideas.

    |20|15┌─|16|08┤ |08De|07ad|15be|07a|08tz b|07b|15s
    |08└─┘├─┐ |08:>.|07A|08rk |0710|08:|07101|08/|0714|08.
    |04■ |08└|20|15─|16|08┘ |08:>.|10A|02gn |1046|08:|101|08/|10123|08.
    |04A|07n|15al|07o|08g |08:>.|12F|04sx |1221|08:|122|08/|12123|08.
    |08:>.|15S|07ci |1577|08:|151|08/|15131|08. |04░▒░|08▒██▄▌|08:>.|11T|03qw |111337|08:|113|08/|1113|08.

    --- Mystic BBS v1.12 A45 2020/02/09 (Linux/64)
    * Origin: deadbeatz.org (21:2/123)
  • From StackFault@21:1/172 to Analog on Sun Feb 16 22:52:55 2020
    For the MRC, stackfault's client could catch these easily when pasting
    and wrap them in this code using a REGEX.

    If that is coming, I'll make a note to make sure it's handled properly. Good thing a whole new version is in the making. Great timing. In it's current stage, most PIPE codes are stripped intentionally to avoid issues.

    Cheers!

    |15 ▀ ▐ |15StackFault |08<|03.|11.|15P|11h|03EN|11o|15M|11.|03.|08>
    |11 ▌ ▀ |11The Bottomless Abyss BBS
    |03 ▀ ▌▀ |03ssh|08.|072222 |08/ |03telnet|08.|072023 |08/ |03https
    |08 ▄■▐ |08bbs|07.|08bottomlessabyss|07.|08net

    --- Mystic BBS v1.12 A44 2020/02/04 (Linux/64)
    * Origin: The Bottomless Abyss BBS * bbs.bottomlessabyss.net (21:1/172)
  • From apam@21:1/126 to Analog on Mon Feb 17 14:23:43 2020
    If other big terminals adopt it (like terminals used by OSes)
    I will probably add it but its a lot more complex than just
    screen scraping to

    I think the biggest ones are using it like ITerm and Gnome shell.
    That link I added has a list of them.

    I was more interested in a Mystic MCI code for embedding links.
    Then you could do it without the whole screen scraping. I don't
    think that's really a pleasant option for finding links. Netrunner
    would just catch that ANSI code as a clickable link.

    It would at least need a tooltip so you can verify what you're
    clicking... ie seeing "Fun Times" clickable link and having it direct
    you to "http://evilwebsite.com/" could be problematic.

    Tooltips won't work on the console, so only gui terminals could do
    this...

    One place links fly around is the MRC (relay chat). People paste
    them all the time. Or in FTNs. With an MCI code, you could do
    something like: PIPEHThttp://www.link.com/stuffPIPEMyLinkPIPE

    I think screen scraping is a far better idea, and just use actual urls.
    Not only can you see what you're clicking, but it doesn't look like
    garbage in terminals that don't support it (with screen scraping you can
    click your link, or copy and paste should the terminal not support
    screen scraping).

    BTW, magiterm has had screen scraping urls for ages, though I don't
    think it gets used much so hasn't been tested a lot, but it's there.

    Andrew

    --- MagickaBBS v0.13alpha (Linux/x86_64)
    * Origin: HappyLand - telnet://magickabbs.com:2023/ (21:1/126)
  • From g00r00@21:1/108 to apam on Sun Feb 16 23:26:19 2020
    I think screen scraping is a far better idea, and just use actual urls. Not only can you see what you're clicking, but it doesn't look like garbage in terminals that don't support it (with screen scraping you can

    Agreed!

    BTW, magiterm has had screen scraping urls for ages, though I don't
    think it gets used much so hasn't been tested a lot, but it's there.

    I remember we had this conversation a while back and I was pushing for screen scraping, glad to heary you added it! NetRunner technically does it too except the mouse is broken lol.

    --- Mystic BBS v1.12 A45 2020/02/15 (Windows/64)
    * Origin: Sector 7 (21:1/108)
  • From Analog@21:2/123 to apam on Mon Feb 17 06:55:27 2020
    I think screen scraping is a far better idea, and just use actual urls. Not only can you see what you're clicking, but it doesn't look like

    I think we're talking about two different things. Im talking about adding support for an ANSI code that allow BBS's to embed urls. Then, there's the
    case that a BBS doesn't use the ANSI code, which requires screen scraping. In case 1, it is well formed and doesn't require interpretation. In case 2, the terminal application would be on the hook to figure out what is or isn't a
    URL.

    While both are great to have, a well formed ANSI escape code should be
    utilized if it's available. Screen scraping is a whole other mechanism.

    With regard to pasting hyperlinks, that would be an input buffer parser, assuming the door or input program is willing to implement this. So this would be able to catch links on the buffer before sending them off to their destination (e.g., MRC client, Message Editor, FILE_ID.DIZ parser, etc.). This is more inline with Screen Scraping per se, but with some controls, links could be caught and wrapped in the ANSI escape code prior to sending the buffer data off to it's destination. This would still be a server side implementation vs client side scraping.

    It would at least need a tooltip so you can verify what you're
    clicking... ie seeing "Fun Times" clickable link and having it direct
    you to "http://evilwebsite.com/" could be problematic.

    This is a good call but depending on the application, a tooltip could be just the status bar shows the actual link when clicking. In the case of Netrunner, it has popup menus (right-click menu) that could be used to show the actual link and ask, "Follow this link" before it opens the browser.

    |20|15┌─|16|08┤ |08De|07ad|15be|07a|08tz b|07b|15s
    |08└─┘├─┐ |08:>.|07A|08rk |0710|08:|07101|08/|0714|08.
    |04■ |08└|20|15─|16|08┘ |08:>.|10A|02gn |1046|08:|101|08/|10123|08.
    |04A|07n|15al|07o|08g |08:>.|12F|04sx |1221|08:|122|08/|12123|08.
    |08:>.|15S|07ci |1577|08:|151|08/|15131|08. |04░▒░|08▒██▄▌|08:>.|11T|03qw |111337|08:|113|08/|1113|08.

    --- Mystic BBS v1.12 A45 2020/02/09 (Linux/64)
    * Origin: deadbeatz.org (21:2/123)