Commit graph

140 commits

Author SHA1 Message Date
Martin Gräßlin
eee788f45a Don't crash when focus chain is empty.
svn path=/trunk/KDE/kdebase/workspace/; revision=1022903
2009-09-13 13:46:58 +00:00
Andreas Kling
c4b279eed5 Fixed two uninitialized reads on startup ({m_,}isShown)
svn path=/trunk/KDE/kdebase/workspace/; revision=1022869
2009-09-13 12:15:04 +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
Aaron J. Seigo
7e8a329eda make "holding tab down like a mad man" give visual feedback
svn path=/trunk/KDE/kdebase/workspace/; revision=984690
2009-06-21 12:29:37 +00:00
Aaron J. Seigo
3f98bb5616 clean this up a bit, move the bottom aligned text up a bit so it's a 2/3rds, make sure the selection item is always pointing at the right place
took a stab at updating the items when the window information changes, but couldn't get anything i'm used to to work (KWindowSystem, installX11EventFilter); someone with more kwin-foo than i (not hard ;) will need to take this one on

svn path=/trunk/KDE/kdebase/workspace/; revision=984108
2009-06-20 00:38:07 +00:00
Aaron J. Seigo
1d5c437fb7 * if grahpicEffectsLevel() allows it, animate the selection background.
* don't repaint every item, every time
* use the viewitem svg; while these are technically tasks, this makes it match with other listings (e.g. krunner) which makes it look a bit more visually "tight"

svn path=/trunk/KDE/kdebase/workspace/; revision=984066
2009-06-19 21:22:45 +00:00
Aaron J. Seigo
8f8159950e use the Svg's frame borders for the height calc; now it looks proper :)
fonts are still bottom-aligned with the icon, but it actually "works" imo much better now that the frame is also properly aligned

CCBUG:197187

svn path=/trunk/KDE/kdebase/workspace/; revision=984032
2009-06-19 19:37:08 +00:00
Martin Gräßlin
0c91716572 Track change of global shortcuts for tabbox. Required for the tabbox to work correctly when a shortcut is changed.
BUG: 163732

svn path=/trunk/KDE/kdebase/workspace/; revision=972533
2009-05-25 08:35:48 +00:00
Martin Gräßlin
7d7beedaff Display outline also when compositing is used but no effect is used for alt+tab.
svn path=/trunk/KDE/kdebase/workspace/; revision=946757
2009-03-30 09:36:47 +00:00
Andreas Pakulat
c486f627c4 Port from KDE3:
Draw an outline around the current window when walking through windows. Only
done when no effects are enabled as in that case there are far better
"highlighting methods" for the currently selected window available.

svn path=/trunk/KDE/kdebase/workspace/; revision=942457
2009-03-21 19:16:44 +00:00
Martin Gräßlin
d8f8cca5c8 Tabbox uses Plasma theme. That is the background is painted using the dialog background and selected item uses the focus background of task applet. Additional a smaller font is used and text is aligned to bottom instead of center. Thanks to Nuno for going through the design steps.
svn path=/trunk/KDE/kdebase/workspace/; revision=934532
2009-03-03 11:45:39 +00:00
Laurent Montel
5535a9de5e Fix iterator
svn path=/trunk/KDE/kdebase/workspace/; revision=883047
2008-11-11 23:09:11 +00:00
Frederik Schwarzer
0e2b190a0e Merge branch 'typos'
svn path=/trunk/KDE/kdebase/workspace/; revision=864846
2008-09-25 17:51:35 +00:00
Alexander Dymo
cd419f519f 3d look for default alt-tab window selector/tabbox to make it easily distinguishable
from windows with white backgrounds.

svn path=/trunk/KDE/kdebase/workspace/; revision=835374
2008-07-20 14:00:34 +00:00
Luboš Luňák
d8e51a49a3 I'm not sure why this is needed, but it helps the styles draw the frame.
CCBUG: 165244


svn path=/trunk/KDE/kdebase/workspace/; revision=825766
2008-06-29 10:48:59 +00:00
Adriaan de Groot
214d575aa3 Qt3 -> Qt4 style includes.
qdrawutil.h doesn't seem to have a purely Qt4-style equivalent, so including the directory there disambiguates it from the Qt3 header.

svn path=/trunk/KDE/kdebase/workspace/; revision=770116
2008-02-02 20:54:19 +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
f5f2afc983 Don't remove event masks on kwin's own widgets.
svn path=/trunk/KDE/kdebase/workspace/; revision=734667
2007-11-09 14:48:26 +00:00
Luboš Luňák
ad73c931e5 It seems that any QPalette use in KWin has to explicitly specify
the color group, since KWin is technically never the active application.


svn path=/trunk/KDE/kdebase/workspace/; revision=734660
2007-11-09 14:09:29 +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
Luboš Luňák
7eabb4a3e4 Revert r692105 - the fix needs to be done in KGlobalAccel, it's not KWin-specific.
svn path=/trunk/KDE/kdebase/workspace/; revision=695959
2007-08-03 12:05:01 +00:00
Laurent Montel
994c800d79 Adapt to new KWarning/kFatal/kDebug api
svn path=/trunk/KDE/kdebase/workspace/; revision=695877
2007-08-03 06:59:24 +00:00
Philip Falkner
2901a0eea4 Make the tabbox work with the new KDED global shortcuts server.
svn path=/trunk/KDE/kdebase/workspace/; revision=692105
2007-07-25 03:06:24 +00:00
Luboš Luňák
ab1582de27 It's really interesting that KWin has had support for an arbitrary root
window, but I don't think it really works these days, and it's probably
also not useful at all.


svn path=/trunk/KDE/kdebase/workspace/; revision=689949
2007-07-19 16:24:51 +00:00
Luboš Luňák
d510baf365 Option for separating focus between Xinerama screens.
svn path=/trunk/KDE/kdebase/workspace/; revision=662065
2007-05-07 12:18:19 +00:00
Luboš Luňák
125cfda8e0 Merging from old trunk:
r626731 | lunakl | 2007-01-24 14:49:28 +0100 (Wed, 24 Jan 2007) | 4 lines

Revert r427993 (#106013) as it causes #140023.
BUG: 140023


svn path=/trunk/KDE/kdebase/workspace/; revision=659526
2007-04-30 11:36:55 +00:00
Andreas Hartmetz
f312d14146 adaptations to the new KGlobalAccel and KActionCollection. Workspace::modalActionsSwitch() has a stupid name, feel free to do whatever with it.
svn path=/trunk/KDE/kdebase/workspace/; revision=659342
2007-04-30 00:52:51 +00:00
Luboš Luňák
f52b8e48cd branches/work/kwin_composite becomes new trunk kwin.
svn path=/trunk/KDE/kdebase/workspace/; revision=659202
2007-04-29 17:35:43 +00:00
Luboš Luňák
2b7e1f4993 Remove kwin, kwin_composite will become new trunk kwin, missing merges
from trunk will be merged in.


svn path=/trunk/KDE/kdebase/workspace/; revision=659200
2007-04-29 17:34:49 +00:00
Luboš Luňák
e1406c3e42 Utility function for XGrabKeyboard().
svn path=/branches/work/kwin_composite/; revision=654227
2007-04-15 14:39:10 +00:00
Luboš Luňák
5fc1d4c480 Tabbox effect also converted to plugins.
svn path=/branches/work/kwin_composite/; revision=653014
2007-04-12 14:12:34 +00:00
Dirk Mueller
561fdef0ff include cleanup
svn path=/trunk/KDE/kdebase/workspace/; revision=652987
2007-04-12 13:02:58 +00:00
Rivo Laks
02032f8587 Move most (all?) internal methods from EffectsHandler to EffectsHandlerImpl.
The ugly side effect of this is that there are tons of static_casts in the code now... maybe it
  would be better to add effectImpl() convenience method and use that?

svn path=/branches/work/kwin_composite/; revision=652348
2007-04-10 18:47:13 +00:00
Luboš Luňák
2c928221a4 namespace KWinInternal -> KWin - shorter typing of names in gdb, yay
svn path=/trunk/KDE/kdebase/workspace/; revision=650773
2007-04-05 12:12:10 +00:00
Luboš Luňák
e3b865cd5f namespace KWinInternal -> KWin - shorter typing of names in gdb, yay
svn path=/branches/work/kwin_composite/; revision=650770
2007-04-05 12:07:35 +00:00
Philip Falkner
574e562906 Some updates to the tabbox.
Provide a pair of methods, setCurrentClient() and setCurrentDesktop(),
to allow effects to select items in the tabbox without activating them.

Insulate effects from having to know the order of desktops, with
currentDesktopList().  DesktopMode and DesktopListMode should be
effectively identical as far as how effects work.

Some changes to how the tabbox refcounting is done, should work a little
better.  Other small cosmetic changes.

Update BoxSwitchEffect.


svn path=/branches/work/kwin_composite/; revision=647594
2007-03-28 20:29:45 +00:00
Philip Falkner
ce89ed0716 Allow effects to replace the tabbox.
svn path=/branches/work/kwin_composite/; revision=640628
2007-03-08 16:49:44 +00:00
Philip Falkner
db53353349 Make the tabbox update if windows are added/removed while the tabbox is active.
svn path=/branches/work/kwin_composite/; revision=640626
2007-03-08 16:48:48 +00:00
Philip Falkner
908a3e708e Port tabbox from QFrame to Q3Frame.
svn path=/branches/work/kwin_composite/; revision=640446
2007-03-08 04:44:06 +00:00
Luboš Luňák
8af21ee5b3 merge r635823 from trunk
svn path=/branches/work/kwin_composite/; revision=636609
2007-02-23 14:38:01 +00:00
Barış Metin
12d1b8b0fd setGroup to KConfigGroup
svn path=/trunk/KDE/kdebase/workspace/; revision=635823
2007-02-21 02:59:04 +00:00
Luboš Luňák
47f5535e6a Make the tabbox also show when compositing.
svn path=/branches/work/kwin_composite/; revision=632602
2007-02-11 18:36:10 +00:00
Dirk Mueller
6c224134db porting simplifications regarding KConfig::readEntry
svn path=/branches/work/kwin_composite/; revision=632199
2007-02-10 09:12:35 +00:00
Philip Falkner
45aeae3273 Merge from trunk (now it should build)
r581402:
 Not used.
r628276:
 merge the kinstance-redesign branch
r628350:
 This directory doesn't exist on my computer :)

svn path=/branches/work/kwin_composite/; revision=628706
2007-01-30 23:57:40 +00:00
Matthias Kretz
3003c4ecf8 merge the kinstance-redesign branch back to trunk.
svn path=/trunk/KDE/kdebase/workspace/; revision=628276
2007-01-29 17:14:20 +00:00
Luboš Luňák
f9555cf69e Revert r427993 (#106013) as it causes #140023.
BUG: 140023


svn path=/trunk/KDE/kdebase/workspace/; revision=626731
2007-01-24 13:49:28 +00:00
Luboš Luňák
de4d1bc518 Implement cursorPos() as an optimized version of QCursor::pos()
that tries to reduce the number of X roundtrips.


svn path=/branches/work/kwin_composite/; revision=620326
2007-01-05 17:45:54 +00:00
Tim Beaulen
01d8fe1308 Build
svn path=/branches/work/kwin_composite/; revision=615763
2006-12-22 15:09:35 +00:00
Simon Hausmann
ca449ecaee merge branches/work/kaction-cleanup-branch: Simplify and clean up KShortcut
svn path=/trunk/KDE/kdebase/workspace/; revision=614599
2006-12-18 12:25:10 +00:00
Luboš Luňák
840364cd2a Merge r608181 from trunk (KShortcut/KAction changes).
svn path=/branches/work/kwin_composite/; revision=610146
2006-12-03 13:43:37 +00:00