Manos Pitsidianakis
449e526953
Add meli-themes.5 doc, update others
5 years ago
Manos Pitsidianakis
6a7cae0988
ui/themes: add NO_COLOR support
...
https://no-color.org/
5 years ago
Manos Pitsidianakis
ee65f355c7
ui/themes: print theme name that contains error in Theme::validate
5 years ago
Manos Pitsidianakis
f15e569627
ui/themes: add status.{bar,notification} and theme_default keys
...
- theme_default replaces general for all default colors/attributes
- add status.{bar,notification} support
5 years ago
Manos Pitsidianakis
5dc477bcd5
Fix some unused etc warnings
5 years ago
Manos Pitsidianakis
b823969ae2
small fixes
...
- Don't debug print Timer events in src/bin.rs event loop; they're too
frequent and pollute the logs
- chain set_{fg,bg,..} method calls for &mut Cell
- remove unneeded u8 to u8 cast
5 years ago
Manos Pitsidianakis
3c7328d901
ui: correctly turn on/off terminal attributes in draw_horizontal_segment()
...
`Attr` (terminal attributes such as bold, underline, etc) were not being
printed properly: their bitmap representation was printed instead of the
correct ANSI codes to turn them on/off. This worked so far because the
attributes and {fore,back}ground color was reset in every character
print.
draw_horizontal_segment() now keeps state of current_{fg,bg,attr} to
keep from resetting in each column draw.
5 years ago
Manos Pitsidianakis
77d9cef6fc
melib/imap: small fixes
...
- Ignore final line ("M__ OK ...") when parsing FETCH response.
- Remove unnecessary import and reword some error messages
5 years ago
Manos Pitsidianakis
254028fa47
melib/threads: fix thread splintering case when inserting reply
...
When inserting reply, its thread group was re-inserted with the reply as
the root. This is a mistake as threads should never be re-inserted, only
modified.
5 years ago
Manos Pitsidianakis
8ec82b836a
Add 2 theme-related cli flags
5 years ago
Manos Pitsidianakis
5230ce2d03
ui/themes: load other themes from ./themes/ dir
5 years ago
Manos Pitsidianakis
ab0b4f5168
ui/themes: add defaults in add!() macro
5 years ago
Manos Pitsidianakis
eedb03dcd0
ui/themes: fix attr parsing not recognizing links
5 years ago
Manos Pitsidianakis
fc4b9f8919
ui/themes: add other_themes field to Theme
...
Add support for multiple arbitrarily named themes.
5 years ago
Manos Pitsidianakis
72e1d5d52d
ui/themes: add link cycle detection in theme validation
5 years ago
Manos Pitsidianakis
2a4ecc8314
Micro fix in meli.conf.5
5 years ago
Manos Pitsidianakis
1e2b3c073d
ui/themes: add ThemeAttribute
...
Consolidate {fg,bg} color theme settings to ThemeAttribute and add Attr
(bold, etc).
5 years ago
Manos Pitsidianakis
f787eb75b6
ui/themes: add ThemeValue struct
...
ThemeValue is either a Color or a theme key, meaning the value is linked
to another key's value.
5 years ago
Manos Pitsidianakis
aa04ddda3d
ui/themes: add envelope view headers/body theme colors
5 years ago
Manos Pitsidianakis
dc63e1f657
Minor changes
5 years ago
Manos Pitsidianakis
1e2acd3b29
melib: add complete() method to ShellExpandTrait
...
complete(force: bool) returns String path segments that when appended to
the path will form a valid location. Example:
- User types: save-attachment 1 /t
- User presses <TAB>.
- complete() returns the suggestion: "mp/"
- User sees: save-attachment 1 /tmp/
complete() uses openat() and getdents64 syscalls hoping it's faster than
using stdlib.
5 years ago
Manos Pitsidianakis
6d9f584de3
Update nix to 0.16.1
5 years ago
Manos Pitsidianakis
a1c449e585
ui/themes: add theming to ConversationsListing, sidebar
5 years ago
Manos Pitsidianakis
a9842cacee
ui: add theming support
...
Configuration flag "terminal.themes" has two default theme entries,
"dark" and "light".
This commit alters only CompactListing for theme support.
5 years ago
Manos Pitsidianakis
63ff25b36a
ui/listings: add folder_hash field
...
No reason not to have it stored and discover it whenever it's needed.
5 years ago
Manos Pitsidianakis
e07b5faf6e
melib/threads: already-exists check in threads insert
5 years ago
Manos Pitsidianakis
350fafb515
melib/thread: add attachments field to Thread
5 years ago
Manos Pitsidianakis
5e68d600b9
melib/threads: Split ThreadGroup::Group to Thread
...
Create Thread struct.
5 years ago
Manos Pitsidianakis
d9269335a1
melib/threads: rename thread hashes
...
- Rename ThreadHash to ThreadNodeHash
- Rename ThreadGroupHash to ThreadHash
5 years ago
Manos Pitsidianakis
47a69f8eb9
melib: add ThreadGroup
...
Instead of using Union/Find to gather mail that belongs in the same
e-mail thread together, add a new entity ThreadGroup that ThreadNodes
point to. ThreadGroup represents an actual Thread: A thread root
ThreadGroup::Group or a reply ThreadGroup::Node.
To make semantics more accurate:
- ThreadNode hash should be renamed to ThreadNodeHash
- ThreadGroupHash should be renamed to ThreadHash
- ThreadGroup::Group should be a struct named Thread instead
- move ThreadGroup::Node logic to ThreadNode akin to Union/Find
- rename ThreaddGroup::Group to Thread
5 years ago
Manos Pitsidianakis
20f86f2741
ui/listing: add mailbox reload rate limit
5 years ago
Manos Pitsidianakis
0ac10aa4d0
Some listing refactoring
5 years ago
Manos Pitsidianakis
f58ed387dd
ui: add ratelimiting in UI notifications and drawing
5 years ago
Manos Pitsidianakis
1eb49efb22
melib/threads: use all References in thread building
...
WIP
5 years ago
Manos Pitsidianakis
56e3ea1548
melib/imap: refactor early error exit
5 years ago
Manos Pitsidianakis
7f8c638361
melib/imap: add mailbox creation ability
5 years ago
Manos Pitsidianakis
853fe14128
melib: fix two minor email parsing bugs
...
- windows-1250 encoding not being recognized
- spaces in Message-ID header messing up parsing '<' + msg-id + '>'
structure
5 years ago
Manos Pitsidianakis
6835968d9a
melib/datetime: convert date to utc before converting to unix epoch
5 years ago
Manos Pitsidianakis
86d8419ce7
ui: add manual_refresh, refresh_command settings
...
manual_refresh Ar boolean
(optional) if true, do not monitor account for changes (shortcut listing.refresh)
refresh_command Ar String
(optional) command to execute when manually refreshing (shortcut listing.refresh)
5 years ago
Manos Pitsidianakis
5e912db461
Send timer ID as si_value to SIGALRM handler
...
Associate each alarm signal with the timer of its origin.
5 years ago
Manos Pitsidianakis
a365a846b8
Replace StackVec with smallvec::SmallVec
...
SmallVec has a less buggy and better implementation.
5 years ago
Manos Pitsidianakis
b6403f486b
ui: Remove RefreshMailbox event
...
Leftover from older versions, it wasn't used anywhere
5 years ago
Manos Pitsidianakis
ca7d72e732
melib: Replace String with Cow<'static, str>
5 years ago
Manos Pitsidianakis
9fcc868acd
remove chrono
5 years ago
Manos Pitsidianakis
c0ac643f05
melib: add datetime module
...
Datetime module adds POSIX time functions interface
5 years ago
Manos Pitsidianakis
f6de511abd
plugin-backend: add BackendOp for PluginBackend
5 years ago
Manos Pitsidianakis
beeea9a0c1
ui: implement PosixTimer
...
Add interface for posix timers timer_create(2) time(7)
5 years ago
Manos Pitsidianakis
6671fe926e
melib: don't treat missing end boundary as error
...
Don't treat missing end boundary as error in multipart attachments.
python3's nntplib seems to return MIME attachments with this property
5 years ago
Manos Pitsidianakis
8694278369
ui: add auto_choose_multipart_alternative
...
Choose text/html by default if text/plain is empty in
multipart/alternative attachments
This happens in some newsletters I've come upon
5 years ago
Manos Pitsidianakis
3d84f3b9ad
notmuch: remove needless clones
5 years ago