all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stephen Berman <stephen.berman@gmx.net>
To: martin rudalics <rudalics@gmx.at>
Cc: 30399@debbugs.gnu.org
Subject: bug#30399: 27.0.50; tooltips are broken
Date: Fri, 09 Feb 2018 11:49:30 +0100	[thread overview]
Message-ID: <87d11eh1z9.fsf@gmx.net> (raw)
In-Reply-To: <5A7D6F9A.1010504@gmx.at> (martin rudalics's message of "Fri, 09 Feb 2018 10:53:30 +0100")

On Fri, 09 Feb 2018 10:53:30 +0100 martin rudalics <rudalics@gmx.at> wrote:

>> And here's the buggy behavior (starting with step 2) I see on master
>> since the above commit:
>>
>> 0. emacs -Q
>> 1. evaluate (tooltip-show "This is a test")
>>     => A GTK+-themed tooltip is displayed for 10 seconds or until there
>>     is an input event, then disappears.
>> 2. evaluate (x-show-tip "This is a test")
>>     => A GTK+-themed tooltip is displayed and remains displayed, even if
>>     there are input events, until executing step 3 or repeating step 1.
>
> This is due to a rather silly omission which should have already
> defeated a feature in Emacs 26 when calling 'x-show-tip' (you've been
> warned - Lisp code should call 'tooltip-show').

I know, and the code that revealed this bug does use tooltip-show; but
the above difference between them puzzled me, since tooltip-show is a
wrapper around x-show-tip.

>> 3. evaluate (let (x-gtk-use-system-tooltips)
>>                (tooltip-show "This is a test"))
>>     => A non-toolkit tooltip is displayed and remains displayed, even if
>>     there are input events, until the end of the Emacs session (at least
>>     I haven't found a way to get rid of it); however, if the GTK+-themed
>>     tooltip from step 2 is still displayed when the above sexp is
>>     evaluated, then after 10 (not 5) seconds the GTK+-themed tooltip
>>     disappears (but the non-toolkit tooltip remains).
>> 4. evaluate (let (x-gtk-use-system-tooltips)
>>                (x-show-tip "This is a test"))
>>     => A non-toolkit tooltip is displayed and remains displayed, even if
>>     there are input events, until the end of the Emacs session AFAICT; if
>>     the tooltip from step 3 is still displayed when the above sexp is
>>     evaluated, it is just moved by this step but does not disappear, and
>>     if the GTK+-themed tooltip from step 2 is still displayed that
>>     tooltip also remains displayed (unlike in step 3).
>
> Let-binding 'x-gtk-use-system-tooltips' is a more delicate issue.  As
> a rule, options should never be let-bound but since the customizer is
> always right we'll probably have to fix this as well.

I generally use the default value of x-gtk-use-system-tooltips, but for
appointments I use a custom tooltip, which AFAICT requires setting
x-gtk-use-system-tooltips to nil.  Is there some way to achieve this
without let-binding (or using setq twice within the function defining
the appointment tooltip)?

> Please try the attached fix.  

It restores the previous behavior; thanks!

>                               And please test it also with the inverse
> scenario
>
> (setq x-gtk-use-system-tooltips nil)
> (let ((x-gtk-use-system-tooltips t))
>   (tooltip-show "Test"))

This also works as expected, i.e., within the let-binding the tooltip is
the GTK+-themed one, and outside of the let-binding it's the not-toolkit
tooltip.

Thanks for the quick fix.

Steve Berman





  reply	other threads:[~2018-02-09 10:49 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-08 22:26 bug#30399: 27.0.50; tooltips are broken Stephen Berman
2018-02-09  9:53 ` martin rudalics
2018-02-09 10:49   ` Stephen Berman [this message]
2018-02-10  9:47     ` martin rudalics
2018-02-09 15:41   ` Drew Adams
2018-02-10  9:47     ` martin rudalics
2018-02-10 16:39       ` Drew Adams
2018-02-11  9:36         ` martin rudalics
2018-02-11 17:23           ` Drew Adams
2018-02-12  9:26             ` martin rudalics
2018-02-12 14:43               ` Drew Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87d11eh1z9.fsf@gmx.net \
    --to=stephen.berman@gmx.net \
    --cc=30399@debbugs.gnu.org \
    --cc=rudalics@gmx.at \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.