I'll chime in and say I would appreciate this feature. I'd love to have one
more line usable for other purposes. One thing I'd appreciate in
conjunction with this is a mechanism to reset the window title on exit,
though, since I keep hostname and working directory in the window title
when I'm just in the shell.

--Gregory (but not the same one)

On Sat, Nov 14, 2020 at 07:44:23PM -0800, Kevin J. McCarthy wrote:
> On Sun, Nov 15, 2020 at 01:35:11AM +0000, Gregory Heytings wrote:
> > I'd like to suggest a feature for Mutt: to make it possible to move the
> > status line to the window title.
> 
> Hi Gregory,
> 
> Sorry I didn't have a chance to respond until now.
> 
> I'm glad you implemented the feature.  I'm not convinced this would be a
> generally useful feature, though, and I don't like to add options that have
> a user-size of "one".  What do others think?
> 
> Overall, I like the cleanup you did in the patch while adding the new
> functionality.  Taking just a quick look, I have a few comments.
> 
> --- a/curs_lib.c
> +++ b/curs_lib.c
> @@ -775,6 +775,12 @@ void mutt_reflow_windows (void)
>    MuttMessageWindow->row_offset = LINES - 1;
> 
>    memcpy (MuttIndexWindow, MuttStatusWindow, sizeof (mutt_window_t));
> +
> +  if (! option (OPTDISPLAYSTATUSBAR)) {
> 
> Watch the brace style.
> 
> 
> +void mutt_draw_status_window (mutt_window_t *w, char *s)
> +{
> +  char command[512], dst[256]; pid_t pid; FILE *filter; int n, r;
> +  if (ProcessStatusLine)
> +  {
> 
> The filter part of the function is *really* clunky.  You should use a BUFFER
> from the buffer pool to hold and generate the command.  Use
> mutt_buffer_quote_filename() to perform correct escaping on the s parameter;
> or you may want to just use mutt_expand_file_fmt() so the ProcessStatusLine
> can have an optional %s expando.
> 
> Use mutt_read_line() to read the result.  See, for example,
> mutt_account_getoauthbearer() in account.c.  (There may be better examples
> in the code, that's just one I found quickly).
> 
> Stylistically, there are *way* too many dprint calls, and they probably
> shouldn't be at level 1.  Also, in the rest of the patch you did a good job
> matching the function call parenthesis spacing, but I see a few without a
> space separator.
> 
> 
> +  SETCOLOR (MT_COLOR_STATUS);
> +  mutt_window_move (w, 0, 0);
> +  mutt_paddstr (w->cols, s);
> +  NORMAL_COLOR;
> 
> Maybe add a check here for option(OPTDISPLAYSTATUSBAR)?
> 
> 
> +}
> +
> +void mutt_draw_help_window (mutt_window_t *w, char *s)
> +{
> +  if (! option (OPTHELP)) return;
> 
> Stylistically, I'd prefer to see this (and others lines like it in the
> patch) on multiple lines.
> 
> 
> diff --git a/pager.c b/pager.c
> index 4346b638..391789bf 100644
> --- a/pager.c
> +++ b/pager.c
> 
> +      mutt_draw_status_window (rd->pager_status_window, buffer);
> 
> +    mutt_draw_status_window (rd->index_status_window, buffer);
> 
> Be careful here - you are potentially piping both status lines.  You
> probably only want the pager_status_window.
> 
> Also, I didn't have time to look deeply at
> index_status_lines/pager_status_lines flow and OPTSTATUSONTOP.  I *think* it
> will deal okay with a status line with 0 rows, but would want to test and
> make sure about that.
> 
> -- 
> Kevin J. McCarthy
> GPG Fingerprint: 8975 A9B3 3AA3 7910 385C  5308 ADEF 7684 8031 6BDA


Reply via email to