Changeset View
Changeset View
Standalone View
Standalone View
wayland_server.cpp
Show All 16 Lines | |||||
17 | You should have received a copy of the GNU General Public License | 17 | You should have received a copy of the GNU General Public License | ||
18 | along with this program. If not, see <http://www.gnu.org/licenses/>. | 18 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
19 | *********************************************************************/ | 19 | *********************************************************************/ | ||
20 | #include "wayland_server.h" | 20 | #include "wayland_server.h" | ||
21 | #include "client.h" | 21 | #include "client.h" | ||
22 | #include "platform.h" | 22 | #include "platform.h" | ||
23 | #include "composite.h" | 23 | #include "composite.h" | ||
24 | #include "idle_inhibition.h" | 24 | #include "idle_inhibition.h" | ||
25 | #include "internal_client.h" | ||||
25 | #include "screens.h" | 26 | #include "screens.h" | ||
26 | #include "shell_client.h" | 27 | #include "shell_client.h" | ||
27 | #include "workspace.h" | 28 | #include "workspace.h" | ||
28 | 29 | | |||
29 | // Client | 30 | // Client | ||
30 | #include <KWayland/Client/connection_thread.h> | 31 | #include <KWayland/Client/connection_thread.h> | ||
31 | #include <KWayland/Client/event_queue.h> | 32 | #include <KWayland/Client/event_queue.h> | ||
32 | #include <KWayland/Client/registry.h> | 33 | #include <KWayland/Client/registry.h> | ||
▲ Show 20 Lines • Show All 112 Lines • ▼ Show 20 Line(s) | 142 | { | |||
145 | } | 146 | } | ||
146 | if (surface->client() == m_xwayland.client) { | 147 | if (surface->client() == m_xwayland.client) { | ||
147 | // skip Xwayland clients, those are created using standard X11 way | 148 | // skip Xwayland clients, those are created using standard X11 way | ||
148 | return; | 149 | return; | ||
149 | } | 150 | } | ||
150 | if (surface->client() == m_screenLockerClientConnection) { | 151 | if (surface->client() == m_screenLockerClientConnection) { | ||
151 | ScreenLocker::KSldApp::self()->lockScreenShown(); | 152 | ScreenLocker::KSldApp::self()->lockScreenShown(); | ||
152 | } | 153 | } | ||
153 | auto client = new ShellClient(surface); | 154 | ShellClient *client; | ||
155 | if (surface->client() == waylandServer()->internalConnection()) { | ||||
156 | client = new InternalClient(surface); | ||||
157 | } else { | ||||
158 | client = new ShellClient(surface); | ||||
159 | } | ||||
154 | auto it = std::find_if(m_plasmaShellSurfaces.begin(), m_plasmaShellSurfaces.end(), | 160 | auto it = std::find_if(m_plasmaShellSurfaces.begin(), m_plasmaShellSurfaces.end(), | ||
155 | [client] (PlasmaShellSurfaceInterface *surface) { | 161 | [client] (PlasmaShellSurfaceInterface *surface) { | ||
156 | return client->surface() == surface->surface(); | 162 | return client->surface() == surface->surface(); | ||
157 | } | 163 | } | ||
158 | ); | 164 | ); | ||
159 | if (it != m_plasmaShellSurfaces.end()) { | 165 | if (it != m_plasmaShellSurfaces.end()) { | ||
160 | client->installPlasmaShellSurface(*it); | 166 | client->installPlasmaShellSurface(*it); | ||
161 | m_plasmaShellSurfaces.erase(it); | 167 | m_plasmaShellSurfaces.erase(it); | ||
▲ Show 20 Lines • Show All 660 Lines • Show Last 20 Lines |