[plasma/plasma-workspace] /: klipper: drop "Exclude Windows" that only works on X11

Fushan Wen null at kde.org
Wed Nov 19 17:21:11 GMT 2025


Git commit b4fbaf1ff47b1403f2c190e5cd29c28b07737e98 by Fushan Wen.
Committed on 19/11/2025 at 16:45.
Pushed by fusionfuture into branch 'master'.

klipper: drop "Exclude Windows" that only works on X11

It never works on Wayland

M  +33   -55   doc/klipper/index.docbook
M  +1    -104  klipper/configdialog.cpp
M  +0    -25   klipper/configdialog.h
M  +0    -4    klipper/klipper.kcfg
M  +0    -21   klipper/urlgrabber.cpp
M  +0    -11   klipper/urlgrabber.h

https://invent.kde.org/plasma/plasma-workspace/-/commit/b4fbaf1ff47b1403f2c190e5cd29c28b07737e98

diff --git a/doc/klipper/index.docbook b/doc/klipper/index.docbook
index ee18de1baf9..5a9658d5ee1 100644
--- a/doc/klipper/index.docbook
+++ b/doc/klipper/index.docbook
@@ -1,5 +1,5 @@
 <?xml version="1.0" ?>
-<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" 
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN"
 "dtd/kdedbx45.dtd" [
   <!ENTITY kappname "&klipper;">
   <!ENTITY package "kdebase">
@@ -60,7 +60,7 @@ url="http://bugs.kde.org">KDEs bugzilla</ulink>.</para>
 <sect1 id="basic-usage">
 <title>Basic Usage</title>
 <para>You can use &klipper; in the systemtray either as &plasma; widget or classic application.
-Both share the same functionality but have a different &GUI; and show the last item of the history 
+Both share the same functionality but have a different &GUI; and show the last item of the history
 when hovering the &klipper; icon in the systemtray:
 </para>
 
@@ -95,7 +95,7 @@ the systemtray.</para>
 </mediaobject>
 </screenshot>
 
-<para>Hover an entry with the mouse pointer and four icons appear which enable you to 
+<para>Hover an entry with the mouse pointer and four icons appear which enable you to
 invoke an action, show the barcode, edit the content or remove the entry from the history.
 Use &spectacle; to capture the barcodes and save them.
 </para>
@@ -106,7 +106,7 @@ you type. To clear the clipboard history click on the icon at the right of
 the search field.
 </para>
 
-<para>The <guilabel>Configure Clipboard...</guilabel> action in the context menu opens the 
+<para>The <guilabel>Configure Clipboard...</guilabel> action in the context menu opens the
 <link linkend="preferences">settings dialog</link>.
 </para>
 
@@ -119,15 +119,15 @@ the search field.
 <para>&klipper; can perform actions on the contents of the clipboard,
 based on whether they match a particular regular expression. For
 example, any clipboard contents starting with <quote>http://</quote> can
-be passed to Firefox or &konqueror; as &URL;s to open. In addition, if the 
+be passed to Firefox or &konqueror; as &URL;s to open. In addition, if the
 contents matches a path, similar actions can be performed according to the file's
-type. ⪚, if the path to a <acronym>PDF</acronym> file is copied to the clipboard, the file can be 
+type. ⪚, if the path to a <acronym>PDF</acronym> file is copied to the clipboard, the file can be
 viewed in &okular;.</para>
 
 <para>To use this feature, just select a &URL; or path. <!-- starting with slash ?-->
 If there is a matching regular expression in &klipper;'s
-list, a menu will appear showing you the programs for your selection. 
-Use the mouse or cursor keys to select a program, and &klipper; will run 
+list, a menu will appear showing you the programs for your selection.
+Use the mouse or cursor keys to select a program, and &klipper; will run
 this program, opening the address pointed to by the
 selection.</para>
 
@@ -141,7 +141,7 @@ part using the option <guilabel>Include MIME actions</guilabel> under the
 the shortcut <keycombo action="simul">&Ctrl;&Alt;<keycap>X</keycap></keycombo>.</para>
 
 <para>Clipboard contents which match a regular expression can also be
-edited before performing an action on them. Select <guimenuitem>Edit 
+edited before performing an action on them. Select <guimenuitem>Edit
 contents...</guimenuitem> at the right of the clipboard entry, and you can
 change the clipboard contents in the dialog which appears, before
 clicking the <guibutton>OK</guibutton> button to run the appropriate
@@ -160,7 +160,7 @@ menu to repeat the last action which &klipper; performed.</para>
 <title>General</title>
 <para>
 &klipper; can be used to set the behavior of the clipboard and selection in
-&plasma;. 
+&plasma;.
 </para>
 
 <note><para>The &X-Window; uses two separate clipboard buffers: the
@@ -171,7 +171,7 @@ the clipboard buffer, select it and press
 <keycombo>&Ctrl;<keycap>X</keycap> </keycombo> or
 <keycombo>&Ctrl;<keycap>C</keycap> </keycombo>. Text from the
 clipboard buffer is pasted using <keycombo>&Ctrl;<keycap>V</keycap>
-</keycombo> or by selecting <guimenuitem>Paste</guimenuitem> 
+</keycombo> or by selecting <guimenuitem>Paste</guimenuitem>
 in a context menu.</para>
 </note>
 
@@ -217,15 +217,15 @@ selected, the clipboard functions in the &UNIX; mode; if not, the
 <variablelist>
 
 <varlistentry><term><guilabel>Selection and Clipboard</guilabel></term>
-<listitem><para>When text or an area of the screen is highlighted with the mouse or 
-keyboard, this is the <emphasis>selection</emphasis>. It can be pasted using 
-the middle mouse button.</para><para>If the selection is explicitly copied 
-using a <guimenuitem>Copy</guimenuitem> or <guimenuitem>Cut</guimenuitem> action, it 
-is saved to the <emphasis>clipboard</emphasis>. It can be pasted using a 
-<guimenuitem>Paste</guimenuitem> action.</para><para>When turned on this option 
-keeps the selection and the clipboard the same, so that any selection is 
-immediately available to paste by any means. If it is turned off, the 
-selection may still be saved in the clipboard history (subject to the 
+<listitem><para>When text or an area of the screen is highlighted with the mouse or
+keyboard, this is the <emphasis>selection</emphasis>. It can be pasted using
+the middle mouse button.</para><para>If the selection is explicitly copied
+using a <guimenuitem>Copy</guimenuitem> or <guimenuitem>Cut</guimenuitem> action, it
+is saved to the <emphasis>clipboard</emphasis>. It can be pasted using a
+<guimenuitem>Paste</guimenuitem> action.</para><para>When turned on this option
+keeps the selection and the clipboard the same, so that any selection is
+immediately available to paste by any means. If it is turned off, the
+selection may still be saved in the clipboard history (subject to the
 options below), but it can only be pasted using the middle mouse button.</para></listitem>
 </varlistentry>
 
@@ -240,7 +240,7 @@ in the clipboard history.</para></listitem>
 
 <varlistentry>
 <term><guilabel>Text selection</guilabel></term>
-<listitem><para>When an area of the screen is selected with mouse or keyboard, this is 
+<listitem><para>When an area of the screen is selected with mouse or keyboard, this is
 called the <quote>selection</quote>. This option determines whether text selections are
 saved in the clipboard history. It is possible to choose between <guilabel>Always save
 in history</guilabel> and <guilabel>Only when explicitly copied</guilabel>. The
@@ -250,7 +250,7 @@ case the selection is never automatically saved in the clipboard history.
 See <xref linkend="clipboard-modes"/>.
 </para>
 </listitem>
-</varlistentry> 
+</varlistentry>
 
 <varlistentry>
 <term><guilabel>Non-text selection</guilabel></term>
@@ -263,7 +263,7 @@ is turned off ‐ in this case the selection is never automatically saved in
 clipboard history. See <xref linkend="clipboard-modes"/>.
 </para>
 </listitem>
-</varlistentry> 
+</varlistentry>
 
 </variablelist>
 
@@ -284,33 +284,11 @@ nothing with it.</para></listitem>
 <term><guilabel>Replay actions on an item selected from
 history</guilabel></term>
 <listitem><para>If this is switched on, selecting an item from the history
-causes &klipper; to display the actions pop-up on that item, if 
+causes &klipper; to display the actions pop-up on that item, if
 appropriate.</para>
 </listitem>
 </varlistentry>
 
-<varlistentry><term><guibutton>Exclude Windows</guibutton></term>
-<listitem><para>Brings up the <guilabel>Disable Actions for windows of type
-WM_CLASS</guilabel> dialog.</para>
-<para>Some programs, such as &konqueror;,
-use the clipboard internally. If you get unwanted &klipper; pop-ups all the time
-when using a certain application, do the following:</para>
-
-<orderedlist>
-<listitem><para>Open the application.</para></listitem>
-<listitem><para>From a terminal, run <userinput><command>xprop</command>
-| <command>grep</command> <parameter>WM_CLASS</parameter></userinput>
-and then click on the window of the application you are
-running.</para></listitem> 
-<listitem><para>The first string after the equals sign is the one to
-enter.</para></listitem>
-</orderedlist>
-
-<para>Once the WM_CLASS is added, no more actions will be generated for
-windows of that application.</para>
-</listitem>
-</varlistentry>
-
 <varlistentry>
 <term><guilabel>Remove white space when executing actions</guilabel></term>
 <listitem><para>If selected, any white space (spaces, tabs, &etc;) at the
@@ -323,7 +301,7 @@ cause an error.</para>
 
 <varlistentry>
 <term><guilabel>Include MIME actions</guilabel></term>
-<listitem><para>If selected, include applications that can accept its 
+<listitem><para>If selected, include applications that can accept its
 &MIME; type of a file name or URL selected in the popup menu.</para>
 </listitem>
 </varlistentry>
@@ -337,8 +315,8 @@ cause an error.</para>
 <varlistentry>
 <term>Editing Expressions/Actions</term>
 <listitem><para>On the <guilabel>Actions</guilabel> page, double-click
-the regular expression or action that you want to edit or select it and 
-press the <guibutton>Edit Action</guibutton> button. A dialog will appear in which the 
+the regular expression or action that you want to edit or select it and
+press the <guibutton>Edit Action</guibutton> button. A dialog will appear in which the
 expression text can be edited as you wish.</para></listitem>
 </varlistentry>
 
@@ -350,7 +328,7 @@ to add a regular expression for &klipper; to match. &klipper; uses
 Compatible Regular Expressions).</para>
 <para>You can add a description of the regular expression type (⪚
 <quote>HTTP URL</quote>) by <mousebutton>left</mousebutton> clicking in the
-<guilabel>Description</guilabel> column.</para>   
+<guilabel>Description</guilabel> column.</para>
 
 <note><para>You can find detailed information about the use of
 <classname>QRegularExpression</classname> regular expressions in <ulink
@@ -358,7 +336,7 @@ url="https://doc.qt.io/qt-5/qregularexpression.html#details">the Qt upstream
 documentation</ulink>.</para></note>
 
 <para>Edit the regular expression as described above. To add a command
-to execute, click <guimenuitem>Add Command</guimenuitem> and edit the command 
+to execute, click <guimenuitem>Add Command</guimenuitem> and edit the command
 in an in-place text editing box. Double-clicking on a command allows you to edit it.</para>
 
 <para>Note that <token>%s</token> in the command line is replaced with
@@ -401,14 +379,14 @@ shortcuts referred to in this manual.</para></listitem>
 <varlistentry>
 <term><guilabel>Custom</guilabel></term>
 <listitem><para>The selected action is assigned to the keys you choose.</para>
-<para>To choose a custom key for the action you have selected, click on 
+<para>To choose a custom key for the action you have selected, click on
 <guilabel>Custom</guilabel> and then <guilabel>None</guilabel>.
-Now type the desired key combination on your keyboard, as in any &kde; application. 
+Now type the desired key combination on your keyboard, as in any &kde; application.
 </para> </listitem>
 </varlistentry>
 </variablelist>
 
-<para>If you define a shortcut for <guilabel>Open Klipper at Mouse Position</guilabel> 
+<para>If you define a shortcut for <guilabel>Open Klipper at Mouse Position</guilabel>
 pressing this shortcut will open the &klipper; popup menu at the position of
 the mouse cursor, instead of their default position (in the &plasma; Panel).
 Useful if you use the mouse more than the keyboard.</para>
@@ -444,7 +422,7 @@ Documentation copyright 2000-2003, 2005 &Philip.Rodrigues;
 </chapter>
 
 
-&documentation.index; 
+&documentation.index;
 
 </book>
 <!--
diff --git a/klipper/configdialog.cpp b/klipper/configdialog.cpp
index d3373bb0473..10130fb8e08 100644
--- a/klipper/configdialog.cpp
+++ b/klipper/configdialog.cpp
@@ -22,7 +22,6 @@
 
 #include <KActionCollection>
 #include <KConfigSkeleton>
-#include <KEditListWidget>
 #include <KLocalization>
 #include <KShortcutsEditor>
 #include <kconfigskeleton.h>
@@ -279,17 +278,6 @@ then it can be shown by using the <shortcut>%1</shortcut> key shortcut.",
                                                  this);
     layout->addRow(QString(), hint);
 
-    // Exclusions
-    auto *exclusionsButton = new QPushButton(QIcon::fromTheme(QStringLiteral("configure")), i18n("Exclude Windows..."), this);
-    connect(exclusionsButton, &QPushButton::clicked, this, &PopupWidget::onAdvanced);
-
-    // Right align the push button, regardless of the QFormLayout style
-    auto *hb = new QHBoxLayout;
-    hb->setContentsMargins(0, 0, 0, 0);
-    hb->addStretch(1);
-    hb->addWidget(exclusionsButton);
-    layout->addRow(QString(), hb);
-
     // Action popup time
     item = KlipperSettings::self()->timeoutForActionPopupsItem();
     m_actionTimeoutSb = new QSpinBox(this);
@@ -317,38 +305,6 @@ then it can be shown by using the <shortcut>%1</shortcut> key shortcut.",
     layout->addRow(QString(), new QLabel(this));
 }
 
-void PopupWidget::setExcludedWMClasses(const QStringList &excludedWMClasses)
-{
-    m_exclWMClasses = excludedWMClasses;
-}
-
-QStringList PopupWidget::excludedWMClasses() const
-{
-    return m_exclWMClasses;
-}
-
-void PopupWidget::onAdvanced()
-{
-    QDialog dlg(this);
-    dlg.setModal(true);
-    dlg.setWindowTitle(i18n("Exclude Windows"));
-    auto *buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, &dlg);
-    buttons->button(QDialogButtonBox::Ok)->setShortcut(Qt::CTRL | Qt::Key_Return);
-    connect(buttons, &QDialogButtonBox::accepted, &dlg, &QDialog::accept);
-    connect(buttons, &QDialogButtonBox::rejected, &dlg, &QDialog::reject);
-
-    auto *widget = new AdvancedWidget(&dlg);
-    widget->setWMClasses(m_exclWMClasses);
-
-    auto *layout = new QVBoxLayout(&dlg);
-    layout->addWidget(widget);
-    layout->addWidget(buttons);
-
-    if (dlg.exec() == QDialog::Accepted) {
-        m_exclWMClasses = widget->wmClasses();
-    }
-}
-
 //////////////////////////
 //  ActionsWidget	//
 //////////////////////////
@@ -682,7 +638,6 @@ void ConfigDialog::updateSettings()
 
     m_klipper->setURLGrabberEnabled(KlipperSettings::uRLGrabberEnabled());
     m_klipper->urlGrabber()->setActionList(m_actionsPage->actionList());
-    m_klipper->urlGrabber()->setExcludedWMClasses(m_popupPage->excludedWMClasses());
     m_klipper->saveSettings();
 
     KlipperSettings::self()->save();
@@ -698,7 +653,6 @@ void ConfigDialog::updateWidgets()
 
     if (m_klipper && m_klipper->urlGrabber()) {
         m_actionsPage->setActionList(m_klipper->urlGrabber()->actionList());
-        m_popupPage->setExcludedWMClasses(m_klipper->urlGrabber()->excludedWMClasses());
     } else {
         qCDebug(KLIPPER_LOG) << "Klipper or grabber object is null";
         return;
@@ -711,8 +665,7 @@ void ConfigDialog::updateWidgetsDefault()
 {
     // The user clicked "Defaults".  Restore the default values for
     // widgets which are not managed by KConfigDialogManager.  The
-    // settings of "Actions Configuration" and "Excluded Windows"
-    // are not reset to the default.
+    // settings of "Actions Configuration" are not reset to the default.
 
     m_shortcutsWidget->allDefault();
 }
@@ -722,60 +675,4 @@ bool ConfigDialog::hasChanged()
     return (m_actionsPage->hasChanged() || m_shortcutsWidget->isModified());
 }
 
-//////////////////////////
-//  AdvancedWidget	//
-//////////////////////////
-
-AdvancedWidget::AdvancedWidget(QWidget *parent)
-    : QWidget(parent)
-{
-    auto *mainLayout = new QVBoxLayout(this);
-
-    QLabel *hint = ConfigDialog::createHintLabel(xi18nc("@info",
-                                                        "The action popup will not be shown automatically for these windows, \
-even if it is enabled. This is because, for example, a web browser may highlight a URL \
-in the address bar while typing, so the menu would show for every keystroke.\
-<nl/>\
-<nl/>\
-If the action menu appears unexpectedly when using a particular application, then add it to this list. \
-<link>How to find the name to enter</link>."),
-                                                 this);
-
-    mainLayout->addWidget(hint);
-    connect(hint, &QLabel::linkActivated, this, [hint]() {
-        QToolTip::showText(QCursor::pos(),
-                           xi18nc("@info:tooltip",
-                                  "The name that needs to be entered here is the WM_CLASS name of the window to be excluded. \
-To find the WM_CLASS name for a window, in another terminal window enter the command:\
-<nl/>\
-<nl/>\
-  <icode>xprop | grep WM_CLASS</icode>\
-<nl/>\
-<nl/>\
-and click on the window that you want to exclude. \
-The first name that it displays after the equal sign is the one that you need to enter."),
-                           hint);
-    });
-
-    mainLayout->addWidget(hint);
-    mainLayout->addWidget(new QLabel(this));
-
-    m_editListBox = new KEditListWidget(this);
-    m_editListBox->setButtons(KEditListWidget::Add | KEditListWidget::Remove);
-    m_editListBox->setCheckAtEntering(true);
-    mainLayout->addWidget(m_editListBox);
-
-    m_editListBox->setFocus();
-}
-
-void AdvancedWidget::setWMClasses(const QStringList &items)
-{
-    m_editListBox->setItems(items);
-}
-
-QStringList AdvancedWidget::wmClasses() const
-{
-    return m_editListBox->items();
-}
-
 #include "moc_configdialog.cpp"
diff --git a/klipper/configdialog.h b/klipper/configdialog.h
index 4f282142d02..92667d5586b 100644
--- a/klipper/configdialog.h
+++ b/klipper/configdialog.h
@@ -14,7 +14,6 @@ class KConfigSkeleton;
 class KConfigSkeletonItem;
 class KShortcutsEditor;
 class Klipper;
-class KEditListWidget;
 class KActionCollection;
 class QCheckBox;
 class QRadioButton;
@@ -66,12 +65,6 @@ public:
     explicit PopupWidget(QWidget *parent);
     ~PopupWidget() override = default;
 
-    void setExcludedWMClasses(const QStringList &);
-    QStringList excludedWMClasses() const;
-
-private Q_SLOTS:
-    void onAdvanced();
-
 private:
     QCheckBox *m_enablePopupCb;
     QCheckBox *m_historyPopupCb;
@@ -79,8 +72,6 @@ private:
     QCheckBox *m_mimeActionsCb;
 
     QSpinBox *m_actionTimeoutSb;
-
-    QStringList m_exclWMClasses;
 };
 
 class ActionsWidget : public QWidget
@@ -122,22 +113,6 @@ private:
     ActionList m_actionList;
 };
 
-// only for use inside PopupWidget
-class AdvancedWidget : public QWidget
-{
-    Q_OBJECT
-
-public:
-    explicit AdvancedWidget(QWidget *parent = nullptr);
-    ~AdvancedWidget() override = default;
-
-    void setWMClasses(const QStringList &items);
-    QStringList wmClasses() const;
-
-private:
-    KEditListWidget *m_editListBox;
-};
-
 class ConfigDialog : public KConfigDialog
 {
     Q_OBJECT
diff --git a/klipper/klipper.kcfg b/klipper/klipper.kcfg
index a8de59643a8..3231a07dce9 100644
--- a/klipper/klipper.kcfg
+++ b/klipper/klipper.kcfg
@@ -52,10 +52,6 @@
 	<tooltip>Show the popup menu of applicable actions as soon as a selection is made.</tooltip>
         <default>false</default>
     </entry>
-    <entry name="NoActionsForWM_CLASS" type="StringList">
-        <default>Navigator,navigator:browser,konqueror,keditbookmarks,mozilla-bin,Mozilla,Opera main window,opera,gnumeric,Gnumeric,Galeon,kcontrol,ksirc,MozillaFirebird-bin,firefox-bin,Firefox-bin,klipper,Gecko,gecko</default>
-        <label>No actions for WM_CLASS</label>
-    </entry>
     <entry name="TimeoutForActionPopups" type="Int">
         <label>Automatic action menu time:</label>
         <default>8</default>
diff --git a/klipper/urlgrabber.cpp b/klipper/urlgrabber.cpp
index 4dada964714..34f6c5df91b 100644
--- a/klipper/urlgrabber.cpp
+++ b/klipper/urlgrabber.cpp
@@ -22,8 +22,6 @@
 #include <KNotificationJobUiDelegate>
 #include <KService>
 #include <KStringHandler>
-#include <KWindowInfo>
-#include <KX11Extras>
 
 #include "clipcommandprocess.h"
 #include "klippersettings.h"
@@ -155,11 +153,6 @@ void URLGrabber::actionMenu(HistoryItemConstPtr item, bool automatically_invoked
     const ActionList matchingActionsList = matchingActions(text, automatically_invoked);
 
     if (!matchingActionsList.isEmpty()) {
-        // don't react on blacklisted (e.g. konqi's/netscape's urls) unless the user explicitly asked for it
-        if (automatically_invoked && isAvoidedWindow()) {
-            return;
-        }
-
         m_myCommandMapper.clear();
 
         m_myPopupKillTimer->stop();
@@ -262,7 +255,6 @@ void URLGrabber::execute(const ClipAction *action, int cmdIdx) const
 void URLGrabber::loadSettings()
 {
     m_stripWhiteSpace = KlipperSettings::stripWhiteSpace();
-    m_myAvoidWindows = KlipperSettings::noActionsForWM_CLASS();
     m_myPopupKillTimeout = KlipperSettings::timeoutForActionPopups();
 
     qDeleteAll(m_myActions);
@@ -289,19 +281,6 @@ void URLGrabber::saveSettings() const
         action->save(config, group);
         ++i;
     }
-
-    KlipperSettings::setNoActionsForWM_CLASS(m_myAvoidWindows);
-}
-
-// find out whether the active window's WM_CLASS is in our avoid-list
-bool URLGrabber::isAvoidedWindow() const
-{
-    const WId active = KX11Extras::activeWindow();
-    if (!active) {
-        return false;
-    }
-    KWindowInfo info(active, NET::Properties(), NET::WM2WindowClass);
-    return m_myAvoidWindows.contains(QString::fromLatin1(info.windowClassName()));
 }
 
 void URLGrabber::slotKillPopupMenu()
diff --git a/klipper/urlgrabber.h b/klipper/urlgrabber.h
index d3bec33951c..03d7ce82908 100644
--- a/klipper/urlgrabber.h
+++ b/klipper/urlgrabber.h
@@ -59,15 +59,6 @@ public:
         m_myPopupKillTimeout = timeout;
     }
 
-    QStringList excludedWMClasses() const
-    {
-        return m_myAvoidWindows;
-    }
-    void setExcludedWMClasses(const QStringList &list)
-    {
-        m_myAvoidWindows = list;
-    }
-
     bool stripWhiteSpace() const
     {
         return m_stripWhiteSpace;
@@ -80,13 +71,11 @@ public:
 private:
     const ActionList &matchingActions(const QString &, bool automatically_invoked);
     void execute(const ClipAction *action, int commandIdx) const;
-    bool isAvoidedWindow() const;
     void actionMenu(std::shared_ptr<const HistoryItem> item, bool automatically_invoked);
     void matchingMimeActions(const QString &clipData);
 
     ActionList m_myActions;
     ActionList m_myMatches;
-    QStringList m_myAvoidWindows;
     std::shared_ptr<const HistoryItem> m_myClipItem;
     ClipAction *m_myCurrentAction;
 


More information about the kde-doc-english mailing list