Commit Graph

482 Commits

Author SHA1 Message Date
Manos Pitsidianakis
37a4b553bc
ui: ask user if they want to reply or reply to all in mailing lists 2019-10-03 12:22:01 +03:00
Manos Pitsidianakis
cd761b3166
ui: revamp option dialog
Selector component shows choices/options to the user. Ok and Cancel
buttons were added, along with a window border and window title.
2019-10-03 01:03:20 +03:00
Manos Pitsidianakis
51bb50abf3
Add support for aarch64 target 2019-09-29 15:44:15 +03:00
Manos Pitsidianakis
2b5472adc3
Add set_seen shortcut in CompactListing 2019-09-29 01:55:39 +03:00
Manos Pitsidianakis
b7edec0274
Bump version to 0.3.2 2019-09-28 12:25:44 +03:00
Manos Pitsidianakis
e35a93336a
Add GPG signing and sig verifying 2019-09-28 12:19:22 +03:00
Manos Pitsidianakis
250129665b
Pass attachment names through decoding
Attachment names in Content-Type parameters can be encoded (eg
=?UTF-8...), so try decoding with phrase() first
2019-09-27 22:21:35 +03:00
Manos Pitsidianakis
19ec6e54fc
Dont show notification for seen or draft Envelopes 2019-09-27 13:40:02 +03:00
Manos Pitsidianakis
31543bf2f9
ui: update CompactListing based on ConversationsListing 2019-09-27 13:40:02 +03:00
Manos Pitsidianakis
b3e1d88898
compose: rename Overview to ThreadView 2019-09-27 13:40:02 +03:00
Manos Pitsidianakis
d8ada69897
compose: don't lose draft if Draft folder isn't available
Try saving in INBOX or another folder instead. On complete failure, save
in /tmp/
2019-09-27 13:40:02 +03:00
Manos Pitsidianakis
68c40a2920
melib: return Result with error when an IO operation fails
Don't unwrap anything because this might be temporary, for example a
short IMAP disconnection.
2019-09-27 13:40:02 +03:00
Manos Pitsidianakis
d44a68ec69
ui: don't quit if editing a draft
Ask user to save draft or discard it.
2019-09-27 13:40:02 +03:00
Manos Pitsidianakis
713c4f73b9
conf: add editor_cmd setting
Set the editor to launch in configuration. If it's missing, check for
$EDITOR
2019-09-27 13:39:55 +03:00
Manos Pitsidianakis
0ece51612f
update bincode to 1.2.0 2019-09-26 18:25:30 +03:00
Manos Pitsidianakis
fa121820f7
Bump version to 0.3.1 2019-09-26 14:11:24 +03:00
Manos Pitsidianakis
ef338f353d
ui: add PGP settings in configuration 2019-09-26 14:09:01 +03:00
Manos Pitsidianakis
6d40a57a2e
ui: scroll in shortcuts panel 2019-09-26 13:11:53 +03:00
Manos Pitsidianakis
91ae539de1
Small fixes 2019-09-26 13:11:49 +03:00
Manos Pitsidianakis
f27b815aa7
Add verification of GPG signed messages 2019-09-26 13:11:08 +03:00
Manos Pitsidianakis
9305e543cf
melib: add a body field to Attachment
Attachment needs to know the range of bytes where the body part of the
attachment is located. The Attachment.raw field contains the entire
attachment, headers and body. The new Attachment.body fields contains a
`StrBuilder` which contains the offset and length of the body part inside
`raw`.
2019-09-26 13:10:06 +03:00
Manos Pitsidianakis
5a53020f3d
Add debug-tracing feature to all crates
The feature needs to be defined in all manifests in order to be enabled
in all crates.
2019-09-23 09:36:46 +03:00
Manos Pitsidianakis
26e4d50b40
Try to save sent messages elsewhere if Sent folder fails
If Sent folder wasn't correctly configured, the sent message would be
lost. With this change it tries these folders in this order:

 1. Sent
 2. Inbox
 3. Any other normal folder

The check is done by looking at the special usage metadata on each
folder. If everything fails, the message is saved in a file in the
tmpfs.
2019-09-23 09:30:23 +03:00
Manos Pitsidianakis
415fb2455b
ui: display status bar messages for 5 seconds 2019-09-22 13:35:50 +03:00
Manos Pitsidianakis
b07db29a19
ui: add timer tick every 300ms
Check for pending events in the main process by receiving a timer event
every 300ms. This way loaded folders or received emails will get
recognized even if the appropriate informing signals got lost.
2019-09-22 11:00:05 +03:00
Manos Pitsidianakis
7fe6532c73
ui: add log on child waiting error 2019-09-20 10:26:08 +03:00
Manos Pitsidianakis
fb7b038ee1
ui: add set_seen shortcut in {Compact,Conversation}
Shortcut sets an entire thread as seen.
2019-09-20 10:26:08 +03:00
Manos Pitsidianakis
fada0ffce1
ui: use ThreadNode instead of Envelope to print entries in
ConversationsListing
2019-09-20 09:17:04 +03:00
Manos Pitsidianakis
146acb70dd
ui: check account conf for index style in listing.rs 2019-09-20 09:15:13 +03:00
Manos Pitsidianakis
828718141a
ui: return valid values in ListingTrait::coordinates
By convention the valid values at any time of a cursor_pos in mail
listings is in self.new_cursor_pos, which the listing compares with
self.cursor_pos to detect position changes. Returning
self.cursor_pos values with coordinates() is invalid.
2019-09-20 09:12:53 +03:00
Manos Pitsidianakis
fe28e849b3
ui: send update event on folders even on no notification
Send an update event even if user's configuration has turned off
notification for this special event. This happens if the entire folder
is set to `ignore`, or when a particular thread is snoozed. In every
case we would want the UI to update.
2019-09-20 09:10:33 +03:00
Manos Pitsidianakis
79212621af
Bump version to 0.3.0 2019-09-16 16:44:04 +03:00
Manos Pitsidianakis
8795c2da4f
ui: small configuration fixes
- unused options were removed,
- renamed `index` conf option to `index_style`
2019-09-16 16:41:22 +03:00
Manos Pitsidianakis
86f21fbe52
ui: xbiff(1) support 2019-09-15 23:38:32 +03:00
Manos Pitsidianakis
bd8424c1f8
ui: add notification play_sound, sound_file conf settings 2019-09-15 23:38:32 +03:00
Manos Pitsidianakis
c695d7a8e2
ui: add Notification kinds 2019-09-15 23:38:32 +03:00
Manos Pitsidianakis
5cf620f43c
ui: add two log entries 2019-09-15 23:38:32 +03:00
Manos Pitsidianakis
ad01101b9b
ui: fix ThreadView drawing artifacts 2019-09-15 23:38:31 +03:00
Manos Pitsidianakis
af38b7e7cb
ui: add envelope views in new tab action 2019-09-15 23:38:31 +03:00
Manos Pitsidianakis
5ddd68ad9f
ui: add statusbar change with tab switch and updates 2019-09-15 23:38:31 +03:00
Manos Pitsidianakis
2eb41f3d3d
ui: dedup history suggestions in command execute bar 2019-09-15 23:38:31 +03:00
Manos Pitsidianakis
3ae2d03663
ui: add triptych thread mailing view
This mail list view shows one entry per thread just like CompactListing,
but the entry is slightly bigger just like in some GUIs, and when the
thread is opened the view becomes 3 columned:

+--+-------+----+
|~~|-------|~~~ |
|~~|-------|~~  |
|  |-------|    |
|  |-------|~~~ |
+--+-------+----+

This is meant to be used with bigger terminal sizes
2019-09-15 23:38:31 +03:00
Manos Pitsidianakis
e3cd2d4c67
ui: save execute cmd history to XDG_DATA_DIR 2019-09-15 13:21:15 +03:00
Manos Pitsidianakis
f61a43108c
ui: show worker and static threads in account tab 2019-09-15 13:21:15 +03:00
Manos Pitsidianakis
f394fde143
add priority and info to jobs and workers
jobs now have a priority given to them, in order to parse some mailboxes
(eg INBOX, Sent) first.

worker threads now can set their names and status
2019-09-15 13:21:14 +03:00
Manos Pitsidianakis
fd38dbed48
override configuration with per-folder configs 2019-09-15 13:21:14 +03:00
Manos Pitsidianakis
81a55abc7c
Update crossbeam to 0.7.2 and remove chan 2019-09-15 13:21:14 +03:00
Manos Pitsidianakis
ecb3fd7f3d
Add dyn keyword to Trait objects
And fix some unused var warnings as well
2019-09-15 13:21:14 +03:00
Manos Pitsidianakis
335a1011de
imap: add watch 2019-09-15 13:21:14 +03:00
Manos Pitsidianakis
c3e3c98fb0
melib: filter subscribed folders in MailBackend::new() 2019-09-15 13:21:14 +03:00
Manos Pitsidianakis
c9f7b41e47
imap: continuous payload delivery in async workers 2019-09-15 13:21:13 +03:00
Manos Pitsidianakis
c2c5f2db69
melib: add Failure to RefreshEventKind 2019-09-15 13:21:13 +03:00
Manos Pitsidianakis
0812242f60
Add IMAP backend
TODOs: new message events (untagged responses)
2019-09-15 13:21:13 +03:00
Manos Pitsidianakis
3f7d962abd
melib: remove ThreadTree, use ThreadNodes for root_set
Remove ThreadTree index in Threads {} struct. Keep a Vec<ThreadHash> for
root_set state of mailbox instead of rebuilding ThreadTrees every
time.
2019-09-08 11:49:23 +03:00
Manos Pitsidianakis
dc2184a9de
melib: add Folder operations in mail backends
Add following operations in mail backend:
- Create,
- Delete,
- Subscribe,
- Unsubscribe,
- Rename
2019-09-08 11:15:57 +03:00
Manos Pitsidianakis
8b0dff728d
ui: don't show new mail notifications in ignored folders 2019-09-08 11:13:51 +03:00
Manos Pitsidianakis
a866e060a1
ui: open MessageRfc822 attachments in new tab 2019-09-08 11:13:51 +03:00
Manos Pitsidianakis
f72fb069fa
ui: add paste input in StatusBar 2019-08-30 18:41:25 +03:00
Manos Pitsidianakis
1328f994f3
Make config objects Serializable with serde 2019-08-25 21:44:19 +03:00
Manos Pitsidianakis
02b0f69e14
Replace config crate with toml
config crate was not really needed
2019-08-25 14:14:54 +03:00
Manos Pitsidianakis
b474b44b10
Add special use semantics for mailboxes 2019-08-25 10:48:01 +03:00
Manos Pitsidianakis
76909a1959
add folder subscriptions 2019-08-25 10:48:01 +03:00
Manos Pitsidianakis
b39b285711
ui: fix flag colors in re-highlight in CompactListing 2019-08-18 15:47:10 +03:00
Manos Pitsidianakis
734bc109b0
ui: refactor menu 2019-08-18 15:47:10 +03:00
Manos Pitsidianakis
1845b046fa
ui: add attribute support
bold/italic etc
2019-08-18 15:47:09 +03:00
Manos Pitsidianakis
2610e9c055
ui: don't check terminal size in ThreadView 2019-08-17 12:56:11 +03:00
Manos Pitsidianakis
c0dcd7254a
ui: bound check in draw_horz in ThreadView 2019-08-17 12:26:32 +03:00
Manos Pitsidianakis
e5f8714162
ui: make wide chars occupy more than one cell
If setting a wide char to a Cell, mark the next one as empty in order to
skip printing it.

This prevents the following misalignment:
  |   subject
  |📎  Fwd: RE:
  |   second subject
2019-08-17 12:22:54 +03:00
Manos Pitsidianakis
af573b57f1
ui: add nonavailable folder checks 2019-08-15 11:30:25 +03:00
Manos Pitsidianakis
16a5d9b28a
ui, ThreadView: update seen flag in ThreadEntries
Update seen flag when receiving EnvelopeRename events.
2019-08-04 00:30:40 +03:00
Manos Pitsidianakis
84950ad740
ui, CompactListing: Don't accept listing actions if unfocused 2019-08-04 00:28:20 +03:00
Manos Pitsidianakis
fed13816dd
Bump version to all workspace crates 2019-08-03 23:59:49 +03:00
Manos Pitsidianakis
22f11445e2
Print error and exit if Maildir path config is wrong 2019-08-03 23:55:32 +03:00
Manos Pitsidianakis
bc7da4610e
Send MailboxUpdate events when threads are updated
Depending on the insertion order of folders which is non-deterministic
because it relies on the kernel's scheduling of parsing threads, the
listing the user sees might not be up-to-date because later thread
updates are never broadcast. This results in inconsistencies between
threads and mail listings when a thread's root envelope was part of a
not broadcast update leading to `key not found` panics in a listing's
hashmaps.
2019-08-02 15:17:23 +03:00
Manos Pitsidianakis
714f8255fc
ui: fix pageup/dn behaviour 2019-08-02 01:00:54 +03:00
Matthias Beyer
678921d2b7
Remove unused imports
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-08-02 01:00:54 +03:00
Matthias Beyer
fecb66e877
Print to stderr when printing error
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-08-02 01:00:53 +03:00
Matthias Beyer
02bfda5eed
Prefix unused variables with underscore
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-08-02 01:00:53 +03:00
Matthias Beyer
092f3694d2
Print error message to stderr
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-08-02 01:00:53 +03:00
Manos Pitsidianakis
d3c658cf00
ui: add attachments in composer tab 2019-08-02 01:00:53 +03:00
Manos Pitsidianakis
131b4abfbe
ui: use $EDITOR 2019-08-02 01:00:53 +03:00
Manos Pitsidianakis
d73069bc80
melib: add Other and OctetStream content types 2019-08-02 00:22:20 +03:00
Manos Pitsidianakis
c17bb24f0d
melib: refactor attachments and attachment_types interfaces 2019-07-30 21:33:15 +03:00
Manos Pitsidianakis
4f5bcfd1d4
fix compilation error on bsds 2019-07-30 17:56:50 +03:00
Manos Pitsidianakis
38da6c83b9
melib: add read-only support for mbox 2019-07-28 20:20:14 +03:00
Manos Pitsidianakis
8a0e702127
melib,ui: add MailboxEntry enum
Use an enum to describe a mailbox's state in ui::conf::Account instead
of Result.
2019-07-28 20:15:41 +03:00
Manos Pitsidianakis
d84ceca88e
create text_processing crate 2019-07-27 01:41:04 +03:00
Manos Pitsidianakis
ff37e97cba
ui: add From header in list unsubscribe e-mails 2019-07-22 15:14:39 +03:00
Manos Pitsidianakis
8543a06f59
ui: rename ignore to subscribe to match IMAP term 2019-07-18 20:26:49 +03:00
Manos Pitsidianakis
6e63e8a6f6
ui: rename read/unread uses to seen/unseen 2019-07-18 20:23:02 +03:00
Manos Pitsidianakis
a62f1d6c01
add read-only option in accounts 2019-07-18 20:16:51 +03:00
Matthias Beyer
1e729010c1
replace deprecated trim_right() with trim_end()
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Message-Id: <20190714115231.7002-1-mail@beyermatthias.de>
2019-07-15 10:49:19 +03:00
Manos Pitsidianakis
f13da6a26a
ui: Add pipe action for Pager 2019-07-15 00:12:01 +03:00
Manos Pitsidianakis
0925f2a439
ui: restore Page{Up,Dn} to Pager
When issuing PageUp and PageDn actions to an e-mail pager in
CompactListing, the input action was handled by listing and not the
pager which led to the keys get seemingly ignored.
2019-07-13 22:52:42 +03:00
Manos Pitsidianakis
46a0574713
ui: permanently mark selected rows in self.data_columns
`self.draw_list` detects `bg_color` by checking the first cell of the first column, so set it to make it permanent
2019-07-11 12:29:17 +03:00
Manos Pitsidianakis
93f3d6e230
remove std::dbg uses 2019-07-09 13:05:11 +03:00
Manos Pitsidianakis
70e5949590
ui: add autocomplete for commands in execute bar 2019-07-06 20:44:51 +03:00
Manos Pitsidianakis
a028aa9a44
ui: change contact list header colors 2019-07-06 20:36:59 +03:00
Manos Pitsidianakis
74be47ec5a
ui: fix some lints 2019-07-06 12:47:27 +03:00
Manos Pitsidianakis
a655a85b5f
ui: fix replies not being synced and inserted properly on RefreshEvents 2019-07-06 12:46:45 +03:00
Manos Pitsidianakis
b5ba9c3a8c
ui: force redraw CompactListing after EnvelopeRename event 2019-07-06 00:19:37 +03:00
Manos Pitsidianakis
ff2c030c0f
ui: process refresh events immediately 2019-07-06 00:18:55 +03:00
Manos Pitsidianakis
34054d46ea
ui: print and set environment variables 2019-06-26 18:56:29 +03:00
Manos Pitsidianakis
8fefdf80ad
ui: don't send StartupCheck or MailboxUpdate on Envelope change events 2019-06-25 10:41:55 +03:00
Manos Pitsidianakis
22dbc7dd9f
ui: don't print empty history or duplicates 2019-06-25 10:37:19 +03:00
Manos Pitsidianakis
f4f3b87f84
ui: add selections to CompactListing
Select multiple entries by pressing 'v'. Set read/unread and delete
actions are then performed on the selected entries.
2019-06-25 10:37:18 +03:00
Manos Pitsidianakis
8c97336307
ui: add set as read/unread, delete actions
Implemented only in compact listing for now.
2019-06-23 11:42:48 +03:00
Manos Pitsidianakis
e0e520b2c4
ui: add filter method in ListingTrait
Implemented in CompactListing only for now. Filter results are stored in
the filter* fields of the struct.
2019-06-22 16:13:40 +03:00
Manos Pitsidianakis
bb292486f4
ui: expand Listing trait with draw_list and highlight_line
In the course of making the Listing trait a generic way for any kind of
listing (eg. NNTP, RSS, et all)
2019-06-21 12:02:11 +03:00
Manos Pitsidianakis
04fc510ea8
meli: insert new standalone nodes in insert_reply 2019-06-19 19:40:15 +03:00
Manos Pitsidianakis
06862c1484
ui: prevent some unnecessary redraws 2019-06-19 19:39:23 +03:00
Manos Pitsidianakis
9026fb866e
ui: Add ability to call mailing list actions from Envelope view 2019-06-18 22:16:32 +03:00
Manos Pitsidianakis
07700ca00f
ui: Add possible mailing list actions from List-* headers 2019-06-18 22:01:02 +03:00
Manos Pitsidianakis
24831b3c13
Fix warnings, lints, and 2018 errors 2019-06-18 21:14:14 +03:00
Manos Pitsidianakis
8ab8e1309b
add git mirror url for mime_apps and config-rs dependencies 2019-06-10 22:01:55 +03:00
Manos Pitsidianakis
9de93b98d5
Update sample-config, and generate it if missing on startup 2019-06-10 19:40:51 +03:00
Manos Pitsidianakis
f1c72588c3
Add authors to Cargo.toml of each package 2019-06-10 19:40:51 +03:00
Manos Pitsidianakis
e0df6ce22d
ui: draw to terminal with horizontal sweeping
sweep each line in the dirty areas and avoid redraws because of area
overlap
2019-06-10 19:40:51 +03:00
Manos Pitsidianakis
cb83f9fe05
ui: add fluid columns in CompactListing 2019-06-10 19:40:51 +03:00
Manos Pitsidianakis
d772d10d66
merge FirstName/LastName fields in Contacts
First names and Last names are an anglocentric concept and do not apply
cleanly to the rest of the world's cultures.
2019-06-10 19:40:51 +03:00
Manos Pitsidianakis
b6c0236d24
ui: make EnvelopeRename event not folder specific
And pass EnvelopeRename events to subviews
2019-06-10 19:40:51 +03:00
Manos Pitsidianakis
85d1aaaa69
ui: add PageMovements and colors to ThreadView 2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
6088705745
ui: add PageMovements in ThreadListing 2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
831ec97d64
ui: add columns in PlainListing 2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
d3ce424361
ui: add update and expand_headers in MailView 2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
3318123870
ui: add attachment emoji in compact listing 2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
d0039740b0
melib: add has_attachments property to Envelope
Check subattachments in has_attachments check.

Instead of getting a flattened attachment view of multipart/mixed (eg
[multipart/mixed, text/plain, text/plain]) get only the subattachments
(eg [text/plain, text/plain]). Don't count text-only multipart/mixed as attachments
2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
c6674a294d
melib: unwrap mailbox module 2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
6f7b3f20de
move StackVec to melib
closes #120
2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
42654410e3
ui: move Collection to Account
Each account had one mailbox per folder, which had one associated
collection. Now each Account has one Collection for all folders and each
Mailbox object holds only the hashes of each message.

Collection also gets Threads for each folder in order to mix messages
(ie from/to Sent folder).

Insert Sent emails in chronological order

if inserted unsorted, mails a, b with a happened-before b, might never
  get added.

Fix multiple insertions in ThreadTree upon insert_reply

insert_reply was creating multiple copies in threading
2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
d8651db93a
delete mailbox_view module 2019-06-10 19:40:50 +03:00
Manos Pitsidianakis
f51ea93351
move grapheme stuff to melib 2019-06-10 19:40:49 +03:00
Manos Pitsidianakis
51c913d450
ui: add event queue for folders in Account 2019-06-10 19:40:49 +03:00
Manos Pitsidianakis
7de075df49
ui: add Home/End movements 2019-06-10 19:40:49 +03:00
Manos Pitsidianakis
06b96449c1
ui: add history and autocomplete in execute bar
closes #116 and #117
2019-06-10 19:40:49 +03:00
Manos Pitsidianakis
3c575c823d
ui: toggle thread snooze flag
snooze field translated to whether the user wants to be notified of new
email in the thread or not. This is toggled with an (temp) EX cmd: `toggle_thread_snooze`

closes #112
2019-06-10 19:40:49 +03:00
Manos Pitsidianakis
22d868f499
save Account to disk
closes #114
2019-06-10 19:40:49 +03:00
Manos Pitsidianakis
4582bcd5ae
fix warnings and lints 2019-06-10 19:40:49 +03:00
Manos Pitsidianakis
de81fd1a68
ui: don't show notifications if folder is ignore
Also ignore Sent folder by default
2019-06-10 19:40:49 +03:00
Manos Pitsidianakis
3bc22abdff
ui: draw thread arrows correctly in other sortings
thread arrows in ThreadListing weren't drawn correctly when subsorting
was changed (eg date -> subject)

has_sibling was delegated to ThreadsIterator.
2019-06-10 19:40:49 +03:00
Manos Pitsidianakis
2dec7fa6b6
ui: set plain/threaded/compact keeps mailbox position
closes #109
2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
f972f69bad
ui: send RefreshMailbox events in every refresh_mailbox call
closes #108
2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
a0b1a079b8
ui: add "application/pgp-signature" content type 2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
4c88422d71
ui: fix scrollbar calculations 2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
6e7ab0421b
ui: fix pager scrolling getting stuck 2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
5d6c4ee2c8
ui: remove useless padding from ThreadView items 2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
bf35894a18
ui: distinct shortcut maps with description
put shortcuts in different maps according to their source component
instead of bagging them all in the same one, and then print each
shortcut section on its own in the shortcut window
2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
5a564dee63
melib: print folder tree in Listing menu properly
Depths weren't calculated correctly, and index (eg 0 Inbox) wasn't
colored correctly if the folder's name started with a number (eg 11 2019)
2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
d231865f88
ui: add scrollbar widget in view/thread.rs 2019-06-10 19:40:48 +03:00
Manos Pitsidianakis
8b23ddb920
ui: correct mailview visibility toggle
Grid wasn't updated when user toggles mailview's visibility in
view/thread.rs.
2019-06-10 19:40:48 +03:00