diff options
author | Jeffas <dev@jeffas.io> | 2020-03-07 16:42:41 +0000 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2020-03-09 09:31:02 -0400 |
commit | 3156d481feaffd2e6df6d860b980e9160b706e42 (patch) | |
tree | 82a6362a76015273a7a43105e15e7cdb41f96ada /commands | |
parent | 258a3f11ae379b96f4743d6d709b7c42bafd6dbc (diff) | |
download | aerc-3156d481feaffd2e6df6d860b980e9160b706e42.tar.gz |
Add pinned tabs
This adds the commands pin-tab and unpin-tab. Once pinned a tab lives on the left of the tabstrip and has a configurable marker, defaulting to ` before its name.
Diffstat (limited to 'commands')
-rw-r--r-- | commands/pin-tab.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/commands/pin-tab.go b/commands/pin-tab.go new file mode 100644 index 0000000..164a68b --- /dev/null +++ b/commands/pin-tab.go @@ -0,0 +1,36 @@ +package commands + +import ( + "fmt" + + "git.sr.ht/~sircmpwn/aerc/widgets" +) + +type PinTab struct{} + +func init() { + register(PinTab{}) +} + +func (PinTab) Aliases() []string { + return []string{"pin-tab", "unpin-tab"} +} + +func (PinTab) Complete(aerc *widgets.Aerc, args []string) []string { + return nil +} + +func (PinTab) Execute(aerc *widgets.Aerc, args []string) error { + if len(args) != 1 { + return fmt.Errorf("Usage: %s", args[0]) + } + + switch args[0] { + case "pin-tab": + aerc.PinTab() + case "unpin-tab": + aerc.UnpinTab() + } + + return nil +} |