Commit graph

493 commits

Author SHA1 Message Date
Martin Gräßlin
2830385a40 The assert for popRenderTarget in kwinshadereffect caused the kwin freezes as if assert has not been compiled in, the fbo will never be detached. So now we have working looking glass and sharpen effect back.
BUG: 183981

svn path=/trunk/KDE/kdebase/workspace/; revision=960039
2009-04-27 20:02:22 +00:00
Adriaan de Groot
c6c6af61a6 repaintShadow() isn't a const function, so don't cast that way.
svn path=/trunk/KDE/kdebase/workspace/; revision=959931
2009-04-27 15:14:29 +00:00
Martin Gräßlin
d7665af4f0 Texture width and height is stored in GLShader and the uniform value is set during prepareShaderRenderStates in scene_opengl. So the effects do not have to set the uniform manually. This is useful as other effects can still set this uniform if something different is rendered with a different texture width/height (e.g. shadows or thumbnails). When the window is finally rendered the original value set by the effect is definatelly used.
First effect to use this new way to set texture width and height is invert effect.

svn path=/trunk/KDE/kdebase/workspace/; revision=959835
2009-04-27 11:07:15 +00:00
Lucas Murray
d69942d215 Reverted the text part of the previous commit, seems the bug is in Qt
(Premultiplied text painting on a non-premultiplied QImage). Fixed text
color of frameless and unstyled frames when using a Plasma theme that
has a non-white primary text color. Updated
GLTexture::convertToGLFormat() to use the latest version from Qt.

svn path=/trunk/KDE/kdebase/workspace/; revision=934008
2009-03-02 06:10:23 +00:00
Lucas Murray
6a9b6692e8 Fix rendering of text and unstyled frames in OpenGL mode. Now it looks
identical to what it is in XRender mode.

svn path=/trunk/KDE/kdebase/workspace/; revision=933999
2009-03-02 05:18:13 +00:00
Lucas Murray
0ffcc70c18 Add support for hardcoded non-KWin-related active screen edge actions,
first to be added is one to display the Plasma dashboard. Implemented
the "trigger cooldown" option. Fixed a few edge action conflicts such
as forcing desktop switches when moving windows and the like.
BUG: 170393

svn path=/trunk/KDE/kdebase/workspace/; revision=933166
2009-02-28 08:33:16 +00:00
Pino Toscano
4d66c9ce50 - slots -> Q_SLOTS
- KDE CamelCase includes should be in the form KDE/Foo

svn path=/trunk/KDE/kdebase/workspace/; revision=930393
2009-02-23 10:36:04 +00:00
Lucas Murray
baa3d7a1a5 SVN_SILENT Make EffectFrame actually work again.
svn path=/trunk/KDE/kdebase/workspace/; revision=930011
2009-02-22 14:55:56 +00:00
Lucas Murray
3b5ddddbc3 SVN_SILENT Fix excessive repainting in EffectFrame.
svn path=/trunk/KDE/kdebase/workspace/; revision=929979
2009-02-22 14:03:48 +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
58698d8c5d SVN_SILENT Fix XRenderless compile.
svn path=/trunk/KDE/kdebase/workspace/; revision=929761
2009-02-22 03:28:12 +00:00
Lucas Murray
699e8add4f SVN_SILENT Not required.
svn path=/trunk/KDE/kdebase/workspace/; revision=929586
2009-02-21 17:05:18 +00:00
Lucas Murray
e03748fba7 Added EffectFrame, a helper class that creates, manages and caches a
Plasma frame object. There are two ways to use this class: The first is
in "static" mode which gives the frame a set geometry and will not
change, the second is an automatic mode that creates the smallest
possible frame around the specified contents. Contents can either be
normal text and/or a QPixmap, useful for displaying the caption and icon
of the currently highlighed window.
Known bugs:
 - Does not detect Plasma theme changes, known to be in the Plasma
   library.
 - Slight graphical glitches, known to be in Qt 4.5.0 RC1.
Untested:
 - What happens when there is no Plasma theme installed.

svn path=/trunk/KDE/kdebase/workspace/; revision=929324
2009-02-21 04:53:13 +00:00
Lucas Murray
469c28b2eb Effect API version += 19. Add buffer zone for 4.2 backports.
svn path=/trunk/KDE/kdebase/workspace/; revision=927678
2009-02-18 04:09:55 +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
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
846496d2c1 Cleaned up the effects/ directory by moving each individual effect into
its own directory, cleaned up the effect config macros and renamed
"MakeTransparent" to "Translucency" so that it matches its visible name.

svn path=/trunk/KDE/kdebase/workspace/; revision=921749
2009-02-05 15:35:38 +00:00
Lucas Murray
71cdab755e Change motion dynamics algorithm and class structure. Animations are now
smoother and less "bouncy" than before and produce the same result at
any framerate. The Motion1D and Motion2D classes are now available and
replace the Motion<T> template for external use.

svn path=/trunk/KDE/kdebase/workspace/; revision=921104
2009-02-04 15:10:20 +00:00
Lucas Murray
cbea219964 Missing code from mouse polling commit. Stop polling when compositing is
disabled and increment the effect API version number.

svn path=/trunk/KDE/kdebase/workspace/; revision=920963
2009-02-04 07:09:47 +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
Luboš Luňák
31e4e950b6 Handle Y inverting properly with normalized coordinates.
svn path=/trunk/KDE/kdebase/workspace/; revision=904306
2009-01-01 21:12:34 +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
Martin Gräßlin
fe9092dd89 Don't split window quads which have a size of zero. This should prevent crashes due to assert failing.
BUG: 177927

svn path=/trunk/KDE/kdebase/workspace/; revision=897801
2008-12-16 20:48:34 +00:00
Alexander Neundorf
58d4ae29ff -also export kephal, kdecorations, kwineffects and ksrgd (or so)
Alex

CCMAIL: christoph@maxiom.de


svn path=/trunk/KDE/kdebase/workspace/; revision=895041
2008-12-09 21:27:30 +00:00
Alexander Neundorf
99b4b9dd88 -make kdebase build with the reduced link interface using target_link_libraries(... LINK_INTERFACE_LIBRARIES ...)
Alex



svn path=/trunk/KDE/kdebase/workspace/; revision=891438
2008-12-02 02:01:14 +00:00
Lucas Murray
2b22689c45 Paint effect text onto a QImage instead of a QPixmap. Makes OpenGL mode
faster, XRender slower and works around a subpixel font rendering problem.
BUG: 173089

svn path=/trunk/KDE/kdebase/workspace/; revision=888946
2008-11-25 15:15:26 +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
Pino Toscano
20d67bbf90 revert workaround, correctly fixed in the parent CMakeLists.txt
svn path=/trunk/KDE/kdebase/workspace/; revision=884628
2008-11-15 15:34:45 +00:00
Tim Beaulen
6cb544e4c3 Should fix kwin from not finding kephal/screens.h
svn path=/trunk/KDE/kdebase/workspace/; revision=884616
2008-11-15 15:11:10 +00:00
Guillaume Pothier
f780e8b68b Kephalized plasma and kwin: replaced usage of QDesktopWidget by Kephal
svn path=/trunk/KDE/kdebase/workspace/; revision=884482
2008-11-15 03:04:44 +00:00
Laurent Montel
5535a9de5e Fix iterator
svn path=/trunk/KDE/kdebase/workspace/; revision=883047
2008-11-11 23:09:11 +00:00
Enrique Matías Sánchez
f5efd9ca28 SVN_SILENT Fix typos in kdebase
svn path=/trunk/KDE/kdebase/workspace/; revision=875089
2008-10-23 09:31:44 +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
af1b639a9d Rename the new decoration API and mark it as unstable. Supporting a hacked API is suicide.
Will correctly handle this in KDE 4.3 by using ARGB decorations, even if it's not pretty.

svn path=/trunk/KDE/kdebase/workspace/; revision=872795
2008-10-18 08:10:37 +00:00
Lucas Murray
0442bcf1f7 Increment effect API version.
Added Martin and myself to the shadow effect copyright header.

svn path=/trunk/KDE/kdebase/workspace/; revision=872474
2008-10-17 10:30:52 +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
Albert Astals Cid
882b909364 Add const & so we don't copy all that objects for nothing, faster effects for free!
svn path=/trunk/KDE/kdebase/workspace/; revision=869928
2008-10-11 12:38:46 +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
a3a10632e6 Fix last commit.
svn path=/trunk/KDE/kdebase/workspace/; revision=866886
2008-10-02 07:15:48 +00:00
Luboš Luňák
727397181a Avoid QTimeLine warnings with invalid timeline duration.
svn path=/trunk/KDE/kdebase/workspace/; revision=866697
2008-10-01 17:50:41 +00:00
Lucas Murray
68d958c237 Added reset methods to WindowMotionManager.
Fixed bug in present windows when if there is only one window on a Xinerama screen it is zoomed into nothingness when using the natural layout.
CCBUG: 171812

svn path=/trunk/KDE/kdebase/workspace/; revision=865798
2008-09-29 02:25:02 +00:00
Lucas Murray
0cfe3b2c73 Fix indenting of decoration files.
svn path=/trunk/KDE/kdebase/workspace/; revision=863806
2008-09-23 07:54:28 +00:00
Lucas Murray
283a16b13b Attempt at correcting the motion formula at low framerates. Still needs improvement.
svn path=/trunk/KDE/kdebase/workspace/; revision=863784
2008-09-23 07:10:27 +00:00
Lucas Murray
51aef64cd7 Added motion dynamic physics helper classes to the KWin effects API. These
classes are intended to be used to help effect authors move windows across
the screen smoothly and naturally.

Although not 100% complete the classes can be used for 2D operations in its
current state, an example of which is the included present windows update.
These classes can be expanded upon when the new modifiers are required.

I would like a generic, template-based motion manager class that can be used
for non-window objects as well as another 3D-enabled manager to be available
sometime in the future.

CCMAIL: kwin@kde.org

svn path=/trunk/KDE/kdebase/workspace/; revision=863561
2008-09-22 13:03:00 +00:00
Luboš Luňák
d0c1f5dd62 Disable shadow with effects that transform windows, such as wobbly,
since shadow currently can't handle that.
CCBUG: 161330


svn path=/trunk/KDE/kdebase/workspace/; revision=862309
2008-09-18 15:26:17 +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
Luboš Luňák
8e5f95a9d6 Make a more explicit distinction between using normalized and non-normalized
texture coordinates - it cost me hours to find out why something was misdrawing :(.


svn path=/trunk/KDE/kdebase/workspace/; revision=854546
2008-08-29 18:54:28 +00:00
Bram Schoenmakers
a707d588c3 Forward port r851037: Respect option "Show window button tooltips"
svn path=/trunk/KDE/kdebase/workspace/; revision=851041
2008-08-22 19:24:43 +00:00
Lucas Murray
00c95be210 Added text alignment support to paintText() functions
svn path=/trunk/KDE/kdebase/workspace/; revision=842497
2008-08-05 12:26:16 +00:00
Martin Gräßlin
cb4ed769aa Change from orthographic projection to a perspective projection. This allows to change z-values and rotations.
Therefore zScale, zTranslate and new RotationData are added to ScreenPaintData and WindowPaintData. So it is possible to define zTranslation and rotations without using OpenGL directly. The change only affects OpenGL compositing. XRender is not changed.

svn path=/trunk/KDE/kdebase/workspace/; revision=842018
2008-08-04 14:07:45 +00:00
Luboš Luňák
8bbc6af734 Keep 0.20-0.49 versions for 4.1.
svn path=/trunk/KDE/kdebase/workspace/; revision=842011
2008-08-04 13:35:10 +00:00
Charles Samuels
258b8817a7 BUG: 166795
Assert fail with cube plugin

svn path=/trunk/KDE/kdebase/workspace/; revision=837891
2008-07-25 23:12:19 +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
Alexander Neundorf
9e8a357597 -also disable _KDE4_TARGET_LINK_INTERFACE_LIBRARIES() and use the renamed LINK_INTERFACE_LIBRARIES target property
instead: 
set_target_properties(foo PROPERTIES 
                          ${KDE4_DISABLE_PROPERTY_}LINK_INTERFACE_LIBRARIES  "kdeui;kdecore" 
                     )

While this doesn't look very nice, it is completely forward and backward compatible (i.e. cmake 2.4 doesn't complain,
cmake 2.6 works, both versions work as soon as the reduced link interface is the default (soon), if somebody 
uses this with kdelibs which don't have that anymore he will get the reduced interface instead of errors, so all 
should be ok)

Alex

CCMAIL: mueller@kde.org




svn path=/trunk/KDE/kdebase/workspace/; revision=836131
2008-07-21 19:19:06 +00:00
Alexander Neundorf
6546f980e5 -adapt kdebase to the renaming of kde4_target_link_interface_libraries() to _kde4_target_link_interface_libraries()
Alex

CCMAIL: mueller@kde.org



svn path=/trunk/KDE/kdebase/workspace/; revision=835652
2008-07-20 22:03:14 +00:00
Dirk Mueller
d46ff1342f fix link lines
svn path=/trunk/KDE/kdebase/workspace/; revision=829218
2008-07-07 20:56:56 +00:00
Luboš Luňák
8e936add92 assert( false ) -> abort(), to avoid no-return-value warning with NDEBUG
svn path=/trunk/KDE/kdebase/workspace/; revision=825094
2008-06-27 12:06:29 +00:00
Laurent Montel
da2c6c1375 Tag as devel element
svn path=/trunk/KDE/kdebase/workspace/; revision=825022
2008-06-27 06:56:11 +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
88cbf98167 Funny, I didn't know XRender now had shaders too :).
Fix the proper #define.


svn path=/trunk/KDE/kdebase/workspace/; revision=821054
2008-06-16 08:45:28 +00:00
David Johnson
fcf289e99e Converting old style includes to new qt4 style
svn path=/trunk/KDE/kdebase/workspace/; revision=820905
2008-06-15 18:49:48 +00:00
Adriaan de Groot
2b96a2063e The guard in the .h file is for XRENDER. So if there is no xrender but there is opengl (which is the case with Xorg 6.9 on Solaris, at least) then the .h file doesn't declare Shader, but the .cpp file tries to define it.
svn path=/trunk/KDE/kdebase/workspace/; revision=820474
2008-06-14 12:43:37 +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
Luboš Luňák
be22824e02 Show tooltips.
BUG: 162648


svn path=/trunk/KDE/kdebase/workspace/; revision=817651
2008-06-06 14:19:53 +00:00
Luboš Luňák
4fc3d50790 Properly #ifdef OpenGL-only and XRender-only stuff.
svn path=/trunk/KDE/kdebase/workspace/; revision=817585
2008-06-06 11:07:15 +00:00
Luboš Luňák
0ce86291c5 Some missing XRender counterparts for utility functions, from Thomas Lübking.
svn path=/trunk/KDE/kdebase/workspace/; revision=817548
2008-06-06 09:11:52 +00:00
Lukas Kropatschek
8eeddd6c55 some krazy include issue fixes
svn path=/trunk/KDE/kdebase/workspace/; revision=814568
2008-05-30 17:47:24 +00:00
Urs Wolfer
2876bf7217 add missing KWIN_HAVE_OPENGL_COMPOSITING check
BUG:162466

svn path=/trunk/KDE/kdebase/workspace/; revision=811956
2008-05-24 08:24:48 +00:00
Luboš Luňák
5dd21d8274 Fix opengl wrappers to match the opengl functions.
svn path=/trunk/KDE/kdebase/workspace/; revision=806411
2008-05-11 11:14:49 +00:00
Luboš Luňák
62d2631422 EffectsHandler::saturationSupported(), so that this is not OpenGL-only call.
svn path=/trunk/KDE/kdebase/workspace/; revision=805574
2008-05-08 19:06:28 +00:00
Luboš Luňák
602244e3a5 Use a convenience XRenderPicture constructor instead of hardcoding
XRender Formats.


svn path=/trunk/KDE/kdebase/workspace/; revision=805361
2008-05-08 10:08:10 +00:00
Luboš Luňák
6527f9c0b6 Start counting 4.1 API versions from 20, to leave room for 4.0.
svn path=/trunk/KDE/kdebase/workspace/; revision=805092
2008-05-07 15:02:21 +00:00
Luboš Luňák
5efac21537 XRenderPicture, a wrapper around XRender's Picture, which
should act just like Picture, except for proper initialization
and resource freeing (i.e. it's sane and easy from C++ point of view).


svn path=/trunk/KDE/kdebase/workspace/; revision=805085
2008-05-07 14:43:13 +00:00
Luboš Luňák
b840fa0792 Disable copying by value for GLTexture, as it wouldn't work anyway.
CCMAIL: Rivo Laks <rivolaks@hot.ee>


svn path=/trunk/KDE/kdebase/workspace/; revision=805056
2008-05-07 13:05:46 +00:00
Sebastian Kügler
cac8ff3072 Make sure m_Progress is always double. Fixes restoring of
windows for me. Minimizing still doesn't animate here. :/

If someone sees the same problem, please let me know. There
also seems to be something fishy with the desktopgrid --
it's not showing windows on inactive desktops, sliding
animation and the grid-zoomout expose this.

svn path=/trunk/KDE/kdebase/workspace/; revision=804806
2008-05-06 23:03:23 +00:00
Sebastian Kügler
cc11082706 Keep internal time and progress accounting in sync. Spotted
by Martin Graesslin.

BUG: 161434
CCMAIL: ubuntu@martin-graesslin.com

svn path=/trunk/KDE/kdebase/workspace/; revision=803465
2008-05-02 23:30:17 +00:00
Sebastian Kügler
d09306ae55 Improve API docs of the TimeLine class.
CCMAIL: ubuntu@martin-graesslin.com

svn path=/trunk/KDE/kdebase/workspace/; revision=803464
2008-05-02 23:29:56 +00:00
Sebastian Kügler
b953f0a046 Introduce TimeLine, a class providing non-linear animation patterns
to KWin effects.

The class basically wraps QTimeLine right now, but it's easy to pop
in function implementing different animation timeline patterns.

Patches to the first effects using this TimeLine are coming up ...

svn path=/trunk/KDE/kdebase/workspace/; revision=798719
2008-04-18 23:57:05 +00:00
Alexander Neundorf
e36a1cecee some more space to enhance readability
Alex



svn path=/trunk/KDE/kdebase/workspace/; revision=795598
2008-04-10 23:15:44 +00:00
Christian Ehrlicher
d91c540b61 LIB_INSTALL_DIR -> INSTALL_TARGETS_DEFAULT_ARGS
svn path=/trunk/KDE/kdebase/workspace/; revision=792590
2008-04-01 16:42:27 +00:00
Luboš Luňák
01d9d88580 Add a dbus call to query which color settings the current decoration
supports, to be used by kcmcolors.


svn path=/trunk/KDE/kdebase/workspace/; revision=788598
2008-03-21 22:17:10 +00:00
Luboš Luňák
f77561ce65 Don't discard window texture when only the shape changes but the window
geometry actually stays the same. Avoids large number of rebinds (with no
strict binding) with the launch feedback icon.


svn path=/trunk/KDE/kdebase/workspace/; revision=787948
2008-03-20 10:05:41 +00:00
Luboš Luňák
75623e889a Documentation for window types functions.
svn path=/trunk/KDE/kdebase/workspace/; revision=784766
2008-03-12 10:46:41 +00:00
Luboš Luňák
d8a3602e45 Add assert().
svn path=/trunk/KDE/kdebase/workspace/; revision=782273
2008-03-04 18:29:17 +00:00
Luboš Luňák
0b1cef2414 Do #define's properly for XRender.
svn path=/trunk/KDE/kdebase/workspace/; revision=781906
2008-03-03 21:12:48 +00:00
Rivo Laks
3f581b4d0c Add a method to subdivide the window into regular grid.
Will be used by wobbly windows effect.

svn path=/trunk/KDE/kdebase/workspace/; revision=781469
2008-03-02 22:28:50 +00:00
Adriaan de Groot
e8e15bddb9 Need Xfixes.h for XFixesCreateRegion(), regardless of whether Xrender is available.
svn path=/trunk/KDE/kdebase/workspace/; revision=780234
2008-02-28 13:15:39 +00:00
Laurent Montel
b844bcae41 Fix compile (need to export it)
svn path=/trunk/KDE/kdebase/workspace/; revision=779292
2008-02-25 19:53:43 +00:00
Luboš Luňák
cff2b0e6cd Abstract paint clipping into PaintClipper helper class that allows
stacking of clipping regions.
(http://lists.kde.org/?l=kwin&m=120138051215450&w=2)
BUG: 156798


svn path=/trunk/KDE/kdebase/workspace/; revision=779045
2008-02-25 11:32:21 +00:00
Luboš Luňák
73ad1f1adc Use a modified errorMessage() with explicitly listing all extensions used by KWin.
svn path=/trunk/KDE/kdebase/workspace/; revision=778705
2008-02-24 11:41:55 +00:00
Dirk Mueller
de19077399 header cleanness++
svn path=/trunk/KDE/kdebase/workspace/; revision=770658
2008-02-04 10:24:45 +00:00
Luboš Luňák
022e417322 Install all public header files.
svn path=/trunk/KDE/kdebase/workspace/; revision=769465
2008-02-01 14:15:16 +00:00
Luboš Luňák
685e1d2361 Make it possible to use KDecorationOptions without private headers.
svn path=/trunk/KDE/kdebase/workspace/; revision=768271
2008-01-29 16:44:41 +00:00
Rivo Laks
5b38737dee Add apidox for kwineffects group, showing the necessary steps for
adding a new effect.

svn path=/trunk/KDE/kdebase/workspace/; revision=767202
2008-01-27 14:43:05 +00:00
Luboš Luňák
7d620a3ad8 Make KDecorationBridge also public and with kept binary compatibility,
so that Compiz can use it for the KDE decorator. Extending will be
done the same way like with KDecoration.
CCMAIL: Dennis Kasprzyk <onestone@opencompositing.org>


svn path=/trunk/KDE/kdebase/workspace/; revision=766833
2008-01-26 19:00:14 +00:00
Luboš Luňák
3c3b5f4b2d Split kdecoration and kwineffects libraries as two modules for doxygen.
svn path=/trunk/KDE/kdebase/workspace/; revision=762274
2008-01-16 18:13:24 +00:00
Luboš Luňák
110f76ecd8 Change some of the debug messages to warnings, so compositing setup failures
show up also in release builds.


svn path=/trunk/KDE/kdebase/workspace/; revision=762175
2008-01-16 12:44:45 +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
f97bd45da9 Redo checks for KWIN_HAVE(_XXX)_COMPOSITING again, in order
to have it the same also in makefiles.


svn path=/trunk/KDE/kdebase/workspace/; revision=756678
2008-01-03 15:22:19 +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
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
Pino Toscano
7496a9bfc3 install also the generated kwinconfig.h
svn path=/trunk/KDE/kdebase/workspace/; revision=754206
2007-12-29 10:30:07 +00:00
Luboš Luňák
c222bdfff4 Forgot svn add.
svn path=/trunk/KDE/kdebase/workspace/; revision=749630
2007-12-17 14:18:07 +00:00
Luboš Luňák
d43b34aa0b Remove old comments.
svn path=/trunk/KDE/kdebase/workspace/; revision=749629
2007-12-17 14:15:32 +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
daf1fbd23e Add spacers before the close button to make it stand alone,
but don't alter the layout otherwise.


svn path=/trunk/KDE/kdebase/workspace/; revision=743055
2007-11-29 19:28:07 +00:00
Luboš Luňák
59e845e4e6 Make width of titlebar spacers default to half width of normal buttons,
not some random tiny sizes or even zero. Maybe could need small tweaking
here or there, but a spacer is supposed to make at least some space.


svn path=/trunk/KDE/kdebase/workspace/; revision=743034
2007-11-29 18:37:52 +00:00
Matthew Woehlke
529611c662 Add AbilityAnnounceColors and AbilityColor* abilities to kwin decorations; this way clients can say what colors they support for the benifit of the color kcm (and anyone else that might need to know?)
svn path=/trunk/KDE/kdebase/workspace/; revision=743015
2007-11-29 17:13:15 +00:00
Matthew Woehlke
21433fbb26 NUM_COLORS is internal and might be changed, document it thusly
svn path=/trunk/KDE/kdebase/workspace/; revision=743012
2007-11-29 17:01:14 +00:00
Matthew Woehlke
e3c96063ca SVN_SILENT: --trailing whitespace (so no fighting with kate, or gunk in my next commits)
svn path=/trunk/KDE/kdebase/workspace/; revision=743010
2007-11-29 17:00:27 +00:00
Luboš Luňák
9cae215d63 Maybe later, if somebody will feel like it, too late for KDE4 I think.
svn path=/trunk/KDE/kdebase/workspace/; revision=742977
2007-11-29 14:13:02 +00:00
Luboš Luňák
0170623a9c Separate KCommonDecoration from KDecoration, in order to allow
greater possibilities in extending KDecoration. KCommonDecoration
now does not inherit KDecoration, only wraps it (i.e. it's source
compatible). Added comments on how to extend KDecoration
in the future by subclassing to KDecoration2, added PORTING
document with all API changes in KDE4.
CCMAIL: kwin@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=742976
2007-11-29 14:11:02 +00:00
Luboš Luňák
24b3a9b829 No tabs.
svn path=/trunk/KDE/kdebase/workspace/; revision=742694
2007-11-28 16:05:13 +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
74b89e491d Revert r741298 - this time the right fix for -Woverloaded-virtual is fixing
the base class.
CCMAIL: montel@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=741860
2007-11-26 16:00:21 +00:00
Laurent Montel
e7aa0b3a7e Remove not necessary kdeversion.h
svn path=/trunk/KDE/kdebase/workspace/; revision=741293
2007-11-25 11:12:05 +00:00
Rivo Laks
85e31c0010 Reserve 80 items instead of creating them.
svn path=/trunk/KDE/kdebase/workspace/; revision=741041
2007-11-24 16:51:48 +00:00
Rivo Laks
e0c50df7e3 Preallocate those vectors as well, just like mattr did with the ones in the shadow effect.
svn path=/trunk/KDE/kdebase/workspace/; revision=741018
2007-11-24 16:03:19 +00:00
Rivo Laks
85961ce0a3 Add KWin::GlobalShortcutsEditor which is a KShortcutsEditor that only edits global shortcuts.
This allows shortcut editor widgets to be added in Designer (for 4.1 KShortcutsEditor should
  probably get setActionTypes() method so that it needn't be set in it's ctor).

  libkwineffects also links to kdeui now, I hope it's ok since it linked to QtGUI and kdecore already anyway.

svn path=/trunk/KDE/kdebase/workspace/; revision=740954
2007-11-24 13:43:52 +00:00
Rivo Laks
02a46d9e5a Fix compilation with gcc 3.3
svn path=/trunk/KDE/kdebase/workspace/; revision=740919
2007-11-24 12:12:10 +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
ceb07f1c5c -Woverloaded-virtual
svn path=/trunk/KDE/kdebase/workspace/; revision=739149
2007-11-20 16:19:06 +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
Luboš Luňák
c83210c60a Remove all code for non-composited animations - they don't work anyway.
svn path=/trunk/KDE/kdebase/workspace/; revision=739143
2007-11-20 16:07:20 +00:00
Luboš Luňák
ab70575d1f Make the outline for moving/resizing work with Qt4, which bothers
to support XOR painting only when XRender is available. Given that
outline should be mainly used with older systems, go for a DIY Xlib-based
solution. Needs changes in decorations using it.
BUG: 149997


svn path=/trunk/KDE/kdebase/workspace/; revision=739136
2007-11-20 16:00:58 +00:00
Rivo Laks
0ac3b393b1 Add some apidocs.
Lots more are still needed but it's a start.

svn path=/trunk/KDE/kdebase/workspace/; revision=737896
2007-11-17 10:20:19 +00:00
Aaron J. Seigo
16e3e5581e * make defaultButtonsLeft and defaultButtonsRight non-pure-virtual so that client plugins that want to just go along with the kde defaults can do so and don't need to reimplement these methods; this is SC, but not BIC
* use defaulTitleButtons[Left|Right] instead of hardcoding those values

svn path=/trunk/KDE/kdebase/workspace/; revision=737209
2007-11-15 20:13:50 +00:00
Aaron J. Seigo
003a0ea7d0 introduce KDecorationOptions::defaultTitleButtonsLeft() and KDecorationOptions::defaultTitleButtonsRight() so as to centralize this default
svn path=/trunk/KDE/kdebase/workspace/; revision=737205
2007-11-15 20:08:57 +00:00
Luboš Luňák
bc6a084894 Let effects access window role as well.
svn path=/trunk/KDE/kdebase/workspace/; revision=736266
2007-11-13 19:59:53 +00:00
Rivo Laks
a2801f1ba1 Add #define with KWin effects API version so that 3rd party effects can check for compatibility
svn path=/trunk/KDE/kdebase/workspace/; revision=736187
2007-11-13 17:03:24 +00:00
Rivo Laks
bb9ff25ec4 Prevent multiple fullscreen effects from becoming active at the same time as discussed
on kwin ml

svn path=/trunk/KDE/kdebase/workspace/; revision=731717
2007-11-01 17:47:41 +00:00
Luboš Luňák
f55b1056a2 Make KDecorationFactory::supports() const, and also pure virtual to force
changing this signature in reimplementations, as -Woverloaded-virtual is
not in default flags :(.


svn path=/trunk/KDE/kdebase/workspace/; revision=731695
2007-11-01 16:07:38 +00:00
Oswald Buddenhagen
aff1787ff9 KConfig* API overhaul. only cosmetics, so don't panic.
KConfigBase:
- remove separator argument from list entry reading/writing functions
- introduce {read,write}XdgListEntry()
- kill readPathListEntry(), add readPathEntry() overload
  instead. the default value is not optional any more, as it defines the
  return type. this is consistent with the readEntry() functions.
- rename clean() => markAsClean(), remove rollback()
- rename ConfigState => AccessMode, getConfigState() => accessMode()
- rename {entry,group}IsImmutable() => is{Entry,Group}Immutable()
- remove NLS alias to Localized

KConfig:
- remove setGroup() & group()
- reshuffle OpenFlag enum, introduce NoCascade for symmetry
- remove setExtraConfigFiles() alias to addConfigSources()

KConfigGroup:
- inherit KConfigBase::deleteGroup() overloads
- make convertToQVariant() private, it will probably change somehow

- KConfig & KConfigGroup: deprecate entryMap()
- remove bogus declarations: KConfigGroup::setReadDefaults(),
  KConfig::readEntryUntranslated()
- apidox
- reshuffle the declarations in the headers


svn path=/trunk/KDE/kdebase/workspace/; revision=728852
2007-10-24 13:08:37 +00:00
Pino Toscano
54289af3ea #include fixup
svn path=/trunk/KDE/kdebase/workspace/; revision=722244
2007-10-07 00:08:11 +00:00
Andreas Pakulat
39e322fc83 Merge the KConfig branch. This are the 3 main modules (+kdeadmin), which are
needed now because friday is the last BC day. The rest of the modules will
follow as fast as my laptop allows.

svn path=/trunk/KDE/kdebase/workspace/; revision=721704
2007-10-05 22:21:25 +00:00
Rivo Laks
aa0e5c7773 Dynamically load some of the used GLX symbols and make sure they exist before
initing gl mode.

svn path=/trunk/KDE/kdebase/workspace/; revision=721561
2007-10-05 14:10:13 +00:00
Rivo Laks
a3781228cb Move Extensions class to lib/kwinglobals.*
svn path=/trunk/KDE/kdebase/workspace/; revision=717329
2007-09-26 16:31:06 +00:00
Rivo Laks
7ad70d9c83 Fix compilation
svn path=/trunk/KDE/kdebase/workspace/; revision=714831
2007-09-20 18:06:36 +00:00
Bernhard Loos
4ff6a33526 fix the effect kcm for kwin
(port it to KPluginFactory)

svn path=/trunk/KDE/kdebase/workspace/; revision=714825
2007-09-20 17:48:27 +00:00
Luboš Luňák
e6069e9cf6 Arghl. Again a stupid bug caused by float having poor precision.
Reverting r700026 and changing floats to doubles again. I'd probably like
to change even the ones interfacing with OpenGL which I've left for now.


svn path=/trunk/KDE/kdebase/workspace/; revision=707987
2007-09-03 15:00:43 +00:00
Arto Hytönen
e1c6433c8e pass-by-value -> reference-to-count fixes
svn path=/trunk/KDE/kdebase/workspace/; revision=707741
2007-09-02 20:01:17 +00:00