Skip to content

Eva is a gemini protocol browser in Rust using gtk4

License

Notifications You must be signed in to change notification settings

nfisher1226/eva

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eva

Eva icon

Contents

Introduction

Eva is a gemini protocol browser written in Rust using the gtk+ toolkit. Eva is focused on delivering a simple yet powerful interface and clear, readable and beautiful page rendering. It has no designs on being the most fully featured Gemini browser, but instead wants to be the most polished native Gtk+ Gemini client that stays out of the user's way.

Eva's gemtext rendering has been designed to be clean yet visually appealing, using modern css styling to visually separate elements such as block quotes and preformatted sections, using colored cards with rounded edges and box shadows. The default color scheme has been chosen to provide great readability, while giving the user a great deal of control over appearance.

Eva is currently alpha quality software and is under heavy development. Some features are not yet implemented and there may be bugs. However, rest assured that when Eva sees an official release it will be a polished user experience.

Features

  • tabbed interface
  • bookmarks
  • keyboard shortcuts
    • user configurable
  • user controlled styling
    • user specified fonts
    • user specified colors
  • back-forward list
  • history
  • Gemini protocol
    • Render gmi pages
    • Display text
    • Display images
    • View gemtext source
    • Tofu
    • Client certificates
    • Send user input
    • Sensitive user input
    • Downloads
    • Save content
  • Titan protocol
  • Gopher protocol
    • Render gophermaps
    • Display text
    • Display images
    • Downloads
    • Save content
  • Finger protocol
  • Data url's
    • Display text
    • Render gemtext
    • Display images
    • Save content
  • Spartan protocol
    • Render all content supported by gemini
    • Upload Spartan content

Keybindings

Note: See KEYS.md for information on changing keybindings

Key Action
Ctrl/T New tab
Ctrl/N New window
Ctrl/W Close tab
Ctrl/Q Close window
Ctrl/R Reload page
Alt/Home Go to homepage
Alt/Left Go back
Alt/Right Go next
Ctrl/PageDown Next tab
Ctrl/PageUp Previous tab
Alt/[1-9] nth tab
Ctrl/Shift/O Open bookmarks
Ctrl/D Bookmark page
Ctrl/H Open History
Ctrl/S Save Page
Ctrl/Shift/P Open preferences
Ctrl/Shift/A Open about dialog

Installing

Arch Linux

Install the eva-browser package from the aur. Alternatively, beginning with the 0.3.0 release, releases on Codeberg and Github include an Arch PKGBUILD file.

FreeBSD

Beginning with the 0.3.0 release, there is a binary package for FreeBSD 13 and the x86_64 architecture included in the releases on Codeberg and Github.

All others

See the Building section below.

Building

# clone the source
git clone https://codeberg.org/jeang3nie/eva.git
cd eva
cargo build --release
# To gather all release files into target/dist
cargo xtask dist