From 5b64f5d28c20d69225c79b9ad0b6afb1d5549351 Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Tue, 23 Jan 2018 06:58:06 +0100 Subject: [PATCH 1/2] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- plugins/scenes/qpainter/qpainter.json | 2 +- plugins/scenes/xrender/xrender.json | 2 +- scripts/minimizeall/metadata.desktop | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/scenes/qpainter/qpainter.json b/plugins/scenes/qpainter/qpainter.json index d2c1179efa..db0b961045 100644 --- a/plugins/scenes/qpainter/qpainter.json +++ b/plugins/scenes/qpainter/qpainter.json @@ -27,7 +27,7 @@ "Description[tr]": "QPainter üzerinden KWin Dizgici eklentisi oluşturma", "Description[uk]": "Додаток засобу композиції KWin для обробки з використанням QPainter", "Description[x-test]": "xxKWin Compositor plugin rendering through QPainterxx", - "Description[zh_CN]": "使用 QPainter 渲染的 KWin 合成插件", + "Description[zh_CN]": "使用 QPainter 渲染的 KWin 混成插件", "Id": "KWinSceneQPainter", "Name": "SceneQPainter", "Name[pl]": "QPainter sceny", diff --git a/plugins/scenes/xrender/xrender.json b/plugins/scenes/xrender/xrender.json index 1d603655bd..a1ca903579 100644 --- a/plugins/scenes/xrender/xrender.json +++ b/plugins/scenes/xrender/xrender.json @@ -27,7 +27,7 @@ "Description[tr]": "XRender üzerinden KWin Dizgici eklentisi oluşturma", "Description[uk]": "Додаток засобу композиції KWin для обробки з використанням XRender", "Description[x-test]": "xxKWin Compositor plugin rendering through XRenderxx", - "Description[zh_CN]": "使用 XRender 渲染的 KWin 合成插件", + "Description[zh_CN]": "使用 XRender 渲染的 KWin 混成插件", "Id": "KWinSceneXRender", "Name": "SceneXRender", "Name[pl]": "XRender sceny", diff --git a/scripts/minimizeall/metadata.desktop b/scripts/minimizeall/metadata.desktop index edaa3ce54a..1fa1d346cf 100644 --- a/scripts/minimizeall/metadata.desktop +++ b/scripts/minimizeall/metadata.desktop @@ -48,6 +48,7 @@ Comment[es]=Añade un acceso rápido para minimizar y restaurar todas la ventana Comment[gl]=Engade un atallo para minimizar e restaurar todas as xanelas. Comment[it]=Aggiunge una scorciatoia per minimizzare e ripristinare tutte le finestre Comment[nl]=Voegt een sneltoets toe om alle vensters te minimaliseren en te herstellen +Comment[nn]=Legg til snarvegar for å minimera og gjenoppretta alle vindauge Comment[pl]=Dodaje skrót do zminimalizowania i przywracania wszystkich okien Comment[pt]=Adiciona um atalho para minimizar ou repor todas as janelas Comment[sl]=Doda bližnjico za skrčenje ali povečanje vseh oken From 339a08de3883cc796a263183a336a9e9cfaf4106 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Fl=C3=B6ser?= Date: Thu, 18 Jan 2018 21:17:15 +0100 Subject: [PATCH 2/2] Acknowledge the server side deco mode in WaylandServer not ShellClient Summary: With GTK applications our code showed issues. With GTK the sequence for a menu or dialog window is: 1. create surface 2. create server side decoration 3. request csd 4. create xdg_shell_surface Which result in KWin to have the ServerSideDecoration object being created before the ShellClient is created. The connect for mode changed happens in ShellClient, which is too late to catch that the window requested client side decoration. Thus KWin created a decoration about things such as a menu. This change moves the acknowledge of the mode to WaylandServer. As we anyway always acknowledge the requested mode we can also do it there and don't require ShellClient to be present. Thus when the ShellClient is created the mode is properly reflected and no decoration is created. BUG: 389117 FIXED-IN: 5.12.0 Test Plan: Played a lot with evince Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #plasma Differential Revision: https://phabricator.kde.org/D9967 --- shell_client.cpp | 2 -- wayland_server.cpp | 6 ++++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/shell_client.cpp b/shell_client.cpp index a2938ca5ad..113092001e 100644 --- a/shell_client.cpp +++ b/shell_client.cpp @@ -1544,8 +1544,6 @@ void ShellClient::installServerSideDecoration(KWayland::Server::ServerSideDecora connect(m_serverDecoration, &ServerSideDecorationInterface::modeRequested, this, [this] (ServerSideDecorationManagerInterface::Mode mode) { const bool changed = mode != m_serverDecoration->mode(); - // always acknowledge the requested mode - m_serverDecoration->setMode(mode); if (changed && !m_unmapped) { updateDecoration(false); } diff --git a/wayland_server.cpp b/wayland_server.cpp index 11a142d18c..78ab4c332e 100644 --- a/wayland_server.cpp +++ b/wayland_server.cpp @@ -337,6 +337,12 @@ bool WaylandServer::init(const QByteArray &socketName, InitalizationFlags flags) if (ShellClient *c = findClient(deco->surface())) { c->installServerSideDecoration(deco); } + connect(deco, &ServerSideDecorationInterface::modeRequested, this, + [this, deco] (ServerSideDecorationManagerInterface::Mode mode) { + // always acknowledge the requested mode + deco->setMode(mode); + } + ); } ); m_decorationManager->create();