starfish-app / Starfish

A Gemini browser for elementary OS.
gemini://josipantolis.from.hr/starfish/
GNU General Public License v3.0
25 stars 2 forks source link
elementary-os gemini gemini-client gtk gtk3 meson vala

Starfish

A Gemini browser made for elementary OS.

Get it on AppCenter License: GPL v3 Build GitHub release

Gemini pages are displayed with your chosen accent color and light or dark style gentle introduction to Gemini is provided to help you find your bearings
page search and table of contents help you navigate larger gemtext pages connection to Gemini sites is secured by both server and client certificates

For more screenshots check out the screenshots directory.

About

Starfish is a graphical client for the Gemini protocol built with GTK and Vala. The main goal of the project is to provide a native elementary OS application for reading Gemini sites, that will make the protocol more accessible to users. Read more on the project's Gemini page: gemini://josipantolis.from.hr/starfish/.

Status

Starfish is in active development. It currently supports the prerelease version of the Gemini specification, including gemtext rendering and client certificates. Starfish can be used to view images and download other file types. There are still many improvements and new features that could be added to the app. For a list of current development plans check out GitHub issues.

Install

Starfish is packaged with Flatpak and published on elementary OS AppCenter. If you are running some other Linux distribution you can download the flatpakref file from elementary repo and install it either using a graphical package manager, or from terminal with:

flatpak install --from ./hr.from.josipantolis.starfish.flatpakref

Build from source

Starfish is built for elementary OS 6. All prerequisites can be met by installing elementary-sdk and gtkspell:

sudo apt install elementary-sdk
sudo apt install libgtkspell3-3-dev

For a full list of dependencies check out the dependencies list in the meson.build file.

To build and install the app execute (from project's root directory):

meson build --prefix=/usr
cd build
ninja
sudo ninja install

Test

After performing meson build you can run tests from inside build directory with:

meson test

Translate

After adding user facing strings, remember to wrap them _("like so"), from inside the build directory execute:

ninja hr.from.josipantolis.starfish-pot
ninja hr.from.josipantolis.starfish-update-po

Package

Starfish is packaged with Flatpak and based on io.elementary.Platform runtime. In order to build it locally you may need to install the runtime first:

flatpak install --user io.elementary.Sdk//7

After that you can build and install Starfish itself with:

flatpak-builder build hr.from.josipantolis.starfish.yml --user --install --force-clean

And run it with:

flatpak run hr.from.josipantolis.starfish

License

GNU GPLv3

Copyright © 2021 Josip Antoliš, josip.antolis@protonmail.com.