starfish-app / Starfish

A Gemini browser for elementary OS.
gemini://josipantolis.from.hr/starfish/
GNU General Public License v3.0
22 stars 1 forks source link

Improve tabs #10

Open Antolius opened 2 years ago

Antolius commented 2 years ago

Tab name should use the top level heading from the rendered gemtext, and default to last URI segment only for non-gemtext files. Tab icon should use site's favicon (as specified in gemini://mozz.us/files/rfc_gemini_favicon.gmi) if available, or a distinct emoji otherwise. User should be able to pin tabs. Middle-clicking on navigation buttons in header bar should open corresponding pages in a new tab. In this case of back and forward buttons history should b copied over from the current to the new tab. Opening links to URIs that have client certificates associated with them in a new tab should not automatically use the certificate.

Suzie97 commented 2 years ago

Adding in some more points here, forgive me if some of these features are already implemented in Starfish. Last time I used it, I remember they were not.

These are the standard ways tabs work on elementary and GNOME apps.

Here is a blog post for more information https://blogs.gnome.org/alexm/2021/03/13/reinventing-tabs/. It's more focused on GNOME and not elementary, but we do get a good overview of the latest changes.

Antolius commented 2 years ago

I actually used DynamicNotebook class from elementary's Granite library as an implementation of tabs. So features Starfish does have are actually inherited from it (for example scrolling support is there). Perhaps it would make sense to implement some of these improvements (like keyboard shortcuts) upstream in Granite. I'll look into it, there might already be some work / issues / discussions on it.

As for pulling tabs between windows (either existing ones or opening new ones) I'm afraid that Starfish currently only supports one application window. I've opened a new issue to track this: #30