commit 21fcd22

delthas  ·  2023-08-24 14:38:36 +0000 UTC
parent 35166df
Show the number of members in buffers
2 files changed,  +24, -4
M app.go
M app.go
+3, -3
 1@@ -507,8 +507,8 @@ func (app *App) handleMouseEvent(ev *tcell.EventMouse) {
 2 			app.win.ClickBuffer(y + app.win.ChannelOffset())
 3 		} else if app.win.ChannelWidth() == 0 && y == h-1 {
 4 			app.win.ClickBuffer(app.win.HorizontalBufferOffset(x))
 5-		} else if x > w-app.win.MemberWidth() {
 6-			app.win.ClickMember(y + app.win.MemberOffset())
 7+		} else if x > w-app.win.MemberWidth() && y >= 2 {
 8+			app.win.ClickMember(y - 2 + app.win.MemberOffset())
 9 		}
10 	}
11 	if ev.Buttons() == 0 {
12@@ -521,7 +521,7 @@ func (app *App) handleMouseEvent(ev *tcell.EventMouse) {
13 				app.win.GoToBufferNo(i)
14 			}
15 		} else if x > w-app.win.MemberWidth() {
16-			if i := y + app.win.MemberOffset(); i == app.win.ClickedMember() {
17+			if i := y - 2 + app.win.MemberOffset(); i >= 0 && i == app.win.ClickedMember() {
18 				netID, target := app.win.CurrentBuffer()
19 				s := app.sessions[netID]
20 				if s != nil && target != "" {
+21, -1
 1@@ -1,12 +1,12 @@
 2 package ui
 3 
 4 import (
 5+	"fmt"
 6 	"strings"
 7 	"sync/atomic"
 8 	"time"
 9 
10 	"git.sr.ht/~taiite/senpai/irc"
11-
12 	"github.com/gdamore/tcell/v2"
13 )
14 
15@@ -560,6 +560,26 @@ func (ui *UI) drawVerticalMemberList(screen tcell.Screen, x0, y0, width, height
16 	width--
17 	clearArea(screen, x0, y0, width, height)
18 
19+	if len(members) > 0 {
20+		var memberString string
21+		if len(members) > 1 {
22+			memberString = fmt.Sprintf("%d members", len(members))
23+		} else {
24+			memberString = fmt.Sprintf("%d member", len(members))
25+		}
26+		memberString = truncate(memberString, width-1, "\u2026")
27+		xMembers := x0 + 1
28+		printString(screen, &xMembers, y0, Styled(memberString, tcell.StyleDefault.Foreground(ui.config.Colors.Status)))
29+	}
30+	y0++
31+	height--
32+	for x := x0; x < x0+width; x++ {
33+		st := tcell.StyleDefault.Foreground(tcell.ColorGray)
34+		screen.SetContent(x, y0, 0x2500, nil, st)
35+	}
36+	y0++
37+	height--
38+
39 	padding := 1
40 	for _, m := range members {
41 		if m.Disconnected {