Commit graph

12947 commits

Author SHA1 Message Date
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
Martin Gräßlin
8cb78b7df6 Use KWIN_DBUS_SERVICE_SUFFIX for multi-head service name wrangling
Adjust the KWIN_DBUS_SERVICE_SUFFIX env variable in a multi-head
scenario instead of adjusting the "org.kde.kwin" DBus service which
we actually don't use in 5.x any more.

REVIEW: 122217
2015-01-27 07:25:52 +01:00
Martin Gräßlin
861e7a5739 Announce KWin's dbus service name on a root window property
KWin sets a _ORG_KDE_KWIN_DBUS_SERVICE property on the root window
with the name of the DBus service it registered. The type of the
property is UTF8_STRING.

REVIEW: 122215
2015-01-27 07:25:31 +01:00
Martin Gräßlin
cef84cd8a5 Use NETWinInfo::opaqueRegion
REVIEW: 122199
2015-01-26 11:47:40 +01:00
Martin Gräßlin
1e41e3e674 Properly disconnect the test xcb connection
So far it only got disconnected in the multi-head situation.

REVIEW: 122218
2015-01-26 11:11:09 +01:00
Martin Gräßlin
82938dd96b Merge branch 'Plasma/5.2'
Conflicts:
	CMakeLists.txt
2015-01-26 11:09:07 +01:00
Martin Gräßlin
52793c5e5b [kcmkwin/deco] Fix build for Qt < 5.4
QQuickWidget::setClearColor is new in Qt 5.4. Sorry about the unintended
breakage of building with Qt 5.3.
2015-01-26 10:27:39 +01:00
Thomas Lübking
6957e1cf1a consult rulebook on honoring a 0 usertime
apparently some clients (randomly?) set
_NET_WM_USER_TIME to 0 (recorded for libreoffice,
audacity and perhaps firefox), so we allow to
forcefully have them accept the focus here

CCBUG: 340915
REVIEW: 122195
2015-01-24 22:20:41 +01:00
Thomas Lübking
04724a15b6 do not query GLPlatform if not GL compositing
BUG: 342982
REVIEW: 122120
2015-01-24 22:20:37 +01:00
Thomas Lübking
f82a6a545c preserve actual geom_restore on QuickTileMaximize
BUG: 342981
REVIEW: 122118

The geometry of the window when entering QTM is
a technical detail (caused by the maximizing action
of moving the window to the upper edge) and thus
does not qualify as geometry the window should be
restored to (using a deoc button, shortcut etc.)
2015-01-24 22:20:29 +01:00
Thomas Lübking
55d29bd310 invalidate iterator on removing pointed element
BUG: 342983
REVIEW: 122117
2015-01-24 22:20:21 +01:00
Alex Richardson
e552511d84 Fix build by removing ` at end of file 2015-01-24 01:35:38 +00:00
Nick Shaforostoff
607b3f0bc9 small string optimizations 2015-01-24 02:13:45 +00:00
Jonathan Riddell
f26845cf8f Update version number for 5.2.0 2015-01-22 11:34:22 +01:00
Thomas Lübking
923d2894af Merge branch 'Plasma/5.2'
Conflicts:
	kcmkwin/kwincompositing/kcmkwineffects.desktop
2015-01-22 01:51:20 +01:00
Thomas Lübking
ce2fa727e8 Overhaul of deco kcm
- align with system palette
- base color for buttons and preview individually
  to create a visual gap (make them more standalone)
- downsized button config buttons to match up w/ preview
  appearance (and because it was simply to huge for a desktop thing)
- upsized preview to preferably show two elements at once
  (current + 2*1/2context)
- made the titlebar a visible visual element
- label the titlebar "Titlebar"
- move the (altered) hint to the drag-from area
- hint draggability with a pointing hand cursor
- less hardcoded values
- brief animations on button adding/removing

BUG: 337544
REVIEW: 122064
2015-01-22 01:31:31 +01:00
l10n daemon script
56b830202e SVN_SILENT made messages (.desktop file) 2015-01-21 09:49:18 +00:00
Martin Gräßlin
7e4307b263 Use new KWindowSystem::icon overload taking a NETWinInfo*
Removes roundtrips to the X-server when reading the icons.

Requires kwindowsystem.git as of 6f941a5 (version 5.7).

CCBUG: 329979
2015-01-21 10:19:35 +01:00
l10n daemon script
2734f709ad SVN_SILENT made messages (.desktop file) 2015-01-21 08:55:56 +00:00
Martin Gräßlin
14659a9907 Split Client::checkActivities into two parts
REVIEW: 122087
CCBUG: 329979
2015-01-21 09:25:18 +01:00
Martin Gräßlin
5abccbec7d Split Client::readTransient into two parts 2015-01-21 09:25:15 +01:00
Martin Gräßlin
584bdbce71 Split Client::updateFirstInTabBox into two parts 2015-01-21 09:25:15 +01:00
Martin Gräßlin
327dd406e6 Split Client::updateColorScheme into two parts 2015-01-21 09:25:15 +01:00
Martin Gräßlin
a55c7ba0d5 Split Client::updateShowOnScreenEdge into two parts 2015-01-21 09:25:15 +01:00
Martin Gräßlin
24688f8dae Split Client::detectGtkFrameExtents into two parts 2015-01-21 09:25:14 +01:00
Martin Gräßlin
770c723c61 Split Toplevel::getSkipCloseAnimation into two parts 2015-01-21 09:25:14 +01:00
Martin Gräßlin
b27d3d20e7 Split Toplevel::getWmClientLeader in two parts
First part (fetch) just creates the Xcb::Property while the
second part (read) reads the property. This allows to better
schedule the commands in Client::manage to reduce the number of
roundtrips. This reduces the time spent for fetching the client
leader property by about half a millisecond on my system.
2015-01-21 09:25:14 +01:00
Martin Gräßlin
de573edd1d Merge branch 'Plasma/5.2' 2015-01-21 09:25:00 +01:00
Martin Gräßlin
6e67badfab Handle case that XCURSOR_SIZE environment variable is not set
In a default startup startkde does not set XCURSOR_SIZE environment
variable. Only XCURSOR_THEME is set. The size should be DPI dependent.
With this patch Cursor is able to handle this situation and does not
fall back to loading the config from file. Logic is taken from
KHintsSettings in frameworkintegration which in turn is from
KApplication.

REVIEW: 122139
2015-01-21 09:24:01 +01:00
Martin Gräßlin
4a260c6f42 [kcmkwin/tabbox] Improve locating the services used in preview mode
Instead of hard coding the desktop files, let's try to use what the
user actually uses.
 * Browser mapped from text/html mime type
 * File manager mapped from inode/directory mime type
 * Email client mapped from message/rfc822 mime type

Only systemsettings is "hard coded" as there is no mime type to map.

The thumbnails are not changed, though. But they are so small that
it's hardly recognizable anyway. For future it could be considered to
map against appdata to get a better screenshot.

BUG: 310622
REVIEW: 122170
2015-01-20 15:25:16 +01:00
Martin Gräßlin
198ce47fec [scene-xrender] Trigger a full decoration repaint when sizes are dirty
When the pixmaps are re-created we should ensure that they are filled
with proper content.

BUG: 342980
REVIEW: 122148
2015-01-19 15:30:06 +01:00