Commit graph

157 commits

Author SHA1 Message Date
Martin Gräßlin
ff3900d825 Refactor KWin Outline code into an own class
This change unduplicates some code and merges it into one class
allowing us to use an replacement effect for the outline in
future.
CCMAIL: a.arlt@stud.uni-heidelberg.de
REVIEW: 100848
2011-04-28 11:19:05 +02:00
Martin Gräßlin
15757e953a TabBox uses signals to notify the effects
EffectsHandlerImpl just forwards the signals from TabBox. In order
to have a valid pointer to the TabBox, the TabBox is now initialized
before compositing in Workspace.
2011-03-06 12:15:16 +01:00
Martin Gräßlin
b265537962 Drop dependency to libplasma from kwineffects library
Since the EffectFrames have been moved into KWin core nothing in the
Effects lib actually used Plasma. The only remaining method is moved
to core as it's not used in the Effects. The Effects itself still
link against Plasma, so nothing changes for them.

The Plasma includes in the kwineffects header seemed to pull in
quite some additional headers, so the includes in some effects have
to be adjusted (most often KConfigGroup). This should speed up the
compilation of the library and the effects.
2011-02-17 19:38:42 +01:00
Martin Gräßlin
0a7e48f7aa KWin uses kdelibs coding style. 2011-01-31 20:07:03 +01:00
Martin Gräßlin
acfc2c0b31 Include the desktop window from active screen in alt+tab.
For the tabbox mode to include the desktop window a random desktop
window was picked in a multi screen setup. Now the desktop window
of the current active screen is picked.
CCBUG: 262139

svn path=/trunk/KDE/kdebase/workspace/; revision=1214264
2011-01-13 20:36:23 +00:00
Chani Armitage
d18e95f9a6 improve stack & focuschain activity checks
BUG: 262730

svn path=/trunk/KDE/kdebase/workspace/; revision=1214045
2011-01-12 18:08:59 +00:00
Thomas Lübking
4c6bd603da blast!
svn path=/trunk/KDE/kdebase/workspace/; revision=1186892
2010-10-17 20:30:33 +00:00
Martin Gräßlin
787ef1a25f Forward port rev 1162775:
Include the first desktop window which is on current desktop in tabbox.
This fixes a bug that tabbox switches to a random desktop if there is a desktop window on each virtual desktop.
If there is only one desktop window it is on all virtual desktops and will be used.
If there is one desktop window per virtual desktop only that one will be used.
CCBUG: 247532

svn path=/trunk/KDE/kdebase/workspace/; revision=1162777
2010-08-12 16:26:29 +00:00
Martin Gräßlin
5b54bb1d03 Forward port rev 1137263:
Make icon sizes 64x64 and 128x128 available in KWin and use it in TabBox for large icon modes.
So no more ugly upscaling.
CCBUG: 241384

svn path=/trunk/KDE/kdebase/workspace/; revision=1137264
2010-06-12 06:56:40 +00:00
Chani Armitage
a1bebb7000 have alt-tab skip windows that aren't on the activity
svn path=/trunk/KDE/kdebase/workspace/; revision=1126058
2010-05-13 04:30:34 +00:00
Martin Gräßlin
fa7f160cb3 Window specific setting to skip window switchers (tabbox, present windows, desktop grid).
FEATURE: 171192
CCBUG: 179723

svn path=/trunk/KDE/kdebase/workspace/; revision=1122404
2010-05-03 20:04:44 +00:00
Martin Gräßlin
471bd26634 Prevent modal dialogs to be shown twice in alt+tab list.
BUG: 230807
CCBUG: 228186

svn path=/trunk/KDE/kdebase/workspace/; revision=1105473
2010-03-20 11:05:02 +00:00
Martin Gräßlin
7277ec7450 Add optional desktop entry to alt+tab for minimizing all windows (show desktop).
FEATURE: 167644

svn path=/trunk/KDE/kdebase/workspace/; revision=1105144
2010-03-19 10:15:56 +00:00
Lucas Murray
a0d07d12a2 Merged r970865:1049322 from /branches/work/kwin-tabbing
Adds window tabbing support to KWin.
FEATURE: 42023

svn path=/trunk/KDE/kdebase/workspace/; revision=1049334
2009-11-15 03:24:04 +00:00
Martin Gräßlin
60a152eca9 Add application switching to TabBox (that is only one element per window class).
FEATURE: 206950

svn path=/trunk/KDE/kdebase/workspace/; revision=1042640
2009-10-30 11:22:39 +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
Martin Gräßlin
fe3ff7b483 It's possible that there is no active client. So check for it to crash less in alt+tab.
BUG: 210223

svn path=/trunk/KDE/kdebase/workspace/; revision=1034001
2009-10-11 18:12:06 +00:00
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