[BRLTTY] Clickable links, virtual consoles etc. (Was Re: Footsteps towards better accessibility in Linux)

Nicolas Pitre nico at fluxnic.net
Thu May 8 14:50:00 UTC 2025


On Thu, 8 May 2025, Sébastien Hinderer wrote:

> To say a bit more about what I am after, I think  I'd like to continue
> reading my e-mails with Mutt but with the ability, ifit turns out to be
> necessary, to get a link opened in Firefox as sfiwtly as possible.

Have a look at this:

How do I open a link from an email in mutt (without using the mouse)?
https://superuser.com/questions/333862/how-do-i-open-a-link-from-an-email-in-mutt-without-using-the-mouse

> Of course if that could be achieved from a virtual console (basically an
> action on a link opens it in Firefox and the screen goes to the GUI)
> that would probably be my ideal, but I think this may be a bit too high
> an expectation, so I think I would not mind being able to do the same
> from a terminal run in graphic mode.

I'm sure you can augment one of the examples linked to above with the 
appropriate command to switch to the graphical console if that doesn't 
happen automatically.

> I guess one part of the quesiton is to know whether there is an
> interface between programs and terminals to let program tell to
> terminals that such and such zone is clickable, and of which Mutt would
> already be taking advantage when the terminal supports it.

Yes that exists. Whenever an application advertises mouse support, it 
definitely relies on such an interface.

> Still a few questions I'd like to ask you. What is the size of
> yourterminals? Do you stick to the classical 25x80 scheme or do you use
> way bigger terminals?

I currently use a 160x120 screen. Should work fine even up to 240x240 if 
you want. No idea if the display on a regular monitor does cope with 
that (it probably doesn't) as I have no monitor connected to my PC at 
all but BRLTTY doesn't mind. The idea is to have a screen width that is 
a multiple of your braille display width to avoid unused braille window 
portions.

You just have to type "stty cols 160 rows 120" in the virtual console 
you want to resize.

> I am asking because onmy side I continue to use
> 80x25 but this sometimes creates problems I do not have a good solution
> for. The bigger one, I think, is copy/pasting links displayed by lynx. I
> do have the URLs displayed at the bottomof the screen, but if the link
> is longer than the screen width, then it because quite annoying. Usually
> I use E to edit the link, copy the beginning of the link to BRLTTY's
> clipboard, delete it so that the following part fits on the screen, add
> this part to BRLTTY's clipboard etc. which can be quite tedious and
> error-prone. If anybody has a better way of doing that in the virtual
> console and with lynx I am super interested to hear about it.

If you use the = key in lynx, you'll get full info on the current page 
and current highlighted link. Makes it easier to copy long links.

> The other question for you Nicolas is could you please elaborate the
> workflow you mentionned to transfer links from Linux to iOS? I do have
> an iPhone, too, and I find transferring links cumbersome. Usually I send
> them to myself by e-mail but I do not find this very convenient.

The shortcuts app lets you create custom sequences of actions. Actions 
may produce content to be consumed by the next action in the chain. One 
such action lets you run a command through an ssh connection. Another 
action may retrieve the clipboard content, or copy its input to the 
clipboard. With that you can configure a shortcut that pipes the iOS 
clipboard into an ssh connection to your Linux machine where a script 
would retrieve that clipboard content and do whatever you want with it 
such as copying it to the local clipboard facility shared with BRLTTY. 
Another shortcut can do things in the reverse direction i.e. have a 
command over ssh retrieve the Linux-side clipboard content and copy it 
to the iOS clipboard. Once those shortcuts are created, you may elect to 
have them visible as icons on the home screen, or even in the control 
center panel which is better as you can invoke the control center 
without having to leave the application you're in.

Another useful shortcut possibility lets you create an entry to appear 
in the share menu (sometimes called the share sheet). So in my case I 
have this "copy to Linux" option in my share menu that takes whatever I 
may share from any app and sends it using yet another ssh command to 
dump that content into a file on my Linux system. This is especially 
handy with JavaScript afflicted websites that lynx can't open, or those 
web servers that bluntly refuse to serve pages to lynx in the first 
place. I can send the link to my iPhone and pop the page with Safari. If 
I prefer not to read it on my iPhone, I can share the whole page (as 
opposed to a link to the page) back to my Linux system, and then I have 
perfectly legible HTML that I can peruse using the comfort of lynx and 
BRLTTY in a VT console.

And if this is still too much manipulations for your taste, I'm pretty 
sure you can create a shortcut to automates it all. The iOS shortcut 
facility is pretty powerful (and criptic). I was just too lazy to push 
it further once the basics were good enough for my needs.

> And of course there is also the question of how to efficiently share
> passwords between Linux and iOS, especially given that in text-mode we
> do not have (asfar as I know) the possibility tu seu the web browser
> based plugins to interact with the mainstream password managers.

Some password managers may use Dropbox as their storage backend. And 
Dropbox is usable on Linux from the command line. Dropbox itself offers 
a password manager but I can't find Linux info about that specifically. 
Many password managers are Open Source and some of them use standard 
database formats that are usable with command line tools. I know this is 
rather vague but there are so many possibilities out there that I'm 
pretty sure one of them would work. Some research would be needed.


Nicolas


More information about the BRLTTY mailing list