From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#19925: 25.0.50; mouseover menu items takes up to 30sec to show the proper tooltip or message Date: Mon, 23 Feb 2015 19:54:04 +0200 Message-ID: <83zj847bur.fsf@gnu.org> References: Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1424714125 12529 80.91.229.3 (23 Feb 2015 17:55:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 23 Feb 2015 17:55:25 +0000 (UTC) Cc: 19925@debbugs.gnu.org To: Drew Adams Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Feb 23 18:55:15 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YPxDv-00066K-Ia for geb-bug-gnu-emacs@m.gmane.org; Mon, 23 Feb 2015 18:55:15 +0100 Original-Received: from localhost ([::1]:44818 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YPxDu-0006ZE-Sg for geb-bug-gnu-emacs@m.gmane.org; Mon, 23 Feb 2015 12:55:14 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41709) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YPxDm-0006VE-Ay for bug-gnu-emacs@gnu.org; Mon, 23 Feb 2015 12:55:12 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YPxDj-0005tf-4D for bug-gnu-emacs@gnu.org; Mon, 23 Feb 2015 12:55:06 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:52167) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YPxDj-0005sC-0W for bug-gnu-emacs@gnu.org; Mon, 23 Feb 2015 12:55:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YPxDi-000326-Ea for bug-gnu-emacs@gnu.org; Mon, 23 Feb 2015 12:55:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 23 Feb 2015 17:55:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19925 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 19925-submit@debbugs.gnu.org id=B19925.142471404811582 (code B ref 19925); Mon, 23 Feb 2015 17:55:02 +0000 Original-Received: (at 19925) by debbugs.gnu.org; 23 Feb 2015 17:54:08 +0000 Original-Received: from localhost ([127.0.0.1]:55765 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YPxCq-00030k-0v for submit@debbugs.gnu.org; Mon, 23 Feb 2015 12:54:08 -0500 Original-Received: from mtaout22.012.net.il ([80.179.55.172]:56636) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YPxCn-00030E-A3 for 19925@debbugs.gnu.org; Mon, 23 Feb 2015 12:54:06 -0500 Original-Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NK800400JOAJD00@a-mtaout22.012.net.il> for 19925@debbugs.gnu.org; Mon, 23 Feb 2015 19:53:58 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NK8004F9KDXD360@a-mtaout22.012.net.il>; Mon, 23 Feb 2015 19:53:58 +0200 (IST) In-reply-to: X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:99734 Archived-At: > Date: Sun, 22 Feb 2015 20:29:06 -0800 (PST) > From: Drew Adams > Cc: 19925@debbugs.gnu.org > > > AFAICS, that's because the cursor stops blinking after 10 blinks. > > Make it blink forever, and the problem is gone. > > > > There's nothing that can be done here to fix this. Tooltips for w32 > > menu items need input events to pop up, because when a menu is shown, > > Emacs doesn't have control, and waits for the menu to pop down. > > Excellent reply; thank you, Eli. Changing `blink-cursor-blinks' to > 0 does indeed make both tooltip help and echo-area help work properly > for mouseover. > > (I assume that what you say about the limitation of w32 tooltips for > menu items applies also to echo-area help for menu items.) Yes. The problem is that the help-echo events are not being processed, so any tooltips in any form will not show up. > I would suggest the following, as a partial remedy: > > 1. This defect (yes, it is a defect, even if it is the result of > using a particular OS or window manager) should be documented > fairly prominently, where tooltip and echo-area help is presented. > > That means not only the manual but also the doc string of > `tooltip-mode' - not because this has anything to do with that > mode (the problem exists whether the mode is on or off), but > only because a user looking for help regarding this behavior > might look for things having to do with tooltips. I didn't document it yet, as we don't normally document subtle bugs, and with the change described below, users will hopefully seldom bump into this, at least in the default configuration. > 2. Make the default value of `blink-cursor-blinks' be 0, at least > on the platforms that present this defect. I don't see any chance for this suggestion to be accepted, what with the current trend towards laptops and saving battery power (which were the main motivation behind the default behavior of stopping the blinking after a few blinks). > Would it perhaps be possible also to change the value to 0 as soon > as a user mouseovers a menu? And then change it back to its > previous value when the menu is no longer displayed? Could Emacs > detect those events? IOW, before "waiting for the menu to pop down", > couldn't it set the value to 0, and then when it pops down set it > back to its previous value? This is infeasible on w32, at least not with simple, localized (a.k.a. "safe") changes. The processing of w32 menu-bar menus is triggered by the main thread, but is implemented, including popping the menu down, in the input thread, so a temporary binding is tricky at best, because the input thread cannot run Lisp or make changes to Lisp-related variables, and the main (a.k.a "Lisp") thread doesn't get any triggers when the menu is popped down, so it cannot restore the original value. Instead, I've stopped incrementing the blink-cursor counter while the menu is active on w32, so it never reaches the limit, and doesn't stop the blinking, until the menu is popped down. So there was something to be done after all, thanks for the idea. The default behavior is now (almost) fixed on the emacs-24 branch. I say "almost" because there are still a couple of subtle issues: . disabling blink-cursor-mode brings the problem back again . dropping a menu when the cursor already stopped blinking shows the problem (because clicking to drop a menu doesn't count as an input event on w32, and so the cursor doesn't resume blinking) . the "solution" is really a band-aid, and I hope a better solution will be found eventually