Commit graph

11566 commits

Author SHA1 Message Date
Marco Martin
4f2d2e469d no subclass for the shader
* get rid of the strength property
* this effect doesn't have config
2014-01-23 14:45:40 +01:00
Marco Martin
4036f179fc one single pass, get rid of cached version
* this effect is way cheaper than blur, don't cache it
* use its own atom
* also pass the matrix in the x property
* remove remnants of the cache
* do just a single pass
* get rid of config ui remnants
2014-01-23 14:44:49 +01:00
Marco Martin
3a4eb9a093 stub for the background contrast effect
* a copy of the blur shader to become a copy of the background contrast effect
* contrastshader actually doing the light modification
* don't expand/shrink the area
2014-01-23 14:44:00 +01:00
Bhushan Shah
bdb6854a57 kde4support--
REVIEW: 115150
2014-01-21 03:12:41 +05:30
Martin Gräßlin
7a380fa343 Reduce timeout of startupfeedback to a sensible default
It's 2014 and we don't have to wait half a minute for an application
to start. In fact we mostly get false positives due to applications
not handling correctly startup notifications for already running
instances (e.g. click on link in email).

So let's reduce to a default which doesn't look like a broken setup.

REVIEW: 115046
2014-01-20 17:08:03 +01:00
l10n daemon script
551c0c49e6 SVN_SILENT made messages (.desktop file) 2014-01-20 04:05:30 +00:00
Fabian Kosmale
1b219ea6d9 fix compilation with Clang
REVIEW: 115125
2014-01-19 19:17:41 +01:00
l10n daemon script
22a5e1109f SVN_SILENT made messages (.desktop file) 2014-01-19 04:06:03 +00:00
Martin Gräßlin
b7f3f582e3 [kwin] Re-enable build of kwin_update_default_rules
Currently using KDE4Support, needs more proper porting. Tool works,
installs the kwin rule.
2014-01-16 21:35:18 +01:00
Martin Gräßlin
8c0fe2ad41 [kwin] Clean up data directory
We do not provide a config update path from anything older than
4.11 to 5.0. This means we can remove all the kconfig update tools
leading to 4.11.
2014-01-16 21:35:18 +01:00
Martin Gräßlin
544820793e And another KNS3 build fix 2014-01-15 21:21:31 +01:00
Martin Gräßlin
930a6b5e05 Ensure the KDE4Support KNS headers are not included
This should hopefully unbreak the Jenkins build.
2014-01-15 20:32:40 +01:00
l10n daemon script
eac8a41fed SVN_SILENT made messages (.desktop file) 2014-01-15 04:10:52 +00:00
Marco Martin
d21121e236 adapt to KDeclarative namespace
the classes in the KDeclarative framework now use the KDeclarative
namespace
2014-01-14 22:32:36 +01:00
Thomas Lübking
4bb88df714 Merge branch 'KDE/4.11' 2014-01-14 22:51:24 +01:00
Thomas Lübking
9de60604c0 properly reset quick_tile_mode on MaxRestore
BUG: 329864
FIXED-IN: 4.11.6
2014-01-14 22:28:50 +01:00
Thomas Lübking
2ee0f27d43 fix laptop deco painting
REVIEW: 114511
BUG: 329326
FIXED-IN: 4.11.6
2014-01-14 22:28:50 +01:00
Thomas Lübking
3d389961ff preserve offsets when sending client to screen
for that purpose, move sendToScreen and updateLayer
functions from Workspace to Client, keep wrappers

BUG: 327361
FIXED-IN: 4.11.6
REVIEW: 114078
2014-01-14 22:28:46 +01:00
Thomas Lübking
c4d014eb8c do not ask the deco for borders on every move
REVIEW: 114126
2014-01-14 22:24:38 +01:00
Thomas Lübking
fac85516ad bind desktopPresenceChanged in scripted effects
translucency and dialogparent

BUG: 326903
FIXED-IN: 4.11.6
REVIEW: 114083
2014-01-14 22:24:09 +01:00
Thomas Lübking
c378bf4f7c emit desktopPresenceChanged from Client:setDesktop
and forward it to scripted effects

CCBUG: 326903
REVIEW: 114080
2014-01-14 22:23:49 +01:00
Thomas Lübking
03b23e21d9 fix shortcut driven quicktiling
1. swapping direction would rather toggle tiling
2. the next screen was calculated wrongly (found outmost)
3. the electrictborder geometry was not updated when swapping the mode on screen changes

BUG: 329136
FIXED-IN: 4.11.6
CCBUG: 222921
REVIEW: 114648
2014-01-14 22:23:09 +01:00
l10n daemon script
45c3835fd7 SVN_SILENT made messages (.desktop file) 2014-01-14 07:28:35 +00:00
l10n daemon script
1f5b73941d SVN_SILENT made messages (.desktop file) 2014-01-14 04:06:51 +00:00
Hrvoje Senjan
188cb4343c Bump KWin's kdeinit # to 5/Don't set KWin's kdeinit # manually
REVIEW: 115003
2014-01-13 21:05:33 +01:00
Martin Gräßlin
b3717f697a Merge branch 'KDE/4.11' 2014-01-13 19:57:15 +01:00
Martin Gräßlin
e89f916937 Use KDE4WORKSPACE_VERSION as base for kwin's version number
KWin used KDE_VERSION_STRING as version number. This means if compiled
against kdelibs 4.12 the version is 4.12 although the true version is
4.11.something. By using the KWIN_VERSION_STRING we can base it on the
version number set in kde-workspace's CMakeLists.txt.

REVIEW: 115002
2014-01-13 19:54:26 +01:00
Martin Klapetek
81f563d610 Fix an assert on KWin shutdown
Reviewed-by: Martin Gräßlin
2014-01-12 23:04:06 +01:00
l10n daemon script
4ed47fd70b SVN_SILENT made messages (.desktop file) 2014-01-12 04:10:53 +00:00
Martin Gräßlin
a8d8d6461c [kwin] Fix operation mode on X11
Picked Wayland by default instead of X11 causing KWin to abort
startup if there is no Wayland backend.

Important lesson: test your changes also on X11 and not just on
Wayland!
2014-01-09 17:39:47 +01:00
Martin Gräßlin
b65d54f4d2 Enforce compositing if required
In the Wayland world we need to have a compositor. This means we have to
enforce that the compositor is running. If the setup fails we have to
quit, because it doesn't make any sense any more to be running.

A new method requiresCompositing() is added to the Application. If it
returns true the useCompositing option will always return true and the
unredirect fullscreen option will always return false. That way
compositing is enforced at startup and cannot end by unredirecting.

In addition this method is checked if actions are performed which would
suspend compositing. E.g. the shortcut to toggle compositing. Restarting
the compositor is still possible in order to change the selected
compositing backend without a restart. But if it fails KWin will quit.
2014-01-09 15:16:42 +01:00
Martin Gräßlin
1be3a7a9f0 Introduce a method shouldUseWaylandForCompositing() in KWin::Application
Returns true if the OperationMode requires KWin to composite to a
Wayland surface. This replaces the checks for the WaylandBackend or env
variable used so far in the construction of the Scene.
2014-01-09 15:16:42 +01:00
Martin Gräßlin
6eb104b32a Introduce an OperationMode enum
This enum describes how KWin is operating with the available windowing
systems. By default KWin is using the OperationModeX11, but if the
Wayland backend gets started KWin is using the OperationModeWaylandAndX11

This will be extended in future when XWayland and Wayland only become
viable options.
2014-01-09 15:16:33 +01:00
Martin Gräßlin
dda4f32e09 [kwin] Add a static kwinApp method to get a pointer to KWin::Application
The idea is that we can use the Application instance as a place to put
global information which should not go into kwinglobals. That is core
global things.
2014-01-09 14:49:57 +01:00
Martin Gräßlin
81ef314bdd SnapHelper effect supports QPainter compositing 2014-01-09 13:29:40 +01:00
Martin Gräßlin
0fdd7d3f7d Resize effect supports QPainter compositing 2014-01-09 13:29:40 +01:00
Martin Gräßlin
9cecbc0135 MouseMark effect supports QPainter compositor 2014-01-09 13:29:40 +01:00
Martin Gräßlin
2dc14be640 MouseClick Animation effect supports QPainter Compositor 2014-01-09 13:29:40 +01:00
Martin Gräßlin
57eb00977b ScreenEdge helper effect supports QPainter Compositing 2014-01-09 13:29:40 +01:00
Martin Gräßlin
16a82e5fa9 TrackMouse effect supports QPainter compositing 2014-01-09 13:29:40 +01:00
Martin Gräßlin
3776160bb7 ShowPaint effect supports QPainter Compositing 2014-01-09 13:29:40 +01:00
Martin Gräßlin
79358541ea ShowFPS effect supports QPainter Compositing 2014-01-09 13:29:40 +01:00
Martin Gräßlin
dec41bbad8 Make Scene's QPainter available to effects
Effects can access the QPainter used by SceneQPainter to directly render
into the back buffer.

Obviously only available in Compositing Type QPainterCompositing.
2014-01-09 13:29:40 +01:00
Martin Gräßlin
0c559c163d New QPainter based compositor called SceneQPainter
This compositor uses only the QPainter API to perform rendering. The
window's X Pixmap is mapped to a QImage using XShm. As rendering backend
a QImage is used.

The new compositing type "QPainterCompositing" is introduced. Effects
need to be adjusted to explicitly check the compositing type and no
longer assume the compositing type is XRender if it's not OpenGL.

This compositor can be selected with using "Q" as the value for
KWIN_COMPOSE env variable or setting the config value to "QPainter".
The GUI is not yet adjusted to select this compositor.

The QPainter scene provides currently the following features:
* 2D transformations (translation and scalation)
* opacity modifications
* rendering of decorations (new PaintRedirector sub class)
* rendering of shadows
* rendering of effect frames
* rendering to a Wayland surface

The following features are currently not provided:
* saturation changes
* brightness changes
* 3D transformations
* rendering to X Overlay window
* offscreen rendering (e.g. needed for screen shot effect)
* custom rendering in the effects to the current back buffer
2014-01-09 13:29:40 +01:00
Matteo De Carlo
59bb857c7b Replace NULL with nullptr in libkwineffects
Completing the task of replacing all NULL to nullptr in all the files in
libkwineffects folder.
(also substituting some "0" used as nullptr with nullptr)

REVIEW: 114823
2014-01-08 11:55:49 +01:00
Matteo De Carlo
3297655fa2 Replace NULL with nullptr in kwin tests
Completing the task of replacing all NULL to nullptr in all the files in tests folder
(also substituting some "0" used as nullptr with nullptr)

REVIEW: 114822
2014-01-08 11:28:28 +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
6fce4c2b81 Merge branch 'KDE/4.11'
Conflicts:
	ksmserver/screenlocker/ksldapp.cpp
2014-01-08 10:26:48 +01:00
Martin Gräßlin
59e08896fb Better re-using of Wayland::Buffer
A user can now directly request a Wayland::Buffer object which exposes
the memory address of the shared memory with the wl_buffer. This allows
to use the Wayland Buffer directly as the storage of a QImage.

To make sure that the ShmPool does not reuse such a buffer the Buffer can
be marked as used.

When the ShmPool gets resized the memory addresses become invalid.
Therefore the ShmPool is now a QObject and emits a signal on resized pool
so that every user of a Wayland::Buffer can remap the memory.
2014-01-08 09:22:40 +01:00
Martin Gräßlin
02a01f2006 Wayland backend for the XRender scene
This backend uses an XShm pixmap for the rendering back buffer. In
present() the content of this shm pixmap is copied into a Wayland shm
buffer freeing the pixmap to be used for the next frame again and by that
we have a double buffered rendering.

In opposite to the X11 XRender backend this backend doesn't use the
overlay window.
2014-01-08 09:22:40 +01:00