/* Dashmini 0.1 By Sunblade sunblade@tilde.club https://tilde.club/~sunblade/ Usage: /dashmini "gemini://url" (without quotes) License: MIT */ alias -l gemurlformat { if (($right($1,4) != .gmi) && ($right($1,1) != $chr(47))) { return $+($1,/index.gmi) } else { return $1 } } alias dashmini { if (!$window(@dashmini)) { window -k @dashmini } var %f = $1 var %u = $gemurlformat($1) var %h = $token(%f,2,47) sockopen -e dashmini %h 1965 sockmark dashmini $1 } on 1:sockopen:dashmini:{ if ($sockerr > 0) { echo -st * /dashmini : Unable to connect. | return } echo -tg @dashmini * /dashmini : Connection successful to $sock($sockname).mark $+([,$sock($sockname).ip,]) sockwrite -n $sockname $sock($sockname).mark echo -tg @dashmini * /dashmini : Receiving informations... } on 1:sockread:dashmini:{ if ($sockerr > 0) { echo -tg @dashmini * /dashmini : An error has ocurred. Connection closed. | return } var %read ;var %line = 1 :read sockread -f %read if ($sockbr == 0) return echo -tg @dashmini * /dashmini : %read inc %line goto read } on 1:sockclose:dashmini:{ echo -tg @dashmini * /dashmini : The connection has been closed. } on *:hotlink:*:@dashmini:{ if ($hotlink(event) == sclick) { if ($hotlink(match) isurl) { dashmini $gemurlformat($hotlink(match)) } } }