Commit graph

58 commits

Author SHA1 Message Date
Martin Flöser
1d71292e13 Add a method to dbus interface to query information about a window
Summary:
This call is added for the window rules kcm which has a detect
functionality. As that detect functionality cannot query any Wayland
windows we need to have some functionality in KWin core. Furthermore
this allows to simplify the code in the kcm as all the custom X11
interaction can be removed. KWin internally has the functionality to
find a window at a given position.

From a security perspective adding this dbus method is fine as the user
stays in control of the functionality. It requires active click to
select a window.

The new dbus call is already used in the rules kcm replacing the
X11 based detect functionality. That a detect is now able to get
information for both X11 and Wayland windows. So far only X11 windows
on X11 were supported. So this fills an important gap in the Wayland
offerings. It should now be possible to create rules for Wayland
windows (though may not be fully functional).

Test Plan: Run the kwin_rules_dialog and it detected the window correctly

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D10490
2018-02-25 14:12:04 +01:00
Martin Gräßlin
2a8ab547e1 Move X11Cursor into the x11standalone platform plugin
At the same time the xinput2 integration is split out of X11Cursor
and made a standalone part of the platform plugin. XInput integration
is nowadays not only used by the cursor position polling, but also
for modifier only shortcuts.

By splitting it out the modifier shortcuts start to work also when
one doesn't have anything requesting a mouse position polling.

This also simplifies the conditional builds: xinput integration is
only included if we have support for it at compile time without having
to have many ifdefs in the cursor implementation. For the inclusion of
cursor in the kcmkwin this also removes all the ifdefs.

The key events are only requested if we have xinput 2.1. Otherwise we
would not get all raw events if the input device gets grabbed.

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D2473
2016-08-19 10:57:09 +02:00
Martin Gräßlin
03700500be Create Cursor instance through Platform
By default the InputRedirectionCursor is created and only the X11
standalone platform creates the X11 specific cursor.

This is a preparation step for moving the X11 specific cursor
implementation into the x11standalone platform plugin.
2016-08-19 10:57:09 +02:00
Kevin Funk
8ea4f4dae7 Port to CMake AUTOMOC
Summary: Run convert-to-cmake-automoc.pl over all .cpp files

Differential Revision: https://phabricator.kde.org/D882
2016-02-01 21:05:36 +01:00
Nick Shaforostoff
3a8d7d866a optimize string operations
-use qstringliteral only when necessary (i.e. not in concat or comparison)
-use qbytearray instead of qstring when dealing with latin1 input and output (glplatform)
-use qstringref to extract numbers from strings (glplatform)
-define qt_use_qstringbuilder to optimize all string concatenations
-anidata: use ctor init lists, add windowType member initialization

REVIEW: 125933
2015-11-05 14:14:06 +00:00
Thomas Lübking
8855f47f34 lazy setting of xbc properties on qApp
just a wild guess - the crashes showed up
somewhen after the early setting of the property/
X11Info access - if this indeed is the cause, they
should disappear or only appear after actually using
the detect button. We'll see.

CCBUG: 346748
REVIEW: 123777
2015-05-15 23:55:28 +02:00
Aleix Pol
c72e519d9c Remove KDE/ prefix in include directories
It's unneeded and deprecated since KF5.
2014-03-17 16:24:10 +01:00
Martin Gräßlin
fdee4ea8c8 Adjust kde-workspace to introduction of flags in NET classes 2014-02-05 17:40:19 +01:00
Martin Gräßlin
823222567e [kwin/kcmrules] Use a pointer for the KWindowInfo member variable
The reason for this change is that the default ctor of KWindowInfo
creates a broken object. Calling any method in it will result in a
crush. Thus it is scheduled for removal in kwindowsystem framework
causing this code to no longer compile.

The solution is to use a pointer and set it to null as long as the
window has not been detected yet. To ensure that this doesn't fail
badly an assert is added to the getter in DetectWidget.
2014-01-30 10:35:35 +01:00
Matteo De Carlo
aad36da80b Replace NULL with nullptr in kcmkwin
Replacing all NULL to nullptr in all the files in kcmkwin folder
(also substituting some "0" used as nullptr with nullptr)

REVIEW: 114803
2014-01-08 10:30:38 +01:00
Aleix Pol
f8468b4043 Drop KDE4Support in kde-workspace/kwin
REVIEW: 114316
2013-12-05 20:24:02 +01:00
Bhushan Shah
935851a2b5 kDebug -> qDebug in kwin 2013-11-01 17:00:41 +05:30
Martin Gräßlin
5b1f4a4131 [kwinrules] Use KWin::Cursor to map Qt::CursorShape to an X cursor
Needed for grabbing the pointer.
2013-09-30 09:53:56 +02:00
Martin Gräßlin
7d21d612fe [kwinrules] Use native event filter for mouse button release detection
The event filtering on Qt level does not work any more. The information
is not updated properly. Grabbing the mouse through QWidget resets the
cursor shape to the default shape, so it cannot be used.

As we don't want Qt to ever see the events it's a good idea to use a
native event filter to filter the events away before they are delivered
to Qt.

To simplify the handling the grabber widget is put into a QScopedPointer.
2013-09-30 09:53:01 +02:00
Thomas Lübking
4ec1a9bb3a rules kcm, detection use X11 to grab the pointer
BUG: 318437
REVIEW: 110078
FIXED-IN: 4.11
2013-04-28 17:39:16 +02:00
Martin Gräßlin
60c42b7a34 s/KLocale/KLocalizedString/g
Many headers included KLocale to use i18n and co. But those methods are
defined in KLocalizedString and not in KLocale.

With KF5 klocale.h does no longer include KLocalizedString causing lots
of compile errors.
2013-03-07 13:59:15 +01:00
Thomas Lübking
b0e4bcb984 demystify detection dialog for window rules
REVIEW: 103095
2011-11-09 21:24:08 +01:00
Thomas Lübking
9ec32d5942 4.7 backportable rules ui fixes
remove uncertain "extra role" match
fix shortcut editor s/s connection

REVIEW: 7001
2011-10-05 23:54:06 +02:00
Thomas Lübking
d233891da7 make kwinrules kcm more user friendly 2011-05-08 21:30:15 +02:00
Martin Gräßlin
0a7e48f7aa KWin uses kdelibs coding style. 2011-01-31 20:07:03 +01:00
Luboš Luňák
93636cb37c Make the helper dialog modal, probably a Qt4-porting error.
BUG: 156872


svn path=/trunk/KDE/kdebase/workspace/; revision=788878
2008-03-22 19:08:33 +00:00
Luboš Luňák
26149b29fb Porting uic3->uic4 is fun.
svn path=/trunk/KDE/kdebase/workspace/; revision=731738
2007-11-01 18:51:01 +00:00
Pino Toscano
ee84e19a8f less qt3support
svn path=/trunk/KDE/kdebase/workspace/; revision=707454
2007-09-01 22:29:47 +00:00
Lukas Kropatschek
b3dc1a7c84 Various Krazy-issues fixes...
svn path=/trunk/KDE/kdebase/workspace/; revision=693657
2007-07-28 15:55:22 +00:00
Luboš Luňák
7a0f50b298 KWM->KWindowSystem
svn path=/trunk/KDE/kdebase/workspace/; revision=659662
2007-04-30 15:48:34 +00:00
Luboš Luňák
9faad7bc5e Merging from old trunk:
r601561 | mlaurent | 2006-11-03 17:35:38 +0100 (Fri, 03 Nov 2006) | 2 lines

Port to uic4


svn path=/trunk/KDE/kdebase/workspace/; revision=659298
2007-04-29 22:30:07 +00:00
Luboš Luňák
f52b8e48cd branches/work/kwin_composite becomes new trunk kwin.
svn path=/trunk/KDE/kdebase/workspace/; revision=659202
2007-04-29 17:35:43 +00:00
Luboš Luňák
2b7e1f4993 Remove kwin, kwin_composite will become new trunk kwin, missing merges
from trunk will be merged in.


svn path=/trunk/KDE/kdebase/workspace/; revision=659200
2007-04-29 17:34:49 +00:00
Luboš Luňák
2c928221a4 namespace KWinInternal -> KWin - shorter typing of names in gdb, yay
svn path=/trunk/KDE/kdebase/workspace/; revision=650773
2007-04-05 12:12:10 +00:00
Luboš Luňák
e3b865cd5f namespace KWinInternal -> KWin - shorter typing of names in gdb, yay
svn path=/branches/work/kwin_composite/; revision=650770
2007-04-05 12:07:35 +00:00
Luboš Luňák
3617d1bf8a Merge r649608, r649403, r649230 and r648582 from trunk (porting).
svn path=/branches/work/kwin_composite/; revision=649948
2007-04-03 13:24:05 +00:00
Luboš Luňák
10ea80a963 KWin/KWinModule -> KWM
svn path=/trunk/KDE/kdebase/workspace/; revision=649608
2007-04-02 21:30:50 +00:00
Laurent Montel
cb0aca57ad Port to uic4
svn path=/trunk/KDE/kdebase/workspace/; revision=601561
2006-11-03 16:35:38 +00:00
Tobias Koenig
9bb648da59 Ported to new KDialog/KPageWidget/KPageDialog
svn path=/trunk/KDE/kdebase/workspace/; revision=551107
2006-06-13 17:41:00 +00:00
Thorsten Roeder
e000f78091 fixing some EBN issues
svn path=/trunk/KDE/kdebase/workspace/; revision=542916
2006-05-20 15:56:37 +00:00
Laurent Montel
5725624c8b #include <q...h> -> #include <Q...>
svn path=/trunk/KDE/kdebase/workspace/; revision=540496
2006-05-13 16:33:18 +00:00
Laurent Montel
7f7ce52d78 #include <q...h> -> #include <Q...>
svn path=/trunk/KDE/kdebase/workspace/; revision=539617
2006-05-11 08:04:23 +00:00
Tobias Koenig
848bc14335 deprecated--
svn path=/trunk/KDE/kdebase/workspace/; revision=529106
2006-04-12 15:13:31 +00:00
Script Kiddy
19e65c92dc Fix FSF address
(mainly s/Steet/Street/;s/Cambridge/Boston/ )

svn path=/trunk/KDE/kdebase/workspace/; revision=490222
2005-12-21 06:45:09 +00:00
Dirk Mueller
e20f2bd6b2 SVN_SILENT: fix typo
svn path=/trunk/KDE/kdebase/kdm/; revision=467416
2005-10-05 08:44:32 +00:00
Laurent Montel
3a34ab6a10 Byebye q3cstring
svn path=/trunk/KDE/kdebase/workspace/; revision=463842
2005-09-25 14:51:13 +00:00
Stephan Kulow
b464518b3c svn merge svn+ssh://coolo@svn.kde.org/home/kde/trunk/KDE/kdebase@438057
svn+ssh://coolo@svn.kde.org/home/kde/branches/work/kde4/kdebase
          .

I couldn't resolve one kicker conflict that results from different
development directions, so I rely on Aaron to sort it out - the file
is commited with conflicts

svn path=/trunk/KDE/kdebase/kwin/; revision=439627
2005-07-28 14:59:42 +00:00
Dirk Mueller
da212229af SVN_SILENT update FSF address
svn path=/trunk/KDE/kdebase/kwin/; revision=433335
2005-07-10 13:44:16 +00:00
Luboš Luňák
65c3b55e05 Revert last revert, dynamic keybidings are back in.
svn path=/trunk/kdebase/kwin/; revision=377118
2005-01-10 09:56:21 +00:00
Luboš Luňák
c7d0776f01 Revert last changes because of temporary freeze.
svn path=/trunk/kdebase/kwin/; revision=375467
2005-01-04 14:57:42 +00:00
Luboš Luňák
cf499ce821 Allow matching also the title in the detect dialog.
svn path=/trunk/kdebase/kwin/; revision=375450
2005-01-04 14:10:14 +00:00
Luboš Luňák
d4610e5520 Preselect option for using a specific window instead of whole app.
svn path=/trunk/kdebase/kwin/; revision=340348
2004-08-24 08:35:47 +00:00
Luboš Luňák
a9517d38c2 Pre-fill geometry, state etc. to inactive settings in order to
make it simpler to have an equivalent of 3.2's Save window settings.

svn path=/trunk/kdebase/kwin/; revision=335931
2004-08-04 11:00:40 +00:00
Luboš Luňák
2e5c41ad63 Don't even offer the possibility to match using window role if the window
doesn't have it set.

svn path=/trunk/kdebase/kwin/; revision=334156
2004-07-30 13:38:02 +00:00
Luboš Luňák
3966017ccd Fill (or pre-fill) more values from the detect dialog for matching the window.
svn path=/trunk/kdebase/kwin/; revision=334154
2004-07-30 13:35:55 +00:00