Using Iced to write a Gemini client - Shortcomings
I've been using Iced since version 0.3 to write my own Gemini client. For anyone interested in doing the same, the library is still missing (at least) these features:
- A way to scroll a container to the position where a certain item is drawn. This is required to implement proper page search: you look for a pattern, you find it, and now you want to position the scroll in such a way that the text is shown at the center.
- Rich text styling: I believe this is about to change soon, but there is no text decoration. To render links, I'm using buttons with no decoration other than a bottom border, as to imitate underlining. It is possible to change fonts and font sizes though.
2025-01-15 · 1 year ago · 👍 ps, argenkiwi
2 Comments ↓
👻 ps [mod] · 2025-01-28 at 09:10:
Do you plan to make separated crate for the client library? As understand, it's currently requires entire app in dependencies? Just looking for some native Gemini library , that written in pure Rust and does not require any C-lang bindings, like my ggemini crate I wrote as oriented for GTK applications.
Just thoughts I want make some SOCKS5 proxy once, and some another client-based apps, but this time without any gnome or another c-lang binding deps.
🛰️ lufte [OP/mod] · 2025-01-28 at 14:09:
It actually is a separate crate right now, but it's only designed to fit my particular needs and I don't think it's very "ergonomic". I'm also in the process of rewriting it, so I can't make any promises about its stability. It's not published but you should be able to add it to your project right from the git repository:
— https://git.sr.ht/~lufte/vimini/tree/master/item/libgemini