small changes

This commit is contained in:
Lobo 2025-10-16 12:29:45 -03:00
parent 77b1a93b30
commit d3b3a62f28
5 changed files with 27 additions and 19 deletions

View file

@ -26,6 +26,10 @@ func initCommandMap() {
}
app.AppendSystemMessage("commands: %s", s.String())
},
"send": func(app *App, rest string) {
app.AppendMessage(rest)
app.outgoing <- MessageEvent(rest)
},
"dial": func(app *App, rest string) {
args := strings.Fields(rest)
if len(args) < 1 || len(args) > 2 {

View file

@ -108,6 +108,10 @@ func (app *App) HandleTerminalEvent(ev vaxis.Event) {
app.pager.ScrollUp()
case "Down":
app.pager.ScrollDown()
case "Page_Up":
app.pager.ScrollUpN(app.w.log.Height * 2 / 3)
case "Page_Down":
app.pager.ScrollDownN(app.w.log.Height * 2 / 3)
case "Enter":
app.submitTextInput()
case "Ctrl+p":

View file

@ -27,7 +27,9 @@ func (ev DialEvent) HandleOutgoing(app *App) error {
var err error
if app.conn != nil {
app.incoming <- SystemMessageEvent(fmt.Sprintf("already connected to %s:%s", app.conn.host, app.conn.port))
app.incoming <- SystemMessageEvent(
fmt.Sprintf("already connected to %s:%s", app.conn.host, app.conn.port),
)
return nil
}
conn, err := net.Dial("tcp", net.JoinHostPort(ev.Host, ev.Port))
@ -51,8 +53,8 @@ func (ev DialEvent) HandleOutgoing(app *App) error {
if err != nil {
return err
}
delta := time.Since(latStart).Round(time.Second)
delta = min(max(time.Second, delta*3/2), 5*time.Second)
delta := time.Since(latStart)
delta = min(max(time.Second, delta*3/2), 5*time.Second).Round(time.Second)
app.conn.rate = delta
app.conn.ticker = time.NewTicker(delta)

13
main.go
View file

@ -31,12 +31,13 @@ type App struct {
outgoing chan OutgoingEvent
error chan error
vx *vaxis.Vaxis
w struct {
vx *vaxis.Vaxis
pager *pager.Model
input *textinput.Model
w struct {
log, title, input vaxis.Window
}
pager *pager.Model
input *textinput.Model
cfgHome string
}
@ -60,7 +61,7 @@ func (app *App) AppendMessage(data string) {
vaxis.Segment{Text: data, Style: style},
vaxis.Segment{Text: "\n"},
)
app.last += 1
app.pager.Offset = math.MaxInt
}
@ -76,7 +77,7 @@ func (app *App) AppendSystemMessage(format string, args ...any) {
func (app *App) SetNick(nick string) {
nick = strings.TrimSpace(nick)
app.input.SetPrompt(fmt.Sprintf("%s: ", nick))
app.input.SetPrompt(fmt.Sprintf("[%s] ", nick))
app.input.Prompt.Attribute = vaxis.AttrBold
app.nick = nick
}

View file

@ -96,23 +96,20 @@ func (app *App) Last(n int) (num int, err error) {
return 0, err
}
var nsrv int
if !app.conn.Scanner.Scan() {
return 0, app.conn.Scanner.Err()
}
nsrvRaw := app.conn.Scanner.Text()
nsrv, err = strconv.Atoi(nsrvRaw)
numRaw := app.conn.Scanner.Text()
num, err = strconv.Atoi(numRaw)
if err != nil {
return 0, err
}
if nsrv != 0 {
for range nsrv {
if !app.conn.Scanner.Scan() {
return 0, app.conn.Scanner.Err()
}
app.incoming <- MessageEvent(app.conn.Scanner.Text())
for range num {
if !app.conn.Scanner.Scan() {
return 0, app.conn.Scanner.Err()
}
app.incoming <- MessageEvent(app.conn.Scanner.Text())
}
var last int
@ -126,5 +123,5 @@ func (app *App) Last(n int) (num int, err error) {
}
app.incoming <- SetLastEvent(last)
return nsrv, nil
return num, nil
}