Commit Graph

10951 Commits (e62001758f254104129ea55d29367ee17fb82ec8)

Author SHA1 Message Date
Martin Gräßlin e62001758f Drop some no longer required includes from main.cpp 2013-08-29 13:59:28 +02:00
Martin Gräßlin 1b30755b32 Use XCB for startup and multi-head check in KWin
Multi-head is somehow tested with Xvfb. At least the fork works and
the display variables are properly adjusted.
2013-08-29 13:59:28 +02:00
Martin Gräßlin 16fdecb495 Do not use KGLobalSettings::isMultiHead
KGlobalSettings is kde4supports, so just check the env variable
directly.
2013-08-29 13:59:28 +02:00
Martin Gräßlin d85802da4e Port send event to splash screen to XCB
Not yet tested.
2013-08-29 13:59:28 +02:00
Martin Gräßlin af2359ef98 Port setInputFocus in KWin::Application dtor to XCB 2013-08-29 10:41:45 +02:00
Martin Gräßlin a2d97fef17 Port KWinSelectionOwner to XCB
One usage of DefaultScreen is still present as QX11Info is not yet
providing the primaryScreen from QXcbConnection.
2013-08-29 10:34:11 +02:00
Martin Gräßlin 1f302b0c4a Drop dependency on kde_file.h in kwin/main.cpp 2013-08-29 10:34:11 +02:00
Martin Gräßlin 0dd7adf5f5 Port KWin::Application to QApplication and QCommandLineParser
Done in one step as it requires changes which are better suited with a
QApplication.

To not need to parte the QCommandLineParser around the needed arguments
are added to the KWin::Application through setters and the crash count
is available through a static getter/setter pair.
2013-08-28 14:13:39 +02:00
Martin Gräßlin 437f762466 Use xcb_atom_t for the Atoms in KWinSelectionOwner 2013-08-28 14:13:39 +02:00
Martin Gräßlin 8621b4e46d Use qApp instead of kapp in KWin
Preparation step for porting away from KApplication. Disables a little
bit more session management code (as it's broken anyway).
2013-08-28 14:13:39 +02:00
Martin Gräßlin c4b8f33ac7 Port KWin/Killer to QCommandLineParser
And with that it no longer needs kde4support.
2013-08-28 14:13:39 +02:00
Reza Shah 9c2e4991cf Port kwinbindings.cpp away from KAction/KShortcut
REVIEW: 112119
2013-08-28 19:27:09 +09:00
Hugo Pereira Da Costa c5c5fffbdf Added "Display window borders for maximized windows" option.
CCBUG: 324011
2013-08-27 10:35:52 +02:00
Hugo Pereira Da Costa 0fe389570e fixed uppercase typo in kcfg file 2013-08-27 10:35:43 +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
Martin Gräßlin 8051e08361 Add missing target link libraries in kwin/effects 2013-08-23 09:38:44 +02:00
Eike Hein e9f372bb72 Fix build (adapt to kdelibs 84ffcc8b). 2013-08-21 20:54:28 +02:00
Martin Gräßlin fb111be903 Use Qt5::Script in linker definition of KWin core
Missed that one in the other commit.
2013-08-20 10:49:33 +02:00
Martin Gräßlin 37334f400a Drop no longer needed XLib includes from KWin 2013-08-20 10:29:20 +02:00
Martin Gräßlin e21225fa47 Use XCB Shape instead of XLib Shape in KWin core 2013-08-20 09:48:14 +02:00
Martin Gräßlin bf3bcd7f6f Drop linking to kdecore in KWin
Left-over from when kdebug was not yet moved to kde4support.
2013-08-20 09:16:14 +02:00
Martin Gräßlin 84a2f3020b Use Qt5:: in target link libraries in KWin 2013-08-20 09:14:24 +02:00
Martin Gräßlin 5ca6654eb8 Fix linking
KDEUI is dead which caused collateral damage.
2013-08-20 08:47:47 +02:00
Martin Gräßlin 209666538e Port Workspace::clientShortcutUpdated away from KAction
Does no longer crash when setting a window shortcut.
2013-08-19 13:51:29 +02:00
Martin Gräßlin caae057649 Port KWin::ShortcutDialog from KDialog to QDialog 2013-08-19 12:44:30 +02:00
Martin Gräßlin c2e0c13b7b Delay performWindowOperation to next event cycle in UserActionsMenu
In case that the window operation results in destroying the window
decoration we need to have the menu closed before the deco gets
destroyed. Otherwise Qt crashes.
2013-08-19 12:15:42 +02:00
Martin Gräßlin be9b9681db Adjustments for the helper dialog on noborder/fullscreen
* Ported away from KAction
* starting the dialog is moved into a thread

Currently this code is still rather crashy as destroying the deco
seems to somehow crash KWin in the interaction.
2013-08-19 11:42:16 +02:00
Martin Gräßlin d973194c36 Use an XCB replacement for XSelectInput
Wrapped in xcbutils.

In addition the check whether another WM is running in main.cpp is
improved by doing a checked request and directly checking for the
error. If there is an error, KWin puts out an error message and
quits.
2013-08-19 10:52:22 +02:00
Martin Gräßlin bec5bcd50e Drop XSynchronize from KWin
Doesn't make any sense nowadays where we are mostly on XCB.
2013-08-15 13:25:52 +02:00
Martin Gräßlin fa9f640426 Reorder includes in kwin/main.cpp
Group by vendor - kde - qt - x
2013-08-15 13:17:29 +02:00
Martin Gräßlin d01ec8c0ff Remove not needed includes from kwin/main.cpp 2013-08-15 13:09:28 +02:00
Martin Gräßlin 87f362c953 Do not delete effects pointer from KWin::Application dtor
Not needed as the Compositor already deletes the effects pointer.
2013-08-15 13:08:49 +02:00
Martin Gräßlin 3cb4e0322f AlternativeWMDialog ported to QDialog 2013-08-15 12:54:32 +02:00
Martin Gräßlin 9706da58e3 Port KWin Killer away from deprecated functionality
* KApplication -> QApplication
* Qt::escape -> QString::toHtmlEscaped
* KDebug -> QDebug

In addition it uses KMessageBox::warningContinueCancelWId from
KInterProcessWindowing as we have the window id.

KCmdLineArgs is still used as the replacement is still in
kdeqt5staging.
2013-08-15 11:46:53 +02:00
Reza Shah 61f452723e Port KWin effects away from KAction and KShortcut to Qt5/KF5 classes.
REVIEW: 111898
2013-08-15 04:13:12 +09:00
Anselmo L. S. Melo bef5b71898 Porting effects to Qt5/KF5: QStandardPaths
REVIEW: 111977
2013-08-13 17:56:04 -03:00
Anselmo L. S. Melo 49c04f13b1 Porting libkwineffects to Qt5/KF5: QStandardPaths
REVIEW: 111976
2013-08-13 17:55:57 -03:00
Anselmo L. S. Melo 00d507b7ff Porting kcmkwin to Qt5/KF5: QStandardPaths
REVIEW: 111975
2013-08-13 17:55:49 -03:00
Anselmo L. S. Melo d97069590a Porting kwin scripting to Qt5/KF5: QStandardPaths
REVIEW: 111974
2013-08-13 17:55:25 -03:00
Anselmo L. S. Melo a9c346ad83 Porting tabbox to Qt5/KF5: QStandardPaths
REVIEW: 111973
2013-08-13 17:55:15 -03:00
Anselmo L. S. Melo c2942c4e73 Porting clients to Qt5/KF5: QStandardPaths
REVIEW: 111972
2013-08-13 17:54:39 -03:00
Anselmo L. S. Melo c9b079e628 Porting kwin main, data and compositingprefs to Qt5/KF5: QStandardPaths
REVIEW: 111971
2013-08-13 17:53:39 -03:00
Martin Gräßlin 9c225200bf Fix typo 2013-08-13 11:24:07 +02:00
Martin Gräßlin 7c5e970e26 Disable session management in KWin for the time being
It's broken anyway and causing crashes.
2013-08-13 10:21:28 +02:00
Martin Gräßlin e72c52d075 Move first updateXTime() in Workspace ctor to init
It's needed for Client initialization and that early the integration
with Qt is not yet working correctly (dropping to endless loop).
2013-08-13 10:16:12 +02:00
Martin Gräßlin 95f10a6c33 updateXTime uses QX11Info::getTimestamp
Requires 9c45260942c0ee32267e651d981bfa33a6acb64d from qtx11extras.

Note: this does not fully replace the functionality which we used to
have. The event queue is not yet searched for the first even with a
timestamp.
2013-08-13 10:07:13 +02:00
Martin Gräßlin 5007a19062 Add a ScreenEdgeItem to reserve a screen edge from QML
Usage:
ScreenEdgeItem {
    edge: ScreenEdgeItem.LeftEdge
    onActivated: doSomething()
}
2013-08-13 09:57:51 +02:00
Martin Gräßlin 96bde02b38 New QML Type DBusCall
The DBusCall is exported as a QObject to the QML environment. It is
intended as a declarative replacement for the callDBus method which used
to be exported on global scope in the QtQuick 1 world.

Example usage:
DBusCall {
    id: dbus
    service: "org.kde.KWin"
    path: "/KWin"
    method: "setCurrentDesktop"
    arguments: [1]
    Component.onCompleted: dbus.call()
}
2013-08-13 09:57:51 +02:00
Martin Gräßlin abbe84bab4 Port declarative scripting to QtQuick
Getting all functionality from old solution into new one is not really
possible. Main problems are that QtScript provided more functionality
than the QJSEngine. For example it's no longer possible to just export
functions to the engine. We need to have a Qt wrapper object. At the
moment this wrapper object doesn't export all functions as the callbacks
are tricky. A solution might be to create specific QML types
encapsulating functionality which used to be exported on the functions.

Nevertheless a basic QML script loads and works and the ported readConfig
function works, too.
2013-08-13 09:57:51 +02:00
Martin Gräßlin 416b881a00 Remove parent window id from ThumbnailItem
Luckily a QQuickItem contains the pointer to the QQuickWindow which
holds the item. This means we no longer need the hack to find the
parent window.
2013-08-13 09:57:51 +02:00