Commit Graph

17 Commits (bfa4e1cec147ea8236fbbd16c3d394d6e1295c17)

Author SHA1 Message Date
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 1416ff0994 Fix VirtualDesktopGrid::size for one desktop
The default was set that the grid size for one desktop is (1, 2)
which doesn't make any sense at all - it should be (1, 1).

This most likely only affects the unit test as in production the
default layout is taken fron NETRootInfo.
2014-09-25 12:49:18 +02:00
Martin Gräßlin 8bdbe4dc15 Add default shortcuts for virtual desktop switching actions
This makes the virtual desktop KCM properly show Ctrl+F1-F4 as the
default shortcuts for switch to desktop.

REVIEW: 119051
2014-07-03 16:02:34 +02:00
Martin Gräßlin 4b372ba57e Switch virtual desktops with ctrl+alt+mouse wheel 2014-03-19 14:14:56 +01:00
Martin Gräßlin d1d3401b9f Register KWin's global shortcuts with the new shortcut system
All the KWin core shortcuts get also registered inside the new global
shortcut system so that they are still triggered when running KWin on
Wayland.
2014-03-19 14:14:56 +01:00
Martin Gräßlin ca6f3e329d [kwin] Fix includes of NETWM
Used kde4support variant.
2014-03-18 14:32:53 +01:00
Aleix Pol c72e519d9c Remove KDE/ prefix in include directories
It's unneeded and deprecated since KF5.
2014-03-17 16:24:10 +01:00
Martin Gräßlin c14f798adf [kwin] Do not use KActionCollection in VirtualDesktops
The functionality from KActionCollection is not used at all. It's
just for setting the object name. By not using the ActionCollection
to create the QAction and connecting the slot, it's also possible to
use the new compile time checked connect syntax.
2013-12-10 09:11:16 +01:00
Martin Gräßlin 2e1f028210 KWin/VirtualDesktops ported to new global shortcut system
No more Kaction, no more KShortcut.
2013-09-09 06:03:35 +02:00
Martin Gräßlin 8270744a34 Fix b840f523bf5ac5038f71e5203f3757a8929df8f1
The commit inverted the logic which results in interesting crashes during
startup.

CCMAIL: hein@kde.org
2013-08-26 11:26:12 +02:00
Eike Hein e9f372bb72 Fix build (adapt to kdelibs 84ffcc8b). 2013-08-21 20:54:28 +02:00
Martin Gräßlin 348ff1941c Partially disable KAction handling
Needs proper porting.
2013-07-24 09:58:41 +02:00
Martin Gräßlin 330d40f425 Fix no cast to/from ASCII intrduced issues
* "" needs to be wrapped in QStringLiteral
* QString::fromUtf8 needed for const char* and QByteArray
* QByteArray::constData() needed to get to the const char*
2013-07-24 09:58:33 +02:00
Martin Gräßlin af673c11d7 Remove the Change Desktop Notifications 2013-04-23 16:21:28 +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
Thomas Lübking ad262b1c13 set a default void global shortcut
and implicitly enable them
REVIEW: 108253
BUG: 312835
2013-01-08 20:50:06 +01:00
Martin Gräßlin 334b4bf622 Move handling of Virtual Desktops into a VirtualDesktopManager
The ownership for virtual desktops is moved from Workspace into a new
VirtualDesktopManager. The manager is responsible for providing the count
of virtual desktops and keeping track of the currently used virtual
desktop.

All methods related to moving between desktops are also moved from
Workspace to the new manager, though all methods related to Clients on
Virtual Desktops remain in Workspace for the time being. This is to have
the new manager as independent from KWin core as possible.

An rather important change for the handling of virtual desktops is that
the count and the id of a desktop is now an unsinged integer instead of
an integer. The reason for that is that we cannot have a negative count
of desktops as well as it is not possible to be on a desktop with a
negative identifier.

In that regard it is important to remember that a Client can be on a
desktop with a negative identifier. The special value for a Client being
on all desktops is handled by using -1 as a desktop. For the time being
this is not adjusted but instead of comparing the virtual desktop ids one
should prefer to use the convenient methods like isOnDesktop and
isOnAllDesktops. This would allow in future to internally change the
representation for on all desktops.
2013-01-07 09:47:51 +01:00