Geopard
Geopard is a GTK 4 Gemini client written in Rust.
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
(withcargo
)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
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)