Commit graph

479 commits

Author SHA1 Message Date
Martin Gräßlin
ab4e798837 Remove no longer needed casts from TabBox::establish/removeTabBoxGrab 2015-05-08 12:43:46 +02:00
Martin Gräßlin
704b255234 Drop no longer needed dynamic_casts from TabBox 2015-05-08 12:43:46 +02:00
Martin Gräßlin
7d5236cac8 TabBox::shadeActivate operates on AbstractClient 2015-05-08 12:43:46 +02:00
Martin Gräßlin
3ad117ac28 Workspace::activeClient returns an AbstractClient
Still a few casts in some areas as setting activeClient still takes
a Client.
2015-05-08 12:43:45 +02:00
Martin Gräßlin
6e45901844 TabBoxClientImpl changed to using an AbstractClient
The change is mostly straight forward. Effects are straight forward
adjusted. Client::findModal is moved up, this causes still a few
dynamic_casts to Client. Mostly because Workspace::activateClient still
operates on Client.
2015-05-08 12:43:44 +02:00
Martin Gräßlin
fe7a6834b2 FocusChain operates on AbstractClient instead of Client
As external interface it still returns Client* to not force the casts
to be done at usages. This will be changed once the users are migrated
to AbstractClient*.
2015-05-08 12:43:44 +02:00
Thomas Lübking
0b6a804701 break showingDesktop w/ tabbox/PW/DG
This is now crucial, because while before
(the minimized) windows were conditionally
shown, but are now always behind the desktop.
Also, it makes the tabbox more consistent.

BUG: 344083
REVIEW: 122679
2015-04-07 23:59:17 +02:00
Martin Gräßlin
0d51952d78 Provide x11Connection as a property on the KWin::Application
KWin::connection() uses the property to resolve the value instead of
using QX11Info. In practice this doesn't change anything at the moment,
but allows kwin_wayland to provide an xcb connection without depending
on QX11Info.

As we cannot make xcb_connection_t* available as a metatype, the
property's type is set to void*.
2015-03-17 09:44:53 +01:00
Martin Gräßlin
d66a804bbb Drop not needed includes of QX11Info 2015-03-17 09:44:53 +01:00
Martin Gräßlin
c61ecc887a Replace QX11Info::appRootWindow() by KWin::rootWindow()
No need to go through QX11Info for information we already cache.
2015-03-17 09:44:53 +01:00
Martin Gräßlin
857219546f Update x11Time when a global shortcut is pressed
KGlobalAccel sets the timestamp as a property and we need to set our
x11Time to it otherwise following keyboard grabs might fail.

Requires 61e2a156678eef033b2629f7c72530dc78d7c3ac in kglobalaccel.
2015-02-25 08:15:53 +01:00
Martin Gräßlin
e96c86e045 Remove unused #include <KWindowSystem> 2015-02-17 13:35:30 +01:00
Thomas Lübking
40a06a23a9 ShadeHover highlighted windows in tabbox
The setting says "show selected window" ;-)

BUG: 186206
FIXED-IN: 5.3
REVIEW: 122472
2015-02-10 21:41:25 +01:00
Thomas Lübking
ea5a5f196d allow forcefull restacking
when restacking for shaded windows and uncomposited tabboxes
the group check should not be applied since we know better
eg. to restore a former order

CCBUG: 186206
REVIEW: 122469
2015-02-10 21:40:55 +01:00
Martin Gräßlin
2a29324294 [tabbox] Port keysym and modifier mapping to XCB
REVIEW: 122454
2015-02-09 09:12:57 +01:00
Martin Gräßlin
4c9744fe8e Drop dependency on kdecoration.h 2014-12-02 13:50:26 +01:00
Martin Gräßlin
66df3eefdf Cleanup: reduce usage of QDesktopWidget 2014-11-27 09:32:43 +01:00
Martin Gräßlin
6d64113ed4 Do not include utils.h in xcbutils.h
Only needed for ScopedCPointer which can be defined in both utils and
xcbutils.h.

Not having utils.h in xcbutils.h makes it easier to have unit tests use
xcbutils.h as it removes the dependencies.
2014-11-27 09:00:19 +01:00
Martin Gräßlin
b7a8bb4f52 Drop build option KWIN_BUILD_SCREENEDGES
The build option got introduced for Plasma Active back in a time
when we did not properly aim for convergence. In a Plasma 5 world
we want to have only one shell and one window manager which adjust
itself. This means we don't want a differently compiled kwin for
plasma active, but the same one. Thus the build option doesn't
make much sense any more. A KWin for touch interface needs to support
screenedges for the case that mouse is plugged in.

CCBUG: 340960
REVIEW: 121200
2014-11-24 10:48:49 +01:00
Martin Gräßlin
4419b3debf Desktop switchers moved to kdeplasma-addons
Last but not least.
2014-10-31 09:34:48 +01:00
Martin Gräßlin
905c1f8f9d [tabbox/qml] Default desktop switcher moved to look and feel package
REVIEW: 120884
2014-10-31 09:12:56 +01:00
Martin Gräßlin
e79f0d54f2 [tabbox] Get DesktopSwitcher from look and feel package
Like with WindowSwitcher the configured value might be for the
look and feel package and thus we should first try to locate it
from the look and feel package.
2014-10-31 09:11:23 +01:00
Martin Gräßlin
d9dc53e0ed [tabbox] Window Switcher layouts moved to kdeplasma-addons
REVIEW: 120881
2014-10-31 09:10:24 +01:00
Martin Gräßlin
6a8d2236eb [tabbox] Sidebar window switcher got moved to plasma-workspace
It's now part of the org.kde.breeze.desktop look and feel package.
2014-10-29 08:29:29 +01:00
Martin Gräßlin
ddc1e6de59 [tabbox] Try locating the WindowSwitcher QML through configured lnf package
We assume the configured layout name is a look and feel package. Thus
the Switcher is located at contents/windowswitcher/WindowSwitcher.qml
of that package.

REVIEW: 120849
2014-10-28 16:53:23 +01:00
Volker Krause
5db2d5a556 Make constants const, saves a few symbols in the .data section. 2014-09-27 20:30:49 +02:00
l10n daemon script
e340d1ba05 SVN_SILENT made messages (.desktop file) 2014-09-19 09:03:02 +00:00
l10n daemon script
493e9b3238 SVN_SILENT made messages (.desktop file) 2014-09-02 10:43:26 +00:00
Thomas Lübking
d44aedbcac always use establishTabBoxGrab instead un/grabX*
BUG: 337853
2014-08-11 21:27:40 +02:00
l10n daemon script
28c7f3c47d SVN_SILENT made messages (.desktop file) 2014-06-29 08:41:34 +00:00
l10n daemon script
4a88e1b005 SVN_SILENT made messages (.desktop file) 2014-06-16 08:24:58 +00:00
l10n daemon script
e73f6b2278 SVN_SILENT made messages (.desktop file) 2014-06-10 10:37:36 +00:00
Martin Gräßlin
1f4981fc0b [tabbox] Bring back disabled unit tests
SwitcherItem is disabled for the unit test to reduce pulled in deps.
2014-06-10 11:14:59 +02:00
Martin Gräßlin
f747f370b3 [tabbox] Fix key navigation in icons based tabbox 2014-06-05 08:11:34 +02:00
Martin Gräßlin
d1798202e8 [tabbox] Fix forwarding grabbed key event to QQuickItem
We need to send the event to a QQuickItem which accepts focus. Just
sending it to the Window or to the contentItem doesn't work as there is
no activeFocusItem (might be related to having the keyboard grabbed).

We try to send the event to all children of the Window's content item.
There should hopefully be one item which accepts the event and properly
reacts on cursor keys.

REVIEW: 118471
2014-06-05 08:11:34 +02:00
Martin Gräßlin
ec6a1810d4 [tabbox] Drop DBus interface and embedded functionality
Both were only added for the use case of Plasma Active. In the next
iteration we won't need the embedded any more as Plasma is able to draw
thumbnails by itself. So there is neither need for the embedded
functionality nor for the D-Bus interface.

REVIEW: 118464
2014-06-02 10:46:34 +02:00
Martin Gräßlin
b83f63edf2 [tabbox] Use XCB_CURRENT_TIME for xcb_allow_event
BUG: 335187
2014-06-01 17:20:01 +02:00
Martin Gräßlin
41b7b7f3e5 [tabbox] Pass parent to TabBoxHandler
Required to get it cleaned up on KWin tear down.

Fixes crash on restart.

REVIEW: 118344
2014-05-27 10:12:00 +02:00
Martin Gräßlin
3cd932f441 [tabbox] Fix cleanup of TabBoxHandlerPrivate
Iterating from constBegin to constBegin doesn't make any sense m(
2014-05-27 10:08:36 +02:00
Martin Gräßlin
97726a4b1f [TabBox] Fix forcedGlobalMouseGrab
Was incompletely moved to TabBox after splitting out from Workspace.

REVIEW: 118259
2014-05-23 07:31:00 +02:00
Martin Gräßlin
1a36364a05 [kwin/tabbox] New default window switcher layout is sidebar
CCMAIL: plasma-devel@kde.org
2014-05-22 09:00:42 +02:00
Marco Martin
6bd16ab166 fix some label layout issues 2014-05-16 14:20:21 +02:00
Marco Martin
bca1ea4f1d KWin.Switcher currentIndex follows listview one 2014-05-16 14:14:10 +02:00
Marco Martin
a9417c2d11 round positions
makes the text render correctly
2014-05-16 14:11:24 +02:00
Marco Martin
787b0d8cdf scroll the view to make the current item shown 2014-05-16 14:07:44 +02:00
Martin Gräßlin
83c76f21a4 [tabbox/sidebar] Mass improve layouting in sidebar
* Apply anchoring fixes to the Thumbnail
* Use RowLayout for the caption
* elide the text of the caption
* fix binding loops

Reviewed-By: Marco Martin
2014-05-16 11:50:05 +02:00
l10n daemon script
203d043a09 SVN_SILENT made messages (.desktop file) 2014-05-16 08:23:41 +00:00
Martin Gräßlin
365d75ad06 [tabbox] Fix layouting of thumbnail items
We don't have access to the margins specified in anchors resulting in
incorrect thumbnail position. To fix this we need to create a dummy item
which does the anchoring and the thumbnail needs to just be an
anchors.fill: parent.

REVIEW: 118113
2014-05-16 07:37:23 +02:00
Martin Gräßlin
e38a98ff04 [tabbox/grid] Use RowLayout for the item's caption
Simplifies the code quite a bit by no longer needing an extra item for
the selected caption.

As a nice side effect it fixes a binding loop.

BUG: 334537
REVIEW: 118112
2014-05-16 07:36:46 +02:00
Martin Gräßlin
1f30efb333 [tabbox/icons] Fix reference error 2014-05-15 10:41:52 +02:00