Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | feat(pgp): Add <ESC> to cancel password prompt | Ray Ganardi | 2020-05-25 | 2 | -10/+19 |
| | | | | Previously there was no way to cancel the password prompt. | ||||
* | pgp: fail gracefully from email decryption | Ray Ganardi | 2020-05-25 | 5 | -11/+31 |
| | | | | | Aerc panics when there's an error on email decryption. Instead, an error message should be shown. | ||||
* | msg/reply: scoping error of part slice for quoting | Srivathsan Murali | 2020-05-22 | 1 | -1/+1 |
| | | | | | part was left unassigned in the outer scope. Leading to errors while quoting. | ||||
* | Fix typos | Martin Michlmayr | 2020-05-21 | 8 | -11/+11 |
| | |||||
* | Update version to 0.4.0 0.4.0 | Drew DeVault | 2020-05-19 | 1 | -1/+1 |
| | |||||
* | Add contrib/_incr_version | Drew DeVault | 2020-05-19 | 1 | -0/+4 |
| | |||||
* | gofmt | Drew DeVault | 2020-05-19 | 1 | -1/+1 |
| | |||||
* | msg/forward: fix body part selection | Reto Brunner | 2020-05-17 | 1 | -2/+8 |
| | |||||
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */package ui
import (
"github.com/gdamore/tcell"
)
type Tabs struct {
Tabs []*Tab
TabStrip *TabStrip
TabContent *TabContent
Selected int
onInvalidateStrip func(d Drawable)
onInvalidateContent func(d Drawable)
}
type Tab struct {
Content Drawable
Name string
invalid bool
}
type TabStrip Tabs
type TabContent Tabs
func NewTabs() *Tabs {
tabs := &Tabs{}
tabs.TabStrip = (*TabStrip)(tabs)
tabs.TabContent | |||||
| | | | | Signed-off-by: Guillaume J. Charmes <git+guillaume@charmes.net> | ||||
* | templates: add version func | Reto Brunner | 2020-05-06 | 3 | -0/+19 |
| | | | | Fixes #316 | ||||
* | docs: extract template function to their own section | Reto Brunner | 2020-05-06 | 1 | -28/+39 |
| | | | | The functions were located in the data section, which was suboptimal. | ||||
* | lib/messageview: mark messages as read | Reto Brunner | 2020-05-06 | 1 | -0/+1 |
| | | | | | | | | | Currently at least the notmuch and maildir worker only set messages as read if a body part is fetched. The gpg abstraction however fetches the full message. We can simply set the readstate when we create the messageview, avoiding the issue. Once this is merged, we can cleanup both workers. | ||||
* | msg/reply: Deduplicate TO: and CC: | Reto Brunner | 2020-05-06 | 1 | -0/+12 |
| | | | | If a recipient is already in TO:, there's no need to also put them in CC: | ||||
* | Guess date from received if not present | elumbella | 2020-05-06 | 1 | -1/+41 |
| | |||||
* | Allow maildir subdirectories | Grégoire Delattre | 2020-05-05 | 1 | -11/+27 |
| | |||||
* | libui: don't require beeper for main content | Drew DeVault | 2020-05-05 | 1 | -2/+4 |
| | |||||
* | Fix array out of bounds error | burrowing-owl | 2020-05-05 | 1 | -1/+1 |
| | |||||
* | store.FetchFull: Change callback type to expose entire message | Ben Fiedler | 2020-05-01 | 5 | -11/+17 |
| | | | | | This is a prerequisite for allowing the FetchFull message to return both the message content and the message headers. | ||||
* | Implement :header command | Ray Ganardi | 2020-05-01 | 2 | -0/+78 |
| | | | | | | Usage: *header* [-f] <field> [value] Add a new email header. If the header already exists, -f must be specified to replace the given value. | ||||
* | Changing aerc.conf delimiter parsing to use only =, and not : as well | Ben Cohen | 2020-04-29 | 1 | -2/+6 |
| | |||||
* | Remove unecessary <Enter> from aerc.conf.in | Erazem Kokot | 2020-04-28 | 1 | -1/+1 |
| | | | | | | The new-email config example has "<Enter>" at the end unecessarily, since this makes the "<Enter>" text show up in a notification instead of functioning as a Return keypress. | ||||
* | add template structure to aerc-templates(7) | Reto Brunner | 2020-04-26 | 1 | -2/+19 |
| | |||||
* | aerc-config: remove bold modifier within text | Reto Brunner | 2020-04-26 | 1 | -1/+1 |
| | | | | | Partial bold ("highlighted") text looks very strange and it doesn't really add anything, might as well remove it. | ||||
* | remove mention of header addition via the editor from tutorial | Reto Brunner | 2020-04-24 | 1 | -3/+1 |
| | |||||
* | Fix headers in built-in templates | Drew DeVault | 2020-04-24 | 2 | -0/+2 |
| | |||||
* | gofmt fixes | Drew DeVault | 2020-04-24 | 14 | -20/+20 |
| | |||||
* | imap/fetch.go: report error when fetching headers fails | Ben Fiedler | 2020-04-24 | 1 | -3/+4 |
| | | | | | Correct me if I'm wrong, but shouldn't this raise an error when it fails? | ||||
* | Add recall command | Jeffas | 2020-04-24 | 7 | -5/+154 |
| | | | | | | This command allows recalling the selected postponed email to edit in the composer. The command only allows recalling from the postpone directory. | ||||
* | Add postpone command | Jeffas | 2020-04-24 | 11 | -27/+166 |
| | | | | | | | This command uses the Postpone folder from the account config to save messages to. Messages are saved as though they were sent so have a valid 'to' recipient address and should be able to be read back in for later editing. | ||||
* | Add :choose command | Ray Ganardi | 2020-04-24 | 3 | -0/+84 |
| | | | | | | | Usage: *choose* -o <key> <text> <command> [-o <key> <text> <command>]... Prompts the user to choose from various options. | ||||
* | Remove ability to specify headers in the editor | Reto Brunner | 2020-04-24 | 3 | -152/+48 |
| | | | | | | | | | | Due to headers being essentially free text, we constantly run into issues with parts of the body being interpreted as headers. Remove the ability to overwrite headers to avoid that, while keeping the ability to specify headers in the template files. Fixes #383 | ||||
* | templates/quoted_reply: fix incorrect timezone identifier | Reto Brunner | 2020-04-24 | 1 | -1/+1 |
| | |||||
* | Ensure documented defaults match given defaults | Ben Fiedler | 2020-04-23 | 1 | -3/+3 |
| | |||||
* | Use aerc.PushError where appropriate | Ben Fiedler | 2020-04-23 | 13 | -52/+20 |
| | | | | Forgot an unused import, to save you the hassle here is v2. | ||||
* | Bump ProtonMail/crypto to fix build on OpenBSD | Anirudh Oppiliappan | 2020-04-20 | 2 | -3/+3 |
| | | | | Signed-off-by: Anirudh Oppiliappan <x@icyphox.sh> | ||||
* | fix binding for delete message | Ray Ganardi | 2020-04-20 | 1 | -1/+1 |
| | | | | | I guess confirm command was removed sometime ago, but the config template was not updated. | ||||
* | fix: Close unused MessageView when swapping view | Ray Ganardi | 2020-04-20 | 2 | -1/+7 |
| | | | | | | | Closes https://todo.sr.ht/~sircmpwn/aerc2/379 The old `MessageView` was not closed when replacing the tab content, which causes a memory leak. |