Bill McCarthy wrote:
On Wed 29-Nov-06 3:19pm -0600, you wrote:

Bill McCarthy wrote:
On Wed 29-Nov-06 11:40am -0600, Robert Hicks wrote:

Usage question. I have a custom statusline. That statusline also shows
up in the Calendar pane and in the diary pane. Is there a way I can
restrict it from doing that?

You can have a local status line for those windows.  Perhaps
something like:

  au BufWinEnter __Calendar,*[0-9].cal setl stl=%t

That won't work if the OP wants to set the st.l. for Calendar differently than
from other (split) windows. A construct like

I'm not seeing that, Tony.  Starting Gvim with my normal
stl, if I open a calendar window it has the special stl.
Even if I do a ":sp foo" from the calendar window, the
window for "foo" has the normal stl.

Clicking on a calendar date with a diary entry brings up a
diary window with the special stl.  Doing a ":sp bar" from
that window (or any other window) gives me the normal stl in
the "bar" window.


So BufWinEnter is fired before evaluating the status line? Makes sense if only the current status line is ever evaluated. I already knew the status line was evaluated in the context of its own window but I thought all status lines would be recomputed every X milliseconds. I guess this would be overkill after all. Thanks for the insight.

I still wonder whether BufWinEnter is called before redisplaying the status line of a non-current window which has just been scrolled or resized with the mouse so that the "All" "Top" "nn%" "Bot" flag has changed. Or what happens when a "custom" status line contains %{} expressions which may depend on global variables changed by actions in a different window.


Best regards,
Tony.

Reply via email to