This provides a significant performance improvement especially for Present Windows.
Whenever a lanczos resampling is done the resulted texture is cached, till the
window is damaged or a texture of different size is required. This means that
for a taskbar thumbnail the resampling only occurs once unless the window is damaged
and for present windows it only occurs when the windows are resized and then only
after the windows have already been moved. Highlighting windows does not cause
a resampling any more.
See review request http://svn.reviewboard.kde.org/r/5708/
svn path=/trunk/KDE/kdebase/workspace/; revision=1191874
When moving a window to the upper or lower quarter of a screen edge the window will be quick tiled to the responsible quarter of the screen.
Moving the window to the middle half of the screen will do the normal quicktiling to half of screen, quick maximization at top screen is unchanged.
Thanks to Arthur Arlt for his first code contribution to KDE.
See Review Request http://reviewboard.kde.org/r/5661
CCMAIL: arre2000@gmx.de
svn path=/trunk/KDE/kdebase/workspace/; revision=1190361
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
Revert rev 1137490: it caused compositing not working with legacy NVIDIA drivers and might be responsible for freezes when changing config.
It can be reverted as there is already a better fix for buggy drivers present in 4.5.1.
Did I mention that I love drivers?
CCBUG: 243991
CCBUG: 241402
svn path=/trunk/KDE/kdebase/workspace/; revision=1167909
This allows an effect to fade between old and new text/icon. As an example it's added to CoverSwitch.
Currently only supported in OpenGL. XRender might be added, but I'm missing an idea for an effect to add it.
Most effects using EffectFrame require OpenGL anyway.
svn path=/trunk/KDE/kdebase/workspace/; revision=1160252
It is not always required to do a full repaint in each frame. E.g. in sliding popups the repaint areas are known and tracked.
This change reduces the painting overhead to just the window area.
Nevertheless I consider this change as experimental and will revert the commit in case it introduces rendering glitches.
Other effects which are good candidates for this flag is wobbly windows, magic lamp, minimize or in general all effects which transform just one window.
svn path=/trunk/KDE/kdebase/workspace/; revision=1158838
So it is more consistent (in KDE newspeak "elegant") with other selections and as a plus we get rid of all the custom rendering code in boxswitch.
svn path=/trunk/KDE/kdebase/workspace/; revision=1155051
This gives us one API for both legacy and modern painting.
All glRenderGeometry* calls are deprecated as they use quads and
legacy painting.
svn path=/trunk/KDE/kdebase/workspace/; revision=1153911
This way we can get rid of the texture matrix transformations when rendering a standard texture - no matter if it's inverted or not.
svn path=/trunk/KDE/kdebase/workspace/; revision=1152649
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
So let's switch to a contains check, which makes it easier to have a blacklist, e.g. just GeForce.
CCBUG: 243181
CCBUG: 242985
svn path=/trunk/KDE/kdebase/workspace/; revision=1150353
It uses a new config group Blacklist in kwinrc with two subgroups for Lanczos and Blur.
The key of each entry in the group referrences the vendor either using GL_VENDOR or GL_RENDERER, e.g. "Intel" in renderer for Intel based chips.
The value of the entries is a stringlist containing exactly the renderer information. This way it is possible to blacklist several mesa driver versions which are buggy.
The blacklist is currently empty and will be filled with a kconf update script (which could also be done by distributions). So all users who experience problems and are subscribed to the bugs receiving this message, please upload your glxinfo.
An example for a blacklist:
[Blacklist][Lanczos]
NVIDIA=GeForce 9400M/PCI/SSE2
CCBUG: 243181
CCBUG: 242985
svn path=/trunk/KDE/kdebase/workspace/; revision=1146195
This is a workaround to the problem that some drivers do not return a complete FBO, but support the extension. Which caused the blur effect to get loaded without working and in consequence Plasma to use the blur-optimized and very translucent backgrounds.
CCBUG: 240956
svn path=/trunk/KDE/kdebase/workspace/; revision=1137490
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
This provides a good resizing performance for users having problems with the live-updating resize.
Patch by Thomas Lübking.
svn path=/trunk/KDE/kdebase/workspace/; revision=1118714
GL_BGRA is the native format, and should be faster since it doesn't
require any internal swizzling.
svn path=/trunk/KDE/kdebase/workspace/; revision=1102455
* Screensaver screen edges settings have been merged with kwin screen edges settings.
* Removed screensaver priority configuration: we assume that users don't need to change screensaver priority.
REVIEWBOARD: http://reviewboard.kde.org/r/3240/
svn path=/trunk/KDE/kdebase/workspace/; revision=1101792
the logout by using new information provided by KSMServer; Allow effects
to read and detect root window property notify events.
svn path=/trunk/KDE/kdebase/workspace/; revision=1083335
Thanks to tropikhajma for providing the patch. (Next time you could send the patch to the mailinglist as patches attached to bugreports get easily forgotten)
BUG: 216581
svn path=/trunk/KDE/kdebase/workspace/; revision=1059355
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
- 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
* 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
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
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
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
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