about summary refs log tree commit diff stats
path: root/commands/account/view.go
blob: d1b90cef8cf045d850fc476c3e7e65e8db98c34f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package account

import (
	"errors"

	"git.sr.ht/~sircmpwn/aerc/lib"
	"git.sr.ht/~sircmpwn/aerc/widgets"
)

type ViewMessage struct{}

func init() {
	register(ViewMessage{})
}

func (ViewMessage) Aliases() []string {
	return []string{"view-message", "view"}
}

func (ViewMessage) Complete(aerc *widgets.Aerc, args []string) []string {
	return nil
}

func (ViewMessage) Execute(aerc *widgets.Aerc, args []string) error {
	if len(args) != 1 {
		return errors.New("Usage: view-message")
	}
	acct := aerc.SelectedAccount()
	if acct.Messages().Empty() {
		return nil
	}
	store := acct.Messages().Store()
	msg := acct.Messages().Selected()
	if msg == nil {
		return nil
	}
	_, deleted := store.Deleted[msg.Uid]
	if deleted {
		return nil
	}
	lib.NewMessageStoreView(msg, store, aerc.DecryptKeys,
		func(view lib.MessageView) {
			viewer := widgets.NewMessageViewer(acct, aerc.Config(), view)
			aerc.NewTab(viewer, msg.Envelope.Subject)
		})
	return nil
}
ref='#n1'>1 2 3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79


             

                           










                              
                         
                         





                            
                     
                           

                     
                     
                     




                                 





                 
                    

                   
                  
                
              

                       
                            
                       
                            

               
                         

















                               

                             

                              
                            
                     
[colours]
bkgnd=default
titlebar=blue
titlebar.text=bold_white
titlebar.brackets=bold_cyan
titlebar.unencrypted=bold_red
titlebar.encrypted=bold_white
titlebar.untrusted=bold_yellow
titlebar.trusted=bold_white
titlebar.online=bold_white
titlebar.offline=bold_white
titlebar.away=bold_white
titlebar.chat=bold_white
titlebar.dnd=bold_white
titlebar.xa=bold_white
statusbar=blue
statusbar.text=bold_white
statusbar.time=bold_white
statusbar.brackets=bold_cyan
statusbar.active=bold_cyan
statusbar.new=bold_white
main.text=bold_white
main.text.me=bold_white
main.text.them=bold_white
main.splash=bold_cyan
main.help.header=bold_white
main.time=bold_white
input.text=bold_white
subscribed=bold_green
unsubscribed=bold_red
otr.started.trusted=bold_green
otr.started.untrusted=bold_yellow
otr.ended=bold_red
otr.trusted=bold_green
otr.untrusted=bold_yellow
online=bold_green
away=bold_cyan
chat=bold_green
dnd=bold_red
xa=bold_cyan
offline=bold_red
incoming=bold_yellow
mention=bold_yellow
trigger=bold_yellow
typing=bold_yellow
gone=bold_yellow
error=bold_red
roominfo=bold_yellow
roommention=bold_yellow
roommention.term=bold_yellow
roomtrigger=bold_yellow
roomtrigger.term=bold_yellow
me=bold_yellow
them=bold_green
roster.header=bold_yellow
roster.chat=bold_green
roster.online=bold_green
roster.away=bold_cyan
roster.xa=bold_cyan
roster.dnd=bold_red
roster.offline=bold_red
roster.chat.active=bold_green
roster.online.active=bold_green
roster.away.active=bold_cyan
roster.xa.active=bold_cyan
roster.dnd.active=bold_red
roster.offline.active=bold_red
roster.chat.unread=bold_green
roster.online.unread=bold_green
roster.away.unread=bold_cyan
roster.xa.unread=bold_cyan
roster.dnd.unread=bold_red
roster.offline.unread=bold_red
roster.room=bold_green
roster.room.unread=bold_green
roster.room.mention=bold_green
roster.room.trigger=bold_green
occupants.header=bold_yellow
receipt.sent=bold_red