Commit graph

159 commits

Author SHA1 Message Date
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
46def0304e BUG: 167138
make opacity rules actually functional

svn path=/trunk/KDE/kdebase/workspace/; revision=1002997
2009-07-27 13:30:08 +00:00
Martin Gräßlin
a26c5b1225 Configurable mouse actions in present windows for clicking a window and desktop.
It's possible to activate a window, exit without activating, bring window to current desktop, send window on all desktops, mimize the window and close the window.
Clicking desktop allows to activate selected window, exit without activating, show the desktop (minimize all apps) and of course do nothing.
FEATURE: 163116

svn path=/trunk/KDE/kdebase/workspace/; revision=988788
2009-06-28 17:17:29 +00:00
Martin Gräßlin
fcbd01779a Add support for activating present windows via XAtoms.
Present windows can be activated for all windows of a desktop by setting the atom _KDE_PRESENT_WINDOWS_DESKTOP to the number of desktop or -1 for all desktops.
Another atom _KDE_PRESENT_WINDOWS_GROUP can be used to activate present windows on a group of windows (e.g. tasks applet).
When present windows is deactivated the property on the manager window will be deleted.

svn path=/trunk/KDE/kdebase/workspace/; revision=988110
2009-06-27 10:21:49 +00:00
Lucas Murray
8d09ed341a Remove old decoration shadow API, rename AbilityProvidesShadow and add
support for the new decoration shadow API in the shadow effect.

svn path=/trunk/KDE/kdebase/workspace/; revision=980130
2009-06-11 08:11:13 +00:00
Michael Zanetti
32ef57aae7 Add bool keepAbove() to EffectWindow
svn path=/trunk/KDE/kdebase/workspace/; revision=969232
2009-05-17 18:26:49 +00:00
Lucas Murray
893b0c2c71 Merge DesktopLayout class into Workspace.
svn path=/trunk/KDE/kdebase/workspace/; revision=926020
2009-02-14 15:40:52 +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
Martin Gräßlin
57f57adaa4 Export method hasAlpha() from Toplevel to EffectWindow.
svn path=/trunk/KDE/kdebase/workspace/; revision=923320
2009-02-08 15:47:37 +00:00
Lucas Murray
13c2f21e9d Added EffectWindow::acceptsFocus(). Prevent present windows from
displaying windows that cannot be focused anyway (Such as conky).

svn path=/trunk/KDE/kdebase/workspace/; revision=923091
2009-02-08 08:45:21 +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
Lucas Murray
a1c82cd52b Added support for inter-effect communication through the use of proxy
classes. Example code has been added to present windows and desktop
grid, if this code is not to be used by KDE 4.3 it should be removed and
added to a test effect instead.

svn path=/trunk/KDE/kdebase/workspace/; revision=922039
2009-02-06 10:15:06 +00:00
Lucas Murray
752d5fa642 Extracted mouse polling out of the composite timer to allow effects to
detect mouse movement and modifier key changes even when KWin is idle.
As the track mouse effect requires polling to always be active disabling
it by default to prevent wasting CPU usage in the default install.

svn path=/trunk/KDE/kdebase/workspace/; revision=919711
2009-02-01 15:16:52 +00:00
Martin Gräßlin
f07944389e Redirect windows when there is an active fullscreen effect. This solves the problem of unredirected fullscreen applications blocking effects like present windows or desktop grid.
BUG: 176996

svn path=/trunk/KDE/kdebase/workspace/; revision=906014
2009-01-05 12:52:27 +00:00
Lucas Murray
8e6d18f7b3 Revert "Ported grid branch to a desktop effect."
I accidently committed the wrong Git branch to trunk. =\

svn path=/trunk/KDE/kdebase/workspace/; revision=897889
2008-12-17 03:14:33 +00:00
Lucas Murray
07653a50a7 Ported grid branch to a desktop effect.
Added resize functions to effect API.

svn path=/trunk/KDE/kdebase/workspace/; revision=897887
2008-12-17 03:10:41 +00:00
Lucas Murray
6d41a1320e Moved all debug, warning and error messages into the KWin 1212 area.
Replaced deprecated kdDebug() with kDebug().
Removed empty debug messages.

svn path=/trunk/KDE/kdebase/workspace/; revision=885620
2008-11-17 15:04:52 +00:00
Lucas Murray
154c19b0e7 Make the client shadowOpacity() return a relative opacity instead of absolute.
svn path=/trunk/KDE/kdebase/workspace/; revision=873440
2008-10-19 13:43:16 +00:00
Lucas Murray
c07ba30b63 Fixed shadow effect losing its shadows after making changes to the settings.
Added force mode to buildQuads() to allow refreshing the cache.
Made EffectWindow::buildQuads() no longer internal.

svn path=/trunk/KDE/kdebase/workspace/; revision=872836
2008-10-18 10:31:59 +00:00
Lucas Murray
899d578c49 Merge Libkdecoration2 Git branch.
WARNING: Breaks shadow effect. I don't think it causes anything to crash anymore but it is VERY ugly visually.

Contains:
 - New decoration API that allows decorations to change the way shadows look.
 - Shadows now wobble.
 - API example code in the Oxygen decoration.
 - Added buildQuads() effect plugin hook.
 - Work on the shadow effect to use the new decoration shadow API as well.
 - Added IDs to WindowQuads.
 - Added public accessors to texture coords in WindowVertex.

Would like all this to be reviewed.

CCMAIL: kwin@kde.org

svn path=/trunk/KDE/kdebase/workspace/; revision=872473
2008-10-17 10:30:43 +00:00
Luboš Luňák
1d2c54edcc Support for proper effect reconfiguration instead of reloading them.
Fixes e.g. the global animation combo not taking effect.


svn path=/trunk/KDE/kdebase/workspace/; revision=866903
2008-10-02 09:27:32 +00:00
Luboš Luňák
08571b2f52 Do not use 'assert( false )', with NDEBUG that is a no-op and
results in warnings about missing return.


svn path=/trunk/KDE/kdebase/workspace/; revision=861879
2008-09-17 11:44:51 +00:00
Luboš Luňák
2a87593638 Add a global configuration option for animation speed. See description
of Effect::animationTime() for how-to-use.
TODO: Effects need to reload config after doing the change in the kcm.
NOTE: Default TimeLine constructor now creates invalid object, it is
necessary to explicitly call setDuration() in order to ensure all
animations respect this setting.

CCMAIL: kwin@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=854690
2008-08-30 07:25:54 +00:00
Lucas Murray
0581746327 Allow moving of maximized windows across screens
BUG: 131299

svn path=/trunk/KDE/kdebase/workspace/; revision=837644
2008-07-25 10:31:47 +00:00
Lucas Murray
d515abb82c Added screenNumber() and addRepaint(QRegion) to effects API
svn path=/trunk/KDE/kdebase/workspace/; revision=822215
2008-06-19 14:16:21 +00:00
Luboš Luňák
e2f835e142 Modules -> Effects, for consistent naming (not sure if the calls
are used somewhere). Also fix the strange indent.
CCMAIL: Laurent Montel <montel@kde.org>


svn path=/trunk/KDE/kdebase/workspace/; revision=818994
2008-06-10 09:32:46 +00:00
Luboš Luňák
3f4a2dfaed Add functions for querying xinerama screens to effects API,
from Lucas Murray <admin@undefinedfire.com>.


svn path=/trunk/KDE/kdebase/workspace/; revision=818782
2008-06-09 16:09:56 +00:00
Laurent Montel
5628d59f1f Add dbus function to show which effect can be loaded
so now all is ok to know which module can be load/unload

svn path=/trunk/KDE/kdebase/workspace/; revision=815903
2008-06-02 20:05:17 +00:00
Laurent Montel
54ede72bf1 Add a dbus function to show which effect is loaded
svn path=/trunk/KDE/kdebase/workspace/; revision=815896
2008-06-02 19:52:02 +00:00
Albert Astals Cid
3b9121ec3f const & in foreach
svn path=/trunk/KDE/kdebase/workspace/; revision=801427
2008-04-26 16:03:02 +00:00
Luboš Luňák
9ea5d0e23c Rename X-Ordering to X-KDE-Ordering, it's private to KDE.
svn path=/trunk/KDE/kdebase/workspace/; revision=779111
2008-02-25 14:32:49 +00:00
Luboš Luňák
ec1ed33012 Remove unused code.
svn path=/trunk/KDE/kdebase/workspace/; revision=763108
2008-01-18 15:51:51 +00:00
Luboš Luňák
4f783faa2a The debug info for effects ordering is a bit too verbose.
svn path=/trunk/KDE/kdebase/workspace/; revision=763094
2008-01-18 15:11:43 +00:00
Rivo Laks
0d64af45ce Make elevatedWindows() return list of EffectWindow pointers instead
of Toplevel ones. This makes it independant of the Toplevel objects
  and fixes a crash when an elevated window is closed.

svn path=/trunk/KDE/kdebase/workspace/; revision=760802
2008-01-13 13:00:15 +00:00
Luboš Luňák
0bea1cc50e Fix property format 32 usage for 64b.
svn path=/trunk/KDE/kdebase/workspace/; revision=758332
2008-01-07 16:54:46 +00:00
Luboš Luňák
bc5acf8268 Shaped shadows are not implemented yet, so disable shadows completely
for shaped windows.


svn path=/trunk/KDE/kdebase/workspace/; revision=756795
2008-01-03 19:39:18 +00:00
Luboš Luňák
c708796804 findWindow()
svn path=/trunk/KDE/kdebase/workspace/; revision=755996
2008-01-02 15:37:46 +00:00
Luboš Luňák
82ad4e01ce Report old buttons and modifiers state in mouseChanged() as well.
svn path=/trunk/KDE/kdebase/workspace/; revision=755995
2008-01-02 15:34:12 +00:00
Luboš Luňák
0bbc0fa5dc Support for getting PropertyNotify events - effects can have their
own properties for communication with something outside of kwin.
Intended now mainly for a better taskbar thumbnails effect.


svn path=/trunk/KDE/kdebase/workspace/; revision=755991
2008-01-02 15:21:33 +00:00
Luboš Luňák
580439ecbc Effects major version 0 is unstable, so require exact match.
svn path=/trunk/KDE/kdebase/workspace/; revision=755989
2008-01-02 15:18:34 +00:00
Luboš Luňák
76c76f585d Don't apply DimInactive effect to override-redirect windows. Things
like popups should be short-lived and mostly for the active window anyway.
Possibly could be revisited in the future when support for window grouping
for unmanaged windows gets implemented too.
BUG: 154009


svn path=/trunk/KDE/kdebase/workspace/; revision=755987
2008-01-02 15:17:58 +00:00
Thomas Zander
9eb2186850 Fix debug area
svn path=/trunk/KDE/kdebase/workspace/; revision=754668
2007-12-30 14:04:51 +00:00
Luboš Luňák
8112a66853 Oh, I see.
svn path=/trunk/KDE/kdebase/workspace/; revision=749713
2007-12-17 17:29:50 +00:00
Luboš Luňák
fc2cb81009 I wonder why I disallowed sending of !isMovable() windows between virtual desktops.
svn path=/trunk/KDE/kdebase/workspace/; revision=749712
2007-12-17 17:27:53 +00:00
Luboš Luňák
bb433ac40e No longer include config*.h files in installed headers.
Also slightly redo the #define's for effects, now it's:
- #ifdef KWIN_HAVE_COMPOSITING to check whether there's any compositing support at all
- #ifdef KWIN_HAVE_OPENGL_COMPOSITING to check for OpenGL-based compositing
- #ifdef KWIN_HAVE_XRENDER_COMPOSITING the same for XRender
CCMAIL: kwin@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=749628
2007-12-17 14:14:53 +00:00
Luboš Luňák
44cc93170d Add check for effect version to prevent loading of incompatible plugins.
Should work automagically, not changes in plugins needed.


svn path=/trunk/KDE/kdebase/workspace/; revision=749626
2007-12-17 14:10:21 +00:00
Rivo Laks
bd19b6dc45 Add EffectWindow::shape()
svn path=/trunk/KDE/kdebase/workspace/; revision=746064
2007-12-07 18:03:24 +00:00
Luboš Luňák
01bf6cbb4c License cleanup - add headers where missing, be explicit about GPL
being v2+ (right now it says just GPL, which according to GPL itself
means any GPL). Decoration clients will come later.
CCMAIL: kwin@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=742302
2007-11-27 19:40:25 +00:00
Luboš Luňák
c1ed1edb52 Proper support for active xinerama screen in effects.
BUG: 152552 


svn path=/trunk/KDE/kdebase/workspace/; revision=739248
2007-11-20 18:58:30 +00:00
Luboš Luňák
d18e4933a0 Make DesktopGrid useful also from keyboard.
svn path=/trunk/KDE/kdebase/workspace/; revision=739147
2007-11-20 16:17:08 +00:00