zygo

ncurses gopher client
git clone https://hhvn.uk/zygo
git clone git://hhvn.uk/zygo
Log | Files | Refs

zygo.1 (3961B)


      1 .\" zygo/zygo.1
      2 .\"
      3 .\" Copyright (c) 2022 hhvn <dev@hhvn.uk>
      4 .\"
      5 .\" Permission to use, copy, modify, and distribute this software for any
      6 .\" purpose with or without fee is hereby granted, provided that the above
      7 .\" copyright notice and this permission notice appear in all copies.
      8 .\"
      9 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
     10 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
     11 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
     12 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     13 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
     14 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
     15 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     16 .Dd COMMIT
     17 .Dt zygo 1
     18 .Os
     19 .Sh NAME
     20 .Nm zygo
     21 .Nd ncurses gopher client
     22 .Sh SYNOPSIS
     23 .Nm
     24 .Op Fl vkPu
     25 .Op Fl p Ar plumber
     26 .Op Ar uri
     27 .Sh DESCRIPTION
     28 .Nm
     29 is a rewrite of
     30 .Xr cgo 1
     31 that tidies up a lot of stuff,
     32 and has pager functionality using ncurses.
     33 .Ss TLS
     34 .Nm
     35 supports gopher over TLS using the gophers:// uri schema.
     36 If a gopher menu is accessed over TLS, 
     37 any links to the same server and port will be accessed over TLS.
     38 
     39 .Nm
     40 will also attempt to upgrade connections to TLS when it encounters a new server
     41 if it is invoked with the
     42 .Fl u
     43 flag, or if the
     44 .Ar autotls
     45 variable is set in
     46 .Ar config.h "."
     47 .Ss Name
     48 .Nm
     49 is taken from the first four letters of the gopher genus Zygogeomys.
     50 .Ss Plumber
     51 The plumber is a program that is run with a link as the first argument when
     52 .Nm
     53 cannot display a link. The program used for this may be changed in
     54 .Ar config.h ","
     55 or by using the
     56 .Fl p
     57 flag.
     58 
     59 By default
     60 .Nm
     61 will temporarily leave curses mode to allow the plumber access to the terminal.
     62 This can be disabled by setting the
     63 .Ar parallelplumb
     64 variable in
     65 .Ar config.h ","
     66 or by using the
     67 .Fl P
     68 flag.
     69 .Sh OPTIONS
     70 .Bl -tag -width "-p plumber"
     71 .It Fl v
     72 Print version info.
     73 .It Fl k
     74 Turn off certificate checking for TLS.
     75 .It Fl p Ar plumber
     76 Set the plumber to
     77 .Ar plumber "."
     78 .It Fl P
     79 Do not wait for the plumber to exit.
     80 .It Fl u
     81 Automatically upgrade connections to TLS.
     82 .It Fl y Ar yanker
     83 Program to use for yanking URIs.
     84 .El
     85 .Sh INPUT
     86 .Nm
     87 is constantly reading input.
     88 This input can be either an id to a link
     89 (seen to the left of a line) or a command.
     90 
     91 When an id is inputted with no command,
     92 the link is followed.
     93 
     94 If an id needs to be inputted,
     95 pressing enter is not required as long as the inputted id can be disambiguated.
     96 For example, if the largest id is
     97 .Li 27 ,
     98 and
     99 .Li 3
    100 is inputted, it is clear that the link with the id of 3 should be used.
    101 However, if
    102 .Li 2
    103 is inputted, it could refer to any link with an id between 20 and 29,
    104 so the user must press enter.
    105 The logic is as follows:
    106 .Dl if (id * 10 > largest_id_on_page) follow_the_link;
    107 
    108 When a command is entered, it may require an argument.
    109 If so, the character used for the command is shown,
    110 and the cursor is displayed next to it.
    111 The argument can either be text, or it can be an id
    112 (in which case it will follows the rules of the previous paragraph).
    113 .Sh COMMANDS
    114 .Bl -tag -width "       "
    115 .It : Ar uri
    116 Go to
    117 .Ar uri "."
    118 .It / Ar query
    119 Search forwards for
    120 .Ar query "."
    121 .It ? Ar query
    122 Search backwards for
    123 .Ar query "."
    124 .It n
    125 Search forwards with already present query.
    126 .It N
    127 Search backwards with already present query.
    128 .It a Ar path
    129 Append
    130 .Ar path
    131 to the current uri.
    132 .It j
    133 Scroll down one line.
    134 .It ^D
    135 Scroll down half a page.
    136 .It k
    137 Scroll up one line.
    138 .It ^U
    139 Scroll up half a page.
    140 .It q
    141 Quit.
    142 .It <
    143 Go back in history.
    144 .It *
    145 Reload page.
    146 .It g
    147 Go to top of page.
    148 .It G
    149 Go to bottom of page.
    150 .It r
    151 Go to root selector of current gopherhole.
    152 .It + Ar link
    153 Print uri of
    154 .Ar link
    155 where the bar normally is.
    156 .It y Ar Link
    157 Yank URI of
    158 .Ar link
    159 (typing 'y' again will yank the current page).
    160 .It H
    161 View all links in history.
    162 .El
    163 .Sh SEE ALSO
    164 .Xr cgo 1
    165 .Sh AUTHOR
    166 .An hhvn Aq Mt dev@hhvn.uk