Commit graph

427 commits

Author SHA1 Message Date
Lucas Murray
a6e68a5f6f Revert failed Krazy changes.
svn path=/trunk/KDE/kdebase/workspace/; revision=1043205
2009-11-01 03:36:38 +00:00
Martin Gräßlin
77f0f0eaca Adding the missing pieces for a nice and fast letterbox resizing as a replacement for the drawbound resizing.
Perhaps we should not display the totally ugly drawbound when we have an active resize effect.
CCBUG: 208770
CCBUG: 152638

svn path=/trunk/KDE/kdebase/workspace/; revision=1042711
2009-10-30 14:22:33 +00:00
Martin Gräßlin
aff72003dd The TabBox passes KeyEvents to the effects. So we can navigate with left/right/up/down in presentwindows when used as alt+tab effect. Filtering is of course disabled.
svn path=/trunk/KDE/kdebase/workspace/; revision=1042596
2009-10-30 09:16:41 +00:00
Lucas Murray
424d358fd2 Less Krazy warnings please.
svn path=/trunk/KDE/kdebase/workspace/; revision=1042583
2009-10-30 08:10:35 +00:00
Lucas Murray
8a8428e41c Less Krazy warnings please.
svn path=/trunk/KDE/kdebase/workspace/; revision=1042572
2009-10-30 06:51:59 +00:00
Lucas Murray
e251d9316f Detect when we receive an incomplete FBO and consider it invalid.
CCBUG: 210678

svn path=/trunk/KDE/kdebase/workspace/; revision=1036024
2009-10-16 10:36:17 +00:00
Lucas Murray
3fd898cbf7 Less warnings please.
svn path=/trunk/KDE/kdebase/workspace/; revision=1031445
2009-10-05 07:58:12 +00:00
Lucas Murray
8cbce93613 Less warnings please.
svn path=/trunk/KDE/kdebase/workspace/; revision=1031438
2009-10-05 06:59:10 +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
Andreas Kling
a26a08830d Always respect the cornerShape(). Fixes a minor visual glitch when a shaped
window is mapped next to a screen edge.

BUG: 197516

svn path=/trunk/KDE/kdebase/workspace/; revision=1024877
2009-09-17 13:08:01 +00:00
Robin Harold Burchell
102ec081e2 Extend on the quicktiling(/snap) work by mgraesslin in r1021305:
- Add hotkeys for snap left/snap right, kwin won't need a seperate hotkey for snap up, as maximize will do that job for us, and it already has a hotkey
 - Add geometry restoring to quick tile, meaning that windows can be moved back to their original state after a tile, useful if just looking at something quickly.

Thanks to mgraesslin for review and lots of mentoring.

svn path=/trunk/KDE/kdebase/workspace/; revision=1022987
2009-09-13 17:09:44 +00:00
Martin Gräßlin
76f17e6de1 Here comes the new TabBox. It is a complete rewrite using a MVC approach. Here some highlights:
* Models and Delegates for Clients and Desktops
 * Horizontal, vertical and tabular layout
 * Layout of one item can be configured by an XML definition
 * A desktop item can include a client list
 * An optional second list view showing only the selected item
 * A new KCM "kwintabbox"
 * An alternative TabBox with independent settings and keybindings
 * Optional Highlight Windows effect integration
 * List scrolls instead of removing items
 * Scroll wheel support
 * Cursor key support
 * Middle click on item closes window
BUG: 195745
BUG: 197187
BUG: 201103
FEATURE: 118184
FEATURE: 156723
FEATURE: 177441
FEATURE: 182897
FEATURE: 193882
GUI:

svn path=/trunk/KDE/kdebase/workspace/; revision=1022861
2009-09-13 11:36:45 +00:00
Andreas Kling
0204c2127c Fixed some uses of uninitialized data (SceneOpenGL::selfCheckDone and TimeLine::m_CurveShape)
svn path=/trunk/KDE/kdebase/workspace/; revision=1022613
2009-09-12 09:38:12 +00:00
Hugo Pereira Da Costa
39731f6d8c added 'SettingCompositing' to notify decorations that compositing state has changed
svn path=/trunk/KDE/kdebase/workspace/; revision=1021801
2009-09-10 05:03:04 +00:00
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