Manos Pitsidianakis
99da9a35b6
Add embed pty support
...
Emulate a terminal within meli. In the next commit it will be used to
embed an editor in the composing tab.
This is a non-complete xterm emulation that has some bugs.
2019-11-05 08:37:27 +02:00
Manos Pitsidianakis
e5b6faf6bd
Add account online status
...
Add a boolean field to accounts that states if the account can be
accessed. Local backends (Maildir/mbox) return true every time, but
remote backends (IMAP) may not. Accounts start as offline and then get
initialised when their status goes to online. Right now if an IMAP
account startup but later get offline, there are crashes. With this
change the account can be switched back to offline when that happens.
2019-10-24 20:30:17 +03:00
Manos Pitsidianakis
205ebe2f1c
ui: add window title config option
...
Use xterm window title escape sequences to set window title when
launched and restoring the previous one when exiting. If option is
blank, no title setting occurs.
2019-10-15 23:47:37 +03:00
Manos Pitsidianakis
febea423d9
ui: Add RawBuffer component for raw ansi content
2019-10-06 11:32:47 +03:00
Manos Pitsidianakis
6f816d29c5
conf: add ascii_drawing option
...
If set to true, box drawing is done with ascii characters.
2019-10-06 11:32:35 +03:00
Manos Pitsidianakis
19ec6e54fc
Dont show notification for seen or draft Envelopes
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
91ae539de1
Small fixes
2019-09-26 13:11:49 +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
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
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
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
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
c2c5f2db69
melib: add Failure to RefreshEventKind
2019-09-15 13:21:13 +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
1845b046fa
ui: add attribute support
...
bold/italic etc
2019-08-18 15:47:09 +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
22f11445e2
Print error and exit if Maildir path config is wrong
2019-08-03 23:55:32 +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
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
24831b3c13
Fix warnings, lints, and 2018 errors
2019-06-18 21:14:14 +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
fb406667ab
add debug! macro to replace eprintlns
2019-06-10 19:40:46 +03:00
Manos Pitsidianakis
87adc6dd19
melib/ui: refer to Folders by FolderHash
2019-06-10 19:40:44 +03:00
Manos Pitsidianakis
04eb8d926f
ui: remove debug_log feature, add log positions
2019-06-10 19:40:44 +03:00
Manos Pitsidianakis
9bc76e3bcb
ui: unwrap UIEventType
2019-06-10 19:40:44 +03:00
Manos Pitsidianakis
106744c7ca
ui: remove Entity
2019-06-10 19:40:44 +03:00
Manos Pitsidianakis
ee4462881e
run cargo fmt
2019-06-10 19:40:42 +03:00
Manos Pitsidianakis
11b2abd1d1
ui: fix seen property of threads on open, add env rename events
2019-06-10 19:40:41 +03:00
Manos Pitsidianakis
551db51b00
ui: avoid full renders when worker threads return StartupChecks
...
Now listings only re-render when their folder gets a StartupCheck event,
account menu always re-renders to update new mail counts
closes #76
2019-06-10 19:40:41 +03:00
Manos Pitsidianakis
4629e6a22f
meli: add debug_logs feature
...
Conditional print of debug logs in stderr. Previously they were always
printed
2019-06-10 19:40:40 +03:00
Manos Pitsidianakis
bf038428c2
Run rustfmt
2019-06-10 19:40:39 +03:00
Manos Pitsidianakis
e285d1006b
Open Contacts list from accounts tab
2019-06-10 19:40:38 +03:00
Manos Pitsidianakis
4ee5447cf9
Add FormWidget/ButtonWidget and use them in Contacts
2019-06-10 19:40:37 +03:00
Manos Pitsidianakis
5a28320004
WIP
2019-06-10 19:40:36 +03:00
Manos Pitsidianakis
9b58908f6f
melib: add per-folder hash indexes in maildir backend
2019-06-10 19:40:36 +03:00
Manos Pitsidianakis
c619d46861
ui: don't block while waiting for Listing status
2019-06-10 19:40:35 +03:00
Manos Pitsidianakis
47481e72da
melib: Prune empty containers while threading
2019-06-10 19:40:34 +03:00
Manos Pitsidianakis
1e04e6a4ea
ui: Add bracketed paste mode
...
closes #42
2019-06-10 19:40:34 +03:00
Manos Pitsidianakis
4f715af248
melib: cache threads
...
closes #28
2019-06-10 19:40:33 +03:00
Manos Pitsidianakis
bcef22b3f3
ui: add Listing component with 3 modes: compact plain and threaded
2019-06-10 19:40:33 +03:00
Manos Pitsidianakis
6003bdd28c
WIP
2019-06-10 19:40:33 +03:00
Manos Pitsidianakis
3e9d137310
melib: rework mail events
...
closes #39
2019-06-10 19:40:33 +03:00
Manos Pitsidianakis
8d3a2d8236
ui: refactor compose actions
2019-06-10 19:40:32 +03:00
Manos Pitsidianakis
b94687cdb0
ui: add reply-context in compose
...
tracking-issue: #24
2019-06-10 19:40:32 +03:00