kwin/autotests
Martin Gräßlin 6a19f50cac Add a debugging console to KWin
Summary:
The idea behind the debugging console is to have a feature comparable
to xprop and xwininfo just for Wayland. We cannot have command line
utils as that violates the security restrictions, thus it needs to be
exposed directly in KWin.

The debugging console is invoked through DBus:
qdbus org.kde.KWin /KWin showDebugConsole

This opens a window with a tree view. The DebugConsoleModel which is
used by the tree view groups all windows into four categories:
* x11 clients (that is Workspace::clientList() and Workspace::desktopList())
* x11 unmanaged (Workspace::unmanagedList())
* wayland shell clients (WaylandServer::clients())
* wayland internal clients (KWin's own QWindows - WaylandServer::internalClients())

Each window is a child to one of the four categories. Each window itself
has all it's QProperties exposed as children.

This allows to properly inspect KWin's internal knowledge for windows and
should make it easier to investigate problems. E.g. what's a window's
geometry, what's it's window type and so on.

The debugging console is intended as a developer tool and not expected to
be used by users. That's why it's invokation is rather hidden. Due to
the fact that it's internal to KWin it results in:
* no window decoration
* stealing keyboard focus
* no way to resize, close, move from KWin side
* rendered above all other windows

There is a dedicated close button to get rid of it again. While the
console is shown it's hardly possible to interact with the system in
a normal way anymore. This is something which might be improved in
future.

At the moment the model is able to update when windows are added/removed,
but not yet when a property changes. Due to the lack of interaction with
the existing system, that's not a high priority at the moment, but can
be added in future.

Reviewers: #plasma

Differential Revision: https://phabricator.kde.org/D1146
2016-03-16 14:30:19 +01:00
..
wayland Add a debugging console to KWin 2016-03-16 14:30:19 +01:00
abstract_client.h [autotests] Adjust to changes regarding AbstractClient 2015-05-08 12:43:47 +02:00
client.h [auto-tests] Add an initial test for Screens 2014-09-17 10:29:03 +02:00
CMakeLists.txt KWin::Application holdes a KSharedConfigPtr with the config 2016-01-29 09:48:02 +01:00
fakeeffectplugin.cpp [kwin] Add a PluginEffectLoader 2014-03-28 14:04:54 +01:00
fakeeffectplugin.json PluginEffectLoader doesn't use KPluginTrader any more 2015-07-07 09:36:15 +02:00
fakeeffectplugin_version.cpp [kwin] Adapt to KPluginFactory change 2014-03-28 19:50:46 +00:00
fakeeffectplugin_version.json PluginEffectLoader doesn't use KPluginTrader any more 2015-07-07 09:36:15 +02:00
mock_abstract_client.cpp Add hint similar to autohide to raise/lower a window 2015-10-12 10:37:16 +01:00
mock_abstract_client.h Add hint similar to autohide to raise/lower a window 2015-10-12 10:37:16 +01:00
mock_client.cpp Add hint similar to autohide to raise/lower a window 2015-10-12 10:37:16 +01:00
mock_client.h # This is a combination of 2 commits. 2015-05-15 23:55:26 +02:00
mock_effectshandler.cpp
mock_effectshandler.h support the slide protocol 2015-09-14 16:39:39 +02:00
mock_screens.cpp Warnings--: unused parameters 2015-06-12 17:17:21 +02:00
mock_screens.h add Screens::name(int screen); STUB but for XRandr 2015-05-15 23:55:27 +02:00
mock_workspace.cpp [autotests] Adjust to changes regarding AbstractClient 2015-05-08 12:43:47 +02:00
mock_workspace.h [autotests] Adjust to changes regarding AbstractClient 2015-05-08 12:43:47 +02:00
test_builtin_effectloader.cpp [autotests] Dashboard is no longer available 2015-10-19 14:17:04 +02:00
test_client_machine.cpp Provide x11Connection as a property on the KWin::Application 2015-03-17 09:44:53 +01:00
test_plugin_effectloader.cpp [autotests] Dashboard is no longer available 2015-10-19 14:17:04 +02:00
test_screen_edges.cpp Fix unit test 2015-10-14 13:56:30 +01:00
test_screen_paint_data.cpp
test_screens.cpp Port left over qDebug to qCDebug 2015-07-31 13:25:51 +02:00
test_scripted_effectloader.cpp [autotest] Adjust TestScriptedEffectLoader::testLoadAllEffects for morphingpopups 2016-02-17 15:27:06 +01:00
test_virtual_desktops.cpp Update x11Time when a global shortcut is pressed 2015-02-25 08:15:53 +01:00
test_window_paint_data.cpp Remove the decoration opacity property 2014-08-25 17:25:04 +02:00
test_xcb_size_hints.cpp Provide x11Connection as a property on the KWin::Application 2015-03-17 09:44:53 +01:00
test_xcb_window.cpp Provide x11Connection as a property on the KWin::Application 2015-03-17 09:44:53 +01:00
test_xcb_wrapper.cpp tests test tests, not code 2015-08-27 22:20:16 +02:00
test_xrandr_screens.cpp Provide x11Connection as a property on the KWin::Application 2015-03-17 09:44:53 +01:00
testutils.h
workspace.h [auto-tests] Add an initial test for Screens 2014-09-17 10:29:03 +02:00