-- Leo's gemini proxy

-- Connecting to typed-hole.org:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

commit 79c4878b8fe0e18438a83ae5ebbd25ae515eb4e8

Author: Julien Blanchard <julien@sideburns.eu>

Date: Fri Jan 10 12:12:12 2020 +0100


Visit URL if one is provided when calling Castor


diff --git a/src/main.rs b/src/main.rs

index 1ecc78a..394ded3 100644

--- a/src/main.rs

+++ b/src/main.rs

@@ -4,6 +4,7 @@ extern crate gtk;

extern crate lazy_static;


+use std::env;

use std::str::FromStr;

use std::sync::Arc;


@@ -73,31 +74,41 @@ fn main() {

let url_bar = gui.url_bar();

url_bar.connect_activate(move |b| {

let url = b.get_text().expect("get_text failed").to_string();

-

- if url.starts_with("gemini://") {

- visit_url(&gui_clone, Gemini { source: url })

- } else if url.starts_with("gopher://") {

- visit_url(&gui_clone, Gopher { source: url })

- } else if url.starts_with("finger://") {

- visit_url(&gui_clone, Finger { source: url })

- } else {

- visit_url(

- &gui_clone,

- Gemini {

- source: format!("gemini://{}", url),

- },

- )

- };

+ route_url(&gui_clone, url)

});

}


// Create Pango tags

tags::apply_tags(&content_view.get_buffer().unwrap());


+ // Visit URL if one was provided

+ let args: Vec<String> = env::args().collect();

+ if args.len() > 1 {

+ let url = String::from(&args[1]);

+ route_url(&gui, url)

+ }

+

gui.start();

gtk::main();

}


+fn route_url(gui: &Arc<Gui>, url: String) {

+ if url.starts_with("gemini://") {

+ visit_url(&gui, Gemini { source: url })

+ } else if url.starts_with("gopher://") {

+ visit_url(&gui, Gopher { source: url })

+ } else if url.starts_with("finger://") {

+ visit_url(&gui, Finger { source: url })

+ } else {

+ visit_url(

+ &gui,

+ Gemini {

+ source: format!("gemini://{}", url),

+ },

+ )

+ };

+}

+

fn go_back(gui: &Arc<Gui>) {

let previous = history::get_previous_url();

if let Some(url) = previous {



---

Served by Pollux Gemini Server.

-- Response ended

-- Page fetched on Sun May 19 04:55:48 2024