Commit graph

413 commits

Author SHA1 Message Date
Martin Gräßlin
754f5d0829 Quick maximize and tiling when moving a window to the left/right or top screen edge.
Top screen edge (un)maximizes. Left screen edge sets window to left half of screen geometry, right edge to other half.

svn path=/trunk/KDE/kdebase/workspace/; revision=1021305
2009-09-08 20:01:08 +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
Sandro Giessl
90a81cd6d3 Prevent double deletion of widgets that are managed by their QObject parents
but need to be managed by KCommonDecoration as well.
Thanks a lot Thomas, I went for "adjusted* b) (and fix c!)".

Feedback regarding 201404 would be great.

BUG: 201404

svn path=/trunk/KDE/kdebase/workspace/; revision=1013904
2009-08-21 07:25:58 +00:00
Lucas Murray
3db33763cf Shader optimizations. Patch provided by Robin Burchell.
svn path=/trunk/KDE/kdebase/workspace/; revision=1007918
2009-08-06 13:57:09 +00:00
Martin Gräßlin
2b82601558 Fix linking problem with SunStudio in kwineffects.
Thanks to Jan Hnatek for noticing and providing the patch.
BUG: 199897

svn path=/trunk/KDE/kdebase/workspace/; revision=998614
2009-07-18 08:34:48 +00:00
Lucas Murray
310aa47ec0 Remove unneeded enum from decoration library.
svn path=/trunk/KDE/kdebase/workspace/; revision=989820
2009-07-01 04:54:56 +00:00
Martin Gräßlin
369910865a Add "show desktop" to screen edges.
FEATURE: 195359

svn path=/trunk/KDE/kdebase/workspace/; revision=988839
2009-06-28 20:32:50 +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
bdea05eceb Increase versioning to have some version numbers for 4.3 branch
svn path=/trunk/KDE/kdebase/workspace/; revision=988114
2009-06-27 10:30:36 +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
Thomas Lübking
d6370c5711 fix various glitches regarding the stacking order and multiple paints due to ARBG decos as discussed on kwin-devel
svn path=/trunk/KDE/kdebase/workspace/; revision=987057
2009-06-25 12:55:12 +00:00
Lucas Murray
138179d06c Missed some functions in the decoration API cleanup.
svn path=/trunk/KDE/kdebase/workspace/; revision=984121
2009-06-20 04:22:39 +00:00
Lucas Murray
7b488277a5 Fix decoration titlebar double-click and wheel event detection on
decorations that have an upper outer padding defined.

svn path=/trunk/KDE/kdebase/workspace/; revision=980189
2009-06-11 11:49:50 +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
Lucas Murray
d6d549c656 SVN_SILENT Typos in API documenation.
svn path=/trunk/KDE/kdebase/workspace/; revision=973212
2009-05-26 14:58:36 +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
Thomas Lübking
46148b6c80 slight performance for xrender shadows
svn path=/trunk/KDE/kdebase/workspace/; revision=967093
2009-05-12 14:12:46 +00:00
Laurent Montel
d7ecbaa14d Pedantic
svn path=/trunk/KDE/kdebase/workspace/; revision=963660
2009-05-05 06:25:35 +00:00
Fredrik Höglund
8bba7aed7d Make it possible for the decorations to paint outside the window frame
when compositing is enabled, by letting them add additional padding
to the sides of the frame.

svn path=/trunk/KDE/kdebase/workspace/; revision=963586
2009-05-04 22:35:33 +00:00
Martin Gräßlin
df64d69ac3 Let's fill the unstyled EffectFrame texture with black instead of white. So the texture modulate still produces the correct color and the shader has the correct color.
Correctly inverted colors in PresentWindows with invert effect.

svn path=/trunk/KDE/kdebase/workspace/; revision=962235
2009-05-01 20:41:43 +00:00
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