Commit Graph

79 Commits (7c1c9d8164d043d9e6c0457d9754b3717162c00b)

Author SHA1 Message Date
Henri Chain 7c1c9d8164 Port kwinrules kcm to kconfigxt
Reviewers: meven, crossi, bport, ervin, #kwin

Subscribers: iasensio, ognarb, zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D27682
2020-03-16 13:21:43 +01:00
David Edmundson 996e840172 Drop kdeinit linking
Summary:
This wasn't used on startup (ksmserver calls KProcess)
Nor for the rules dialog (kwin invokes it with QProcess)

We may as well simplify the code and drop the dependency

See also T12140

Test Plan:
Restarted
Opened the rules dialog

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D26835
2020-01-22 12:46:10 +00:00
Guo Yunhe 87a2100f6a Enable HiDPI rendering for rules dialog and killer dialog.
Summary: Enable AA_UseHighDpiPixmaps application attribute

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D23987
2019-09-16 15:06:35 +03:00
Martin Flöser 0b28abeb01 Port window specific rules dialog to DBus
Summary:
The dialog invoked through user actions menu takes the internal uuid as
command line argument which allows to query the required information
from KWin instead of using X11.

This allows to enable the system for Wayland windows.

In order to replace the usage of ClientMachine in the rules dialog the
dbus interface is extended by a value whether the window is on the
localhost. This is exposed through a virtual method on toplevel which is
overridden in ShellClient and there always returning true.

Test Plan: Run a nested Wayland and opened the dialog on a wayland window

Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D17750
2018-12-31 07:58:12 +01:00
David Edmundson f3060723e1 [kcmkwin/kwinrules] Don't include kdeglobals in rules config
Summary:
There's nothing relevant in kdeglobals and loading it can lead to noise
when deleting groups that override a system default.

We still cascade which will allow kiosk keys to work as well as relevant
system defaults.

Import/Export is unchanged as that already uses SimpleConfig which
includes this flag.

I don't know if it will fix the relevant issue in the bug or just
reduce noise.

CCBUG: 402139

Test Plan: Compiled.

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D17645
2018-12-19 13:07:50 +00:00
David Edmundson a3cff85e7a Remove Qt module declarations in includes
Summary:
Test Plan: Compiles

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D13359
2018-06-05 18:07:23 +01:00
Martin Flöser 7bf4a94286 Disable window rule configuration for Wayland
Summary:
The window rule detection is too bound to X11 for it to work for
Wayland windows. In fact it results in the config module just crashing.
Thus it's better to just disable the items in the menu. As it's only for
X11 windows we can also enforce platform xcb for the rules dialog.

Test Plan: Menu disabled on Wayland window, menu enabled on Xwayland window

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D10594
2018-02-21 18:06:47 +01:00
Martin Gräßlin 346619aa36 Remove KWin::display from kwinglobals
Summary:
And finally nothing inside libkwineffects, libkwinglutils,
libkwinxrenderutils and kwineffect and kwin core uses KWin::display.
We are finally XLib free!

This change drops KWin::display and removes the include to QX11Info from
kwinglobals.h. And the libraries no longer need to link X11Extras.  Due
to that removal a few seeming unrelated changes are required to add the
include where needed and linkage to X11Extras.

The biggest change is to x11 platform plugin which still needs the
display and caches it in the Platform and passes it to various places in
a way that the code doesn't need to be adjusted.

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D3337
2016-11-16 18:00:00 +01:00
Thomas Lübking 6a27626090 set still required xcb properties in findRule
which is invoked "in place" of the detect button
when calling the kcm as special window/application
setting from the Alt+F3 menu

BUG: 348472
REVIEW: 123953
2015-06-03 21:22:38 +02:00
Thomas Lübking 87a3d01a75 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 22:02:52 +02:00
Martin Gräßlin 67d7eb7120 [kcmkwin/rules] Fix kdeinit_kwin_rules_dialog crashing on start
It needs to install the x11connection on the QApplication as it uses
kwinglobals.h internally. Same fix as already done for the KCM, see
305387ec3a.

Thanks to soee on #plasma for reporting the issue just in time to make
Riddell hold the release off.
2015-04-23 09:36:31 +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 abecbf2369 [kwin] Port away from deprecated functionality in KWindowSystem
Less warnings and more type safety.
2014-03-17 10:22:20 +01:00
Martin Gräßlin fdee4ea8c8 Adjust kde-workspace to introduction of flags in NET classes 2014-02-05 17:40:19 +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
Martin Gräßlin e92d02ab61 [kwin] Remove include of kdemacros.h from kwinglobals
Instead we generate an export header for kdeinit_kwin and use it
to declare the KWIN_EXPORT. With this change our libs don't include
any KDE4Support headers any more. One step closer to no KDE4Support.
2013-12-06 08:37:16 +01:00
Aleix Pol f8468b4043 Drop KDE4Support in kde-workspace/kwin
REVIEW: 114316
2013-12-05 20:24:02 +01: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
Martin Gräßlin 5cd223f051 Improved resolving whether a window is on local machine
Most windows use the hostname in WM_CLIENT_MACHINE, but there are windows
using the FQDN (for example libreoffice). So instead of "foo" it is
"foo.local.net" or similar. The logic so far has been unable to properly
determine whether windows with FQDN are on the local system.

In order to solve this problem the handling is split out into an own
class which stores the information of hostname and whether it is a local
machine. This is to not query multiple times. To determine whether the
Client is on the local system getaddrinfo is used for the own hostname
and the FQDN provided in WM_CLIENT_MACHINE. If one of the queried
names matches, we know that it is on the local machine. The old logic to
compare the hostname is still used and getaddrinfo is only a fallback in
case hostname does not match.

The problem with getaddrinfo is, that it accesses the network and by that
could block. To circumvent this problem the calls are moved into threads
by using QtConcurrent::run.

Obviously this brings disadvantages. When trying to resolve whether a
Client is on the local machine and a FQDN is used, the information is
initially wrong. The new ClientMachine class emits a signal when the
information that the system is local becomes available, but for some
things this is just too late:
* window rules are already gathered
* Session Management has already taken place

In both cases this is an acceptable loss. For window rules it just needs
a proper matching of the machine in case of localhost (remote hosts are
not affected). And the case of session management is very academic as it
is unlikely that a restoring session contains remote windows.

BUG: 308391
FIXED-IN: 4.11
REVIEW: 108235
2013-01-21 16:00:49 +01:00
Thomas Lübking fe96a02960 align special application settings dialog title
BUG: 288586
FIXED-IN: 4.9
REVIEW: 104279
2012-03-18 22:23:26 +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
Martin Gräßlin 0a7e48f7aa KWin uses kdelibs coding style. 2011-01-31 20:07:03 +01:00
Laurent Montel 5535a9de5e Fix iterator
svn path=/trunk/KDE/kdebase/workspace/; revision=883047
2008-11-11 23:09:11 +00:00
Luboš Luňák a59f0a7f5e Revert r768755. There apparently is a need to have two calls.
The wonders of dbus ...


svn path=/trunk/KDE/kdebase/workspace/; revision=768770
2008-01-30 16:08:23 +00:00
Luboš Luňák 47bf19d978 There's really no need to have two dbus functions for reconfiguring.
svn path=/trunk/KDE/kdebase/workspace/; revision=768755
2008-01-30 15:31:44 +00:00
Laurent Montel 61fa445581 Deprecated--
svn path=/trunk/KDE/kdebase/workspace/; revision=726663
2007-10-18 14:02:54 +00:00
Chusslove Illich bdb46a1769 Interface modifications to KCmdLineArgs, KAboutData and KComponentData; BIC, SIC. Most of the depending code has been auto-converted to new API.
svn path=/trunk/KDE/kdebase/workspace/; revision=682259
2007-07-02 08:49:20 +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 047ad1b80a Merging from old trunk:
r619161 | mlaurent | 2007-01-02 22:48:19 +0100 (Tue, 02 Jan 2007) | 2 lines

Use signal to refresh config into all kwin instance


svn path=/trunk/KDE/kdebase/workspace/; revision=659520
2007-04-30 11:32:47 +00:00
Luboš Luňák ff291be58f Merging from old trunk:
r615451 | mlaurent | 2006-12-21 16:34:31 +0100 (Thu, 21 Dec 2006) | 2 lines

Use dbus interface


svn path=/trunk/KDE/kdebase/workspace/; revision=659495
2007-04-30 10:01:00 +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 6cae287d2a KWM::WindowInfo -> KWindowInfo
svn path=/branches/work/kwin_composite/; revision=653880
2007-04-14 13:35:00 +00:00
Aaron J. Seigo 81f00aa8b8 KWindowInfo
svn path=/trunk/KDE/kdebase/workspace/; revision=651965
2007-04-09 18:30:03 +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
Luboš Luňák 8af21ee5b3 merge r635823 from trunk
svn path=/branches/work/kwin_composite/; revision=636609
2007-02-23 14:38:01 +00:00
Barış Metin 12d1b8b0fd setGroup to KConfigGroup
svn path=/trunk/KDE/kdebase/workspace/; revision=635823
2007-02-21 02:59:04 +00:00
Dirk Mueller 249a84c5d9 merge in kconfig changes to make it compile
svn path=/branches/work/kwin_composite/; revision=635791
2007-02-20 22:31:26 +00:00
Stephan Kulow ab1fe691d8 merged kconfiggroup_port branch
svn path=/trunk/KDE/kdebase/workspace/; revision=635490
2007-02-20 07:00:30 +00:00
Laurent Montel 9350d02134 Use signal to refresh config into all kwin instance
svn path=/trunk/KDE/kdebase/workspace/; revision=619161
2007-01-02 21:48:19 +00:00
Laurent Montel 074f3342e0 Use dbus interface
svn path=/trunk/KDE/kdebase/workspace/; revision=615451
2006-12-21 15:34:31 +00:00
Dirk Mueller ecd63e0d90 merge changes from bleeding edge branch
svn path=/trunk/KDE/kdebase/workspace/; revision=557225
2006-07-02 18:31:00 +00:00
David Faure 2ffa69988e Fix dbus object path to match the registerObject() in kwin's code
svn path=/trunk/KDE/kdebase/workspace/; revision=555465
2006-06-27 14:41:20 +00:00
Luboš Luňák 04c9d42dfd DBUS changes - make it compile. The DBUS HOWTO is pretty lacking
in some areas and I wonder how many things will be broken by
people not quite knowing what they're doing :-/.


svn path=/trunk/KDE/kdebase/workspace/; revision=549400
2006-06-08 13:43:23 +00:00
Tobias Koenig 848bc14335 deprecated--
svn path=/trunk/KDE/kdebase/workspace/; revision=529106
2006-04-12 15:13:31 +00:00
Hamish Rodda 77bc9cd63d Merging in from bleeding edge kdebase branch
- i18n ported
- KAccel removed
- Some fixes for OS X

svn path=/trunk/KDE/kdebase/workspace/; revision=528190
2006-04-10 11:57:13 +00:00
Luboš Luňák f64f8d15ae No bit operations with signed types.
svn path=/trunk/KDE/kdebase/workspace/; revision=527741
2006-04-09 09:23:16 +00:00