💾 Archived View for kwiecien.us › gemlog › diohsc-improved.gmi captured on 2022-01-08 at 13:39:23. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2021-11-30)
-=-=-=-=-=-=-
Authors: Ben <benk@tilde.team>
Dated: 2021-03-28
In my last post I revisited the diohsc client and gave my opinion about it, mentioned what I like about it as well as what I didn't like, which mostly had to do with the look and feel of it, like page display. Well, its author, Martin, saw my post and reached out to me about making changes to the client's output, and the result is pretty significant in my opinion.
My chief complaint had to do with me having trouble visually tracking content on the screen when (to my eyes) one page seemed to blur into another in the case where the last page you viewed is short and doesn't take up the whole screen. For me it was hard to figure out where to start reading even though the client already had more than one visual cue for that, they didn't seem towork for me. (I'm special like that.) Previously, you could tell the difference between page content and the prompt by the prompt line starting with %%%, and innovation (as far as I know unique to this program) made to catch your eye. The other clue was that the URI part of the prompt is displayed in bright purple, a color unique to those lines.
What I suggested was that the document request line be "highlighted" or in otherword inverted so the text would be black on a solid color background. What I wanted was a visual marker that was impossibble for me not to see. In response, Martin made the initial %%% mark in the prompt lines inverted. Having used it now for several days, I'm pleased to say that it does the trick. For me it provides a solid block that my eyes can jump to when scanning the terminal output. It makes me feel that one page is clearly separate from another, so for it has increased the usability of the client by a large degree.
The other thing I complained about was the visual alignment of links when presented in a row. (A typical index page will have this, or any page featuring a list of links.) diohsc has a rule where every link must have its URI displayed, and what I had wanted was to read links by their description. (Many clients, especially graphical clients, hide the URI in links and just display their description if one is present.) The other tricky bit was how you get links to align when they are being numbered. (Text mode clients will usually number the links for easy selection.)
Until recently, what diohsc was doing was displaying links close to how they are in the document source, which is to say that you see the URI first and the description after if there is one. What has been done now is that a setting called "link_desc_first" has been added to diosc, where you can use the "set" command to make it True, and that causes links to be shown with their description first and the URI after. The other change (to help with alignment) was a hack I noticed while studying the output of amfora, where single-digit link numbers are followed by two spaces instead of one, giving you something like this:
[8] Link 8 [9] Link 9 [10] Link 10 [11] Link 11
This is surprisingly useful because so many pages contain lists of links longer than nine items, and programmatically it's trivial to implement. The alignment doesn't get messed up until you get to link 100, which by then you probably don't care, and most pages never make it that far. The combination of this change plus putting the link description first has made diohsc's page output 110% more beautiful.
I think this has been a great step forward to an otherwise excellent client, which has been mature and fully developed for some time. It's just another reason why I use diohsc as my main Gemini client, on top of its amazing (and underappreciated) functionality. It's also very stable and committed to adhering to standards and specifications, and I have heard from Martin that he reports bugs to server developers whenever he comes across them, so whether you've used diohsc before or not it has probably played some part in improving the quality of the software ecosystem on Gemini for you.