Commit graph

10302 commits

Author SHA1 Message Date
Martin Gräßlin
7c489e43d9 Plasma Package support for desktop switcher layouts
The existing desktop switcher becomes the first available layout called
"informative". For both variants of desktop switchers a new config key is
introduced to define the desktop switcher layout.

Desktop layouts are installed into a different directory than window
switcher layout and use a different service type.

For the moment it's basically a hidden config option as there are no
further layouts yet.

BUG: 296068
FIXED-IN: 4.11
REVIEW: 110021
2013-04-24 11:33:06 +02:00
Martin Gräßlin
badc7a2bc4 Remove show outline from TabBox
It's an option doing pretty much the same as the highlight of selected
window option. But it is known to conflict especially with some Plasma
themes.

BUG: 310935
FIXED-IN: 4.11
REVIEW: 110140
2013-04-24 10:02:57 +02:00
Martin Gräßlin
6d0d9cfe43 Remove KWin::Notifications
Overall all notifications except compositing suspended by DBus were
configured by default to not have any action. This means all the time we
emit a notification we keep DBus and KDED busy for nothing.

All the cases when a notification is triggered ire also exported to
KWin scripting, so if one really needs to handle something in case a
window is moved, it could be done through a KWin script with much more
context about the event.

REVIEW: 110113
BUG: 258097
FIXED-IN: 4.11
2013-04-23 16:23:55 +02:00
Martin Gräßlin
a836612a92 Move Composite suspended by dbus notification directly to where it's used 2013-04-23 16:21:30 +02:00
Martin Gräßlin
5b56cff520 Remove demands attention notification 2013-04-23 16:21:30 +02:00
Martin Gräßlin
dca341994f Remove window activated notification 2013-04-23 16:21:30 +02:00
Martin Gräßlin
2151382cf1 Remove (un)fullscreen window notification 2013-04-23 16:21:30 +02:00
Martin Gräßlin
466acb7c80 Remove Move/Resize Start/End notifications 2013-04-23 16:21:30 +02:00
Martin Gräßlin
c9bfecc12b Remove dialog close notification 2013-04-23 16:21:29 +02:00
Martin Gräßlin
a82689a2d2 Remove new dialog notification 2013-04-23 16:21:29 +02:00
Martin Gräßlin
5db4923598 Remove (not) on all desktops notification 2013-04-23 16:21:29 +02:00
Martin Gräßlin
54a12641ae Remove window (un)maximized notifications 2013-04-23 16:21:29 +02:00
Martin Gräßlin
2a2632ee76 Remove Window Unminimize Notification
Fun fact: it was configured to play the Unmaximize sound.
2013-04-23 16:21:29 +02:00
Martin Gräßlin
d6c4fc4f86 Remove Window Minimized Notification 2013-04-23 16:21:29 +02:00
Martin Gräßlin
6c0a35d0e0 Remove Shade Up/Down Notification 2013-04-23 16:21:29 +02:00
Martin Gräßlin
88c77db4b8 Remove window close notification 2013-04-23 16:21:29 +02:00
Martin Gräßlin
5d303e0fee Remove delete window notification 2013-04-23 16:21:29 +02:00
Martin Gräßlin
c8c2550eb6 Remove new window notification 2013-04-23 16:21:29 +02:00
Martin Gräßlin
af673c11d7 Remove the Change Desktop Notifications 2013-04-23 16:21:28 +02:00
David Faure
2b3cf17649 Merge remote-tracking branch 'origin/KDE/4.10'
Conflicts:
	solid/modemmanager-0.4/solid_modemmanager04.desktop [deleted]
	solid/networkmanager-0.7/solid_networkmanager07.desktop [deleted]
2013-04-23 10:50:37 +02:00
Script Kiddy
88f3f67cbe SVN_SILENT made messages (.desktop file) 2013-04-22 13:47:24 +02:00
Script Kiddy
71d0e363d3 SVN_SILENT made messages (.desktop file) 2013-04-22 09:03:09 +02:00
Script Kiddy
d2b718ac0d SVN_SILENT made messages (.desktop file) 2013-04-20 09:51:27 +02:00
Script Kiddy
71743ba5cb SVN_SILENT made messages (.desktop file) 2013-04-18 09:41:16 +02:00
Script Kiddy
041ee1ac71 SVN_SILENT made messages (.desktop file) 2013-04-17 09:15:50 +02:00
Thomas Lübking
2742f6747f Merge branch 'KDE/4.10' 2013-04-16 22:07:22 +02:00
Thomas Lübking
1bda85f9f5 resize effect: use preMultiply function for color 2013-04-16 22:07:07 +02:00
Thomas Lübking
3faecf5075 fix effect script parsing
REVIEW: 109987
2013-04-16 22:07:07 +02:00
Thomas Lübking
8cf6e39eab general tabbox support for screenedges
REVIEW: 109362
BUG: 316288
FIXED-IN: 4.11
2013-04-16 22:07:07 +02:00
Thomas Lübking
c6ff7932c2 Tabbox: ask kwin about compositing
REVIEW: 109983
2013-04-16 22:07:06 +02:00
Thomas Lübking
70f9bc29f3 support bordersnapping per axis
a partially max'd client shall only receive aggressive snapping in
the max'd dimension

BUG: 318105
REVIEW: 109951
2013-04-16 22:07:06 +02:00
Thomas Lübking
56d39cb327 remove moveResizeMaximized GUI
REVIEW: 110000
2013-04-16 22:07:05 +02:00
Thomas Lübking
adf3509647 fix initial tabs in rules kcm 2013-04-16 22:07:05 +02:00
Thomas Lübking
5d530a64fb don't setMaximize if whe only want changeMaximize
BUG: 318275
FIXED-IN: 4.10.3
REVIEW: 110006
2013-04-16 20:23:28 +02:00
Ralf Jung
84c904d6f9 EGL backend: Check if implementation supports swap interval of 1 before setting it
REVIEW: 110023
2013-04-16 19:00:52 +02:00
Ralf Jung
c9f852a73f Fix tearing in video playback when using kwin_gles
REVIEW: 109973
2013-04-16 16:16:13 +02:00
Feng Chao
7854d12743 Fix Bug 316877 - Description text for the Slide Back effect is incorrect
Change "Slide back windows losing focus" to
"Slide back windows when another window is raised"

BUG: 316877
2013-04-16 20:44:49 +08:00
Martin Gräßlin
b88f7ad8ce Remove QDeclarativeView from DeclarativeScript
The view is never shown or used in any way except to create the
QDeclarativeEngine. So instead of using a view as a wrapper, let's create
a QDeclarativeEngine and a Component and create the script from the
Component.

To have Plasma.Dialog working we also need to add the created script item
to a QGraphicsScene.
2013-04-16 08:10:15 +02:00
Martin Gräßlin
edb074cbc2 Split out screen handling from Workspace into own class Screens
Following the approaches of other split out functionality Screens is a
singleton class created by Workspace.

The class takes over the responsibility for:
* screenChanged signal delayed by timer
* number of screens
* geometry of given screen
* active screen
* config option for active screen follows mouse

The class contains a small abstraction layer and has a concrete subclass
wrapping around QDesktopWidget, but the idea is to go more low level and
interact with XRandR directly to get more detailed information.

All over KWin the usage from QDesktopWidget is ported over to the new
Screens class.

REVIEW: 109839
2013-04-15 10:25:10 +02:00
Martin Gräßlin
27627bdccb Move killWindowId(Window) from Workspace to KillWindow
Only used from KillWindow and does not operate on private data of
Workspace.

At the same time port to XCB.

REVIEW: 109911
2013-04-15 10:09:04 +02:00
Martin Gräßlin
a27bbb9698 Forward declare KillWindow in workspace.h 2013-04-15 10:08:51 +02:00
Martin Gräßlin
2702c1930b Remove useless method Workspace::killWindow
Was just wrapping to slotKillWindow.
2013-04-15 10:08:51 +02:00
Martin Gräßlin
a442bd6416 DecorationPlugin becomes a QObject
This allows to move the slot to reset the decoration when compositing
got toggled from Workspace to DecorationPlugin and the custom cleanup
is no longer needed.

REVIEW: 109909
2013-04-15 10:04:09 +02:00
Martin Gräßlin
15546e11c2 Rename DecorationPlugin::noDecoration property to disabled 2013-04-15 09:59:09 +02:00
Martin Gräßlin
265b5523e2 Move decoration related methods from Workspace to DecorationPlugin
They were all just delegating to the DecorationPlugin.
2013-04-15 09:59:09 +02:00
Martin Gräßlin
d8e1b1c00e Rename plugins.(h|cpp) to decorations.(h|cpp) 2013-04-15 09:59:09 +02:00
Martin Gräßlin
724bfd4548 Make DeocrationPlugin a KWin singleton
Like so many other classes there is exactly one instance hold by
Workspace.
2013-04-15 09:59:09 +02:00
Martin Gräßlin
32be37bce3 Rename PluginMgr to DecorationPlugin
It's about the decorations not just *the* plugin.
2013-04-15 09:59:09 +02:00
Martin Gräßlin
0fb27fd12e Defines to create the boilerplate code for KWin's singleton classes
The define KWIN_SINGLETON adds to a class definition:

public:
    static Foo *create(QObject *parent = 0);
    static Foo *self() { return s_self; }
protected:
    explicit Foo(QObject *parent = 0);
private:
    static Foo *s_self;

There is an additional define KWIN_SINGLETON_VARIABLE to set a different
name than s_self.

The define KWIN_SINGLETON_FACTORY can be used to generate the create
method. It expands to:

Foo *Foo::s_self = 0;
Foo *Foo::create(QObject *parent)
{
    Q_ASSERT(!s_self);
    s_self = new Foo(parent);
    return s_self;
}

In addition there are defines to again set a different variable name and
to create an object of another inheriting class.

All the classes currently using this pattern are adjusted to use these
new defines. In a few places the name was adjusted. E.g. in Compositor
the factory method was called createCompositor instead of create.

REVIEW: 109865
2013-04-15 09:57:25 +02:00
Martin Gräßlin
76c6f75d80 Remove colormap handling from Client::windowEvent
This code never worked (git blame ends at 05507ee2). The event type is
ColormapNotify (32) and not ColormapChangeMask (1<<23).

Nobody noticed for years so it seems like unneeded to be fixed.

REVIEW: 109912
2013-04-15 09:46:15 +02:00