Fix kwin runtime config reload for vmsilo

Allow overriding allowed wayland protocols for VMs through ~/.config/kwinrc:
```
kwriteconfig6 --file kwinrc --group Vmsilo --type stringlist --key AllowedProtocols "wl_shm,wl_compositor,wl_subcompositor,xdg_wm_base,wl_data_device_manager,zxdg_output_manager_v1,zwp_primary_selection_device_manager_v1,gtk_primary_selection_device_manager,wl_seat,wl_output,org_kde_kwin_server_decoration_manager,zxdg_decoration_manager_v1,zwp_relative_pointer_manager_v1,zwp_pointer_constraints_v1,wp_viewporter,wp_cursor_shape_manager_v1,wp_fractional_scale_manager_v1,wp_single_pixel_buffer_manager_v1,wp_alpha_modifier_v1,wp_color_representation_manager_v1,wp_color_manager_v1,frog_color_management_factory_v1,wp_fifo_manager_v1,wp_presentation,zwp_linux_dmabuf_v1"
```
This commit is contained in:
Davíð Steinn Geirsson 2026-03-22 16:32:34 +00:00
parent 08709827fb
commit 47899b819e
2 changed files with 16 additions and 6 deletions

View file

@ -1,4 +1,4 @@
From 69d2f4537be635bbd1367d133a5d074313d591f7 Mon Sep 17 00:00:00 2001
From 144d798230059793b7f9f0331783603355a984bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= <david@dsg.is>
Date: Wed, 18 Feb 2026 10:39:15 +0000
Subject: [PATCH 2/3] vmsilo: add clipboard isolation for VMs, whitelist
@ -26,10 +26,10 @@ Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
src/vmsilo_clipboard_manager.h | 140 +++++++++
src/wayland/seat.cpp | 24 ++
src/wayland/seat.h | 14 +
src/wayland_server.cpp | 76 +++++
src/wayland_server.cpp | 79 +++++
src/wayland_server.h | 8 +
src/workspace.cpp | 4 +
8 files changed, 788 insertions(+)
8 files changed, 791 insertions(+)
create mode 100644 src/vmsilo_clipboard_manager.cpp
create mode 100644 src/vmsilo_clipboard_manager.h
@ -786,7 +786,7 @@ index a8e65d7adc..acdc23d7a3 100644
/**
diff --git a/src/wayland_server.cpp b/src/wayland_server.cpp
index 56d3bfd52d..ae2b64ff4b 100644
index 56d3bfd52d..82a645e8c6 100644
--- a/src/wayland_server.cpp
+++ b/src/wayland_server.cpp
@@ -25,6 +25,7 @@
@ -902,7 +902,17 @@ index 56d3bfd52d..ae2b64ff4b 100644
if (client->processId() == getpid()) {
return true;
}
@@ -859,6 +930,11 @@ PointerWarpV1 *WaylandServer::pointerWarp() const
@@ -571,6 +642,9 @@ XdgExportedSurface *WaylandServer::exportAsForeign(SurfaceInterface *surface)
void WaylandServer::initWorkspace()
{
+ auto display = static_cast<KWinDisplay *>(m_display);
+ connect(workspace(), &Workspace::configChanged, display, &KWinDisplay::reloadVmsiloConfig);
+
auto inputPanelV1Integration = new InputPanelV1Integration(this);
connect(inputPanelV1Integration, &InputPanelV1Integration::windowCreated,
this, &WaylandServer::registerWindow);
@@ -859,6 +933,11 @@ PointerWarpV1 *WaylandServer::pointerWarp() const
return m_pointerWarp;
}

View file

@ -1,4 +1,4 @@
From 82bbf3d6d0b9b005223d8d2db332b76af37d3042 Mon Sep 17 00:00:00 2001
From 42b65848873a555dd99390b012cc335032b4c8b0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= <david@dsg.is>
Date: Thu, 19 Feb 2026 17:05:00 +0000
Subject: [PATCH 3/3] vmsilo: prefix window titles and namespace app_ids for VM