Commit graph

152 commits

Author SHA1 Message Date
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
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
41ff079da5 Dead increment 2013-06-26 17:58:43 +02: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
Martin Gräßlin
649264d738 Do not round integer values 2013-03-15 15:51:36 +01:00
Martin Gräßlin
74f0ca2f00 Add missing KGlobal includes 2013-03-15 15:43:49 +01:00
Martin Gräßlin
98a04893a6 Use mgraesslin@kde.org for my mail address in Copyright and AboutData 2013-03-12 13:17:53 +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
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
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
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
Martin Gräßlin
a4ef906b14 Fix warnings
SVN_SILENT
2013-01-08 11:08:46 +01:00
Martin Gräßlin
334b4bf622 Move handling of Virtual Desktops into a VirtualDesktopManager
The ownership for virtual desktops is moved from Workspace into a new
VirtualDesktopManager. The manager is responsible for providing the count
of virtual desktops and keeping track of the currently used virtual
desktop.

All methods related to moving between desktops are also moved from
Workspace to the new manager, though all methods related to Clients on
Virtual Desktops remain in Workspace for the time being. This is to have
the new manager as independent from KWin core as possible.

An rather important change for the handling of virtual desktops is that
the count and the id of a desktop is now an unsinged integer instead of
an integer. The reason for that is that we cannot have a negative count
of desktops as well as it is not possible to be on a desktop with a
negative identifier.

In that regard it is important to remember that a Client can be on a
desktop with a negative identifier. The special value for a Client being
on all desktops is handled by using -1 as a desktop. For the time being
this is not adjusted but instead of comparing the virtual desktop ids one
should prefer to use the convenient methods like isOnDesktop and
isOnAllDesktops. This would allow in future to internally change the
representation for on all desktops.
2013-01-07 09:47:51 +01:00
Martin Gräßlin
18cccad806 Introduce a templated animationTime overload for the KConfigXT case
This method can be used to get the animationTime in case a configuration
class generated through KConfigXT is used. In general the configuration
stores the magic value 0 for a property "duration". This magic value
indicates that a hard-coded default value should be used.

So the common logic to test the stored value for 0 and then either pass
the stored value or the default value to animationTime is encapsulated
in this method in a generic way.

A MyEffect can use it in the following way:
animationTime<MyEffectConfig>(200);

BUG: 310646
FIXED-IN: 4.10
REVIEW: 107460
2012-11-25 20:19:31 +01:00
Martin Gräßlin
40400167b9 Only wrap duration once in animationTime()
The zoomDuration is already wrapped in animationTime() during
reconfigure. So doing it twice is wrong.

REVIEW: 107463
2012-11-25 20:18:07 +01:00
Thomas Lübking
24cf0e75f3 Merge branch 'KDE/4.9'
Conflicts:
	kwin/scene.cpp
	plasma/generic/applets/batterymonitor/metadata.desktop
	plasma/generic/applets/lock_logout/metadata.desktop
2012-09-19 20:21:18 +02:00
Thomas Lübking
7775510918 fix desktopgrid window manage on VD amount change
BUG: 289747
FIXED-IN: 4.9.2
REVIEW: 106391
2012-09-19 20:16:33 +02:00
Lilian A. Moraru
66f568342a Use KConfigXT in DesktopGrid effect
REVIEW: 106398
2012-09-15 11:24:11 +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
Thomas Lübking
cd8e84f5f2 activate dragged window if not using present windows in desktop grid
BUG: 254044
REVIEW: 104247
FIXED-IN: 4.9
2012-05-03 17:50:43 +02:00
Thomas Lübking
494ffbdfd4 swap desktops in desktopgrid w/o swapping traversed desktops
BUG: 252699
REVIEW: 104247
FIXED-IN: 4.9
2012-05-03 17:49:43 +02:00
Thomas Lübking
8b175b7044 don't exit desktop grid when clicking into empty space
BUG: 244216
REVIEW: 104247
FIXED-IN: 4.9
2012-05-03 17:48:44 +02:00
Martin Gräßlin
9aa30ad976 Cleanup of Desktop Grid: remove unused variables
Remove two unused variables the compiler nagged about
and remove commented code.

REVIEW: 104836
2012-05-03 11:40:07 +02: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
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
Martin Gräßlin
ad950f71ab Fix desktop grid without present windows mode
Effect was not marked as active.
BUG: 282461
FIXED-IN: 4.8.0
2011-11-12 16:17:28 +01: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
Martin Gräßlin
9c8ebfc1fd Remove PaintClipper in GL mode from DesktopGrid
Seems to not be needed at all.
2011-07-05 20:18:20 +02:00
Martin Gräßlin
f9ecbee57b Ensure Lanczos is disabled during start animation
For what reason ever motion manager thinks that windows are not
moving during the start animation (but are during the stop animation).
So we also have to look on the timeline to decide whether we should
disable lanczos filter on the windows.

Now wonder the animation was stuttering.
BUG: 274292
FIXED-IN: 4.7.0
2011-05-28 17:41:27 +02:00
Martin Gräßlin
e25913cafb Ensure Add/remove button is removed when DesktopGrid is unloaded
BUG: 271481
FIXED-IN: 4.7.0
2011-04-28 19:18:24 +02:00
Thomas Lübking
fa8c6cba51 forward port of a389a45ecaea2577f5162edd1485356c81263cce
prevent accidental desktop swaps

CCBUG: 220088
2011-04-24 22:23:55 +02:00
Jan Gerrit Marker
122a97b9c8 Desktop grid effect now does not preserve space for windows from
other activities.
BUG:242555
2011-04-24 17:53:30 +02:00
Thomas Lübking
f8cab9a6da validate deleted moving window in desktop grid effect
BUG:233363
CCBUG:267562
2011-04-03 22:43:02 +02:00
Martin Gräßlin
f213b7da70 Drop KWin::TimeLine from kwineffects
The KWin::TimeLine class was only a small wrapper around QTimeLine
without adding anything to QTimeLine what is not present in QTimeLine.
The initial idea was to make it possible to provide more curve shapes.
This is now obsoleted by Qt shipping more useful curves with QTimeLine.

So let's clean up a little bit and use QTimeLine directly instead of
the small wrapper.

All effects are adjusted to use QTimeLine directly.
2011-03-14 22:50:05 +01:00
Martin Gräßlin
911098ee76 WindowGeometryShapeChanged becomes a signal 2011-03-12 12:34:59 +01:00
Martin Gräßlin
747afb4225 NumberDesktopsChanged becomes a signal
TODO: connect DesktopChangeOSD also to the signal
2011-03-06 20:10:11 +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
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
0a7e48f7aa KWin uses kdelibs coding style. 2011-01-31 20:07:03 +01:00
Martin Gräßlin
e0a1eae9ec Use Lanczos in desktop grid
svn path=/trunk/KDE/kdebase/workspace/; revision=1191904
2010-11-01 12:17:05 +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
Thomas Lübking
6356c736f8 catch dangeling pointer in the desktopbutton hash
BUG: 244813

svn path=/trunk/KDE/kdebase/workspace/; revision=1187537
2010-10-19 18:34:19 +00:00
Martin Gräßlin
d24f153bc5 Forward port rev 1183361: Do not allow to move desktop windows in desktop grid.
CCBUG: 253481

svn path=/trunk/KDE/kdebase/workspace/; revision=1183362
2010-10-07 07:51:41 +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
d0186c4a66 Forward port rev 1169323: Allow moving of "unmovable" windows if present windows mode is used in desktop grid.
Allows to move a window with a fixed position to another desktop. This is only
available in present windows mode as in normal mode each mouse movement results
in a window movement and therefore not possible.
CCBUG: 249337

svn path=/trunk/KDE/kdebase/workspace/; revision=1169324
2010-08-29 05:46:29 +00:00
Martin Gräßlin
8c2c23697b Forward port rev 1169145: Drop keyboard events while moving windows in desktop grid.
CCBUG: 249325

svn path=/trunk/KDE/kdebase/workspace/; revision=1169146
2010-08-28 14:13:26 +00:00
Martin Gräßlin
cbca152d48 Forward port rev 1169047: Block keyboard input during animations in desktop grid.
This works around crashers if a key is pressed directly after activating the effect.
Working around is not the perfect solution, but we already block mouse events, so it
is consistent. And unfortunately the effect has become difficult to maintain and I
fear it's like chasing one crash after the other if we allow user interaction during
the animations.
CCBUG: 244813

svn path=/trunk/KDE/kdebase/workspace/; revision=1169048
2010-08-28 08:43:12 +00:00
Martin Gräßlin
0c381d3e59 Forward port rev 1169042: Do not drop desktop on non-existing desktops in the desktop grid.
CCBUG: 248817

svn path=/trunk/KDE/kdebase/workspace/; revision=1169043
2010-08-28 08:16:14 +00:00
Martin Gräßlin
47fce840b0 Forward port rev 1169040: Add sanity check to DesktopGrid in case of pager layout and only one desktop.
Pager reported two rows, which does not make sense and caused the grid to be in
an inconsistent state.
CCBUG: 248817

svn path=/trunk/KDE/kdebase/workspace/; revision=1169041
2010-08-28 08:08:12 +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
633d80001f Add new role, so that fullscreen effects can enforce blurring of windows they know to be translucent and on a fixed position.
Used in cube animation for all sticky windows and in desktop grid for the add/remove desktops window.

svn path=/trunk/KDE/kdebase/workspace/; revision=1137489
2010-06-13 07:36:40 +00:00
Martin Gräßlin
b9975cb40d Only unmanage windows which are on an existing desktop. This was the cause for a crash when a different widget set per desktop was used. Removing a desktop unmanaged the desktop window and it got closed, so it was unmanaged a second time.
BUG: 241421

svn path=/trunk/KDE/kdebase/workspace/; revision=1137156
2010-06-11 19:58:46 +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
Martin Gräßlin
8f82499f21 Add a plasma based widget to add and remove desktops in desktop grid.
svn path=/trunk/KDE/kdebase/workspace/; revision=1108240
2010-03-28 09:05:36 +00:00
Martin Gräßlin
cb7c271768 Hide modal dialogs in desktop grid (pw mode) while moving the parent window.
svn path=/trunk/KDE/kdebase/workspace/; revision=1105756
2010-03-21 10:44:55 +00:00
Martin Gräßlin
9a86e83d6e Set the transformed geometry in WindowMotionManager when a window is dropped to a desktop in grid. This way the window does not jump to a random position on mouse release.
svn path=/trunk/KDE/kdebase/workspace/; revision=1104672
2010-03-18 09:27:01 +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
Martin Gräßlin
aaaaee7113 Do not paint windows as if it is being moved when only clicking on it in desktop grid.
This prevents that the window flickers on clicking them.
BUG: 229741

svn path=/trunk/KDE/kdebase/workspace/; revision=1103103
2010-03-14 10:55:55 +00:00
Martin Gräßlin
f5dd7d7185 Don't manage new windows which should not be shown in desktop grid (such as panels).
svn path=/trunk/KDE/kdebase/workspace/; revision=1076727
2010-01-18 19:06:09 +00:00
Martin Gräßlin
b11f81c5fc Do not activate desktop grid while it is still moving back windows in present windows mode from last usage.
BUG: 223234

svn path=/trunk/KDE/kdebase/workspace/; revision=1076719
2010-01-18 18:45:42 +00:00
Martin Gräßlin
d651d18791 Correctly manage windows on all desktops when using present windows in desktop grid.
That is remove the window from all desktops on drag begin and attach the window to the mouse cursor. On release add them back to all desktop.
That way it's possible to move pinned windows to other screens and it fixes a crash.
BUG: 220582

svn path=/trunk/KDE/kdebase/workspace/; revision=1068482
2010-01-01 11:04:27 +00:00
Martin Gräßlin
b5d60c4711 Correctly compare number of desktops. That fixes a problem that you couldn't click on a window on the last desktop in desktop grid.
svn path=/trunk/KDE/kdebase/workspace/; revision=1068406
2010-01-01 10:24:20 +00:00
Martin Gräßlin
11d53b7b09 Add a safety check to desktop grid for the case that you click on an area where there is no desktop.
That case needs some more improvement as it zooms to the black area and suddenly replaces the screen with the actual windows.
BUG: 219721

svn path=/trunk/KDE/kdebase/workspace/; revision=1065215
2009-12-22 19:02:51 +00:00
Martin Gräßlin
5f6a6cac67 Show minimized windows in desktop grid with present windows and fade them in/out during the start animation.
BUG: 219595

svn path=/trunk/KDE/kdebase/workspace/; revision=1064812
2009-12-21 21:04:18 +00:00
Martin Gräßlin
21821f48a4 Less krazy warnings: use prefix ++ instead of postfix.
SVN_SILENT

svn path=/trunk/KDE/kdebase/workspace/; revision=1063341
2009-12-17 21:35:37 +00:00
Lucas Murray
c28ed5eeed Make desktop grid window tabbing safe.
svn path=/trunk/KDE/kdebase/workspace/; revision=1062594
2009-12-15 10:06:39 +00:00
Martin Gräßlin
a60de51d6a Change the mouse cursor in desktop grid on start of dragging (after dnd delay) and not when pressing the mouse button.
That should help to indicate the difference between click and drag.
BUG: 211041

svn path=/trunk/KDE/kdebase/workspace/; revision=1062475
2009-12-14 21:28:24 +00:00
Martin Gräßlin
165e2edb08 I think moving windows to another desktop in desktop grid should not activate them. But just clicking on them should activate them.
BUG: 211546

svn path=/trunk/KDE/kdebase/workspace/; revision=1059393
2009-12-06 14:22:57 +00:00
Martin Gräßlin
2ff73028a0 Make it possible to move windows across screens in desktop grid.
BUG: 213845

svn path=/trunk/KDE/kdebase/workspace/; revision=1051265
2009-11-19 08:34:28 +00:00
Martin Gräßlin
026d0a9839 Fix a crash in dgpw when a window is added to all desktops.
svn path=/trunk/KDE/kdebase/workspace/; revision=1049712
2009-11-15 17:57:01 +00:00
Martin Gräßlin
3b8151a6ce Fade out panels when using present windows in desktop grid
and adding myself to the copyright section

svn path=/trunk/KDE/kdebase/workspace/; revision=1049653
2009-11-15 16:35:36 +00:00
Martin Gräßlin
b7f71f746a Fix a lockup of desktop grid when clicking a window to select the desktop
svn path=/trunk/KDE/kdebase/workspace/; revision=1049608
2009-11-15 14:53:33 +00:00
Martin Gräßlin
b95daae72a Add some missing repaints
svn path=/trunk/KDE/kdebase/workspace/; revision=1049601
2009-11-15 14:44:42 +00:00
Martin Gräßlin
e833c61fc3 Improve moving windows in desktop grid when present windows enabled.
* on drag start rearrange windows in old desktop
 * while moving having window attached to mouse cursor
 * on drop rearrange windows in new desktop

svn path=/trunk/KDE/kdebase/workspace/; revision=1049583
2009-11-15 14:12:34 +00:00
Martin Gräßlin
3859fff0de Desktop Grid uses Present Windows to lay out the windows on a desktop
FEATURE: 165745

svn path=/trunk/KDE/kdebase/workspace/; revision=1049548
2009-11-15 12:38:26 +00:00
Martin Gräßlin
e49064c356 Check the dndEventDelay in Desktop Grid so that a click with moving does not move the window but activate the desktop.
BUG: 211041

svn path=/trunk/KDE/kdebase/workspace/; revision=1037445
2009-10-19 08:24:25 +00:00
Lucas Murray
20f1a79d04 Less warnings please.
svn path=/trunk/KDE/kdebase/workspace/; revision=1031490
2009-10-05 09:47:13 +00:00
Lucas Murray
ca9df8caae Add window snapping to the desktop grid effect.
Patch by Caio Marcelo de Oliveira Filho.
FEATURE: 188743

svn path=/trunk/KDE/kdebase/workspace/; revision=1031428
2009-10-05 04:06:20 +00:00
Lucas Murray
31e52fd9ac Activate the desktop under the mouse cursor instead of the highlighted
one in the Desktop Grid effect.
BUG: 207271

svn path=/trunk/KDE/kdebase/workspace/; revision=1030940
2009-10-03 15:00:20 +00:00
Lucas Murray
da37b1f16d Don't const effect proxies.
svn path=/trunk/KDE/kdebase/workspace/; revision=1018656
2009-09-02 02:30:22 +00:00
Thomas Lübking
5522bc2e0e add feature: move (swap) desktops
svn path=/trunk/KDE/kdebase/workspace/; revision=1015448
2009-08-25 14:34:40 +00:00
Martin Gräßlin
70dfff75e8 Only show cross cursor in desktop grid when clicking on a movable window.
CCBUG: 204571

svn path=/trunk/KDE/kdebase/workspace/; revision=1013898
2009-08-21 07:03:33 +00:00
Adriaan de Groot
76a819be63 Disambiguate std::sqrt
svn path=/trunk/KDE/kdebase/workspace/; revision=959929
2009-04-27 15:13:18 +00:00
Martin Gräßlin
93196e8a99 Allow moving of maximized windows to another desktop in desktop grid. As there is no real visual feedback the cursor is changed to the moving one.
FEATURE: 153931

svn path=/trunk/KDE/kdebase/workspace/; revision=950718
2009-04-07 16:10:29 +00:00
Martin Gräßlin
69b8e33fce Check for the global shortcut in the effects so that the shortcut actually toggles the effect. This is a workaround needed because the keyboard grab disables the global shortcut.
FEATURE: 156155

svn path=/trunk/KDE/kdebase/workspace/; revision=946787
2009-03-30 11:27:57 +00:00
Martin Gräßlin
92484573f2 Effects can be activated at more than one electric border.
FEATURE: 180548

svn path=/trunk/KDE/kdebase/workspace/; revision=946404
2009-03-29 12:57:20 +00:00
Lucas Murray
1e91a66fd2 Added support for unstyled and frameless EffectFrames. Converted all
effects that display text or boxes to use the class. Minor speed
increase in XRender mode for those effects and a massive increase in
OpenGL mode (Double framerate in present windows in my case).

svn path=/trunk/KDE/kdebase/workspace/; revision=929951
2009-02-22 13:04:16 +00:00
Lucas Murray
dd28e15a1b Allow desktop effects to access the new DesktopLayout class. Replaced
all code that used calcDesktopLayout() so the function could be removed.
Minor changes to the DesktopLayout class itself.

svn path=/trunk/KDE/kdebase/workspace/; revision=925930
2009-02-14 14:49:46 +00:00
Lucas Murray
c493623f7a Only activate windows in desktop grid if the user moves them and prevent
moving of minimized windows. Also fixes activating of minimized windows
in desktop grid by clicking where they were when they were visible.
BUG: 179938

svn path=/trunk/KDE/kdebase/workspace/; revision=924118
2009-02-10 07:02:19 +00:00
Lucas Murray
fef063cf46 Ensure to highlight the correct desktop back in if the desktop grid was
deactivated by pressing ESC or by using an electric border.

svn path=/trunk/KDE/kdebase/workspace/; revision=922144
2009-02-06 14:31:54 +00:00
Lucas Murray
81ffa5aec9 Raise electric border windows when an effect mouse input window is
created to allow effects to be toggled by active screen edges.

svn path=/trunk/KDE/kdebase/workspace/; revision=922121
2009-02-06 14:21:20 +00:00