Commit Graph

1288 Commits (0f3bf858a3abb14a6300cef965d5d6c2e9c9e35e)
 

Author SHA1 Message Date
Manos Pitsidianakis bd404e6937
Execute user shell commands with /bin/sh
Execute user provided command invocations $CMD such as `editor_cmd` with
`/bin/sh` as `/bin/sh -c "$CMD"

Previously, user commands were split by whitespace which must trigger
erroneous behavior if quotes are involved.
4 years ago
Manos Pitsidianakis bfff0e4feb
conf: add options for logging
Add options for log file location and maximum log level. Also add
manpage entries for these options in `meli.conf.5`
4 years ago
Manos Pitsidianakis 608ef9a946
conf: warn on invalid mailbox name conf 4 years ago
Manos Pitsidianakis 671d473894
email/parser: avoid slice index panic if slice is empty 4 years ago
Manos Pitsidianakis f8961f493a
Makefile: expand paths
Makefile displays a warning if $MANDIR is not in your manpaths or
$BINDIR is not in your $PATH. Expand paths $PREFIX (and by association $BINDIR and $MANDIR) before doing that validation or otherwise paths like '~/.local' and '/home/user/.local' will be erroneously reported different
4 years ago
Manos Pitsidianakis fb2bb74c5c
Remove std::dbg! use 4 years ago
Manos Pitsidianakis ab30733ce7
SegmentTree: add update() method 4 years ago
Manos Pitsidianakis c2980f5dcf
RateLimit: add test 4 years ago
Manos Pitsidianakis 3573423169
PosixTimer: rearm timer only when calling rearm() 4 years ago
Manos Pitsidianakis 1717aa7845
bin: use self-pipe in signal handler
send_timeout() isn't signal safe, and might block.
4 years ago
Manos Pitsidianakis 7990b71c19
StatusBar: recognize readline shortcuts in Execute mode 4 years ago
Manos Pitsidianakis 3ce4772251
datetime: fix unupdated tests 4 years ago
Manos Pitsidianakis 38893a77bd
notmuch: fix invalid flag setting 4 years ago
Manos Pitsidianakis 595fa8ab95
notmuch: add total message count for mailboxes 4 years ago
Manos Pitsidianakis 68b1feb6c8
melib: add timestamp to debug trace logs 4 years ago
Manos Pitsidianakis 295577f9d7
Fix invalid theme keys in ThreadListing 4 years ago
Manos Pitsidianakis a86c1cbb26
listing: redraw on EnvelopeUpdate events 4 years ago
Manos Pitsidianakis c5fe511d95
notmuch: don't remove tags from tag_index
When removing a tag, we shouldn't also remove it from the tag index.
4 years ago
Manos Pitsidianakis a6af7fc0d3
listing.rs: don't create unnecessary operation 4 years ago
Manos Pitsidianakis b2857955e4
notmuch: add NewFlags, Remove and Create events 4 years ago
Manos Pitsidianakis 8648b229ad
Add AccountHash to RefreshEvent
Different accounts might have same inboxes with same MailboxHashes. Use
the hash of the account's name to differentiate.
4 years ago
Manos Pitsidianakis eb701695f7
Remove fnv crate 4 years ago
Manos Pitsidianakis b5b9982d9e
notmuch: cache messages by msg-id, not path 4 years ago
Manos Pitsidianakis 3ea1ce5454
errors: add `source` field to MeliError 4 years ago
Manos Pitsidianakis d915c4a7c8
text_processing: remove invalid unreachable!() 4 years ago
Manos Pitsidianakis d405aa9797
Show last worker thread heartbeat on status page 4 years ago
Manos Pitsidianakis c8391983ee
Refactor OfflineListing
Move offline status drawing to OfflineListing
4 years ago
Manos Pitsidianakis 2c549f5fcb
Refactor comments in notmuch/bindings.rs 4 years ago
Manos Pitsidianakis 2230e5705d
notmuch: LOCK database only when needed
Reported in https://git.meli.delivery/meli/meli/issues/24
4 years ago
Manos Pitsidianakis 0a34b082f6
Add cargo-fuzz targets 4 years ago
Manos Pitsidianakis b00d3c28c5
parser: fix panic on invalid encoded_word, display_addr
found by cargo-fuzz
4 years ago
Manos Pitsidianakis 5981f98f17
parser: fix panic on invalid message id 4 years ago
Manos Pitsidianakis f2ecb81612
parser: fix panic on invalid input
Found with cargo-fuzz
4 years ago
Manos Pitsidianakis 5d07a5147b
datetime: fix panic on invalid cstr conversion 4 years ago
Manos Pitsidianakis 330134af5a
maildir: update mailbox unread count on file rename event 4 years ago
Manos Pitsidianakis d580b25415
themes: overwrite only explicit key attributes
If user config file overwrites a single attribute and not the others,
for example only bg:

  "mail.listing.tag_default" = { bg = "Blue" }

The other attributes, in this case fg and attrs revert to the default
values of ThemeAttributeInner and not the default value for the key
"mail.listing.tag_default". As a result the above expands to:

  "mail.listing.tag_default" = { fg = Color::Default, bg = "Blue", attrs
  = Attr::Default }

This commit keeps the key value defaults, so the above should expand to:

  "mail.listing.tag_default" = { fg = default_theme["mail.listing.tag_default"].fg, bg = "Blue", attrs
  = default_theme["mail.listing.tag_default"].attrs }
4 years ago
Manos Pitsidianakis 18dcf15e1e
Add open_mailbox shortcut for sidebar 4 years ago
Manos Pitsidianakis d8135674df
themes: add {even,odd}_unseen, {even,odd}_selected, {even,odd}_highlighted
Suggested in #21
4 years ago
Manos Pitsidianakis e633434b93
themes: Fix invalid attribute links panic in is_cyclic
Attribute links are not checked for validity in theme validation, and an
invalid link would cause a panic in is_cyclic.

This commit improves the theme validation errors by printing if the
error lies in a theme key or a link.
4 years ago
Manos Pitsidianakis 4930d1b46c
Add Italics, Blink, Dim and Hidden text attributes
Text attributes have been rewritten as bit flags, so for example instead of
"BoldUnderline" you'd have to define "Bold | Underline" in your theme
settings.

Requested in #21
4 years ago
Manos Pitsidianakis e9a935dbf7
melib: add search method in mail backends 4 years ago
Manos Pitsidianakis 3d7b9ff7cb
Move Query to melib 4 years ago
Manos Pitsidianakis c37d8bd331
imap: add mutex timeout lock and remove unwraps 4 years ago
Manos Pitsidianakis 5842a63e37
melib: ignore Draft body if empty for multipart mail 4 years ago
Manos Pitsidianakis ad2a51891b
melib: print attachment name in Display for text/* 4 years ago
Manos Pitsidianakis fd60be482f
Open sidebar for mailbox navigation with Left/Right arrow keys
Left/Right arrow keys change focus between the sidebar and mailbox
listing. If focused on sidebar, move arrow keys to select mailbox and
open with 'Enter'. Press Right arrow key to return to mailbox listing.

- Mailbox focused:
  +--+-------------+
  |~ |=============|
  |~ |=============|
  |  |=============|
  |~ |=============|
  |~ |=============|
  +--+-------------+
- Press `Left` arrow key
- Menu focused:
  +--------+-------+
  |~~~~    |=======|
  |~~      |=======|
  |        |=======|
  |~~~     |=======|
  |~~~~    |=======|
  +--------+-------+
- Press `Right` arrow key to return
4 years ago
Manos Pitsidianakis 840005022c
themes: add default tag theme attribute
The theme attribute key is "mail.listing.tag_default"
4 years ago
Manos Pitsidianakis 6ccb9d3d75
melib/src/email/address.rs: Fix invalid UTF8 panic
In StrBuilder::display there's an assumption that the string is valid utf-8 but if an email contains an invalid string inside the MIME encoded word part the conversion panics. Change it to a lossy UTF-8 conversion instead. Fixes #19

Reported-By: cycomanic
4 years ago
Manos Pitsidianakis e034f4dd52
view.rs: fix redrawing errors 4 years ago
Manos Pitsidianakis a3903ea2cb
Show Cc in default headers in mail view 4 years ago