emacs-pretest-bug
[Top][All Lists]
Advanced

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

Re: GTK build: some menus in the menu bar stay highlighted


From: Jan Djärv
Subject: Re: GTK build: some menus in the menu bar stay highlighted
Date: Mon, 23 Apr 2007 22:09:36 +0200
User-agent: Thunderbird 1.5.0.10 (X11/20070302)

Stephen Berman skrev:
On Sun, 22 Apr 2007 20:36:31 +0200 Jan Djärv <address@hidden> wrote:

The GNUS menus are defined with easy-menu, thats about all I can
think of that differs from "regular" menus.  Can you define a small
menu with easy.menu and see if the problem is there then?

It turns out the problem is not confined to easymenu: I made the
following file,

,----[ srb-km.el ]
| (define-key global-map [menu-bar SRB]
|   (cons "SRB" (make-sparse-keymap "SRB")))
`----

and then did this:

emacs -Q -l srb-km.el

which brings up the *scratch* buffer with a menu bar whose first menu
is labelled `SRB'.  When I move the mouse over this menu bar, menu
label SRB, and only this menu label, gets sticky highlighting (again,
only with the GTK Style QtCurve under KDE).

When Emacs updates the menu bar, it usually just puts empty menus behind the menu bar entries. This is to avoid updating the whole menu tree every time we just change buffer. When we click on the menu bar, Emacs does update the whole menu tree (i.e. updates deep).

It seems that QtCurve can not handle non-deep menu bar entries. If I click on the SRB menu entry in your example, thus forcing a deep update, the highlight problem goes away.

When Emacs creates the menu bar for the first time, it does so deep, so the error is not seen for the standard Emacs menu bar entries.

A special handling is for Gtk+ detached menus. If there is a detached menu, Emacs always updates deep, since the detached menu could possibly change.

So we can se this bug easy.

C-h i

The Info menu now has the sticky highlight.
But if you kill that buffer, detach the File menu, and then to C-h i again. the sticky highlightning is gone.

I'd say this is a bug in QtCurve. I can not find a way to undo that effect from within Emacs. Apart from the obvious, always update menus deep. But I don't think we want to do that just for one theme. Not that I think it would break anything, it would just make menu bar updating a bit slower.

        Jan D.





reply via email to

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