From e71364a13e3c561048a893dfff8edc869de0c777 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Mon, 27 Feb 2012 21:10:14 +0100 Subject: [PATCH] Script to synchronize skip switcher with skip taskbar REVIEW: 104099 --- scripts/CMakeLists.txt | 2 ++ .../contents/code/main.js | 34 +++++++++++++++++++ .../synchronizeskipswitcher/metadata.desktop | 17 ++++++++++ 3 files changed, 53 insertions(+) create mode 100644 scripts/synchronizeskipswitcher/contents/code/main.js create mode 100644 scripts/synchronizeskipswitcher/metadata.desktop diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index fb7e18eea3..ccde1fc57b 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -1,5 +1,7 @@ # packages install( DIRECTORY videowall DESTINATION ${DATA_INSTALL_DIR}/kwin/scripts ) +install( DIRECTORY synchronizeskipswitcher DESTINATION ${DATA_INSTALL_DIR}/kwin/scripts ) # service files install( FILES videowall/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR} RENAME kwin-script-videowall.desktop ) +install( FILES synchronizeskipswitcher/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR} RENAME kwin-script-synchronizeskipswitcher.desktop ) diff --git a/scripts/synchronizeskipswitcher/contents/code/main.js b/scripts/synchronizeskipswitcher/contents/code/main.js new file mode 100644 index 0000000000..389f4fc485 --- /dev/null +++ b/scripts/synchronizeskipswitcher/contents/code/main.js @@ -0,0 +1,34 @@ +/******************************************************************** + KWin - the KDE window manager + This file is part of the KDE project. + +Copyright (C) 2012 Martin Gräßlin + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*********************************************************************/ +function synchronizeSwitcher(client) { + client.skipSwitcher = client.skipTaskbar; +} + +function setupConnection(client) { + synchronizeSwitcher(client); + client.skipTaskbarChanged.connect(client, synchronizeSwitcher); +} + +workspace.clientAdded.connect(setupConnection); +// connect all existing clients +var clients = workspace.clientList(); +for (var i=0; i