parent
76a91813d8
commit
caad1b2c06
48 changed files with 326 additions and 1087 deletions
|
@ -40,7 +40,7 @@ func (MakeDir) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
aerc.PushStatus("Directory created.", 10*time.Second)
|
||||
acct.Directories().Select(name)
|
||||
case *types.Error:
|
||||
aerc.PushError(" "+msg.Error.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + msg.Error.Error())
|
||||
}
|
||||
})
|
||||
return nil
|
||||
|
|
|
@ -2,7 +2,6 @@ package account
|
|||
|
||||
import (
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
"git.sr.ht/~sircmpwn/aerc/lib"
|
||||
"git.sr.ht/~sircmpwn/aerc/widgets"
|
||||
|
@ -42,7 +41,7 @@ func (ViewMessage) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
lib.NewMessageStoreView(msg, store, aerc.DecryptKeys,
|
||||
func(view lib.MessageView, err error) {
|
||||
if err != nil {
|
||||
aerc.PushError(err.Error(), 10*time.Second)
|
||||
aerc.PushError(err.Error())
|
||||
return
|
||||
}
|
||||
viewer := widgets.NewMessageViewer(acct, aerc.Config(), view)
|
||||
|
|
|
@ -8,6 +8,7 @@ import (
|
|||
|
||||
"git.sr.ht/~sircmpwn/aerc/commands"
|
||||
"git.sr.ht/~sircmpwn/aerc/widgets"
|
||||
"github.com/gdamore/tcell"
|
||||
"github.com/mitchellh/go-homedir"
|
||||
)
|
||||
|
||||
|
@ -35,23 +36,24 @@ func (Attach) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
|
||||
path, err := homedir.Expand(path)
|
||||
if err != nil {
|
||||
aerc.PushError(" "+err.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + err.Error())
|
||||
return err
|
||||
}
|
||||
|
||||
pathinfo, err := os.Stat(path)
|
||||
if err != nil {
|
||||
aerc.PushError(" "+err.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + err.Error())
|
||||
return err
|
||||
} else if pathinfo.IsDir() {
|
||||
aerc.PushError("Attachment must be a file, not a directory", 10*time.Second)
|
||||
aerc.PushError("Attachment must be a file, not a directory")
|
||||
return nil
|
||||
}
|
||||
|
||||
composer, _ := aerc.SelectedTab().(*widgets.Composer)
|
||||
composer.AddAttachment(path)
|
||||
|
||||
aerc.PushSuccess(fmt.Sprintf("Attached %s", pathinfo.Name()), 10*time.Second)
|
||||
aerc.PushStatus(fmt.Sprintf("Attached %s", pathinfo.Name()), 10*time.Second).
|
||||
Color(tcell.ColorDefault, tcell.ColorGreen)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ import (
|
|||
"time"
|
||||
|
||||
"git.sr.ht/~sircmpwn/aerc/widgets"
|
||||
"github.com/gdamore/tcell"
|
||||
)
|
||||
|
||||
type Detach struct{}
|
||||
|
@ -43,7 +44,8 @@ func (Detach) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
return err
|
||||
}
|
||||
|
||||
aerc.PushSuccess(fmt.Sprintf("Detached %s", path), 10*time.Second)
|
||||
aerc.PushStatus(fmt.Sprintf("Detached %s", path), 10*time.Second).
|
||||
Color(tcell.ColorDefault, tcell.ColorGreen)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -63,7 +63,7 @@ func (Postpone) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
go func() {
|
||||
errStr := <-errChan
|
||||
if errStr != "" {
|
||||
aerc.PushError(" "+errStr, 10*time.Second)
|
||||
aerc.PushError(" " + errStr)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -71,7 +71,7 @@ func (Postpone) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
ctr := datacounter.NewWriterCounter(ioutil.Discard)
|
||||
err = composer.WriteMessage(header, ctr)
|
||||
if err != nil {
|
||||
aerc.PushError(errors.Wrap(err, "WriteMessage").Error(), 10*time.Second)
|
||||
aerc.PushError(errors.Wrap(err, "WriteMessage").Error())
|
||||
composer.Close()
|
||||
return
|
||||
}
|
||||
|
@ -90,7 +90,7 @@ func (Postpone) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
r.Close()
|
||||
composer.Close()
|
||||
case *types.Error:
|
||||
aerc.PushError(" "+msg.Error.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + msg.Error.Error())
|
||||
r.Close()
|
||||
composer.Close()
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ import (
|
|||
|
||||
"github.com/emersion/go-sasl"
|
||||
"github.com/emersion/go-smtp"
|
||||
"github.com/gdamore/tcell"
|
||||
"github.com/google/shlex"
|
||||
"github.com/miolini/datacounter"
|
||||
"github.com/pkg/errors"
|
||||
|
@ -224,7 +225,8 @@ func (Send) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
aerc.PushStatus("Sending...", 10*time.Second)
|
||||
nbytes, err := sendAsync()
|
||||
if err != nil {
|
||||
aerc.SetError(" " + err.Error())
|
||||
aerc.SetStatus(" "+err.Error()).
|
||||
Color(tcell.ColorDefault, tcell.ColorRed)
|
||||
return
|
||||
}
|
||||
if config.CopyTo != "" {
|
||||
|
@ -245,7 +247,7 @@ func (Send) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
composer.SetSent()
|
||||
composer.Close()
|
||||
case *types.Error:
|
||||
aerc.PushError(" "+msg.Error.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + msg.Error.Error())
|
||||
r.Close()
|
||||
composer.Close()
|
||||
}
|
||||
|
|
|
@ -7,6 +7,8 @@ import (
|
|||
"time"
|
||||
|
||||
"git.sr.ht/~sircmpwn/aerc/widgets"
|
||||
|
||||
"github.com/gdamore/tcell"
|
||||
)
|
||||
|
||||
type ExecCmd struct{}
|
||||
|
@ -31,17 +33,16 @@ func (ExecCmd) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
go func() {
|
||||
err := cmd.Run()
|
||||
if err != nil {
|
||||
aerc.PushError(" "+err.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + err.Error())
|
||||
} else {
|
||||
color := tcell.ColorDefault
|
||||
if cmd.ProcessState.ExitCode() != 0 {
|
||||
aerc.PushError(fmt.Sprintf(
|
||||
"%s: completed with status %d", args[0],
|
||||
cmd.ProcessState.ExitCode()), 10*time.Second)
|
||||
} else {
|
||||
aerc.PushStatus(fmt.Sprintf(
|
||||
"%s: completed with status %d", args[0],
|
||||
cmd.ProcessState.ExitCode()), 10*time.Second)
|
||||
color = tcell.ColorRed
|
||||
}
|
||||
aerc.PushStatus(fmt.Sprintf(
|
||||
"%s: completed with status %d", args[0],
|
||||
cmd.ProcessState.ExitCode()), 10*time.Second).
|
||||
Color(tcell.ColorDefault, color)
|
||||
}
|
||||
}()
|
||||
return nil
|
||||
|
|
|
@ -86,7 +86,7 @@ func (Archive) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
case *types.Done:
|
||||
wg.Done()
|
||||
case *types.Error:
|
||||
aerc.PushError(" "+msg.Error.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + msg.Error.Error())
|
||||
success = false
|
||||
wg.Done()
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ func (Copy) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
case *types.Done:
|
||||
aerc.PushStatus("Messages copied.", 10*time.Second)
|
||||
case *types.Error:
|
||||
aerc.PushError(" "+msg.Error.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + msg.Error.Error())
|
||||
}
|
||||
})
|
||||
return nil
|
||||
|
|
|
@ -47,7 +47,7 @@ func (Delete) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
case *types.Done:
|
||||
aerc.PushStatus("Messages deleted.", 10*time.Second)
|
||||
case *types.Error:
|
||||
aerc.PushError(" "+msg.Error.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + msg.Error.Error())
|
||||
}
|
||||
})
|
||||
|
||||
|
@ -68,7 +68,7 @@ func (Delete) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
lib.NewMessageStoreView(next, store, aerc.DecryptKeys,
|
||||
func(view lib.MessageView, err error) {
|
||||
if err != nil {
|
||||
aerc.PushError(err.Error(), 10*time.Second)
|
||||
aerc.PushError(err.Error())
|
||||
return
|
||||
}
|
||||
nextMv := widgets.NewMessageViewer(acct, aerc.Config(), view)
|
||||
|
|
|
@ -9,7 +9,6 @@ import (
|
|||
"os"
|
||||
"path"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"git.sr.ht/~sircmpwn/aerc/models"
|
||||
"git.sr.ht/~sircmpwn/aerc/widgets"
|
||||
|
@ -84,7 +83,7 @@ func (forward) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
composer, err := widgets.NewComposer(aerc, acct, aerc.Config(), acct.AccountConfig(),
|
||||
acct.Worker(), template, defaults, original)
|
||||
if err != nil {
|
||||
aerc.PushError("Error: "+err.Error(), 10*time.Second)
|
||||
aerc.PushError("Error: " + err.Error())
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ func (ModifyLabels) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
case *types.Done:
|
||||
aerc.PushStatus("labels updated", 10*time.Second)
|
||||
case *types.Error:
|
||||
aerc.PushError(" "+msg.Error.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + msg.Error.Error())
|
||||
}
|
||||
})
|
||||
return nil
|
||||
|
|
|
@ -71,7 +71,7 @@ func (Move) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
case *types.Done:
|
||||
aerc.PushStatus("Message moved to "+joinedArgs, 10*time.Second)
|
||||
case *types.Error:
|
||||
aerc.PushError(" "+msg.Error.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + msg.Error.Error())
|
||||
}
|
||||
})
|
||||
return nil
|
||||
|
|
|
@ -12,6 +12,7 @@ import (
|
|||
"git.sr.ht/~sircmpwn/aerc/worker/types"
|
||||
|
||||
"git.sr.ht/~sircmpwn/getopt"
|
||||
"github.com/gdamore/tcell"
|
||||
)
|
||||
|
||||
type Pipe struct{}
|
||||
|
@ -75,7 +76,7 @@ func (Pipe) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
doTerm := func(reader io.Reader, name string) {
|
||||
term, err := commands.QuickTerm(aerc, cmd, reader)
|
||||
if err != nil {
|
||||
aerc.PushError(" "+err.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + err.Error())
|
||||
return
|
||||
}
|
||||
aerc.NewTab(term, name)
|
||||
|
@ -93,17 +94,16 @@ func (Pipe) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
}()
|
||||
err = ecmd.Run()
|
||||
if err != nil {
|
||||
aerc.PushError(" "+err.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + err.Error())
|
||||
} else {
|
||||
color := tcell.ColorDefault
|
||||
if ecmd.ProcessState.ExitCode() != 0 {
|
||||
aerc.PushError(fmt.Sprintf(
|
||||
"%s: completed with status %d", cmd[0],
|
||||
ecmd.ProcessState.ExitCode()), 10*time.Second)
|
||||
} else {
|
||||
aerc.PushStatus(fmt.Sprintf(
|
||||
"%s: completed with status %d", cmd[0],
|
||||
ecmd.ProcessState.ExitCode()), 10*time.Second)
|
||||
color = tcell.ColorRed
|
||||
}
|
||||
aerc.PushStatus(fmt.Sprintf(
|
||||
"%s: completed with status %d", cmd[0],
|
||||
ecmd.ProcessState.ExitCode()), 10*time.Second).
|
||||
Color(tcell.ColorDefault, color)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ func submitReadChange(aerc *widgets.Aerc, store *lib.MessageStore,
|
|||
case *types.Done:
|
||||
aerc.PushStatus(msg_success, 10*time.Second)
|
||||
case *types.Error:
|
||||
aerc.PushError(" "+msg.Error.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + msg.Error.Error())
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -106,7 +106,7 @@ func submitReadChangeWg(aerc *widgets.Aerc, store *lib.MessageStore,
|
|||
case *types.Done:
|
||||
wg.Done()
|
||||
case *types.Error:
|
||||
aerc.PushError(" "+msg.Error.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + msg.Error.Error())
|
||||
*success = false
|
||||
wg.Done()
|
||||
}
|
||||
|
|
|
@ -2,7 +2,6 @@ package msg
|
|||
|
||||
import (
|
||||
"io"
|
||||
"time"
|
||||
|
||||
"github.com/emersion/go-message"
|
||||
_ "github.com/emersion/go-message/charset"
|
||||
|
@ -92,7 +91,7 @@ func (Recall) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
}, func(msg types.WorkerMessage) {
|
||||
switch msg := msg.(type) {
|
||||
case *types.Error:
|
||||
aerc.PushError(" "+msg.Error.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + msg.Error.Error())
|
||||
composer.Close()
|
||||
}
|
||||
})
|
||||
|
|
|
@ -7,7 +7,6 @@ import (
|
|||
"io"
|
||||
gomail "net/mail"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"git.sr.ht/~sircmpwn/getopt"
|
||||
|
||||
|
@ -140,7 +139,7 @@ func (reply) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
composer, err := widgets.NewComposer(aerc, acct, aerc.Config(),
|
||||
acct.AccountConfig(), acct.Worker(), template, defaults, original)
|
||||
if err != nil {
|
||||
aerc.PushError("Error: "+err.Error(), 10*time.Second)
|
||||
aerc.PushError("Error: " + err.Error())
|
||||
return err
|
||||
}
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
package msgview
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"git.sr.ht/~sircmpwn/aerc/commands/account"
|
||||
"git.sr.ht/~sircmpwn/aerc/lib"
|
||||
"git.sr.ht/~sircmpwn/aerc/widgets"
|
||||
|
@ -42,7 +40,7 @@ func (NextPrevMsg) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
lib.NewMessageStoreView(nextMsg, store, aerc.DecryptKeys,
|
||||
func(view lib.MessageView, err error) {
|
||||
if err != nil {
|
||||
aerc.PushError(err.Error(), 10*time.Second)
|
||||
aerc.PushError(err.Error())
|
||||
return
|
||||
}
|
||||
nextMv := widgets.NewMessageViewer(acct, aerc.Config(), view)
|
||||
|
|
|
@ -49,20 +49,20 @@ func (Open) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
|
||||
tmpFile, err := ioutil.TempFile(os.TempDir(), "aerc-*"+extension)
|
||||
if err != nil {
|
||||
aerc.PushError(" "+err.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + err.Error())
|
||||
return
|
||||
}
|
||||
defer tmpFile.Close()
|
||||
|
||||
_, err = io.Copy(tmpFile, reader)
|
||||
if err != nil {
|
||||
aerc.PushError(" "+err.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
err = lib.OpenFile(tmpFile.Name())
|
||||
if err != nil {
|
||||
aerc.PushError(" "+err.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + err.Error())
|
||||
}
|
||||
|
||||
aerc.PushStatus("Opened", 10*time.Second)
|
||||
|
|
|
@ -128,7 +128,7 @@ func (Save) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
go func() {
|
||||
err := <-ch
|
||||
if err != nil {
|
||||
aerc.PushError(fmt.Sprintf("Save failed: %v", err), 10*time.Second)
|
||||
aerc.PushError(fmt.Sprintf("Save failed: %v", err))
|
||||
return
|
||||
}
|
||||
aerc.PushStatus("Saved to "+path, 10*time.Second)
|
||||
|
|
|
@ -2,7 +2,6 @@ package commands
|
|||
|
||||
import (
|
||||
"os/exec"
|
||||
"time"
|
||||
|
||||
"github.com/riywo/loginshell"
|
||||
|
||||
|
@ -47,7 +46,7 @@ func TermCore(aerc *widgets.Aerc, args []string) error {
|
|||
term.OnClose = func(err error) {
|
||||
aerc.RemoveTab(term)
|
||||
if err != nil {
|
||||
aerc.PushError(" "+err.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + err.Error())
|
||||
}
|
||||
}
|
||||
return nil
|
||||
|
|
|
@ -32,7 +32,7 @@ func QuickTerm(aerc *widgets.Aerc, args []string, stdin io.Reader) (*widgets.Ter
|
|||
|
||||
term.OnClose = func(err error) {
|
||||
if err != nil {
|
||||
aerc.PushError(" "+err.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + err.Error())
|
||||
// remove the tab on error, otherwise it gets stuck
|
||||
aerc.RemoveTab(term)
|
||||
} else {
|
||||
|
@ -56,7 +56,7 @@ func QuickTerm(aerc *widgets.Aerc, args []string, stdin io.Reader) (*widgets.Ter
|
|||
|
||||
err := <-status
|
||||
if err != nil {
|
||||
aerc.PushError(" "+err.Error(), 10*time.Second)
|
||||
aerc.PushError(" " + err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue