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