From cfee278be8d8158138a44621ca6be27a63450ff4 Mon Sep 17 00:00:00 2001 From: ayntgl <90600421+ayntgl@users.noreply.github.com> Date: Thu, 28 Oct 2021 17:10:48 +0400 Subject: [PATCH] fix: scroll to end of text on channel select (#85) --- discord.go | 2 ++ ui.go | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/discord.go b/discord.go index cc50030..e9ee438 100644 --- a/discord.go +++ b/discord.go @@ -80,6 +80,8 @@ func onSessionMessageCreate(_ *discordgo.Session, m *discordgo.MessageCreate) { } else { selectedChannel.Messages = append(selectedChannel.Messages, m.Message) messagesView.Write(buildMessage(m.Message)) + // Scroll to the end of the text after the message has been written to the TextView. + messagesView.ScrollToEnd() } } diff --git a/ui.go b/ui.go index b61796d..87f90be 100644 --- a/ui.go +++ b/ui.go @@ -100,6 +100,8 @@ func onChannelsTreeSelected(n *tview.TreeNode) { selectedChannel.Messages = append(selectedChannel.Messages, ms[i]) messagesView.Write(buildMessage(ms[i])) } + // Scroll to the end of the text after the messages have been written to the TextView. + messagesView.ScrollToEnd() if len(ms) != 0 && isUnread(c) { session.ChannelMessageAck(c.ID, c.LastMessageID, "") @@ -114,7 +116,6 @@ func newMessagesView() *tview.TextView { SetRegions(true). SetDynamicColors(true). SetWordWrap(true). - ScrollToEnd(). SetChangedFunc(func() { app.Draw() }).