Comment by ๐Ÿš€ clseibold

=> Re: "What would you want to see in a desktop GUI Gemini client?..." | In: s/Geminispace

@Acidus I think streaming by line would be just as fine, honestly. Also, yeah, that's a very useful feature to have, not just because you can do infinite text streams, but because text displays as the document is downloading (streaming in), so it shows up quicker, which is great for people who have slow internet speeds.

=> ๐Ÿš€ clseibold

Jan 13 ยท 6 days ago

12 Later Comments โ†“

=> ๐Ÿฆ‚ zzo38 ยท Jan 13 at 19:22:

@Acidus

What do you have in mind here? Charset's in Geminispace at least are overhwleming Unicode, or ASCII

This is true (and ASCII is a subset of UTF-8, although that report does not necessarily include all files; it only includes all known files), although sometimes (regardless of the protocol) you may have reasons to use other character sets. Many users might not find it useful, although I would, which is why I mentioned it.

Gempubs are ZIP files, not JARs.

JAR files are actually ZIP archives. The jar: scheme can be used with any ZIP file, not only JAR (I think it is called that because this scheme was originally used for Java, but it is not only for use with Java).

[QOI, Farbfeld] seems at odds with your comment about not too many dependencies.

QOI and farbfeld are both simple formats. If you use external programs to convert files, then there will need to be something to convert it to, and farbfeld would be a reasonable choice, I think. However, in my opinion farbfeld is not very good for disk storage or for transfer by internet, so QOI would be a simple enough format that would be more suitable for such uses. Farbfeld is good as an intermediate format for conversion and for manipulation of pictures.

=> โ€” Link to C program for converting QOI to farbfeld

Being about to print to paper what is shown?

Yes, like many other programs do, too.

Does this mean defining what programs to run for certain URL schemes?

This is not what I mean, although it would presumably be able to do that too. (I hoped I explained above what I did mean; e.g. if you link to Mastodon or GitHub or whatever then it can use a user-specified implementation of their APIs (using an external program or an extension) instead of trying to use their non-working HTML and JavaScripts.)

You seem to be saying a user should be able to just type a relative URL into the address bar (e.g. "../foo.gmi" and that should be resolved against the current URL and go there. What is the purpose/need here?

Yes, it is what I am saying. I had managed to modify Firefox to do this and I find it very useful, much more useful than having the browser try to guess (wrongly) what I meant.

(P.S. The relative URL entry is also useful in combination with the ALT+ENTER feature of Firefox to open an entered URL in a new tab. That way, you can e.g. type CTRL+L / ALT+ENTER and then you can open the root file of the current domain in the new tab.)

=> ๐Ÿ‘ป ps ยท Jan 13 at 23:14:

@lufte

@ps I'm using Iced myself! Feel free to ask me anything about it.

I've tried vimini, but found that text selection is not implemented yet, interesting why: it's because of keyboard-oriented client or some Iced restrictions?

If you know this framework well, let's maybe create new Subspace to talk about?

=> ๐Ÿ‘ค jdcard ยท Jan 14 at 00:01:

The item at the top of my wishlist is printing. Deedum is the only client I know that allows me to send rendered content to my printer.

=> ๐Ÿง‡ Acidus [OP] ยท Jan 14 at 02:28:

@jdcard awesome. seems like a great feature. A few questions:

I would print this as rendered content (as in, Headerings are larger than body text, preformatted uses fixed width etc). I'm considering displayomg images inline with the gemtext if you click on them. Would you want inline images (if any are present and opened) to be included?

=> ๐Ÿ‘ค jdcard ยท Jan 14 at 03:37:

Yes, that's exactly what I had in mind.

Two years ago I wrote a blog post about printing Gemtext documents:

=> โ€” jdcard.com/blog/2023-12-06T19-40.gmi

The solution I came up with is a bit clunky. I have a PHP script that converts the Gemtext to HTML (including inline images, and even tables if the source includes a link to a .csv file) and displays it in a web browser, from which a quick CTRL+p sends it off to my printer.

=> ๐Ÿ›ฐ๏ธ lufte ยท Jan 14 at 13:59:

@ps I think we're in need of a rust subspace, as the current one (/s/rust_software) is not meant to discuss the language and also sits unmoderated since a while ago.

My browser is notoriously lacking text selection and full page search. Iced didn't provide, at the time I started using it, a way to render multi-line text that could also be selected. Now there is a proper text editor that could be used for such purpose if it supported a read-only mode, which I haven't tried. Search is not implemented because it didn't (and still doesn't) provide a way to scroll to the position of a certain element without knowing its precise offset.

=> ๐Ÿ‘ป ps ยท Jan 14 at 23:35:

@lufte

just installed some examples from their repository, and same there.

in gtk, text containers support this feature, but everyone using TextEntry widget there as it's faster. In fact, in 99% of cases, every large text container in gtk is editor, switched to the read-only mode (in other words based on TextBuffer)

about Iced, that's sad, because I was ready to start work on the new branch (and gemini driver crate), to rewrite own browser that codebase looks like a huge draft and I want to cleanup it before continue with new features.

Anyway, just created new subspace to not overload this thread, also gave you mod permissions

=> โ€” bbs.geminispace.org/s/Iced

see you there!

=> ๐Ÿš€ peteyboy ยท Jan 15 at 02:07:

page search, and really, a sane way to handle client side certs. I need a way to port them between machines that is not completely 'in the weeds', please. Let me make a digest file or something and send it to/from my phone or something with import/export feature?

=> ๐Ÿš€ sy ยท Jan 15 at 02:59:

For me, text rendering with complex scripts support and integration with the OS mechanisms are the most important features a GUI browser must have.

By OS mechanisms, I mean passing the whole or a selection of content to other programs for things like dictionary lookup, text to speech, note taking etc. That is, at least on macOS, the ability to use the system services or shortcuts.app and other platform facilities.

Also accessibility might be a necessity for some. I use TTS as a convenience, but folks may depend on it. This is also kind of a litmus test for OS integration. For example, Lagrange (the gold standard of smolweb browsers) can only speak the first paragraph (customarily the header) and the site name, and I have to use manual copy-paste for things.

These days terminal emulators display images and can replace most GUI apps by basic scripting. But although mainly text based, they still cannot accurately render text as good as GUIs. When I checked last year, iced (using cosmic) was rendering text better than other light alternatives. But integrating that text content with the OS was a hassle.

In the rust ecosystem, using tauri may be a viable alternative. It uses the system webview, and solves those hard problems by default. A major drawback of it, is that its target community seems to be JS and web developers. And trying to use pure rust may be adding bloat to the final executable. For size comparison, a tauri app (without JS) I put together in a couple of hours:

37M target/debug/laika
13M target/release/laika

That includes basic HTTP/HTML support using fivefilters configs (embedding around 7M of site configs) with readability algorithm fallback (but fails for sites that are behind cloudflare). But lacks all browser features other than getting the content and rendering.

=> ๐Ÿฆ‚ zzo38 ยท Jan 15 at 03:22:

If by "page search", you mean to search within a single document, then I agree and I forgot to mention that.

About porting certificates between computers with a digest file and import/export, I wrote a document with my ideas about a file format which could be used for such a thing (you can write comments/complaints about it):

=> โ€” https://github.com/zzo38/scorpion/blob/trunk/misc/certconfig.doc

=> ๐Ÿš€ peteyboy ยท Jan 15 at 05:44:

zz038 yes, I meant 'in-page search' or page search

=> ๐Ÿš€ peteyboy ยท Jan 15 at 05:46:

for* page search, sigh I'm glad you agree! :)

Original Post

=> ๐ŸŒ’ s/Geminispace

What would you want to see in a desktop GUI Gemini client? What do you wish your favorite client did, that it doesn't do, and why? All idea's welcome!

=> ๐Ÿ’ฌ Acidus ยท 33 comments ยท 1 like ยท Jan 13 ยท 6 days ago

Proxy Information
Original URL
gemini://bbs.geminispace.org/u/clseibold/23814
Status Code
Success (20)
Meta
text/gemini; charset=utf-8
Capsule Response Time
35.678204 milliseconds
Gemini-to-HTML Time
2.420826 milliseconds

This content has been proxied by September (ba2dc).