Commit Graph

12777 Commits (551b3a4c48eeceef562a9e9db7c558b906480aea)

Author SHA1 Message Date
Martin Gräßlin 551b3a4c48 Switch to xcb for sync extension
Since XCB 1.10 the sync extension is working properly. At the time of
the 5.3 release 1.10 will have been out for ~15 months, enough time
for distros to catch up and should allow us to use it.

As our CI system only supports 1.9 at the moment we cannot hard depend
on the version, instead we use feature info. As soon as our CI system
supports it, we should update the required min version and kick out the
ifdef.

REVIEW: 122377
2015-02-06 13:43:15 +01:00
Martin Gräßlin 0faf2fbcf8 Use xcb_cursor library instead of Xlib based one in Cursor
Straight forward port from XLib based XCursor library to the
xcb variant which is considerably new. The xcb variant only allows
to create xcb_cursor_t for the default theme and size. Which suits
the needs in Cursor quite well, but means it's not a replacement for
the usage in zoom effect.

REVIEW: 122290
2015-02-06 13:41:18 +01:00
Martin Gräßlin 45519677b2 Merge branch 'Plasma/5.2' 2015-02-06 09:41:15 +01:00
Martin Gräßlin 7b5cf8bcdc [effects] Ensure the correct cursor shape is set for mouse interception
When starting mouse interception the window might already be created
in which case the cursor wasn't defined. So let's always set it.

REVIEW: 12232
2015-02-06 09:40:30 +01:00
Thomas Lübking 93fb58aa88 Merge branch 'Plasma/5.2' 2015-02-06 00:29:55 +01:00
Thomas Lübking ff700a8db5 fix e3768b4355
accidentally picked the patch from the wrong branch
just about comments
2015-02-06 00:27:31 +01:00
Thomas Lübking 74e3167732 save geom_restore before calling for border update
otherwise the stored geometry would be correct for
maximized borders, thus the unmaximized borders
make the window to small on unmaximizing

BUG: 343691
FIXED-IN: 5.2.1
REVIEW: 122416
2015-02-05 21:37:34 +01:00
Thomas Lübking 956941bc95 correctly handle virtual desktop on packing
copy approach from smart placement

REVIEW: 122417
2015-02-05 21:37:34 +01:00
Thomas Lübking d5f126f0c8 Rules: make WindowRole matching case sensitive
required by KWindowInfo forwarding
BUG: 343709
FIXED-IN: 5.2.1
REVIEW: 122407
2015-02-05 21:37:34 +01:00
Thomas Lübking fdcb0e6180 correctly test whether client is on a VD
when considering if for a directional
focus switch

BUG: 331512
REVIEW: 122292
FIXED-IN: 5.3
2015-02-05 21:37:34 +01:00
Thomas Lübking 9f3656c917 Cover+Flip, multiscreen: fix matrix manipulation
Moves calculation of projection and modelview matrix
(aligned to new scene_opengl code) to effect start,
caches the matrices in private members and sets them
on WindowPaintData

BUG: 343509
REVIEW: 122355
FIXED-IN: 5.3
2015-02-05 21:37:34 +01:00
Thomas Lübking 2e820dbdef do not wrap text in deco button drag source
The text cannot be aligned to the icon (makes
it move around when dragging the icon) nor
can we just allocate two line (makes single lines
detached from the icon)

BUG: 343411
REVIEW: 122301
FIXED-IN: 5.2.1
2015-02-05 21:37:33 +01:00
Thomas Lübking f496a91e59 updateFocusMousePosition() before some actions
in particular artificial geometry updates that should not
update the focus and are prone to a static cursor

BUG: 343319
REVIEW: 122299
FIXED-IN: 5.2.1
2015-02-05 21:37:33 +01:00
Thomas Lübking 96628a698c use xcb_time_current_time as setinputfocus default
BUG: 343430
REVIEW: 122298
FIXED-IN: 5.2.1
2015-02-05 21:37:33 +01:00
Thomas Lübking 92aa2fb553 save geom_restore before calling for border update
otherwise the stored geometry would be correct for
maximized borders, thus the unmaximized borders
make the window to small on unmaximizing

BUG: 343691
FIXED-IN: 5.2.1
REVIEW: 122416
2015-02-05 17:15:11 +01:00
Thomas Lübking fa1368cb9e correctly handle virtual desktop on packing
copy approach from smart placement

REVIEW: 122417
2015-02-05 17:14:23 +01:00
Thomas Lübking 4f7edb8d74 Rules: make WindowRole matching case sensitive
required by KWindowInfo forwarding
BUG: 343709
FIXED-IN: 5.2.1
REVIEW: 122407
2015-02-05 17:14:08 +01:00
Thomas Lübking 49fa157f0f do not wrap text in deco button drag source
The text cannot be aligned to the icon (makes
it move around when dragging the icon) nor
can we just allocate two line (makes single lines
detached from the icon)

BUG: 343411
REVIEW: 122301
FIXED-IN: 5.2.1
2015-02-05 17:05:56 +01:00
Thomas Lübking e3768b4355 updateFocusMousePosition() before some actions
in particular artificial geometry updates that should not
update the focus and are prone to a static cursor

BUG: 343319
REVIEW: 122299
FIXED-IN: 5.2.1
2015-02-05 17:05:34 +01:00
Thomas Lübking 2390024f69 use xcb_time_current_time as setinputfocus default
BUG: 343430
REVIEW: 122298
FIXED-IN: 5.2.1
2015-02-05 17:05:14 +01:00
Martin Gräßlin 87caab24ca Drop support for XFree86-VidModeExtension
Was only used as fallback for older NVIDIA drivers. At the same time
also drop the call to nvidia-settings which was also only used as
a fallback for refresh rate detection.

REVIEW: 122423
2015-02-04 14:45:53 +01:00
Martin Gräßlin 881ddeb18b Merge branch 'Plasma/5.2' 2015-02-04 14:45:06 +01:00
Martin Gräßlin d3b801da3d [kcmkwin/compositing] Drop not used qml based ui
We switched back to widgets, drop the QtQuick controls based view.
2015-02-04 14:44:30 +01:00
Martin Gräßlin 04d6bd2874 [kcmkwin/compositing] Fix ordering of items in keep window thumbnail combo box
BUG: 343399
FIXED-IN: 5.2.1
REVIEW: 122424
2015-02-04 14:05:16 +01:00
Martin Gräßlin a6583b0f25 Merge branch 'Plasma/5.2' 2015-02-03 14:02:31 +01:00
Martin Gräßlin 11fd9f69c1 Fix build with clang and gcc 5.0
BUG: 343529
FIXED-IN: 5.2.1
2015-02-03 14:01:53 +01:00
Martin Gräßlin 6bb339ff90 Add Qt and XCB compile version to supportInformation
Add QT_VERSION_STR in addition to qVersion(). This could be useful
to see whether the runtime version is different to the Qt version
used at compile time.

Also adds the XCB_VERSION_STRING which is used at compile time.
This is useful as for example XCB::SYNC was broken prior to 1.10.

REVIEW: 122375
2015-02-02 09:31:08 +01:00
Martin Gräßlin 36b6fc4776 Merge branch 'Plasma/5.2' 2015-02-02 09:01:00 +01:00
Kai Uwe Broulik e814a60045 Add isOnScreenDisplay to EffectWindow 2015-01-31 19:45:47 +01:00
Kai Uwe Broulik cbe925d535 Treat windows of Notification and OnScreenDisplay type as special windows
REVIEW: 122340
2015-01-31 19:45:10 +01:00
Martin Gräßlin 62d71bc247 [kcmkwin/options] Load/Unload WindowGeometry effect
Depending on the state of the show window geometry we need to load
or unload the effect.

BUG: 343272
FIXED-IN: 5.2.1
REVIEW: 122258
2015-01-29 11:44:47 +01:00
Martin Gräßlin 658ff303fe [effects] Support building the effect_builtins without need to link the lib
This change allows to include the effect_builtins.cpp into the build of
e.g. a kcm without having to link against all effects.

The use case for this is when one needs to resolve just the name of an
effect without wanting to hard code the name.
2015-01-29 11:44:47 +01:00
Martin Gräßlin a42a91b6a1 Use Cursor::x11Cursor from KillWindow
Removes custom usage of XCursor library.

REVIEW: 122285
2015-01-29 09:02:23 +01:00
Martin Gräßlin e5d0e1a339 Support getting XCursor by name
So far all cursors were only resolved through Qt::CursorShape, but
Qt::CursorShape is not a complete mapping of all cursors used inside
KWin. E.g. killwindow uses the "pirate" cursor.

This change keeps the cursors by name instead of Qt::CursorShape and
thus allows us to use Cursor for resolving XCursors everywhere.
2015-01-29 09:02:23 +01:00
Martin Gräßlin 65fe7e6fc2 Merge branch 'Plasma/5.2' 2015-01-28 16:22:49 +01:00
Martin Gräßlin a93a2ab191 Disable libinput integration if >= 0.8 is found
libinput 0.8 is incompatible causing the build to fail. As we are in
dependency freeze the only option is to disable the build.

BUG: 342893
FIXED-IN: 5.2.1
2015-01-28 16:20:57 +01:00
David Edmundson da6d857d7a Merge branch 'Plasma/5.2' 2015-01-28 14:14:15 +01:00
David Edmundson b62bf43236 Avoid deleting an engine whilst components from our engine are still in use
Otherwise it can lead to crashes

Reviewed-by: Martin G
2015-01-28 14:12:25 +01:00
Marco Martin f63eb9c878 Merge branch 'Plasma/5.2' 2015-01-28 10:00:46 +01:00
Marco Martin 63885cc5b3 use xembed for the qml view of window decorations modul
the only way to ensure the view won't randomly become black
(probably QQuickwidget won't be fixed in qt anytime soon or
ever in 5.x lifetime due to how architecturally is)

basically systemsettings has no control of what gets loaded in,
if one other kcm will call winId(), this one will break.

BUG:341971
2015-01-28 09:58:47 +01:00
Martin Gräßlin c4807c5b60 Only query once for XFree86-VidModeExtension
currentRefreshRate is called after each randr event and we don't
need to query the extension each time.

REVIEW: 122272
2015-01-27 15:05:35 +01:00
Martin Gräßlin 3b6ab89617 [kcmkwin/deco] Do not runtime depend on QtQuick 2.4 (Qt 5.4)
Sorry, sorry, sorry! We need better runtime checks on the CI.
2015-01-27 14:08:12 +01:00
l10n daemon script 795ebbb879 SVN_SILENT made messages (.desktop file) 2015-01-27 12:18:48 +00:00
Martin Gräßlin 9144b03688 Remove XLib include from client.h
No longer needed in the header. Client is free of XLib data types.
2015-01-27 12:48:03 +01:00
Martin Gräßlin 2076e458d3 Use Xcb::GeometryHints instead of XGetWMNormalHints
Xcb::GeometryHints is a convenient wrapper around the size hints
as described in ICCCM combined with the sanity checks so far applied
by KWin after reading the property.

Instead of accessing the members of the property structure, we are
now using the convenience methods.

During ::manage no further actions are triggered when reading the
size hints. Only when they are read later on the previous checks
are applied. During ::manage they can be ignored as it had a dedicated
isManaged check.

The method ::resizeWithCheck got a new argument of type xcb_gravity_t
which defaults to 0. This is needed from ::configureRequest which so
far temporarily changed the xSizeHints structure. By passing as an
argument this is no longer needed.

REVIEW: 122185
2015-01-27 12:48:03 +01:00
Martin Gräßlin 48fcaa5656 Add Xcb::GeometryHints class
It's a convenient class to encapsulate the ICCCM WM_SIZE_HINT.
Instead of exposing just the properties it provides accessors for
the interesting parts and applies sanity checks.
2015-01-27 12:48:03 +01:00
Martin Gräßlin 58a70ad1dc [aurorae] Only update shadow if it had changed 2015-01-27 12:46:30 +01:00
Martin Gräßlin 6c53137408 Merge branch 'Plasma/5.2' 2015-01-27 12:46:18 +01:00
l10n daemon script e178851846 SVN_SILENT made messages (.desktop file) 2015-01-27 11:24:24 +00:00
Martin Gräßlin 7508cd49e0 Trigger rebuilding of quads after creating a new DecorationShadow
If there were already a shadow, the quads are rebuild, but not if
we created a new shadow. This is not a problem if the shadow exists
before the quads are built for the first time (e.g. when managing
the window), but if the shadow is created later on the quads are
incorrect and the shadow doesn't get rendered at all. This happens
for example with Aurorae based decoration themes, where the creation
of the first shadow is delayed into the next event cycle.
2015-01-27 11:42:21 +01:00