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