( title: "Gemview", summary: Some("A browser widget in gtk4 for the smol internet"), published: Some(( year: 2022, month: 4, day: 14, hour: 16, minute: 0, second: 51, )), tags: [ "software", "gemview", "rust", "gtk", ], ) --- ## Introduction GemView is a gemini protocol browser widget for gtk+ (version 4) implemented in Rust. ## Features * Browse and render gemini gemtext content * Display plain text over gemini * Display images over gemini * Display text and images from `data://` url's * Browse and render gopher maps, plain text and images over gopher * Display finger protocol content * Browse local files and directories via 'file://' url's * Open http(s) links in a *normal* browser * User customizable fonts * User customizable colors (via CSS) * Back/forward list ## Usage Cargo.toml ``` [dependencies] gemview = 0.2.0 [dependencies.gtk] version = "~0.4" package = "gtk4" ``` Rust source code ```Rust use gemview::GemView; use gtk::prelude::*; fn main() { let browser = GemView::default(); let scroller = gtk::builders::ScrolledWindowBuilder::new() .child(&browser) .hexpand(true) .vexpand(true) .build(); let window = gtk::builders::WindowBuilder::new() .child(&scroller) .title("GemView") .build() window.show(); browser.visit("gemini://gemini.circumlunar.space"); } ```