emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GTK interface modification


From: martin rudalics
Subject: Re: GTK interface modification
Date: Wed, 15 Aug 2018 10:07:12 +0200

>  > And finally you have to actually redraw the border when a window gets
>  > (de-)selected, the appropriate moments given by the mode-line code.
>
> ^ Is this also in xdisp.c, or is that code elsewhere?

The call where the "real selected window" is known is in xdisp.c's
display_mode_lines as

      /* Select mode line face based on the real selected window.  */
      display_mode_line (w, CURRENT_MODE_LINE_FACE_ID_3 (sel_w, sel_w, w),
                         NILP (window_mode_line_format)
                         ? BVAR (current_buffer, mode_line_format)
                         : window_mode_line_format);

and you probably want to set

    w->must_be_updated_p = true;

as well.  The routine actually changing the appearance of W's border
will then have to check whether W has the selected appearance already
set.  If not, you have to redraw W's border and that of the previously
selected window of W's frame accordingly.

I'm not sure where to actually draw the border on glass though.  You
can look at where window dividers are drawn but these are merely
statically bound to windows and do not depend on whether a window is
actually selected.  You will have to play around then.

martin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]