Commit graph

12681 commits

Author SHA1 Message Date
Martin Gräßlin
61c631c94e [kwincompositing-kcm] Add a config option for the OpenGL Platform Interface
A small model is added which holds the available platform interfaces read
from KWin through DBus.

REVIEW: 117699
2014-05-13 09:23:03 +02:00
Martin Gräßlin
8005aa8b5a Export supported openGLPlatformInterfaces to the DBus interface
Allows the KCM to know which platforms are supported (e.g. glx and egl or
just egl).
2014-05-13 09:23:03 +02:00
Martin Gräßlin
be33c59c16 Introduce config option for OpenGLPlatformInterface
A new config option "GLPlatformInterface" is added to the Compositing
settings group. Valid values are "glx" and "egl". This config option is
honored by the Scene to decide which backend to create.

The setting gets sanitized by the operation mode (egl for Wayland),
the environment variable KWIN_OPENGL_INTERFACE and the compile time
support. These switches are removed from the Scene to not have them
duplicated.
2014-05-13 09:23:03 +02:00
Martin Gräßlin
83ad1386dc Add used OpenGLPlatformInterface to supportInformation
Useful information when the platform interface becomes runtime
switchable.
2014-05-13 09:23:03 +02:00
Martin Gräßlin
b09dd0d7f1 [kwinglutils] Add ::platformInterface() to GLPlatform
The used platform interface is passed to the ::detect method as an
argument. The value is now cached in the GLPlatform instance so that
there is an easy way to figure out which platform interface is currently
used.
2014-05-13 09:23:03 +02:00
Martin Gräßlin
2653160c5a [tabbox/qml] Do not export the item's model data as a variant
The hack to get the model data from the currently selected item to the
areas outside the list view apparently broke in Qt. Now we have to export
the model data elements we actually use.

BUG: 334478
REVIEW: 118047
2014-05-13 09:20:34 +02:00
Martin Gräßlin
25e221ae00 Fix invocation of kwin_killer_helper
Path needs to be hard coded as it's in libexec.

REVIEW: 117999
2014-05-13 09:20:10 +02:00
Jonathan Riddell
d043cd67b9 change version to 4.96.0 for beta 2014-05-09 15:55:15 +01:00
Martin Gräßlin
a3ca68ddbe [libkwineffects] Add proper version and soversion to libs
Uses ecm to generate version information.

REVIEW: 118034
2014-05-08 14:41:03 +02:00
Martin Gräßlin
519ddbe4c0 [libkdecoration] Update version and soversion for kdecorations 2014-05-08 14:40:56 +02:00
Marco Martin
c09d63d192 set QSG_RENDER_LOOP as basic if not explicitly set 2014-05-07 15:43:01 +02:00
Martin Gräßlin
75cac7632b [kcmkwin/kwinoptions] Drop kcmkwm.png icons
According to git grep it's not used anywhere.

REVIEW: 117998
2014-05-07 11:50:22 +02:00
Martin Gräßlin
c9c81267d2 [data] Rename kwin_update_default_rules to kwin5_update_default_rules
Rename is for better coinstallability. It makes sense to support both
versions as kwin4 and kwin5 use different config file paths.
2014-05-07 11:50:22 +02:00
Martin Gräßlin
3f2da48925 [data] Drop pop.wav
Not referenced from anywhere in the code base.

Run git grep -i pop.wav without any result.
2014-05-07 11:50:22 +02:00
l10n daemon script
a87567a271 SVN_SILENT made messages (.desktop file) 2014-05-07 08:26:38 +00:00
Martin Gräßlin
9cce470c35 Turn Client::delayedMoveResize() into a lambda slot
Only used for the delayedMoveResizeTimer as timeout slot. Code is small
so a lambda makes more sense. At the same time the code is slightly
improved to ensure that startDelayedMoveResize is never called while
the timer is already active.

This means that mousePressEvents are now required to come from the
decoration.

REVIEW: 117843
2014-05-07 10:21:03 +02:00
Martin Gräßlin
69e1a0fabd Remove opacity from Rules::update
We failed to implement the TODO for all of KDE4, so maybe it's a sign
that we can remove it. Also fixes two warnings:

comparison between 'enum KWin::Rules::ForceRule' and
'enum KWin::Rules::SetRule' [-Wenum-compare]

REVIEW: 117848
2014-05-05 08:14:01 +02:00
Martin Gräßlin
d2bbb42feb Install event filter for QWindow based decorations
Also with QWindow based decorations the event filter is needed to
properly react on mouse button release and mouse move. Those are not
passed through KDecoration unlike the button press.

The event filter is adjusted to handle both filters installed on QWidget
and QWindow while QWindow only gets to see a subset of the events.

This fixes mouse interaction in Aurorae.

REVIEW: 117879
2014-05-05 08:12:00 +02:00
Martin Gräßlin
0643bafd2b Use Client::sendClientMessage from Client::sendSyncRequest
Less code duplication and port to XCB.

REVIEW: 117768
2014-05-05 08:09:17 +02:00
Martin Gräßlin
068ee6d39c Use uint32_t instead of long in Client::sendClientMessage 2014-05-05 08:09:10 +02:00
Martin Gräßlin
cd6ed49299 Port XCB_CONFIGURE_REQUEST handling to XCB
Uses xcb_configure_window instead of XLib variant.
2014-05-05 08:09:10 +02:00
Martin Gräßlin
160093a359 Port ObscuringWindows to xcb 2014-05-05 08:09:10 +02:00
Martin Gräßlin
75f80e88ed Port Client::manage away from XGetWindowAttributes
Replaced by Xcb::WindowAttributes and Xcb::WindowGeometry. Also arguments
of Client::embedClient are adjusted to take the required values directly.
2014-05-05 08:09:10 +02:00
Martin Gräßlin
0ac4e4e419 Port reading net_wm_sync_request_counter to XCB
Using the new Xcb::Property wrapper.
2014-05-05 08:09:10 +02:00
Martin Gräßlin
b36b242f12 Port Unmanaged::track to XCB
Uses Xcb::WindowAttributes and Xcb::WindowGeometry instead of XLib
variant. In addition it uses the XServerGrabber to ensure that the
xserver grab is removed in all code paths.

A new macro is added to utils.h to make the grabbing of XServer in
current context more obvious.
2014-05-05 08:09:10 +02:00
Martin Gräßlin
b039a07f4d Toplevel::vis becomes Toplevel::m_visual and is xcb_visualid_t
Only usage of the ::vis was the visualid, so have this as the member
instead of the XVisual*.
2014-05-05 08:09:10 +02:00
Martin Gräßlin
88d55997f7 Port away from DefaultScreen(display())
The screen number is provided through QX11Info.
2014-05-05 08:09:09 +02:00
Martin Gräßlin
3204342809 Port XQueryPointer usage to XCB
Introduces new XCB::Pointer wrapper and is used in
Client::leaveNotifyEvent and in Cursor and KillWindow to simplify
the usage.

CCBUG: 333836
2014-05-05 08:09:09 +02:00
Martin Gräßlin
5e1e58d197 Enable i18n for kwincompositing
Was missing Messages.sh, extracts from cpp and qml.

REVIEW: 117892
2014-05-05 08:04:00 +02:00
Martin Gräßlin
1c2f27945c Adjust kcmkwins to new ki18n
Define the TRANSLATION_DOMAIN in each of the kcms and use
ki18n_wrap_ui.
2014-05-05 08:03:55 +02:00
Martin Gräßlin
21d2905ffb Adjust genericscriptedconfig to new ki18n
Might need improvement to have the genericscripted in an own directory.
2014-05-05 08:03:54 +02:00
Martin Gräßlin
e80094694e Adjust kwin and killer to new ki18n
Setting the ApplicationDomain to kwin, both use the kwin catalog.

The left-over code for catalogs is removed. Note for adjustments:
* scripting doesn't provide an own catalog
* scripts are extracted but there are no scripts with i18n
2014-05-05 08:03:54 +02:00
Martin Gräßlin
5e7d1d586c Adjust effects_builtins for new ki18n
* Use ki18n_wrap_ui for ui files
* define TRANSLATION_DOMAIN in CMakeLists.txt
2014-05-05 08:03:54 +02:00
Martin Gräßlin
c961eb1bf0 Adjust libkdecorations for new ki18n
Adds TRANSLATION_DOMAIN as define in CMakeLists.txt.

Removes the left-over from porting.
2014-05-05 08:03:54 +02:00
l10n daemon script
7dec86078c SVN_SILENT made messages (.desktop file) 2014-05-04 08:44:36 +00:00
l10n daemon script
7553c411c2 SVN_SILENT made messages (.desktop file) 2014-05-03 08:32:58 +00:00
Burkhard Lück
82b7804b0a rename kcmshell4 to kcmshell5 2014-05-02 17:24:47 +02:00
l10n daemon script
2f28437e24 SVN_SILENT made messages (.desktop file) 2014-05-02 08:51:14 +00:00
l10n daemon script
2838a9b606 SVN_SILENT made messages (.desktop file) 2014-04-29 10:12:33 +00:00
Martin Gräßlin
b18c672e36 Fix compilation with gcc-4.9
Looks like one needs to include <functional> if one uses std::function.

Compilation verified with:
* gcc-4.8
* gcc-4.9
* clang-3.2
2014-04-29 07:49:54 +02:00
l10n daemon script
15aa971aab SVN_SILENT made messages (.desktop file) 2014-04-29 04:54:44 +00:00
Martin Gräßlin
5014e2874b Fix comparison between signed and unsigned integer expressions warning 2014-04-28 17:29:06 +02:00
Martin Gräßlin
ee20101142 Fix deprecated warnings for KAboutData
Ctor with catalog name got deprecated, use ctor without it.
2014-04-28 17:11:20 +02:00
Martin Gräßlin
7091452acd Fix unused variable warnings for compilation without xkbcommon
Sorry, my fault that this generated warnings in the first place.
2014-04-28 16:57:35 +02:00
Aleix Pol
36e93e9c5a Adapt to changes in KDEInstallDirs
Plugins of non kf5 frameworks are not in a kf5/ subdir anymore

REVIEW: 117838
2014-04-28 15:36:44 +02:00
Martin Gräßlin
21a0cda055 [desktopgrid] Use BuiltInEffects to specify the name of the effect proxy
DesktopGrid uses PresentWindows Effect as a proxy effect. Instead of
hard coding the name of the Effect let's use the name resolving provided
by BuiltInEffects.
2014-04-28 14:18:36 +02:00
Martin Gräßlin
c1b4167598 [effects] Allow Built-In Effects using xcbutils.h
xcbutils.h has quite a few inline only implementations such as Xcb::Atom,
the Wrappers, Xcb::Window and the convenient methods. Thus there is
nothing wrong with using it from the built-in Effects.

Xcb::Atom is used in Glide and Logout Effect to get the atom. To keep the
logic of the existing code it got extended by a bool isValid() which
gets the reply and returns true if the atom is set.

REVIEW: 117587
2014-04-28 14:14:20 +02:00
Martin Gräßlin
336a870f5e [kcmkwin] Fix locating the effect configurations
No longer in kf5/ prefix.
2014-04-28 14:06:18 +02:00
Martin Gräßlin
7fcecc616c Drop "kwin4_effect_" prefix for BuiltIn Effects
This removes all the hacks to add kwin4_effect_ to the name of the Effect
and adjusts the desktop files of the effect configuration's parent
component.

Note: the scripted effects still start with kwin4_effect_ prefix.

REVIEW: 117367
2014-04-28 13:52:50 +02:00
Martin Gräßlin
4a1bc2ec96 [effects] Drop the .desktop files for the BuiltIn Effects
All KCMs and KWin core use the BuiltInEffects namespace to find and
interact with the effects. There is no information left in the desktop
file which are of usage. Thus they can be removed.
2014-04-28 13:52:43 +02:00