Pablo Ovelleiro Corral [Sat, 29 Dec 2018 11:47:30 +0000 (12:47 +0100)]
catch esc-keypresses in the command prompt
Richard Russon [Mon, 21 Oct 2019 10:46:16 +0000 (11:46 +0100)]
clang-format
Richard Russon [Wed, 2 Oct 2019 22:58:39 +0000 (23:58 +0100)]
fix read-only mbox
If an mbox Mailbox doesn't have write privs, try opening it read-only.
Before the architectural changes, there could be multiple open Mailbox
objects representing a single folder.
By default a folder would be given a read-only Mailbox. When the folder
needed to be written to, another Mailbox would be opened read-write.
This lead to synchronisation problems between the two Mailboxes.
Co-authored-by: Pietro Cerutti <gahr@gahr.ch>
Richard Russon [Tue, 15 Oct 2019 00:42:15 +0000 (01:42 +0100)]
merge: update translations
* po/zh_CN: 100%
* Update PT BR translation
Richard Russon [Tue, 15 Oct 2019 00:41:33 +0000 (01:41 +0100)]
sync translations
Thiago Costa de Paiva [Sun, 22 Sep 2019 02:24:08 +0000 (22:24 -0400)]
Update PT BR translation
Mingcong Bai [Mon, 9 Sep 2019 14:46:56 +0000 (09:46 -0500)]
po/zh_CN: 100%
- Fix some translation errors in the about message.
- Fix translation for "menu".
- Complete translation.
Gero Treuner [Sun, 1 Sep 2019 14:58:46 +0000 (16:58 +0200)]
add fallback for inotify_init1
Co-authored-by: Richard Russon <rich@flatcap.org>
Richard Russon [Fri, 11 Oct 2019 23:55:32 +0000 (00:55 +0100)]
pop: move refno
`refno` isn't used outside of the POP backend.
Move `Email->refno` to `PopEmailData->refno`.
The value was saved in the Header Cache, but the restored value was never used (see pop_fetch_headers()).
Richard Russon [Sat, 12 Oct 2019 00:04:32 +0000 (01:04 +0100)]
pop: refactor Email->edata
Use a wrapper function around Email->edata, like the other backends.
Richard Russon [Sat, 12 Oct 2019 18:15:57 +0000 (19:15 +0100)]
remove used member
Body->is_signed_data was introduced 15 years ago and never used.
Beck, Andre [Fri, 11 Oct 2019 11:17:58 +0000 (19:17 +0800)]
Clear connection input buffer when closing
An RFC-violating reply from the Dovecot SMTP submission service
uncovered a bug in Mutt. Mutt was not clearing out the input buffer
when closing the connection.
Dovecot was including an extra 250 response after data submission:
DATA
354 OK
Subject: Test 3
Test 3
.
250 2.0.0 223 byte chunk, total 223
250 2.0.0 OK id=1iIqT1-0004wS-Ac
quit
221 2.0.0 Bye
The multiline 250 reply requires a hyphen in the first response. Mutt
closes the connection after the quit, but ends up leaving the
unexpected second line in the input buffer. This causes an error in
the next usage of the connection.
Clean out bufpos and available when closing the socket.
Co-authored-by: Richard Russon <rich@flatcap.org>
Richard Russon [Fri, 11 Oct 2019 12:51:13 +0000 (13:51 +0100)]
merge: add $toggle-quoted-show-levels feature
* Add ability to limit levels hidden with toggle-quoted command
* Give (*line_info)[n] a name
Pietro Cerutti [Fri, 11 Oct 2019 12:07:08 +0000 (12:07 +0000)]
Give (*line_info)[n] a name
Darren Kenny [Mon, 2 Sep 2019 11:34:26 +0000 (12:34 +0100)]
Add ability to limit levels hidden with toggle-quoted command
Closes: #1802
By setting the configuration variable `toggle_quoted_show_levels`, when you
execute the `toggle-quoted` command, the specified number of levels
will continue to be visible.
Richard Russon [Thu, 10 Oct 2019 13:29:21 +0000 (14:29 +0100)]
fix: hcache namer function
Fix error introduced when applying upstream Buffer refactoring.
Richard Russon [Tue, 8 Oct 2019 22:57:17 +0000 (23:57 +0100)]
merge: refactor colour handling / notifications
* rename and reorder color constants
* tidy whitespace
* rename vars
* convert retval to CommandResult
* tidy code
* rename/move function
* do_uncolor change param to retval
* encapsulate all the colours
* fix max quote depth
* encapsulate defs
* encapsulate quoted
* encapsulate color_list
* move mutt_color_free
* move parse_object
* initialise lists
* move color_line_new
* move mutt_colors_free
* deglobalise Colors
* implement more uncolor commands
* colour notifications
* sort symbols
* docs: color/uncolor
Richard Russon [Fri, 4 Oct 2019 17:59:41 +0000 (18:59 +0100)]
docs: color/uncolor
Richard Russon [Fri, 4 Oct 2019 11:41:11 +0000 (12:41 +0100)]
sort symbols
Richard Russon [Fri, 4 Oct 2019 10:41:00 +0000 (11:41 +0100)]
colour notifications
Richard Russon [Fri, 4 Oct 2019 10:39:40 +0000 (11:39 +0100)]
implement more uncolor commands
Richard Russon [Fri, 4 Oct 2019 01:48:12 +0000 (02:48 +0100)]
deglobalise Colors
Richard Russon [Fri, 4 Oct 2019 01:28:05 +0000 (02:28 +0100)]
move mutt_colors_free
Richard Russon [Fri, 4 Oct 2019 01:26:53 +0000 (02:26 +0100)]
move color_line_new
Richard Russon [Fri, 4 Oct 2019 01:25:59 +0000 (02:25 +0100)]
initialise lists
Richard Russon [Fri, 4 Oct 2019 01:23:36 +0000 (02:23 +0100)]
move parse_object
Richard Russon [Fri, 4 Oct 2019 01:21:59 +0000 (02:21 +0100)]
move mutt_color_free
Richard Russon [Fri, 4 Oct 2019 01:19:18 +0000 (02:19 +0100)]
encapsulate color_list
Richard Russon [Fri, 4 Oct 2019 01:17:34 +0000 (02:17 +0100)]
encapsulate quoted
Richard Russon [Fri, 4 Oct 2019 01:10:17 +0000 (02:10 +0100)]
encapsulate defs
Richard Russon [Fri, 4 Oct 2019 00:50:00 +0000 (01:50 +0100)]
fix max quote depth
Richard Russon [Fri, 4 Oct 2019 00:37:14 +0000 (01:37 +0100)]
encapsulate all the colours
Richard Russon [Thu, 3 Oct 2019 23:09:15 +0000 (00:09 +0100)]
do_uncolor change param to retval
Richard Russon [Thu, 3 Oct 2019 23:00:38 +0000 (00:00 +0100)]
rename/move function
Richard Russon [Thu, 3 Oct 2019 22:10:08 +0000 (23:10 +0100)]
tidy code
Richard Russon [Thu, 3 Oct 2019 22:09:57 +0000 (23:09 +0100)]
convert retval to CommandResult
Richard Russon [Thu, 3 Oct 2019 22:04:18 +0000 (23:04 +0100)]
rename vars
Richard Russon [Thu, 3 Oct 2019 22:01:37 +0000 (23:01 +0100)]
tidy whitespace
Richard Russon [Thu, 3 Oct 2019 18:15:30 +0000 (19:15 +0100)]
rename and reorder color constants
Pietro Cerutti [Mon, 30 Sep 2019 15:59:39 +0000 (15:59 +0000)]
Let reply_to take precedence over C_ReplySelf
Richard Russon [Tue, 8 Oct 2019 22:34:59 +0000 (23:34 +0100)]
merge: upstream refactoring
* Re-enable and cleanup format-flowed space stuffing
* Remove manual note about space-stuffing only once
* Reuse the static space_stuff function for unstuffing
* Convert crypt-gpgme to use struct Buffer for tempfiles
* Convert crypt_extract_keys and signed handler to use buffers
* Convert edit_one_message() to use buffer pool
* Convert run_decode_and_handler() to use buffer pool
* Convert hcache db4 lockfile to buffer
* Convert hcache_open to use buffer pool
* Fix built-in pager checks for help and attachments
* Convert mutt_edit_headers() to use buffer pool
* Convert mutt_help() to use buffer for tempfile
* Convert save-hook and fcc-hook to use buffer pool internally
* Fix mutt_write_mime_body() application/pgp-encrypted handling
* Convert imap_open_new_message() to use buffer pool
* Convert imap fetch_new and fetch_message tempfiles to buffer pool
* Convert imap_cachepath() and callers to use buffers
* Convert parse_path_(un)list to use buffer pool for path
* Convert start_debug() to use buffer pool
Kevin McCarthy [Tue, 8 Oct 2019 07:22:27 +0000 (15:22 +0800)]
Convert start_debug() to use buffer pool
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Tue, 8 Oct 2019 05:07:40 +0000 (13:07 +0800)]
Convert parse_path_(un)list to use buffer pool for path
Don't use the buf parameter to avoid stretching it out, as it's used
for the entire rc parsing, and typically just holds command names.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Tue, 8 Oct 2019 03:24:38 +0000 (11:24 +0800)]
Convert imap_cachepath() and callers to use buffers
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Mon, 7 Oct 2019 02:39:44 +0000 (10:39 +0800)]
Convert imap fetch_new and fetch_message tempfiles to buffer pool
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Mon, 7 Oct 2019 01:55:39 +0000 (09:55 +0800)]
Convert imap_open_new_message() to use buffer pool
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Tue, 10 Sep 2019 01:32:59 +0000 (18:32 -0700)]
Fix mutt_write_mime_body() application/pgp-encrypted handling
It would blindly overwrite any attachment with that type, as if it
were the version label part of a multipart/encrypted message.
However attachments with extenstion .gpg are labeled that type if
$mime_type_query_command is set to "xdg-mime query filetype". This
would cause the attachment to be overwritten too.
Add a check for a missing body->filename, which should only be the
case for the manually constructed part.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sun, 6 Oct 2019 08:32:42 +0000 (16:32 +0800)]
Convert save-hook and fcc-hook to use buffer pool internally
The hook parameters still need to be converted, but I'm working
towards it slowly.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sat, 5 Oct 2019 05:59:57 +0000 (13:59 +0800)]
Convert mutt_help() to use buffer for tempfile
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sat, 5 Oct 2019 05:52:50 +0000 (13:52 +0800)]
Convert mutt_edit_headers() to use buffer pool
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Fri, 4 Oct 2019 07:29:03 +0000 (15:29 +0800)]
Fix built-in pager checks for help and attachments
Mutt uses the built-in pager when $pager is unset too. Fix a few
checks to also handle that case.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sat, 28 Sep 2019 01:12:27 +0000 (18:12 -0700)]
Convert hcache_open to use buffer pool
Change the namer function and mutt_hcache_per_folder to operate on a
buffer parameter.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Fri, 27 Sep 2019 22:46:49 +0000 (15:46 -0700)]
Convert hcache db4 lockfile to buffer
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Fri, 27 Sep 2019 21:42:45 +0000 (14:42 -0700)]
Convert run_decode_and_handler() to use buffer pool
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Fri, 27 Sep 2019 21:28:01 +0000 (14:28 -0700)]
Convert edit_one_message() to use buffer pool
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Thu, 26 Sep 2019 01:44:50 +0000 (18:44 -0700)]
Convert crypt_extract_keys and signed handler to use buffers
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Wed, 25 Sep 2019 22:28:30 +0000 (15:28 -0700)]
Convert crypt-gpgme to use struct Buffer for tempfiles
Use the pool where possible, but when the function calls other
long-running functions (such as mutt_body_handler() or
mutt_do_pager()), allocate the buffer.
smime_gpgme_decrypt_mime() was not freeing the "cur" struct Body generated on
error. Add a call to mutt_free_body(cur) in the error handling.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sun, 1 Sep 2019 20:25:06 +0000 (13:25 -0700)]
Reuse the static space_stuff function for unstuffing
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sat, 31 Aug 2019 21:17:22 +0000 (14:17 -0700)]
Remove manual note about space-stuffing only once
Stuffing is now performed each time.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sat, 31 Aug 2019 20:37:16 +0000 (13:37 -0700)]
Re-enable and cleanup format-flowed space stuffing
Commit
04cb5bde tried to fix re-stuffing a postponed message more than
once, but unfortunately broke the normal case of composing a new
message. So actually, space-stuffing has been turned off the past 7
years.
Move format=flowed parameter setting below the standard message
pre-processing block. It shouldn't be performed for draft-files even
with $resume_draft_files set. Moving out of the block makes that
clearer.
Create mutt_rfc3676_space_(un)stuff() functions, which check the
content type and stuff/unstuff apprpropriately. Note that the
stuff/unstuff does not depend on $text_flowed, which is only in charge
of setting the format=flowed parameter. This parameter can also come
from resumed/resent/draft messages and should still be respected.
Add unstuffing to mutt_prepare_template(). This is called by
postponed, resent, and draft files. This will prevent double-stuffing
in those cases.
Unstuff/restuff around editing the message in the compose menu, to
keep everything transparent to the user. I originally put the
stuffing *after* the compose menu, but previewing the messages in the
compose menu did not work properly in that case. It's cleaner this
way too.
Change the stuff/unstuff functions to preserve the original
hdr->content->filename. The "hack" previously used would interact
poorly with editable body files (mutt -i -E). Fortunately space
stuffing was pretty much disabled except in unusual cases before.
Co-authored-by: Richard Russon <rich@flatcap.org>
Richard Russon [Mon, 7 Oct 2019 12:07:26 +0000 (13:07 +0100)]
fix: broken index_format
A chance alignment made enum symbol MT_COLOR_INDEX_NUMBER equal to 37
(ASCII %). This was causing problems when inserting colour codes into
the index_format string.
Zero King [Sat, 5 Oct 2019 07:00:15 +0000 (07:00 +0000)]
build: fix autosetup warning
Richard Russon [Wed, 2 Oct 2019 14:20:32 +0000 (15:20 +0100)]
add: log warnings
Distinguish between errors and warnings in the log and displayed on screen.
color warning brightyellow default
Richard Russon [Fri, 4 Oct 2019 00:09:28 +0000 (01:09 +0100)]
init.h fix cast
Richard Russon [Thu, 3 Oct 2019 01:30:33 +0000 (02:30 +0100)]
tidy do...while loops
Richard Russon [Wed, 2 Oct 2019 22:58:32 +0000 (23:58 +0100)]
fix crash on exit
Even if mx_mbox_open() fails, the Mailbox might still have an Account.
Richard Russon [Wed, 2 Oct 2019 00:50:36 +0000 (01:50 +0100)]
docs: update list of colours
Update the list of objects that can be coloured and give examples for
each category.
Richard Russon [Tue, 1 Oct 2019 10:48:33 +0000 (11:48 +0100)]
merge: upstream refactoring
* Properly revert on an autocrypt postpone failure
* Fix memory leak when attaching messages
* Convert bcache to use buffer pools
* Convert mutt_complete() to use the buffer pool
* Convert compose check_attachments() to use buffer pool
* Fix mutt_save_message() "enter_fname()" to use buffer version
* Create mutt_buffer_get_field()
* Convert buffer callers of mutt_get_field() to use buffer version
* Convert compose menu fname variable to buffer
* Convert compress setup_paths() to use buffer
* Fix memory leak in compose write-fcc function
* buffer: tidy checks for empty Buffers
Richard Russon [Tue, 1 Oct 2019 10:33:09 +0000 (11:33 +0100)]
buffer: tidy checks for empty Buffers
Kevin McCarthy [Sun, 22 Sep 2019 22:59:27 +0000 (15:59 -0700)]
Fix memory leak in compose write-fcc function
The outer multipart was not being freed after writing.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sun, 22 Sep 2019 22:58:58 +0000 (15:58 -0700)]
Convert compress setup_paths() to use buffer
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sun, 22 Sep 2019 21:38:03 +0000 (14:38 -0700)]
Convert compose menu fname variable to buffer
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sun, 22 Sep 2019 21:16:56 +0000 (14:16 -0700)]
Convert buffer callers of mutt_get_field() to use buffer version
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sun, 22 Sep 2019 21:11:43 +0000 (14:11 -0700)]
Create mutt_buffer_get_field()
This will reduce the buffer->dptr fiddling all over the place into one
spot until mutt_enter_string() can be converted.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sun, 22 Sep 2019 01:34:51 +0000 (18:34 -0700)]
Fix mutt_save_message() "enter_fname()" to use buffer version
Commit
be632f11 converted this function to use the buffer pool, but
accidentally used the non-buffer prompt when there was already a
buffer-converted version.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sun, 22 Sep 2019 02:41:28 +0000 (19:41 -0700)]
Convert compose check_attachments() to use buffer pool
Modify error message so that the filename comes last, to prevent a
long path from hiding the error message or prompt.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Fri, 20 Sep 2019 01:52:24 +0000 (18:52 -0700)]
Convert mutt_complete() to use the buffer pool
Add helper functions mutt_buffer_substrcpy() and
mutt_buffer_concatn_path().
Remove mutt_concatn_path() because mutt_complete() was the only
caller.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Fri, 6 Sep 2019 23:14:08 +0000 (16:14 -0700)]
Convert bcache to use buffer pools
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Mon, 2 Sep 2019 02:10:23 +0000 (19:10 -0700)]
Fix memory leak when attaching messages
Setting actx->idx[]->content->parts to NULL causes a memory leak,
because message attachments store a BODY there that needs to be freed.
I looked through the various use cases of ci_send_message() and
actually believe content->parts will be NULL for all other cases
except message attachments. From the comment added to
delete_attachment():
Other ci_send_message() message constructors are careful to free
any body->parts, removing depth:
- mutt_prepare_template() used by postponed, resent, and draft files
- mutt_copy_body() used by the recvattach menu and $forward_attachments.
I believe it is safe to completely remove the "content->parts =
NULL" statement. But for safety, am doing so only for the case
it must be avoided: message attachments.
Co-authored-by: Austin Ray <austin@austinray.io>
Kevin McCarthy [Sat, 31 Aug 2019 20:36:28 +0000 (13:36 -0700)]
Properly revert on an autocrypt postpone failure
Co-authored-by: Austin Ray <austin@austinray.io>
Richard Russon [Tue, 1 Oct 2019 10:13:08 +0000 (11:13 +0100)]
merge: fix new mail behaviour
Fix a number of regressions to do with new mail.
* fix: mbox_check_stats() retvals
* fix mbox's handling of new mail
* fix <change-folder> when $change_folder_next is set
* fix sidebar colour for 'new' mailboxes
* change check_stats() to return number of new emails
Richard Russon [Tue, 1 Oct 2019 10:09:42 +0000 (11:09 +0100)]
change check_stats() to return number of new emails
Richard Russon [Wed, 25 Sep 2019 12:04:05 +0000 (13:04 +0100)]
fix sidebar colour for 'new' mailboxes
This depends on the new-ness of a Mailbox, not the presence of new
emails.
Richard Russon [Wed, 25 Sep 2019 12:30:22 +0000 (13:30 +0100)]
fix <change-folder> when $change_folder_next is set
Richard Russon [Thu, 12 Sep 2019 17:05:57 +0000 (18:05 +0100)]
fix mbox's handling of new mail
`Mailbox.has_new` is tied to the timestamp of an mbox, not its count of
new mail. Visiting a Mailbox will clear the flag, touch(1) the file.
Whether the new emails get changed to old emails depends on $mark_old.
Richard Russon [Wed, 11 Sep 2019 13:31:08 +0000 (14:31 +0100)]
fix: mbox_check_stats() retvals
Change mbox_check_stats() to clearly show when a Mailbox has new mail.
Return:
* -1 Error
* 0 Success, no new mail
* 1 Success, some new mail
A bug was introduced when mbox_check_stats() was created that caused
'mbox' Mailboxes to always appear as if they had new mail.
Richard Russon [Sat, 28 Sep 2019 16:07:33 +0000 (17:07 +0100)]
drop unused variable
'suffix' hasn't been used since the iconv code was stripped out.
Richard Russon [Sat, 28 Sep 2019 16:04:42 +0000 (17:04 +0100)]
initialise gpgme pointers
These typedef'd types are all pointers, so initialise them to NULL.
Richard Russon [Wed, 25 Sep 2019 13:57:19 +0000 (14:57 +0100)]
doxy: tidy wrapper comments
Richard Russon [Mon, 30 Sep 2019 12:51:43 +0000 (13:51 +0100)]
window: fix clear_screen
The compose screen wasn't being cleared properly by just `clearok()`.
Pietro Cerutti [Mon, 30 Sep 2019 12:08:44 +0000 (12:08 +0000)]
build: WIFEXITED is defined in sys/wait.h
Richard Russon [Mon, 30 Sep 2019 11:43:11 +0000 (12:43 +0100)]
merge: refactor use of curses
Tidy:
* eliminate curses from Progress Bar
* move colour definitions to color.h
* tidy naming of color functions
* move KeyEvent out of mutt_curses.h
Refactor:
* SET_COLOR() to mutt_curses_set_color()
* NORMAL_COLOR() to mutt_curses_set_color()
* ATTR_SET() to mutt_curses_set_attr()
* curs_set() to mutt_curses_set_cursor()
* beep() to mutt_beep()
* addch() to mutt_window_addch()
* addnstr() to mutt_window_addnstr()
* addstr() to mutt_window_addstr()
* clrtobot() to mutt_window_clrtobot()
* move() to mutt_window_move_abs()
* printw() to mutt_window_printf()
* mutt_window_mvaddstr()
* clearok() to mutt_window_clear_screen()
* mutt_window_getxy() to mutt_window_get_coords()
Richard Russon [Fri, 27 Sep 2019 23:18:02 +0000 (00:18 +0100)]
refactor: mutt_window_getxy() to mutt_window_get_coords()
Encapsulate a curses function to reduce dependencies.
Richard Russon [Fri, 27 Sep 2019 23:09:17 +0000 (00:09 +0100)]
refactor: clearok() to mutt_window_clear_screen()
Encapsulate a curses function to reduce dependencies.
Richard Russon [Fri, 27 Sep 2019 15:57:03 +0000 (16:57 +0100)]
refactor: mutt_window_mvaddstr()
Encapsulate a curses function to reduce dependencies.
Richard Russon [Fri, 27 Sep 2019 15:22:13 +0000 (16:22 +0100)]
refactor: printw() to mutt_window_printf()
Encapsulate a curses function to reduce dependencies.
Richard Russon [Fri, 27 Sep 2019 15:03:52 +0000 (16:03 +0100)]
refactor: move() to mutt_window_move_abs()
Encapsulate a curses function to reduce dependencies.
This function works with absolute screen coordinates rather than coords
based on a MuttWindow. This function should be eliminated soon.
Richard Russon [Fri, 27 Sep 2019 14:52:57 +0000 (15:52 +0100)]
refactor: clrtobot() to mutt_window_clrtobot()
Encapsulate a curses function to reduce dependencies.
Richard Russon [Fri, 27 Sep 2019 14:45:06 +0000 (15:45 +0100)]
refactor: addstr() to mutt_window_addstr()
Encapsulate a curses function to reduce dependencies.
Richard Russon [Fri, 27 Sep 2019 14:36:19 +0000 (15:36 +0100)]
refactor: addnstr() to mutt_window_addnstr()
Encapsulate a curses function to reduce dependencies.