-- Leo's gemini proxy

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

-- Connected

-- Sending request

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

Thoughts on Gemalaya


Writing my thoughts here, about the Gemalaya browser and *from* the Gemalaya browser. Running it and setting up my certificate was dead simple, that's important! I wasn't able to build it with pip though, it complained about a circular import (I can give you more details if you want).


I find the UI very peculiar, it sure has its own identity and style. I like the "Gemalaya!" popup when selecting a link, hah. The TTS is a killer feature, gemtext is such an accessible format and you're really taking advantage of it. I didn't play a lot with the settings, but it seems like a lot of things are configurable.


These are some details I found that I thought could be improved:

- It would be nice to have margins on the sides. Browsing Geminispace with a large screen makes reading a bit hard.

- Frames around links add too much "noise" to the document, at least in my opinion. It would be nice to disable them.

- Preformatted text breaks (see gemini://lufte.net).

- Scrolling with a trackpoint is somewhat difficult, but I saw that there are settings to modify this behavior so maybe is fixable.

- Some keyboard shortcuts seem to be undocumented (like Ctrl+L).

- Ctrl+Backspace is a common shortcut for deleting words in a text input, but it also collides with the one for navigating back. You should avoid reusing common shortcuts.


Posted in: s/GemalayaBrowser

🛰️ lufte

2023-12-02 · 6 months ago


12 Comments ↓


😺 gemalaya [mod] · Dec 02 at 16:42:

@lufte Thank you very much Javier for reviewing it, te lo agradezco. Peculiar, it is ^^ You're making very good points, i'll address all of those, margins, preformatted text, also i agree that ctrl+backspace shouldn't be used, i'll change that.


For the borders around links, this is a per-theme thing, the "darkknight" theme doesn't add borders (press "ctrl+y" to switch themes), i'll remove them as well in the "sinister" theme. Regarding scrolling, it's really optimized for the keyboard, i never use the mouse wheel actually.


Which python version were you using when tried to build it with pip ? The AppImage uses 3.9.


🛰️ lufte [OP] · Dec 03 at 15:35:

My python version is 3.11.6. It actually succeeds to build, it fails when I try to run it. Let's see if I can paste the traceback here.


🛰️ lufte [OP] · Dec 03 at 15:37:

Traceback (most recent call last):
  File "/tmp/gemgemgem/env/bin/gemalaya", line 33, in <module>
    sys.exit(load_entry_point('gemgemgem==0.5.9', 'gui_scripts', 'gemalaya')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/gemgemgem/env/bin/gemalaya", line 25, in importlib_load_entry_point
    return next(matches).load()
           ^^^^^^^^^^^^^^^^^^^^

🛰️ lufte [OP] · Dec 03 at 15:37:

  File "/usr/lib/python3.11/importlib/metadata/__init__.py", line 202, in load
    module = import_module(match.group('module'))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

🛰️ lufte [OP] · Dec 03 at 15:38:

  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module

🛰️ lufte [OP] · Dec 03 at 15:39:

  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/tmp/gemgemgem/env/lib/python3.11/site-packages/gemalaya/__init__.py", line 24, in <module>
    from gemalaya import rc_gemalaya  # noqa
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ImportError: cannot import name 'rc_gemalaya' from partially initialized module 'gemalaya' (most likely due to a circular import) (/tmp/gemgemgem/env/lib/python3.11/site-packages/gemalaya/__init__.py)

😺 gemalaya [mod] · Dec 03 at 16:14:

@lufte You need to run the "build_gemalaya" setuptools command first via setup.py:


python setup.py build_gemalaya install

This will use 'pyside6-rcc' to build the rc_gemalaya module.


🛰️ lufte [OP] · Dec 03 at 18:17:

Yes, that's what I meant when I said that it succeeds to build. I ran that command as explained in the repository, but then running "gemalaya" results in the previous error.


😺 gemalaya [mod] · Dec 03 at 19:16:

@lufte Ok. So, given that "build_gemalaya" doesn't show errors if pyside6-rcc fails or if it's not found, it's likely that it didn't work. You could edit "setup.py", and in the "run_rcc()" function, add a print(stdout, err) statement. What's the result of "which pyside6-rcc" ?


🛰️ lufte [OP] · Dec 03 at 19:33:

Oh, I am just now reading what pyside is exactly, I definitely don't have that installed 😅. Yeah, the output from that print statement is simply `b'' None`.


😺 gemalaya [mod] · Dec 03 at 20:07:

@lufte But, if you ran "pip install '.[gemalaya]'", it will install Pyside6-essentials which provides "pyside6-rcc". Are you sure that you're running all of these commands from within the virtualenv ?


🛰️ lufte [OP] · Dec 03 at 23:43:

Oh man, I'm sure I was, and it happend multiple times, but now I can't reproduce it so I'm not so sure... :/ Anyway, forget about this haha.

-- Response ended

-- Page fetched on Sun May 19 17:00:20 2024