Commit graph

74 commits

Author SHA1 Message Date
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
Lucas Murray
da37b1f16d Don't const effect proxies.
svn path=/trunk/KDE/kdebase/workspace/; revision=1018656
2009-09-02 02:30:22 +00:00
Laurent Montel
3ce5dd0ffc Fix includes
svn path=/trunk/KDE/kdebase/workspace/; revision=1018077
2009-09-01 07:05:48 +00:00
Martin Gräßlin
6a58eb589d Add fadeout to closed windows in present windows effect. During fadeout other windows are moved to a better possible position.
BUG: 200084

svn path=/trunk/KDE/kdebase/workspace/; revision=996370
2009-07-14 09:06:37 +00:00
Lucas Murray
4fe4c732c0 Fix present windows alt+tab behaviour.
BUG: 198711

svn path=/trunk/KDE/kdebase/workspace/; revision=995383
2009-07-12 15:24:58 +00:00
Martin Gräßlin
ae0bac5c42 New mode for present windows effect: selecting all windows of same class as active window.
svn path=/trunk/KDE/kdebase/workspace/; revision=989722
2009-06-30 19:11:02 +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
Thomas Lübking
fbedac8cad BUG: 195518
BUG: 182425
BUG: 181898


svn path=/trunk/KDE/kdebase/workspace/; revision=978605
2009-06-07 17:25:16 +00:00
Martin Gräßlin
f7199eac7b When a shader is bound pass correct values for texture height, texture width and opacity for text frame and icon frame from present windows to the shader.
This renders the texture correctly, although invert effect only inverts the text and not the background. *shrug*

svn path=/trunk/KDE/kdebase/workspace/; revision=962234
2009-05-01 20:41:38 +00:00
Martin Gräßlin
69b8e33fce Check for the global shortcut in the effects so that the shortcut actually toggles the effect. This is a workaround needed because the keyboard grab disables the global shortcut.
FEATURE: 156155

svn path=/trunk/KDE/kdebase/workspace/; revision=946787
2009-03-30 11:27:57 +00:00
Martin Gräßlin
92484573f2 Effects can be activated at more than one electric border.
FEATURE: 180548

svn path=/trunk/KDE/kdebase/workspace/; revision=946404
2009-03-29 12:57:20 +00:00
Lucas Murray
6d57716d53 Minor memory leak patch to present windows.
svn path=/trunk/KDE/kdebase/workspace/; revision=936614
2009-03-08 05:07:42 +00:00
Lucas Murray
27187f2c15 Correctly handle windows that were closed but not yet deleted when the
present windows desktop effect is activated.
CCBUG: 185127
CCBUG: 185239
BUG: 185856

svn path=/trunk/KDE/kdebase/workspace/; revision=934022
2009-03-02 07:48:56 +00:00
Lucas Murray
e0faab0e96 Added debug asserts to present windows. This will hopefully cause KWin
to crash instead of producing black screens making it easier to find the
cause. For the people who can reproduce existing crashes please resubmit
their backtraces with this change applied.
CCBUG: 185127
CCBUG: 185239

svn path=/trunk/KDE/kdebase/workspace/; revision=933187
2009-02-28 10:18:46 +00:00
Lucas Murray
d5ef2a7a87 Prevent present windows from crashing if the highlighted window from the
previous activation is closed and the effect is activated a second time.
BUG: 179537

svn path=/trunk/KDE/kdebase/workspace/; revision=933171
2009-02-28 09:21:54 +00:00
Lucas Murray
d4f16a8dca Why doesn't my system crash when deleting uninitialized data? In
unrelated news the fade effect is broken again... This time it prevents
windows from ever being deleted. This commit message wins the "most
unrelated" award.
BUG: 185239

svn path=/trunk/KDE/kdebase/workspace/; revision=930448
2009-02-23 14:24:20 +00:00
Lucas Murray
be268c1f4c SVN_SILENT Fix crash in present windows.
BUG: 185239

svn path=/trunk/KDE/kdebase/workspace/; revision=930007
2009-02-22 14:51:38 +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
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
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
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
Renamed from effects/presentwindows.cpp (Browse further)