Bug 211593 - Disable plasma panel tooltips
Summary: Disable plasma panel tooltips
Status: RESOLVED FIXED
Alias: None
Product: plasma4
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Unspecified
: NOR wishlist
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
: 215729 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-10-23 22:45 UTC by Dotan Cohen
Modified: 2010-08-20 18:31 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
screenshot (82.35 KB, image/png)
2010-02-18 22:41 UTC, Dotan Cohen
Details
Patch to change delay or disable all plasma tooltips (988 bytes, patch)
2010-05-06 22:57 UTC, linux fan
Details
Informational tips whatsThis (66.72 KB, image/png)
2010-05-09 21:39 UTC, linux fan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dotan Cohen 2009-10-23 22:45:45 UTC
Version:            (using KDE 4.3.2)
Installed from:    Ubuntu Packages

Please add an option to disable the general tooltips on the plasma panel. Many users do not need a tooltip telling them that the Dolphin icon is a Dolphin shortcut. The panel is a convenient place to park the mouse but the tooltips make this impossible.
Comment 1 Chani 2009-10-23 22:59:41 UTC
tooltips go away if you don't move your mouse for a couple of seconds (the only exception being the clock). or you could find a new place to park your mouse, like the titlebar or a scrollbar.

I thought we already had a way to disable all tooltips, though. huh.
Comment 2 Dotan Cohen 2009-10-24 11:08:17 UTC
> or you could find a new place to park your mouse

The problem is that one does not deliberately park his mouse in any specific location, rather, Fitt's Law dictates that a large edge-of-screen area is the ideal place to "throw" the mouse pointer when not in use. This behaviour leads to bugs like this bug and related bug #198661.
Comment 3 Dotan Cohen 2009-10-24 11:45:42 UTC
> I thought we already had a way to disable all tooltips, though.

That was in KDE 3. KDE 4 never had such an option. This bug specifically requests that option.
Comment 4 Micron Gust 2009-12-04 05:02:25 UTC
I would also like to have a way to turn off all tooltips for icon in Plasma and on the desktop. Tooltips might be useful for novice users, but they are just an annoyance for advanced users. Like Dotan said, I don't need a tooltip telling me that the Dolphin icon is a Dolphin shortcut.
Comment 5 Thomas Haenig 2009-12-17 09:54:49 UTC
'every feature is a bug, unless it can be disabled' so please count my comment as a vote for a fix of this bug and not as a wish for another option to 'disable' all kinds of tooltips
Comment 6 christian 2009-12-19 22:33:53 UTC
i also request the ability to disable any and all kinds of tooltips!  tooltips annoy the hell out of me.
Comment 7 Jonathan Thomas 2009-12-26 22:49:06 UTC
*** Bug 215729 has been marked as a duplicate of this bug. ***
Comment 8 firewalker 2009-12-27 09:21:35 UTC
I don't how to program with C or C++.  The following stuff may fry your videotape recorder and make your espresso machine go wild.

I made a little patch. Now the program responsible for the tip will search for a file named tooltipmanager_delay located at /home/user_name/.kde4/share/config/. It opens the file and reads the integer value inside expressed in msecs. The file must only contain an integer number. I do not implent any check for the data contained in the file (a valid value would be 3000, witch means 3 seconds). I only check if the file exists and can be opened. If the file does not exist or there is a read error the program uses the default value (700 msecs).

--- kdelibs-4.3.4/plasma/tooltipmanager-orig.cpp    2009-06-03 14:54:42.000000000 +0300
+++ kdelibs-4.3.4/plasma/tooltipmanager.cpp    2009-12-09 20:16:39.000000000 +0200
@@ -21,6 +21,17 @@
 
 #include "tooltipmanager.h"
 
+#include <iostream>
+using std::cerr;
+using std::cout;
+using std::endl;
+
+#include <fstream>
+using std::ifstream;
+
+#include <stdlib.h>
+using namespace std;
+
 //Qt
 #include <QCoreApplication>
 #include <QLabel>
@@ -51,6 +62,13 @@
 namespace Plasma
 {
 
+
+
+
+
+
+
+
 class ToolTipManagerPrivate
 {
 public :
@@ -133,6 +151,35 @@
 
 void ToolTipManager::show(QGraphicsWidget *widget)
 {
+    std::string file_path_delay_var; //File path variable
+    std::string file_name_var; //File name variable
+    ifstream indata;
+
+    int delay_num; // variable for input value
+
+    file_path_delay_var = getenv ("HOME"); //Get the home variable
+    file_name_var = "/.kde4/share/config/tooltipmanager_delay";
+    file_path_delay_var = file_path_delay_var + file_name_var;
+   
+    ifstream ifile(file_path_delay_var.c_str());
+    if (ifile) {
+        indata.open(file_path_delay_var.c_str()); // opens the file
+
+        if(!indata) {
+            delay_num = 700; // sets value if no file found
+            }
+        else {
+
+            indata >> delay_num;
+        indata.close();
+
+            }
+    }
+    else {
+        delay_num = 700;    
+    }
+
+
     if (!d->tooltips.contains(widget)) {
         return;
     }
@@ -147,7 +194,7 @@
         // which can be too much for less powerful CPUs to keep up with
         d->showTimer->start(200);
     } else {
-        d->showTimer->start(700);
+        d->showTimer->start(delay_num);
     }
 }
Comment 9 firewalker 2009-12-27 09:24:22 UTC
The above patch also effects the date time tool tip. :(
Comment 10 firewalker 2010-02-03 11:41:54 UTC
Any news on this issue?
Comment 11 Aaron J. Seigo 2010-02-03 11:59:39 UTC
given that there have been no follow up comments, it's safe to say: "no, there hasn't been."

the patch provided (thanks for putting effort into it, btw) should simply be using KConfig, as in:

KConfigGroup cg(KGlobal::config(), "Tooltips");
m_toolTipDelay = cg.readEntry("delay", 700);

(kdelibs makes c++ livable :)

it probably only needs to be done in the tooltipmanager constructor and the delay could be a member of the private class.

i'm not sure why you implemented a timeout control, however, instead of a simple boolean to control showing or not showing the tooltips given the nature of the original request.

and yes, this would affect _all_ tooltips in plasma as implemented. one solution might be to extend Plasma::ToolTipContent to contain a "type" for the tooltips and then tooltips could be categorized appropriately, allowing things like clock tooltips which show non-redundant information to remain while avoiding redundant ones.
Comment 12 firewalker 2010-02-03 12:06:51 UTC
The time out control was already there with a default value of 700 msec. I just wanted to change the time. I made it be reading the value from a file.
Comment 13 firewalker 2010-02-17 20:35:41 UTC
Let's say you have some instances of a program (lets say firefox). You can see them "stashed" on the task bar. You want to select a one of those instances. Click on the pile and you can select the one you want. Some times though (if you don't act fast enough) a PopUp will emerge. After that you will have to wait for it to go away. In order to select the instance under it. 

[img]http://img714.imageshack.us/img714/2506/popup.png[/img]
Comment 14 Dotan Cohen 2010-02-18 22:41:31 UTC
Created attachment 40907 [details]
screenshot

Exactly. The tooltips are always covering the interface of something that I want to work on. See this screenshot for the Clock tooltip covering the Kate interface. Due to Fitt's law, I _always_ overshoot the Kate UI and hover over some place on the panel.

Despite the screenshot, this problem is not unique to the clock widget or Kate. All the Plasmoids do this.
Comment 15 linux fan 2010-05-06 22:57:21 UTC
Created attachment 43322 [details]
Patch to change delay or disable all plasma tooltips

Change delay or disable based on comment #8 and comment #11

Using proposed ~/.kde/share/config/tooltipmanagerrc, if it exists.
2 sec delay and 1 sec inter-tip delay with tooltipmanagerrc having:
[Delay]
tipDelay=1200
tipToTipDelay=600

No tooltips at all with tooltipmanagerrc having:
[Delay]
tipDelay=-1

As noted in comment #11, this affects  _all_ tooltips in plasma as implemented, including cashews.

Comment #11 excellent suggestion solution
>> to extend Plasma::ToolTipContent to contain a "type" for the
>> tooltips and then tooltips could be categorized appropriately, 
>> allowing things like clock tooltips which show 
>> non-redundant information to remain while avoiding redundant ones.
I wish there were _any_ kind of documentation to help with that.
Comment 16 Aaron J. Seigo 2010-05-07 01:41:39 UTC
if you could, please upload patches to reviewboard.kde.org as that allows inline comments and what not..

in any case, in the patch this:

KConfig cfg( "tooltipmanagerrc" );
KConfigGroup cg(&cfg, "Delay");

should just be:

KConfigGroup cg(KGlobal::config(), "ToolTips");

(as noted in comment #11 :)

the next question will be: where does this get configured? it should probably be added to: kdebase/workspace/kcontrol/workspaceoptions

(99% of the time, configuration without GUI means that the configuration is not worth being there in the first place)

so.. i can take this patch and clean it up from here and commit it.. the above is mostly a "view into our world" for any future patches you may contribute...

and thanks! :)

> I wish there were _any_ kind of documentation to help with that.

the code is in kdelibs/plasma/tooltipcontent.[cpp|h] .. add an enumeration to the class of different types of tooltip (by function; e.g. Persistent, Clickable, Normal .. whatever other permutations we may come up with) and add a setType(ToolTipContent::Type type) and Type type() const method to the class. then reference that value in ToolTipManager to figure out what to do :)
Comment 17 Aaron J. Seigo 2010-05-07 02:19:16 UTC
SVN commit 1123805 by aseigo:

allow configuring the plasma tooltip delay value. reveals the feature in r1123803, which was based on a patch by "linux fan" (see bug 211593)
BUG:211593


 M  +100 -8    mainpage.ui  
 M  +11 -0     workspaceoptions.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1123805
Comment 18 Dotan Cohen 2010-05-07 10:30:53 UTC
Thank you!
Comment 19 linux fan 2010-05-09 21:39:07 UTC
Created attachment 43409 [details]
Informational tips whatsThis

A whatsThis for the Informational Tips toolTipDelay would be excellent.
      <widget class="QDoubleSpinBox" name="toolTipDelay">
       <property name="whatsThis">
        <string>Informational tips display by default after 0.7 seconds. Clicking the up and down buttons or pressing Up or Down on the keyboard increases/decreases the delay before informational tips are shown. The number can also be entered with the keyboard. The minimum value of -0.1 also means "Do not show".</string>
       </property>

Many thanks.
Comment 20 firewalker 2010-05-10 00:10:17 UTC
Does this patch affect every tooltip? I yes I don;t believe that it should be marked as solved.
Comment 21 linux fan 2010-05-10 01:22:50 UTC
(In reply to comment #20)
> Does this patch affect every tooltip? I yes I don;t believe that it should be
> marked as solved.

Yes, every one (except folders in Desktop Folder, as far as know).
Even so, it's marvelous!
Comment 22 Thomas Haenig 2010-07-19 13:43:33 UTC
Today I played with the new released OpenSuSE 11.3 which contains KDE 4.4.4 but none of the mentioned solutions seems to be implemented:

neither the config from #8, nor the one from #15 changes anything in the behaviour of the tooltips. 

Could someone point me to a working (documented) solution please or reopen this BUG (it's not a whish).
Comment 23 Burkhard Lück 2010-08-20 18:31:58 UTC
(In reply to comment #19)
> Created an attachment (id=43409) [details]
> Informational tips whatsThis
> 
@ linux fan: I have added your text (slightly modified) to the documentation, it will be in 4.5.1.

Thanks.