denemo-devel
[Top][All Lists]
Advanced

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

Re: [Denemo-devel] tooltip storm


From: Richard Shann
Subject: Re: [Denemo-devel] tooltip storm
Date: Fri, 02 Sep 2016 15:47:28 +0100

On Fri, 2016-09-02 at 10:27 -0400, Nathan Stewart wrote:
> GTK version is libgtk-3-dev:amd64    3.18.9-1ubuntu3. 

I guess that information is about the runtime libraries you have? I said
before that the terminal Denemo prints out the compile time headers it
was built with, I see that's wrong. But 
denemo --version
at the terminal does print this out (sorry for wrong information).


>  The most crippling aspect is that they don't go away without explicit
> action. Most tooltips are dismissed automatically when the mouse
> leaves the area.  As for denemo version,  the ubuntu studio package is
> denemo  2.0.2-1,

you would need to examine the source code that Ubuntu should provide for
that - Ubuntu have in the past created modified versions of Denemo that
don't work.


> but it also occurs with b14d604d (dated aug 31).

You built from git here, so this code should be present in the toplevel
header include/denemo.h

#if ((GTK_MAJOR_VERSION == 3) && (GTK_MINOR_VERSION >= 10))
#define FAKE_TOOLTIPS 1
#endif

#ifdef FAKE_TOOLTIPS
#define FAKE_TOOLTIPS_MASK  GDK_ENTER_NOTIFY_MASK //GDK_POINTER_MOTION_MASK
#define FAKE_TOOLTIPS_SIGNAL "enter-notify-event" //"motion-notify-event"
#define fake_put_tooltip(w, t) {gchar *tip = 
g_strdup(t);g_object_set_data(G_OBJECT(w), "tooltip", 
(gpointer)tip);gtk_widget_add_events (w, 
FAKE_TOOLTIPS_MASK);g_signal_connect_after (w, "destroy", 
G_CALLBACK(free_tooltip), tip);g_signal_connect (w, FAKE_TOOLTIPS_SIGNAL, 
G_CALLBACK (show_tooltip), tip);}
#define denemo_widget_set_tooltip_text(w, t) {gtk_widget_add_events (w, 
FAKE_TOOLTIPS_MASK);g_signal_connect (w, FAKE_TOOLTIPS_SIGNAL, G_CALLBACK 
(show_tooltip), g_strdup(t));}
#define gtk_widget_set_tooltip_markup(w, t) fake_put_tooltip(w, t)
#define gtk_widget_set_tooltip_text(w, t) fake_put_tooltip(w, t)
#define gtk_widget_get_tooltip_text(w) g_object_get_data (G_OBJECT(w), 
"tooltip")

#else
#define denemo_widget_set_tooltip_text gtk_widget_set_tooltip_text
#endif


what this should do is replace all the calls to set tooltips on Denemo's
widgets with calls to attach the tooltip as (private-to-denemo) data to
the widget. At the moment not very much is done with it I think, but
eventually I hope to get a help-system revived.
 So on my builds I get this

denemo --version

GNU Denemo version 2.0.13
Gtk versions runtime: 3.14.5, compiled against: 3.14.5, 

and I don't get any tooltips showing.

If you can modify denemo.h so the first bit goes thus

#if ((GTK_MAJOR_VERSION == 3) && (GTK_MINOR_VERSION >= 10))
#error "test of Gtk version failed"
#endif

then your compile should stop with that message...

>   Turning off excessive tool tips seems to help - thanks.  I thought
> that was resolved/worked around from my reading of the old email
> thread.

yes, I'm not sure what is happening with your build. If you aren't
familiar with the C syntax I can suggest stuff to probe the problem.

Richard

> 
> On Fri, Sep 2, 2016 at 4:06 AM, Richard Shann
> <address@hidden> wrote:
>         On Fri, 2016-09-02 at 01:40 -0400, Nathan Stewart wrote:
>         > Running Ubuntu Studio, both the repository version as well
>         as current
>         > git make denemo almost useless with a flood of tool tips.
>         
>         This is a combination of two things: first there are a lot of
>         tooltips
>         (and beginner palettes) that you need to get rid of before
>         getting down
>         to serious work. Choose Help->Turn off excessive tooltips to
>         do that.
>         
>         Then Gtk has a "feature" that the tooltips pop up impossibly
>         fast and
>         can no longer be controlled (as of some version of Gtk). There
>         are
>         settings for the speed of tooltip appearance (in Edit->Change
>         Preferences), but as of a certain Gtk version these don't
>         work, and as
>         of that version tooltips are disabled in Denemo. (I think it
>         is version
>         3.10 onwards). What version are you using? (It is printed on
>         the
>         terminal at startup).
>         
>         
>         >  There doesn't seem to be any delay before they pop up, they
>         don't go
>         > away unless explicitly closed, and I'm even getting some
>         popups for
>         > things that don't look like they should be tooltips
>         
>         those aren't tooltips, those are a (single) popup window that
>         will give
>         you a running commentary on what you have just done. If you
>         drag it into
>         one corner of the screen you can find out what all the various
>         keypresses and mousepresses do. If you dismiss it once it
>         should stop
>         appearing until you do something that indicates you are lost.
>         
>         Sorry for this hitting you - I'm struggling between losing all
>         the help
>         Denemo offers and drowning the users when they first get the
>         program.
>         
>         Richard
>         
>         > - like "Mouse Press Left. This moved the cursor to the
>         object position
>         > clicked. The cursor height becomes the clicked point."
>          (Perhaps I'm
>         > missing something but I wouldn't think that would need a
>         tool tip.) I
>         > found an email thread from September, but it looks like that
>         had to do
>         > with tool tip delay. That would simply be annoying - these
>         won't go
>         > away without action - an action likely to create 3 or 4 more
>         popups.
>         >
>         >
>         > Nathan
>         >
>         >
>         >
>         > _______________________________________________
>         > Denemo-devel mailing list
>         > address@hidden
>         > https://lists.gnu.org/mailman/listinfo/denemo-devel
>         
>         
> 
> 





reply via email to

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