Skip to content

ranfdev/Geopard

Repository files navigation

Geopard

Geopard is a GTK 4 Gemini client written in Rust.

Download on Flathub

screenshot 1 screenshot 1-dark

Some notable features

  • Colors! The browser will have a different color for each domain you visit.

  • Fast (async core + caching): Streams content by default. That means you can open pages even when you have connection speeds of Kb/s. It also caches pages in the history, so you can go back/forward in an instant

  • Can download binary files: The download will start as soon as you open the corresponding link. You can always cancel it by opening another page.

  • It works. Until I find another bug...

Technical details

Under the hood, it uses GTK 4 and Rust. Everything related to IO is asynchronous. To do that, it makes use of Rust's async/await capabilities and the async-std crate.

How to change settings

You should find the configuration files in ~/.config/geopard/ If you use flatpak, they are in ~/.var/app/com.ranfdev.Geopard/config/geopard/. In the future I will probably introduce a settings GUI.

How to build

With Flatpak

If you have gnome-builder installed, use it to open the folder of the source code and hit the run button.

Build with Nix

If you have the nix package manager and flakes enabled, you can simply do:

git clone https://github.com/ranfdev/Geopard.git
nix build
./result/bin/geopard

General build instructions

Install these development packages:

  • gtk4
  • glib
  • rust (with cargo)
  • openssl
  • pkg-config
  • meson

Clone, compile, install.

git clone https://github.com/ranfdev/Geopard.git
cd Geopard
meson --prefix=/usr build
ninja -C build
sudo ninja -C build install

Note You can use a local-build.sh script provided with project's repository to quickly rebuild and test your changes.

License

GPLv3 logo This repository is licensed under the terms of the GNU GPLv3 license. You can find a copy of the license in the LICENSE file.

Authors

Lorenzo Miglietta (ranfdev)