From 74318c8a1acfc756e1ca5ccef0eda169fd6c7dd1dcc3b805c6dd183c4e6925ea Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Sun, 28 Apr 2024 18:02:43 +0300 Subject: [PATCH] Usage information --- cmd/client/main.go | 19 +++++++++++++++++++ cmd/server/gui.go | 9 --------- cmd/server/main.go | 21 ++++++++++++++++++++- 3 files changed, 39 insertions(+), 10 deletions(-) diff --git a/cmd/client/main.go b/cmd/client/main.go index d41b8d9..00ccce1 100644 --- a/cmd/client/main.go +++ b/cmd/client/main.go @@ -101,6 +101,25 @@ func main() { "Prefer obsolete legacy IPv4 address during name resolution") version := flag.Bool("version", false, "print version") warranty := flag.Bool("warranty", false, "print warranty information") + flag.Usage = func() { + fmt.Fprintln(os.Stderr, "Usage: vors-client [opts] -name NAME -pub PUB -srv HOST:PORT") + flag.PrintDefaults() + fmt.Fprintln(os.Stderr, ` +Press Tab to cycle through peers and chat windows. Pressing Enter in a +peer window toggles silencing (no audio will be played from it). Chat +windows allows you to enter the text and send it to everyone in the room +by pressing Enter. + +Press F1 to toggle mute -- no sending of microphone audio to server). +Press F10 to quit. + +Each peer contains various statistics: number of packets received from +it (or sent, if it is you), traffic amount, number of silence seconds, +number of bad packets (malformed or altered, number of lost packets, +number of reordered packets. "TALK" means that recently an audio packet +was received. "MUTE" means that peer is in muted mode. "SILENT" means +that peer is locally muted.`) + } flag.Parse() log.SetFlags(log.Lmicroseconds) diff --git a/cmd/server/gui.go b/cmd/server/gui.go index c9f6ddd..91cf6d8 100644 --- a/cmd/server/gui.go +++ b/cmd/server/gui.go @@ -17,7 +17,6 @@ package main import ( "flag" - "os" "sort" "strings" "time" @@ -32,14 +31,6 @@ var ( GUIReadyC = make(chan struct{}) ) -func guiQuit(g *gocui.Gui, v *gocui.View) error { - go func() { - time.Sleep(100 * time.Millisecond) - os.Exit(0) - }() - return gocui.ErrQuit -} - func guiLayout(gui *gocui.Gui) error { maxX, _ := gui.Size() prevY := 0 diff --git a/cmd/server/main.go b/cmd/server/main.go index e8fa3b3..b102cfd 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -372,6 +372,18 @@ func main() { "Prefer obsolete legacy IPv4 address during name resolution") version := flag.Bool("version", false, "print version") warranty := flag.Bool("warranty", false, "print warranty information") + flag.Usage = func() { + fmt.Fprintln(os.Stderr, "Usage: vors-server [opts] -bind HOST:PORT -key PATH -srv HOST:PORT") + flag.PrintDefaults() + fmt.Fprintln(os.Stderr, ` +List of known rooms is shown by default. If room requires password +authentication, then "protected" is written nearby. Each room's member +username and IP address is shown, together with various statistics: +number of received, transmitted packets, number of bad packets (failed +authentication), amount of traffic. "TALK" means that recently an audio +packet was received. "MUTE" means that peer is in muted mode. +Press F10 to quit.`) + } flag.Parse() log.SetFlags(log.Lmicroseconds | log.Lshortfile) @@ -416,7 +428,14 @@ func main() { } defer GUI.Close() GUI.SetManagerFunc(guiLayout) - if err := GUI.SetKeybinding("", 'q', gocui.ModNone, guiQuit); err != nil { + if err := GUI.SetKeybinding("", gocui.KeyF10, gocui.ModNone, + func(g *gocui.Gui, v *gocui.View) error { + go func() { + time.Sleep(100 * time.Millisecond) + os.Exit(0) + }() + return gocui.ErrQuit + }); err != nil { log.Fatal(err) } -- 2.44.0