-- Leo's gemini proxy

-- Connecting to bbs.geminispace.org:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini; charset=utf-8

Vimini 0.5.0


I'm releasing a new version of my browser, with added support for Gopher and other niceties. I've also added build instructions and a short demo video to its README.


https://git.sr.ht/~lufte/vimini


Up next I'm planning to rewrite the network code so it handles incoming data in a more stream-like fashion, instead of downloading it all and then parse it, which would support long-lived TCP connections (like the one chat.mozz.us uses) or downloads.


If you manage to run it on a non-linux system let me know! I haven't really tried that yet.


Posted in: s/Gemini

🛰️ lufte

Apr 10 · 6 weeks ago · 👍 hedy, gemalaya, decant, reebaia


20 Comments ↓


😎 decant · Apr 11 at 01:06:

Openbsd 7.5 stable here (rust 1.76.0p0), builds ok, but fail to run with error fail to read GL_VERSION. is there a text mode? I know nothing about rust, but cargo sure pulled in a lot of deps!


🛰️ lufte [OP] · Apr 11 at 03:06:

@decant thanks for the test! I assume you are running some sort of graphical environment because there is no text mode, maybe I failed to state that in the README. If you are running one and it still fails, try running it like this `ICED_BACKEND=tiny-skia ./vimini`.


😎 decant · Apr 11 at 03:35:

@lufte wow you responded quickly! Yes, I do run X11, I tried your trick, now vimini complains about not able to load libxcb. I think we are very close here, It is known that OpenBSD tend to put X11 lib in odd places. In fact st/dwm from suckless dot org need users to uncomment a few line in config.mk to compile. I hope this post is helpful!


🛰️ lufte [OP] · Apr 11 at 13:28:

@decant after taking a closer look to Iced's (the GUI toolkit) supported platforms (https://github.com/iced-rs/iced?tab=readme-ov-file#features), it looks like OpenBSD is not among them. Still, it looks like we're really close. I'll try to get myself a virtual install of OpenBSD and see if I can get it to work.


🛰️ lufte [OP] · Apr 14 at 02:47:

@decant I'm stuck at an error that you didn't get, "no default font found", but I did get pass the libxcb error by symlinking /usr/X11R7/lib/libxcb.so.2 to /usr/X11R6/lib/libxcb.so.4.1. Let me know if this helps.


🚀 blah_blah_blah · Apr 14 at 20:44:

Suggestions:

Add Installer script to do config stuff

Add a SIMPLE help via f1 or '?'

Make tabs mouse-clickable

Improve feedback on page loads (tiny graphic is unnoticable)

Seamless certificate handling

Look at telescope, another modal gemini browser

Active tab ambiguous; my preference: light grey + yellow text = active; dark gray + light gray text = inactive


Observations

Lots of mysterious complexity. What is hint mode? Is it really modal if I can access 'the open' command without typing ':' first?

The aesthetic is very good, comparable to Lagrange while maintaining a pseudo-committment to the terminal.

Link letters are cool and convenient


🚀 blah_blah_blah · Apr 14 at 20:51:

~Two~ Three More Points

SCREAMING RED SCREEN OF PAIN is probably overkill. Maybe. I suggest inverting your color scheme. And on that note...

Offer a darkmode, which is just an inversion of your lightmode.

Make HTTP/S links open in a web browser. Right now the SRSOP says it will, but actually doesn't.


🛰️ lufte [OP] · Apr 14 at 22:57:

Thanks @blah_blah_blah for the detailed feedback. Let me comment on your points.


> Add Installer script to do config stuff


There's no much config to be done really, ideally you should be able to build the binary and run it right away. I do need to improve the libsqlite situation, maybe this is what you're referring to.


> Add a SIMPLE help via f1 or '?'


Adding custom shortcuts is already possible, so you could map '?' to the command 'open about:help', for example. The SIMPLE part, though, makes me think the default tutorial is maybe too complex. I'll see what I can do.


> Make tabs mouse-clickable


Mouse interactivity is not a priority but I could add more features.


> Improve feedback on page loads (tiny graphic is unnoticeable)


I see this could be a problem on large screens. I could add it to the tab too.


> Seamless certificate handling


Absolutely agree. I just need time to work on this.


> Active tab ambiguous


While the styling of the document view is configurable, the chrome (everything else) is not. I plan to implement this so everyone can adapt it to their needs/preferences.


> Lots of mysterious complexity. What is hint mode? Is it really modal if I can access 'the open' command without typing ':' first?


It is! You execute the "set-cmd-text --space open" command by hitting the 'o' key while in normal mode, because there is a key binding for that, or you can hit the ':' key to open the command prompt and type the command yourself, and this also happens because there is a key binding for the ':' key. Nothing is hardcoded (except the scroll keys, long story) and you can read the active key bindings in about:help/key-bindings; and you can even change them. And the hint mode is where every interactive element (links or inputs) is drawn with a hint to its left, and everything you type determines what element you want to select.


> The aesthetic is very good, comparable to Lagrange while maintaining a pseudo-committment to the terminal.


Thanks! But all credits go to qutebrowser since this is mostly a clone of it.


> Link letters are cool and convenient


Thanks, and while I also cloned this from qutebrowser (even porting some of its code), this is an old idea and I don't know its origin. I remember using VimFX ages ago which had this. It is convenient though, nothing to discuss here. The idea is that you don't need the mouse for anything.


> SCREAMING RED SCREEN OF PAIN is probably overkill. Maybe. I suggest inverting your color scheme.


Yeah, I agree here. I will look for a better default for this, and maybe something else (like an inline image) to really indicate this is actually a browser error and not some page with error text.


> Offer a darkmode, which is just an inversion of your lightmode.


All colors are configurable but I agree it's a pain to configure themes manually. I'll think about this.


> Make HTTP/S links open in a web browser. Right now the SRSOP says it will, but actually doesn't.


This works for me. What OS are you using and what is SRSOP?


😎 decant · Apr 15 at 01:25:

@lufte, I mkdir /usr/X11R7/lib and linked the file as per your instruction. Vimini launched ok! YAY! As to the font problem, it might be due to OpenBSD's lack of TrueType font in default install? You could try pkg_add ibm-plex noto-fonts. Because I did a pkg_info, it shows these are the only font I have installed from package repo. (noto is pulled in bu chromium as dep)


🛰️ lufte [OP] · Apr 15 at 01:42:

Great to know @decant! I just solved the font issue, and now it launches but without rendering any text at all. But if it works ok for you I'm happy :D


😎 decant · Apr 15 at 01:49:

@lufte, I like the color scheme, the lower level of saturation in the creamy background reminded me of Rob Pike's ACME. I looked at the font picked by vimini more closely, it is ibm-plex. Many thanks for bring this fine piece of software to OpenBSD!


😎 decant · Apr 15 at 01:54:

@lufte I really hate to say it, but, try pkg_install chromium >_< . and try to launch vimini


🛰️ lufte [OP] · Apr 15 at 14:09:

@decant bingo! Installing the IBM Plex fonts did the trick. Now I can say that OpenBSD is fully supported, hah. Thanks for the tip!


🎵 hedy · Apr 17 at 06:08:

I love it! it was easy to get it compiled and running on MacOS. the experience is about as good as qutebrowser itself.


🎵 hedy · Apr 17 at 06:10:

oh hang on, I tried to insert a line break there, haha. I'm writing this from Vimini itself! looks like it doesn't yet support multiline inputs? and just one other thing is that typing `:` doesn't get it to open the command prompt for me. everything else works fine, I was easily able to set my colorscheme to catpuccin-mocha too


🛰️ lufte [OP] · Apr 17 at 14:21:

@hedy thank you for your kind words. Getting close to qutebrowser itself is the ultimate goal, so I really appreciate it. You're right about multiline inputs, the GUI toolkit I use has just made them available in its last version so they'll come to Vimini soon. I'm worried about ':' not working though, I may contact you over email (if that's okay with you) to try to see why that is so.


😎 decant · Apr 18 at 01:14:

@lufte On startup, Vimini complains about can't find something something sqlite, when scary red text, I cd to ~/.local/share and mkdir vimini and the problem is gone, bookmark saving works now. For some reason the directory isn't created automatically. Might as well be I messed up permission setting. As far as I can tell, Vimini now fully works on OpenBSD . Thank you!


🛰️ lufte [OP] · Apr 18 at 02:41:

You're absolutely right @decant. I was just trying a fresh build of vimini on a mac, to test the behavior explained by hedy, and I noticed that the data direcroty (where the sqlite db is stored) is not created automatically when it prefectly could. The config directory is (if you run the config-write command), so there's no reason to do the same with this one. I'll get to work, thanks!


🚀 blah_blah_blah · Apr 19 at 16:29:

The issue with the config and help is to lower the bar for participation. Not everyone can do basic config stuff, and not everyone can figure out how to bind '?' to help. Requiring people to add '?' as a help keybinding doesn't make a lot of sense since people who have already figured out how to change the keybindings probably don't need help. So 'f1' or '?' should be a default help. I notice there is no 'help' command either.


🛰️ lufte [OP] · Apr 19 at 19:47:

I think I get it now, and I agree, it's all about better defaults to improve usability. I thought you were talking about pre-build config. Yes, to be honest I haven't put much effort into making the first experience pleasant enough. A more comprehensive "quickstart" tutorial should see the first thing a new user sees, and help should be more accessible through commands. I'll come up with something for 0.6. Thanks!


I did release 0.5.1 to address some of the bugs that were mentioned in this thread as well, so thanks everyone for your feedback!

-- Response ended

-- Page fetched on Sun May 19 21:12:45 2024