diff options
author | Jeffas <dev@jeffas.io> | 2020-06-09 20:13:13 +0100 |
---|---|---|
committer | Reto Brunner <reto@labrat.space> | 2020-06-09 21:52:10 +0200 |
commit | 15b72df1dabb6675c20cff043648e97a209d2132 (patch) | |
tree | 184b15a40d8aa242259f4ee46caebc51527f5e26 /commands/msg | |
parent | c6f4d7badd4cb36067f0e76198630a3d0f9e7ce9 (diff) | |
download | aerc-15b72df1dabb6675c20cff043648e97a209d2132.tar.gz |
Rework msglist scrolling
This changes the scrolling to be done on the draw, when the height is updated, ensuring that the selected item is kept on screen during resizing. Also, this ensures that messages will fill the screen when resizing the window, for instance, shrinking and then growing drags down more messages if possible. This is a transplant of the dirlist scrolling logic.
Diffstat (limited to 'commands/msg')
-rw-r--r-- | commands/msg/archive.go | 2 | ||||
-rw-r--r-- | commands/msg/delete.go | 4 | ||||
-rw-r--r-- | commands/msg/move.go | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/commands/msg/archive.go b/commands/msg/archive.go index 5561674..07de13f 100644 --- a/commands/msg/archive.go +++ b/commands/msg/archive.go @@ -53,7 +53,7 @@ func (Archive) Execute(aerc *widgets.Aerc, args []string) error { } archiveDir := acct.AccountConfig().Archive store.Next() - acct.Messages().Scroll() + acct.Messages().Invalidate() var uidMap map[string][]uint32 switch args[1] { diff --git a/commands/msg/delete.go b/commands/msg/delete.go index 4bda8b9..e74bf10 100644 --- a/commands/msg/delete.go +++ b/commands/msg/delete.go @@ -62,7 +62,7 @@ func (Delete) Execute(aerc *widgets.Aerc, args []string) error { // no more messages in the list if next == nil { aerc.RemoveTab(h.msgProvider) - acct.Messages().Scroll() + acct.Messages().Invalidate() return nil } lib.NewMessageStoreView(next, store, aerc.DecryptKeys, @@ -76,7 +76,7 @@ func (Delete) Execute(aerc *widgets.Aerc, args []string) error { }) } } - acct.Messages().Scroll() + acct.Messages().Invalidate() return nil } diff --git a/commands/msg/move.go b/commands/msg/move.go index 830e752..41f61da 100644 --- a/commands/msg/move.go +++ b/commands/msg/move.go @@ -62,7 +62,7 @@ func (Move) Execute(aerc *widgets.Aerc, args []string) error { aerc.RemoveTab(h.msgProvider) } store.Next() - acct.Messages().Scroll() + acct.Messages().Invalidate() joinedArgs := strings.Join(args[optind:], " ") store.Move(uids, joinedArgs, createParents, func( msg types.WorkerMessage) { |