Commit graph

315 commits

Author SHA1 Message Date
Martin Gräßlin
4c08cf093c [kwin/effects] Add links to effect videos
For the following effects:
* cube
* cubeslide
* desktopgrid
* fade desktop
* magic lamp
* maximize
* minimize
* present windows
* slide
* wobbly windows
2013-12-13 09:58:31 +01:00
Martin Gräßlin
73054577df [libkwineffects] Add a signal for screen count changed
Used in PresentWindows effect instead of QDesktopWidget.
2013-12-10 12:20:43 +01:00
Martin Gräßlin
145f0c096f [kwin/effects] Do not use KActionCollections for the global shortcuts
Most effects had a "collection" for one action. We don't need the
action collection, all it was used for is setting the object name.

With the removal of KActionCollection the effects do not need to link
XmlGui any more, though the dependency is still pulled in through
plasma.
2013-12-10 11:45:33 +01:00
Martin Gräßlin
2372e02752 [kwin] Use a QIcon in Client for the icons instead of Pixmaps
Client used to have dedicated methods for different icon sizes instead
of combining all pixmaps into one QIcon. This resulted in various parts
of KWin having different access to the icons:
* effects only got one pixmap of size 32x32
* decorations only got the 16x16 and 32x32 pixmaps combined into a QIcon
* tabbox could request all icon sizes, but only as pixmap

Now all sizes are available in one QIcon allowing to easily access the
best fitting icon in a given UI.
2013-12-06 14:41:23 +01:00
Jacob Logan
ac72e9fb73 Changed debug statements in kwin/effects from qDebug() to qCDebug(KWINEFFECTS)
A new .cpp file is added containing the declaration of the logging
category and compiled into the effects lib.

REVIEW: 114194
2013-11-29 08:47:56 +01:00
Aleix Pol
94f31606e6 CMake macros porting
kconfig_add_kcfg_files
qt5_add_dbus_adaptor
qt5_generate_dbus_interface
2013-11-27 16:11:14 +01:00
Martin Gräßlin
5d5673ebc0 Fix rendering errors of close window button in Present Windows
Hiding and Showing the close window button all the time can result in
the window not having a proper content. To fix this issue we keep the
window around, but just don't show it. For this the CloseWindowView
inherits from QObject and delegates the needed calls to the nested
QQuickView.
2013-10-25 12:57:34 +02:00
Martin Gräßlin
bf9219bd9a Use QElapsedTimer for the arming timer in Present Windows Close button 2013-10-25 10:22:47 +02:00
Montel Laurent
0fb259058b Fix order 2013-10-03 22:00:23 +02:00
Martin Gräßlin
be3a0cf4ca Fix reading of window properties from effects
That's what you get for changing code you cannot properly test. The
calculation was completely messed up. Now reads the correct byte size
for the byte array. In addition the usages in the effects are improved
to cast the data into the proper uint32_t values instead of the more
generic long. After all if the format is 32, the length is 32 and not
a long.
2013-09-25 09:12:31 +02:00
Martin Gräßlin
e7a9655223 Use KShortcutsEditor directly instead of subclass
We don't need the GlobalShortcutsEditor anymore as the action type
can now be set as a property.
2013-09-09 06:57:06 +02:00
Martin Gräßlin
95a6329fe5 Remove some no longer needed includes
less warnings
2013-09-05 10:39:47 +02:00
Martin Gräßlin
de59774190 KIcon -> QIcon::fromTheme in kwin effects 2013-09-05 10:29:33 +02:00
Martin Gräßlin
211682ab67 KGlobalSettings::dndEventDelay() -> QApplication::startDragDistance() 2013-09-04 16:35:16 +02:00
Martin Gräßlin
987fd41d24 Port KWin/Effects from KDebug to QDebug
Still using KDE4Support as it's used in other areas.
2013-09-02 11:03:29 +02:00
Reza Shah
61f452723e Port KWin effects away from KAction and KShortcut to Qt5/KF5 classes.
REVIEW: 111898
2013-08-15 04:13:12 +09:00
Anselmo L. S. Melo
bef5b71898 Porting effects to Qt5/KF5: QStandardPaths
REVIEW: 111977
2013-08-13 17:56:04 -03:00
Martin Gräßlin
ed5d4048b6 foo.moc -> moc_foo.cpp in KWin effects config 2013-08-07 13:04:01 +02:00
Martin Gräßlin
9291b18cee Merge branch 'master' into frameworks-scratch
Conflicts:
	CMakeLists.txt
	kwin/effects.cpp
	kwin/effects/logout/logout.cpp
	kwin/effects/presentwindows/main.qml
	kwin/effects/presentwindows/presentwindows.cpp
	kwin/effects/presentwindows/presentwindows.h
	kwin/effects/zoom/zoom_config.cpp
	kwin/libkwineffects/kwinglutils_funcs.cpp
	kwin/libkwineffects/kwinxrenderutils.cpp
	kwin/nvidiahack.cpp
	kwin/xcbutils.h
	plasma/desktop/containments/desktop/plasma-containment-desktop.desktop
	plasma/generic/wallpapers/image/image.cpp
	plasma/generic/wallpapers/image/plasma-wallpaper-image.desktop
2013-08-07 10:10:06 +02:00
Martin Gräßlin
5d0433f20b Drop some no longer needed includes
Less warnings
2013-08-06 11:38:52 +02:00
Eike Hein
5435568f86 Fix build.
Not sure why kdeclarative gets its own subdir, nor why
there is no CMake module to to add it to the include dirs
on find_package, but this matches what plasma-framework
does at the moment.
2013-08-06 03:03:57 +02:00
Martin Gräßlin
47cf35720f Present Window's close button ported to QtQuick 2 2013-08-05 14:08:23 +02:00
Martin Gräßlin
5e0484bc17 Disable KDeclarative in PresentWindows and DesktopGrid
QML code needs porting to QtQuick2
2013-07-24 09:58:44 +02:00
Martin Gräßlin
ba7d50fdc5 Disable global shortcut handling in all effects
KAction and KShortcut needs porting, so disabled for now.
2013-07-24 09:58:44 +02:00
Martin Gräßlin
2144f547d0 Port effect configs to new KCModule ctor 2013-07-24 09:58:43 +02:00
Martin Gräßlin
330d40f425 Fix no cast to/from ASCII intrduced issues
* "" needs to be wrapped in QStringLiteral
* QString::fromUtf8 needed for const char* and QByteArray
* QByteArray::constData() needed to get to the const char*
2013-07-24 09:58:33 +02:00
Martin Gräßlin
1d2c2d5982 Use Q_SLOTS and Q_SIGNALS instead of slots and signals
Fixes compilation with Qt5/KF5 setup.
2013-07-24 09:46:54 +02:00
Thomas Lübking
141e57e725 Merge branch 'KDE/4.11' 2013-07-19 21:23:54 +02:00
Thomas Lübking
b6c4f0a7fb fake mouse move to unhover close window on hide
BUG: 322260
FIXED-IN: 4.11
REVIEW: 111538
2013-07-19 21:17:16 +02:00
Thomas Lübking
287acae1db handle closebutton arm state inside effect only
the enabled/disabled change is a useless distraction

implicitly fixes
BUG: 321810
FIXED-IN: 4.11
REVIEW: 111538
2013-07-19 21:16:44 +02:00
Montel Laurent
185d9306d0 Fix order 2013-07-12 18:25:57 +02:00
Thomas Lübking
f71457b2cf Don't highlight hoverd window while PW start/stops
Instead have a synthetic motion after the effect started
and explicitly set the selected window on click/drags

BUG: 314840
BUG: 314715
FIXED-IN: 4.11
CCBUG: 314717
REVIEW: 111276
2013-07-01 21:19:53 +02:00
l10n daemon script
a2e9957860 SVN_SILENT made messages (.desktop file) 2013-06-10 03:46:39 +00:00
Martin Gräßlin
49e734f743 Change the way how effects can get mouse events
With the removal of BoxSwitch all effects which want mouse events use the
fullscreen input window. The available functionality is too complex both
in EffectsHandler and in the Effects.

With this change only fullscreen input windows are supported and all
effects share the input window. This means there is at maximum one input
window. This simplifies the code in the Effects as they don't have to
keep track of the window they created any more. In EffectsHandler it
means that only one window needs to be created, destroyed and raised.
Also it means that we can properly react on screen size changes which had
been ignored in the past. Also quite some roundtrips to X are no longer
needed as we do not need to query the window geometry when creating the
input window.

REVIEW: 110156
2013-05-03 08:15:42 +02:00
Thomas Lübking
81931857b6 keep + track m_closeWindow to keep m_winData alive
BUG: 259640
FIXED-IN: 4.10.2
REVIEW: 109509
2013-03-20 22:23:40 +01:00
Martin Gräßlin
74f0ca2f00 Add missing KGlobal includes 2013-03-15 15:43:49 +01:00
Martin Gräßlin
fb65c07bf7 Use a QDeclarativeView for button views in Present Windows and Desktop Grid
Declarative UI++

REVIEW: 109409
2013-03-12 08:40:46 +01:00
Martin Gräßlin
5755a6f21a Include KIcon where needed
Similar to the KGlobal case: no longer included in other includes.
2013-03-07 13:59:16 +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
32b6ef42b9 Strip module path from all Qt #include <>
Done with:
fixqt4headers.pl --strip-modules

REVIEW: 109176
2013-03-06 10:26:56 +01:00
Martin Gräßlin
c3423b15e7 Add method to EffectsHandler to define the cursor for an input window
Convenience method to replace XDefineCursor used in the effects.

REVIEW: 109039
2013-02-25 13:35:19 +01:00
Martin Gräßlin
55585514f9 Remove close window mouse action from Present Windows effect
This feature has been superseded by the close window button and as it
is a rather destructive action it makes sense to remove it.

Sorry to everyone who used it.

CCBUG: 314393
REVIEW: 108851
2013-02-11 09:04:06 +01:00
Martin Gräßlin
7a7f9d1a34 Change the way how screen edges interact with Effects/Scripts
The main difference is that the activation of an edge is no longer
broadcasted to all effects and scripts, but instead a passed in slot of
the Effect/Script is invoked.

For this the EffectsHandler API is changed to take the Effect as an
argument to (un)reserveElectricBorder. As callback slot the existing
borderActivated is used.

In addition the ScreenEdge monitors the object for beeing destroyed and
unregisters the the edge automatically. This removes the need from the
Effect to call unregister in the dtor.

BUG: 309695
FIXED-IN: 4.11
2013-02-07 09:46:52 +01:00
Martin Gräßlin
4471e8a41b Do not delete close window on screenCountChanged
Not needed there and causes crash.
2013-02-06 14:32:43 +01:00
Thomas Lübking
c713141a37 react on screenCountChanged to re-validate lists
BUG: 314409
REVIEW: 108775
2013-02-05 19:15:40 +01:00
Martin Gräßlin
58019b9ce3 Merge branch 'KDE/4.10'
Conflicts:
	kwin/client.cpp
2013-01-30 15:16:56 +01:00
Martin Gräßlin
0c92e1f30c Use translucent/dialogs/background elements where possible
In effects it's obvious that compositing is enabled, so specifying the
translucent element is no problem.

In tabbox a context property "compositing" is injected which decides
whether "translucent" or "opaque" elements should be used. Here the
translucent elements are only used if the Blur effect is available - for
this a new Effect::Feature Blur is introduced and in addition it is
tested whether the theme provides the translucent element.

Also the masking is adjusted to ensure that only the shadow is not
blurred.

Reason for this change is that Plasma theme seems not always to pick up
whether compositing is used when used from inside KWin. It does not cover
the Desktop Change OSD which uses PlasmaCore.Dialog and there we cannot
(yet) inject that we use compositing.

Overall I'm quite unhappy with this patch and I do hope we can fix it in
the proper place in the lifetime of 4.10 and revert this patch.

CCBUG: 311995
REVIEW: 108438
2013-01-30 15:14:54 +01:00
Script Kiddy
2ea65eb18e SVN_SILENT made messages (.desktop file) 2013-01-26 13:21:28 +01:00
Script Kiddy
7d821f3814 SVN_SILENT made messages (.desktop file) 2013-01-26 09:04:17 +01:00
Thomas Lübking
ad36e510e4 don't zoom or clamp windows on effect start/end
REVIEW: 108477
BUG: 294428
2013-01-23 21:28:25 +01:00
Thomas Lübking
c312914f6e don't zoom or clamp windows on effect start/end
REVIEW: 108477
BUG: 294428
2013-01-23 21:27:43 +01:00
Martin Gräßlin
565b4ed6a3 Common way to announce support for specific effects through X11
Instead of each effect, which needs to announce support, having custom
code to create a property and set it on the root window, there is now a
common API in EffectsHandler to take care of this.

The methods takes care of creating the atom if it has not already done
and set the property on the root window. Furthermore it allows multiple
effects to announce the same property without getting in conflict with
each other.

As a further convenience the property is automatically removed when the
effect is unloaded, so less things an effect author has to care about.

REVIEW: 107815
2013-01-07 10:00:01 +01:00
Martin Gräßlin
533d57da60 Mark most ctors as explicit as reported by Krazy2 checker 2013-01-02 18:35:46 +01:00
Script Kiddy
12f341712c SVN_SILENT made messages (.desktop file) 2012-12-24 09:05:36 +01:00
Script Kiddy
d7316b9fcb SVN_SILENT made messages (.desktop file) 2012-12-23 08:01:50 +01:00
Alexander Jones
bf2507b2fe Fixing author names in desktop files
BUG: 307928
FIXED-IN: 4.10
REVIEW: 106880
2012-10-18 07:29:14 +02:00
Martin Gräßlin
6d2dfe06e7 Introduce dedicated OpenGL1 and OpenGL2 compositing types
The CompositingType enum turns into flags and two new values are
introduced: OpenGL1Compositing and OpenGL2Compositing.

Those new values are or-ed to OpenGLCompositing so that a simple check
for the flag OpenGLCompositing works in case of one of those two new
values. To make the generic check for OpenGL compositing easier a method
in EffectsHandler is introduced to just check for this.

The scenes now return either OpenGL1Compositing or OpenGL2Compositing
depending on which Scene implementation. None returns OpenGLCompositing.
2012-09-29 15:33:57 +02:00
Dirk Sarpe
31fa04d653 Use KConfigXT in PresentWindows Effect
REVIEW: 106407
2012-09-14 10:39:28 +02:00
Martin Gräßlin
90365e27d0 Merge branch 'KDE/4.9'
Conflicts:
	khotkeys/data/kde32b1.khotkeys
	kinfocenter/Modules/opengl/opengl.desktop
	kwin/tabbox/tests/CMakeLists.txt
	plasma/generic/applets/system-monitor/plasma-applet-sm_hdd_activity.desktop
2012-08-17 17:59:49 +02:00
Martin Gräßlin
23f2de009b Effects can provide support information through properties
The supportInformation is extended to also read the properties
on all effects. In addition each effect can be queried just for
itself through D-Bus, e.g.:
qdbus org.kde.kwin /KWin supportInformationForEffect kwin4_effect_blur

All effects are extended to provide their configured and read
settings through properties. In some cases also important
runtime information is exposed.

REVIEW: 105977
BUG: 305338
FIXED-IN: 4.9.1
2012-08-17 17:49:49 +02:00
Martin Gräßlin
c7262e8bd3 Getter/setters for opacity, saturation and brightness in WindowPaintData
The public member variables for opacity, saturation and brightness
are removed in favor for getter and setters. The variables are
moved into a private class. Those are now qreal instead of double.

To make usage inside the effects easier a multiply method is added
which multiplies the current value with passed in factor and returns
the new value in a functional programming style.

This commit is the top-most of a patch series to refactor
ScreenPaintData and WindowPaintData. Other related commits are:
* 0811772
* ebdc7ec
* 2c8dd8d
* 7699726
* 68e0201
* 611cb09

REVIEW: 105141
BUG: 303314
FIXED-IN: 4.10
2012-07-19 18:25:48 +02:00
Martin Gräßlin
a2b0d42916 Replace translation by QVector3D in Screen/Window PaintData 2012-07-19 18:25:03 +02:00
Martin Gräßlin
0eff12eb92 Use QGraphicsScale for scale information in ScreenPaintData 2012-07-19 18:25:03 +02:00
Script Kiddy
62211420c7 SVN_SILENT made messages (.desktop file) 2012-05-28 11:08:19 +02:00
Martin Gräßlin
1de1204ecd Drop KWIN_HAVE_OPENGL defines in effects
OpenGL is nowadays a build dependency which obsoletes the define.

REVIEW: 105023
2012-05-27 16:37:26 +02:00
Martin Gräßlin
812c310dcf Fix unused variable warnings
SVN_SILENT
2012-05-27 16:35:04 +02:00
Script Kiddy
ee92a35f39 SVN_SILENT made messages (.desktop file) 2012-05-10 09:48:44 +02:00
Martin Gräßlin
f2069112c2 Fix crash on closing present windows due to filter frame being null
Crash got introduced with bbf561ef9726e574684b67d53fc3c56cfc4e2e89

Also fixing coding style issue introduced in same commit.
2012-05-03 10:34:09 +02:00
Martin Gräßlin
d05d55b140 Delay creation of EffectFrames till needed
Creating an EffectFrame requires I/O which takes on my system
during testing between 10 and 40 msec. Also it needs a little
bit of memory.

This changes moves out the creation of EffectFrames at Effect
load till the Effect actually needs the EffectFrame. E.g. if a
user does not filter in PresentWindows there is no need to ever
create it.

BoxSwitch effect is ignored as it should be dropped for 4.9.

REVIEW: 104815
2012-05-03 09:10:48 +02:00
Thomas Lübking
c8320b0db7 Avoid continious repaints in Present Windows effect
REVIEW: 104787
2012-04-30 22:37:40 +02:00
Thomas Lübking
edfb40a95a guard a remaining m_closeView pointer
BUG: 297234
2012-04-01 17:02:59 +02:00
Thomas Lübking
41eea9dd3b Don't highlight windows w/o mouse
CCBUG: 292630
REVIEW: 104264
2012-03-30 15:27:37 +02:00
Martin Gräßlin
5ac29a5984 Remove TabBox related code from PresentWindows Effect
Present Windows mode has been replaced by a window switcher
layout which obsoletes the hack inside the present windows
effect.
2012-03-25 11:54:32 +02:00
Thomas Lübking
2b2877ddb1 add present windows by class to active screen edges
BUG: 288960
2012-03-14 02:29:56 +01:00
Martin Gräßlin
2007a7eab8 Use namespaced parameters in signals
Required to get scripting bindings working.
2012-03-12 21:37:40 +01:00
Thomas Lübking
b79a176be3 resolve merge conflicts 2012-02-21 19:22:08 +01:00
Thomas Lübking
152b738181 don't allocate unused closeview and guard all pointers
REVIEW: 104009
2012-02-21 17:18:05 +01:00
Thomas Lübking
85635dd485 fix tabbing
BUG: 290959
BUG: 265160
BUG: 229292
BUG: 238279
BUG: 290758
BUG: 222831
BUG: 278275
BUG: 245747
BUG: 230000

BUG: 253697
BUG: 230570
BUG: 265977
BUG: 225337
BUG: 225339

REVIEW: 103855
2012-02-11 16:30:22 +01:00
Thomas Lübking
bf88ec09ac Revert "fix tabbing"
pushed out of branch, not master - leading to absent revision, found hash collision??

This reverts commit 94b2ad7b85801e37e2df4671cdc4f26b6d7e5506.
2012-02-11 16:29:14 +01:00
Thomas Lübking
d245035a17 fix tabbing
BUG: 290959
BUG: 265160
BUG: 229292
BUG: 238279
BUG: 290758
BUG: 222831
BUG: 278275
BUG: 245747
BUG: 230000

BUG: 253697
BUG: 230570
BUG: 265977
BUG: 225337
BUG: 225339

REVIEW: 103855
2012-02-11 16:01:41 +01:00
Thomas Lübking
7d17a29826 secure closeView NULL pointer access
BUG: 293654
2012-02-08 19:46:48 +01:00
Thomas Lübking
a8b212e40e Pick correct screen area in tabbox w/o scree focus separation case
BUG: 290633
2012-01-04 23:11:54 +01:00
Thomas Lübking
e1d15d9c21 present windows: keep highlighted windows in screen
REVIEW: 103574
(cherry picked from commit 629e8d3885129db2be19bd313e07d6fa02caddc1)
2012-01-02 19:02:05 +01:00
Thomas Lübking
2a84ba0094 don't scale highlighted window in present windows during de/activation
BUG: 283481
it's even worse, since it interferes with generally upscaled windows
(keeps them big, applies false transition and causes a final snapback)
and windata->highlight doesn't end at zero, so the entire screen is
still a little scaled when the effect ends (and snaps down afterwards)

now it snaps down when starting the leave what is better in general
and the only usable solution for upscaled windows.
some day presentwindows might be derived from the yet-to-add
animationeffect class ;-)
2011-10-06 22:47:29 +02:00
Philipp Knechtges
b6478e1b12 kwin: Optimizing Blur Part III
This patch introduces some kind of damage propagation. In the old version of the blur effect
we had to repaint the whole window if sth behind the blurred area was damaged. The new texture
cache, which was introduced by the last patch, gives us the opportunity to only update parts of
blurred background texture. This means that the damaged area can only propagate with the speed
of the blurring radius per window layer.

REVIEW: 102665
2011-10-02 14:47:03 +02:00
Script Kiddy
4cbbf921d4 SVN_SILENT made messages (.desktop file) 2011-09-09 09:21:44 +02:00
Script Kiddy
157f51ce85 SVN_SILENT made messages (.desktop file) 2011-09-08 09:04:13 +02:00
Martin Gräßlin
fe4329a252 Only call active effects in the effect chain
Each effect is able to declare itself as currently being active,
that is transforming windows or painting or screen or doing anything
during the current rendered frame.

This change eliminates the hottest path inside KWin identified by
callgrind.

REVIEW: 102449
2011-08-29 07:06:58 +02:00
Script Kiddy
c3004ddc7b SVN_SILENT made messages (.desktop file) 2011-08-27 10:03:17 +02:00
Martin Gräßlin
987bc837d9 Remove define KWIN_HAVE_OPENGL_COMPOSITING
Due to changes in build system we have always either OpenGL or OpenGL ES.
This allows to remove the KWIN_HAVE_OPENGL_COMPOSITING define. In the
effects the define is kept as KWIN_HAVE_OPENGL which can be used in
future to build also an XRender only effect system.
2011-08-13 16:46:43 +02:00
Thomas Lübking
45eb40ef69 check m_closeView validity (can be NULL when the timer crosses the deactivation)
BUG: 280027
2011-08-13 16:41:36 +02:00
Thomas Lübking
a2d9ff72aa fix close button side for present windows effect
BUG: 262543

pint desktop as background when including desktop in switcher
BUG: 262137

zoom windows as hover/selection indicaton (1/8 of the screen or 105%)
BUG: 215348
CCBUG: 175521

no closer on "show desktop" desktop
show closer immediately but have it disabled for a short time to allow the user realize it

REVIEW: 101318
2011-08-09 22:57:54 +02:00
Jaime Torres
664aaa1b60 ++ prefix for non-trivial data-types
change suffix ++ to prefix ++ to speed up a little bit not-trivial
data-types. discovered by cppcheck

REVIEW: 102057
2011-08-02 17:21:56 +02:00
Script Kiddy
d414f57c8d SVN_SILENT made messages (.desktop file) 2011-07-07 10:20:05 +02:00
Script Kiddy
976f396fc7 SVN_SILENT made messages (.desktop file) 2011-07-06 10:41:48 +02:00
Martin Gräßlin
a05ad98896 Remove textureWidth/textureHeight from all Shaders
The uniforms textureWidth and textureHeight were only needed for
normal windows. For everything else it was just 1.0/1.0, that is
normalized.

The makeArrays method is changed to produce normalized texcoords
obsoleting the need for these uniforms. So two uniforms less, one
calculation in vertex shaders less and many many lines of code
removed.

At the same time makeArrays is also adjusted to take care of
yInverted of the texture, which is needed as we no longer can use
the enableUnnormalizedTexCoords which did the yInverted transformation.

REVIEW: 101646
2011-06-19 20:54:13 +02:00
Script Kiddy
3d0c81f121 SVN_SILENT made messages (.desktop file) 2011-05-17 10:49:34 +02:00
Script Kiddy
9d7c88d288 SVN_SILENT made messages (.desktop file) 2011-05-11 09:17:09 +02:00
Martin Gräßlin
c0570a660b Drag windows to close in Present Windows
First change for KWin Tablet: rendering a trashcan in present windows
and when dragging a window to it, it will be closed.
2011-04-27 09:58:16 +02:00
Jan Gerrit Marker
2407b0fbc4 Make present windows effect not preserve space for windows from other activities
REVIEW:101180
CCBUG:242555
2011-04-24 14:26:46 +02:00
Kevin Ottens
ecc92e16c6 Make it build with QT_STRICT_ITERATORS 2011-04-04 09:26:09 +02:00
Thomas Lübking
48939462da Strip QHash::operator[] from present window effect
also rewrite of the regular grid assignment - was
a) a suboptimal implementation
b) required because otherwise broken in desktopgrid proxy mode (which btw. polluted the effect through QHash::operator[])

BUG:262485
2011-04-03 23:39:33 +02:00
Script Kiddy
25fd8bd0d3 SVN_SILENT made messages (.desktop file) 2011-03-31 07:42:47 +02:00
Martin Gräßlin
b52975a57e Merge branch 'libkwineffects'
The branch contains the first step in reworking the kwineffects
library. This includes:
* replacing virtuals by signals and slots
* dropping some unused methods
* remove KWin::TimeLine

More to come.

Conflicts:
	kwin/workspace.cpp
2011-03-16 19:46:59 +01:00
Martin Gräßlin
2cf51238a8 kwineffects doesn't use kdecorations 2011-03-13 16:56:25 +01:00
Martin Gräßlin
640fdc7b6d PropertyNotify becomes a signal 2011-03-12 19:18:19 +01:00
Martin Gräßlin
911098ee76 WindowGeometryShapeChanged becomes a signal 2011-03-12 12:34:59 +01:00
Martin Gräßlin
3529c34934 End PresentWindows effect after last window closed
Thanks to Marus Hähnel for this contribution to KDE.
CCMAIL: marcus@mh-development.info
FEATURE: 262540
FIXED-IN: 4.7.0
REVIEW: 100627
2011-03-06 19:08:14 +01:00
Martin Gräßlin
15757e953a TabBox uses signals to notify the effects
EffectsHandlerImpl just forwards the signals from TabBox. In order
to have a valid pointer to the TabBox, the TabBox is now initialized
before compositing in Workspace.
2011-03-06 12:15:16 +01:00
Martin Gräßlin
e355700e6e EffectsHandler emits windowDeleted signal
Workspace emits a deletedRemoved signal which the EffectsHandlerImpl translates
into a windowDeleted signal.
2011-02-27 10:47:42 +01:00
Martin Gräßlin
0b85768ec5 EffectsHandler emits windowClosed signal
Client and Unmanaged use a signal to notify that they are about to be closed.
The EffectsHandlerImpl is connected to those signals and emits the appropriate
windowClosed signal to which the effects are connected.
2011-02-27 09:25:45 +01:00
Martin Gräßlin
ab6f2ba1fd EffectsHandler emits windowAdded signal
All previously existing windowAdded methods are renamed to slotWindowAdded.
EffectsHandlerImpl is connected to Workspace's clientAdded signal, which is
emitted a little bit earlier than the previous direct method call. This might
change behavior.
Another signal is added to Workspace to signal that an unmanaged is added.
2011-02-25 22:06:02 +01:00
Martin Gräßlin
b3a5639967 EffectsHandler and Effect become QObjects
This is in preparation for allowing to connect effects with signals and slots.
2011-02-25 20:25:21 +01:00
Martin Gräßlin
b265537962 Drop dependency to libplasma from kwineffects library
Since the EffectFrames have been moved into KWin core nothing in the
Effects lib actually used Plasma. The only remaining method is moved
to core as it's not used in the Effects. The Effects itself still
link against Plasma, so nothing changes for them.

The Plasma includes in the kwineffects header seemed to pull in
quite some additional headers, so the includes in some effects have
to be adjusted (most often KConfigGroup). This should speed up the
compilation of the library and the effects.
2011-02-17 19:38:42 +01:00
Martin Gräßlin
dd4a169147 Fix missing include 2011-02-12 10:14:30 +01:00
Fredrik Höglund
73be6657ea kwin: Replace brightness and opacity with a modulation constant
This makes it possible to adjust both brightness and opacity
at the same time with one multiplication in the fragment shader.
2011-02-12 01:45:38 +01:00
Fredrik Höglund
2045e8dd34 kwin: Use the new setUniform() overloads in presentwindows 2011-02-11 00:41:19 +01:00
Script Kiddy
15155326e2 SVN_SILENT made messages (.desktop file) 2011-02-03 07:25:47 +01:00
Script Kiddy
b637e9d7ca SVN_SILENT made messages (.desktop file) 2011-02-02 08:26:11 +01:00
Martin Gräßlin
0a7e48f7aa KWin uses kdelibs coding style. 2011-01-31 20:07:03 +01:00
Script Kiddy
8ac192425f SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1217852
2011-01-29 06:08:12 +00:00
Script Kiddy
9130426b18 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1213663

The following changes were in SVN, but were removed from git:

M	wallpapers/Air/metadata.desktop
M	wallpapers/Autumn/metadata.desktop
M	wallpapers/Blue_Wood/metadata.desktop
M	wallpapers/Grass/metadata.desktop
M	wallpapers/Hanami/metadata.desktop
M	wallpapers/Horos/metadata.desktop
M	wallpapers/Media_Life/metadata.desktop
M	wallpapers/Plasmalicious/metadata.desktop
M	wallpapers/Quadros/metadata.desktop
2011-01-11 09:07:40 +00:00
Thomas Lübking
26d32df0da respect "ignore minimized" for all modes (except tabbox)
BUG: 259827

svn path=/trunk/KDE/kdebase/workspace/; revision=1207336
2010-12-17 15:10:18 +00:00
Thomas Lübking
267ce1942b option out close button, remove redundant tabbox config item
svn path=/trunk/KDE/kdebase/workspace/; revision=1195636
2010-11-11 17:04:42 +00:00
Script Kiddy
633a2ff59d SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1191511

The following changes were in SVN, but were removed from git:

M	wallpapers/Aghi/metadata.desktop
M	wallpapers/Air/metadata.desktop
M	wallpapers/Autumn/metadata.desktop
M	wallpapers/Blue_Wood/metadata.desktop
M	wallpapers/Ethais/metadata.desktop
M	wallpapers/Evening/metadata.desktop
M	wallpapers/Fields_of_Peace/metadata.desktop
M	wallpapers/Finally_Summer_in_Germany/metadata.desktop
M	wallpapers/Fresh_Morning/metadata.desktop
M	wallpapers/Grass/metadata.desktop
M	wallpapers/Hanami/metadata.desktop
M	wallpapers/Media_Life/metadata.desktop
M	wallpapers/Plasmalicious/metadata.desktop
M	wallpapers/Quadros/metadata.desktop
M	wallpapers/Red_Leaf/metadata.desktop
2010-10-31 09:11:11 +00:00
Martin Gräßlin
357f9f4174 Disable KWin shadow for the effect widgets in present windows and desktop grid
svn path=/trunk/KDE/kdebase/workspace/; revision=1189411
2010-10-25 01:40:36 +00:00
Martin Gräßlin
723f7d1a81 Delay showing the close window button in present window to prevent accidential closing of windows.
svn path=/trunk/KDE/kdebase/workspace/; revision=1189407
2010-10-25 01:33:44 +00:00
Martin Gräßlin
134314a5dc Don't rearrange windows when close view is added/deleted.
Caused funny movements in present windows alt+tab mode.

svn path=/trunk/KDE/kdebase/workspace/; revision=1189401
2010-10-25 00:45:41 +00:00
Martin Gräßlin
c7b7798910 Blurring behind the close window widget in present windows effect is useful
svn path=/trunk/KDE/kdebase/workspace/; revision=1181668
2010-10-01 17:50:37 +00:00
Martin Gräßlin
7e5d860cc3 Fix possible crasher introduced by the new close window feature
svn path=/trunk/KDE/kdebase/workspace/; revision=1181666
2010-10-01 17:48:04 +00:00
Martin Gräßlin
4be4a597c3 Close window widget in present windows effect.
Inspired by maemo a widget is added to close the highlighted window.
It is only shown if the mouse is moved above the highlighted window
and hidden again when the mouse leaves the highlighted window or
windows are rearranged.

svn path=/trunk/KDE/kdebase/workspace/; revision=1181373
2010-09-30 20:25:22 +00:00
Script Kiddy
65e2a1221f SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1180602
2010-09-28 10:17:49 +00:00
Script Kiddy
bb60cd51ce SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1177799

The following changes were in SVN, but were removed from git:

M	wallpapers/Blue_Wood/metadata.desktop
M	wallpapers/Ethais/metadata.desktop
M	wallpapers/Fields_of_Peace/metadata.desktop
M	wallpapers/Finally_Summer_in_Germany/metadata.desktop
M	wallpapers/Grass/metadata.desktop
M	wallpapers/Media_Life/metadata.desktop
M	wallpapers/Quadros/metadata.desktop
2010-09-21 10:01:09 +00:00
Martin Gräßlin
e7eeae1e1d Disable Lanczos filter while moving windows in present windows.
Thanks to the movement the change of quality is hardly visible.

svn path=/trunk/KDE/kdebase/workspace/; revision=1176110
2010-09-16 18:04:48 +00:00
Luboš Luňák
d467d26530 Do not introduce such generic indentifiers like None or Styled
into KWin's global namespace. Morever None already kind of clashes with X's None.
CCMAIL: kde@martin-graesslin.com


svn path=/trunk/KDE/kdebase/workspace/; revision=1170588
2010-09-01 14:15:06 +00:00
Martin Gräßlin
e990055770 Less Krazy warnings please: QComboBox -> KComboBox
SVN_SILENT

svn path=/trunk/KDE/kdebase/workspace/; revision=1160053
2010-08-06 21:35:39 +00:00
Script Kiddy
4a6ac702f6 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1155392

The following changes were in SVN, but were removed from git:

M	wallpapers/Autumn/metadata.desktop
M	wallpapers/Blue_Wood/metadata.desktop
M	wallpapers/Grass/metadata.desktop
M	wallpapers/Hanami/metadata.desktop
2010-07-27 09:11:06 +00:00
Martin Gräßlin
e2eebb6503 Refactoring of EffectFrame: EffectFrame becomes an interface just like EffectsHandler and EffectWindow and a concrete EffectFrameImpl in core.
Rendering of the EffectFrame is moved into the scene as Scene::EffectFrame with a concrete implementation in SceneXrender and SceneOpenGL.
A factory method for an EffectFrame is added to the EffectsHandler, which is used by the effects.
Next step: pass the EffectFrame through all effects, so that effects can transform, blur, invert whatever it.

svn path=/trunk/KDE/kdebase/workspace/; revision=1151271
2010-07-18 16:32:37 +00:00
Martin Gräßlin
3c7343fef0 We can blur the background behind panels in present windows. They won't move and without blurring it creates artefacts.
BUG: 242561
FIXED-IN: 4.5.1

svn path=/trunk/KDE/kdebase/workspace/; revision=1141849
2010-06-23 16:47:08 +00:00
Script Kiddy
6714c81184 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1140600

The following changes were in SVN, but were removed from git:

M	wallpapers/Autumn/metadata.desktop
M	wallpapers/Blue_Wood/metadata.desktop
M	wallpapers/Hanami/metadata.desktop
2010-06-21 06:51:54 +00:00
Martin Gräßlin
3f10840169 Forward port rev 1136822:
If presentwindows does not get activated, we have to revert the tabbox state or next activation is not possible.
CCBUG: 240730

svn path=/trunk/KDE/kdebase/workspace/; revision=1136823
2010-06-10 21:00:41 +00:00
Martin Gräßlin
191435d425 Move Lanczos filter from taskbarthumbnail effect into the scene and use it also in boxswitch, presentwindows and thumbnailaside effects.
svn path=/trunk/KDE/kdebase/workspace/; revision=1133901
2010-06-02 20:04:54 +00:00
Martin Gräßlin
fa7f160cb3 Window specific setting to skip window switchers (tabbox, present windows, desktop grid).
FEATURE: 171192
CCBUG: 179723

svn path=/trunk/KDE/kdebase/workspace/; revision=1122404
2010-05-03 20:04:44 +00:00
Script Kiddy
0cbd106422 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1120528
2010-04-29 06:39:50 +00:00
Martin Gräßlin
54c264bba0 Rearrange windows when the gemoetry changes in both pw and dg in pw mode.
BUG: 228829

svn path=/trunk/KDE/kdebase/workspace/; revision=1103206
2010-03-14 16:18:57 +00:00
Script Kiddy
cf3c3d17b8 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1098905

The following changes were in SVN, but were removed from git:

M	wallpapers/Aghi/metadata.desktop
M	wallpapers/Code_Poets_Dream/metadata.desktop
M	wallpapers/Curls_on_Green/metadata.desktop
M	wallpapers/Ethais/metadata.desktop
M	wallpapers/Evening/metadata.desktop
M	wallpapers/Fields_of_Peace/metadata.desktop
M	wallpapers/Finally_Summer_in_Germany/metadata.desktop
M	wallpapers/Fresh_Morning/metadata.desktop
M	wallpapers/Media_Life/metadata.desktop
M	wallpapers/Plasmalicious/metadata.desktop
M	wallpapers/Quadros/metadata.desktop
M	wallpapers/Red_Leaf/metadata.desktop
M	wallpapers/Spring_Sunray/metadata.desktop
M	wallpapers/The_Rings_of_Saturn/metadata.desktop
2010-03-04 16:46:17 +00:00
Script Kiddy
19f587ea46 SVN_SILENT made messages (.desktop file, second try)
svn path=/trunk/KDE/kdebase/workspace/; revision=1097842

The following changes were in SVN, but were removed from git:

M	wallpapers/Aghi/metadata.desktop
M	wallpapers/Air/metadata.desktop
M	wallpapers/Code_Poets_Dream/metadata.desktop
M	wallpapers/Curls_on_Green/metadata.desktop
M	wallpapers/Ethais/metadata.desktop
M	wallpapers/Evening/metadata.desktop
M	wallpapers/Fields_of_Peace/metadata.desktop
M	wallpapers/Finally_Summer_in_Germany/metadata.desktop
M	wallpapers/Fresh_Morning/metadata.desktop
M	wallpapers/Media_Life/metadata.desktop
M	wallpapers/Plasmalicious/metadata.desktop
M	wallpapers/Quadros/metadata.desktop
M	wallpapers/Red_Leaf/metadata.desktop
M	wallpapers/Spring_Sunray/metadata.desktop
M	wallpapers/The_Rings_of_Saturn/metadata.desktop
2010-03-02 09:26:45 +00:00
Script Kiddy
39829f28e0 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdebase/workspace/; revision=1085566

The following changes were in SVN, but were removed from git:

M	wallpapers/Aghi/metadata.desktop
M	wallpapers/Air/metadata.desktop
M	wallpapers/Code_Poets_Dream/metadata.desktop
M	wallpapers/Curls_on_Green/metadata.desktop
M	wallpapers/Ethais/metadata.desktop
M	wallpapers/Evening/metadata.desktop
M	wallpapers/Finally_Summer_in_Germany/metadata.desktop
M	wallpapers/Fresh_Morning/metadata.desktop
M	wallpapers/Media_Life/metadata.desktop
M	wallpapers/Plasmalicious/metadata.desktop
M	wallpapers/Quadros/metadata.desktop
M	wallpapers/Spring_Sunray/metadata.desktop
M	wallpapers/The_Rings_of_Saturn/metadata.desktop
2010-02-05 13:31:20 +00:00
Lucas Murray
51168e97a4 Keep the logout effect active until KWin is killed or the user cancels
the logout by using new information provided by KSMServer; Allow effects
to read and detect root window property notify events.

svn path=/trunk/KDE/kdebase/workspace/; revision=1083335
2010-02-01 07:44:27 +00:00
Martin Gräßlin
fb8fc3001b Do not add NULL effect windows to the motion manager.
BUG: 222193

svn path=/trunk/KDE/kdebase/workspace/; revision=1073247
2010-01-11 21:24:00 +00:00