Implement style configuration.

Introduce the ability to configure stylesets, allowing customization of
aerc's look (color scheme, font weight, etc). Default styleset is
installed to /path/to/aerc/stylesets/default.
This commit is contained in:
Kalyan Sriram 2020-07-27 01:03:55 -07:00 committed by Reto Brunner
parent 1bab1754f0
commit 1ff687ca2b
30 changed files with 1040 additions and 292 deletions

View file

@ -4,11 +4,9 @@ import (
"fmt"
"os"
"strings"
"time"
"git.sr.ht/~sircmpwn/aerc/commands"
"git.sr.ht/~sircmpwn/aerc/widgets"
"github.com/gdamore/tcell"
"github.com/mitchellh/go-homedir"
)
@ -52,8 +50,7 @@ func (Attach) Execute(aerc *widgets.Aerc, args []string) error {
composer, _ := aerc.SelectedTab().(*widgets.Composer)
composer.AddAttachment(path)
aerc.PushStatus(fmt.Sprintf("Attached %s", pathinfo.Name()), 10*time.Second).
Color(tcell.ColorDefault, tcell.ColorGreen)
aerc.PushSuccess(fmt.Sprintf("Attached %s", pathinfo.Name()))
return nil
}

View file

@ -3,10 +3,8 @@ package compose
import (
"fmt"
"strings"
"time"
"git.sr.ht/~sircmpwn/aerc/widgets"
"github.com/gdamore/tcell"
)
type Detach struct{}
@ -44,8 +42,7 @@ func (Detach) Execute(aerc *widgets.Aerc, args []string) error {
return err
}
aerc.PushStatus(fmt.Sprintf("Detached %s", path), 10*time.Second).
Color(tcell.ColorDefault, tcell.ColorGreen)
aerc.PushSuccess(fmt.Sprintf("Detached %s", path))
return nil
}

View file

@ -7,8 +7,6 @@ import (
"time"
"git.sr.ht/~sircmpwn/aerc/widgets"
"github.com/gdamore/tcell"
)
type ExecCmd struct{}
@ -35,14 +33,15 @@ func (ExecCmd) Execute(aerc *widgets.Aerc, args []string) error {
if err != nil {
aerc.PushError(" " + err.Error())
} else {
color := tcell.ColorDefault
if cmd.ProcessState.ExitCode() != 0 {
color = tcell.ColorRed
aerc.PushError(fmt.Sprintf(
"%s: completed with status %d", args[0],
cmd.ProcessState.ExitCode()))
} else {
aerc.PushStatus(fmt.Sprintf(
"%s: completed with status %d", args[0],
cmd.ProcessState.ExitCode()), 10*time.Second)
}
aerc.PushStatus(fmt.Sprintf(
"%s: completed with status %d", args[0],
cmd.ProcessState.ExitCode()), 10*time.Second).
Color(tcell.ColorDefault, color)
}
}()
return nil

View file

@ -12,7 +12,6 @@ import (
"git.sr.ht/~sircmpwn/aerc/worker/types"
"git.sr.ht/~sircmpwn/getopt"
"github.com/gdamore/tcell"
)
type Pipe struct{}
@ -96,14 +95,15 @@ func (Pipe) Execute(aerc *widgets.Aerc, args []string) error {
if err != nil {
aerc.PushError(" " + err.Error())
} else {
color := tcell.ColorDefault
if ecmd.ProcessState.ExitCode() != 0 {
color = tcell.ColorRed
aerc.PushError(fmt.Sprintf(
"%s: completed with status %d", cmd[0],
ecmd.ProcessState.ExitCode()))
} else {
aerc.PushStatus(fmt.Sprintf(
"%s: completed with status %d", cmd[0],
ecmd.ProcessState.ExitCode()), 10*time.Second)
}
aerc.PushStatus(fmt.Sprintf(
"%s: completed with status %d", cmd[0],
ecmd.ProcessState.ExitCode()), 10*time.Second).
Color(tcell.ColorDefault, color)
}
}