diff --git a/kwin/data/CMakeLists.txt b/kwin/data/CMakeLists.txt
index 33e4790..a0b822b 100644
--- a/kwin/data/CMakeLists.txt
+++ b/kwin/data/CMakeLists.txt
@@ -1,37 +1,5 @@
-
-set(kwin_xml  ${CMAKE_CURRENT_SOURCE_DIR}/../org.kde.KWin.xml)
-
-########### next target ###############
-set(kwin_update_default_rules_SRCS update_default_rules.cpp)
-
-
-kde4_add_executable( kwin_update_default_rules ${kwin_update_default_rules_SRCS})
-
-target_link_libraries( kwin_update_default_rules ${KDE4_KDECORE_LIBS} )
-
-install(TARGETS kwin_update_default_rules DESTINATION ${LIB_INSTALL_DIR}/kconf_update_bin/  )
-
-########### next target ###############
-set( kwin_update_tabbox_settings_SRCS update_tabbox_settings.cpp )
-
-kde4_add_executable( kwin_update_tabbox_settings ${kwin_update_tabbox_settings_SRCS} )
-
-target_link_libraries( kwin_update_tabbox_settings ${KDE4_KDECORE_LIBS} )
-
-install( TARGETS kwin_update_tabbox_settings DESTINATION ${LIB_INSTALL_DIR}/kconf_update_bin/ )
-########### next target ###############
-set( kwin_update_tabbox_qml_settings_SRCS update_tabbox_qml_settings.cpp )
-
-kde4_add_executable( kwin_update_tabbox_qml_settings ${kwin_update_tabbox_qml_settings_SRCS} )
-
-target_link_libraries( kwin_update_tabbox_qml_settings ${KDE4_KDECORE_LIBS} )
-
-install( TARGETS kwin_update_tabbox_qml_settings DESTINATION ${LIB_INSTALL_DIR}/kconf_update_bin/ )
-
-########### install files ###############
-
-install( FILES fsp_workarounds_1.kwinrules  DESTINATION  ${DATA_INSTALL_DIR}/kwin/default_rules )
-install( FILES pop.wav  DESTINATION  ${SOUND_INSTALL_DIR} )
-install( FILES kwin_fsp_workarounds_1.upd kwin_update_tabbox_settings.upd kwin_remove_effects.upd kwin_update_tabbox_qml_settings.upd kwin_remove_delay_focus.upd DESTINATION  ${KCONF_UPDATE_INSTALL_DIR} )
-install( PROGRAMS kwin_remove_delay_focus.sh DESTINATION  ${KCONF_UPDATE_INSTALL_DIR} )
-
+if(KWIN_PLASMA_ACTIVE)
+    add_subdirectory(active)
+else(KWIN_PLASMA_ACTIVE)
+    add_subdirectory(desktop)
+endif(KWIN_PLASMA_ACTIVE)
diff --git a/kwin/data/active/CMakeLists.txt b/kwin/data/active/CMakeLists.txt
new file mode 100644
index 0000000..a05401f
--- /dev/null
+++ b/kwin/data/active/CMakeLists.txt
@@ -0,0 +1,12 @@
+########### next target ###############
+set( kwin_update_tabbox_qml_settings_active_SRCS update_tabbox_qml_settings_active.cpp )
+
+kde4_add_executable( kwin_update_tabbox_qml_settings_active ${kwin_update_tabbox_qml_settings_active_SRCS} )
+
+target_link_libraries( kwin_update_tabbox_qml_settings_active ${KDE4_KDECORE_LIBS} )
+
+install( TARGETS kwin_update_tabbox_qml_settings_active DESTINATION ${LIB_INSTALL_DIR}/kconf_update_bin/ )
+
+########### install files ###############
+
+install( FILES kwin_update_tabbox_qml_settings_active.upd DESTINATION  ${KCONF_UPDATE_INSTALL_DIR} )
diff --git a/kwin/data/active/kwin_update_tabbox_qml_settings_active.upd b/kwin/data/active/kwin_update_tabbox_qml_settings_active.upd
new file mode 100644
index 0000000..9467efc
--- /dev/null
+++ b/kwin/data/active/kwin_update_tabbox_qml_settings_active.upd
@@ -0,0 +1,2 @@
+Id=Kwin-4.8
+Script=kwin_update_tabbox_qml_settings_active
diff --git a/kwin/data/active/update_tabbox_qml_settings_active.cpp b/kwin/data/active/update_tabbox_qml_settings_active.cpp
new file mode 100644
index 0000000..36c2ffd
--- /dev/null
+++ b/kwin/data/active/update_tabbox_qml_settings_active.cpp
@@ -0,0 +1,52 @@
+/********************************************************************
+KWin - the KDE window manager
+This file is part of the KDE project.
+
+Copyright (C) 2012 Lamarque V. Souza <Lamarque.Souza.ext@basyskom.com>
+
+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 <http://www.gnu.org/licenses/>.
+*********************************************************************/
+
+#include <kconfig.h>
+#include <kconfiggroup.h>
+#include <kcomponentdata.h>
+#include <kaboutdata.h>
+#include <kcmdlineargs.h>
+#include <kglobal.h>
+#include <QtDBus/QtDBus>
+
+void updateTabBoxConfig(KConfigGroup &tabbox, bool migrate)
+{
+    if (migrate) {
+        tabbox.writeEntry("LayoutName", "window_strip");
+    }
+    tabbox.sync();
+}
+
+int main( int argc, char* argv[] )
+{
+    KAboutData about( "kwin_update_tabbox_qml_settings_active", "kwin", KLocalizedString(), 0 );
+    KCmdLineArgs::init( argc, argv, &about );
+    KComponentData inst( &about );
+    Q_UNUSED( KGlobal::locale() ); // jump-start locales to get to translated descriptions
+    KConfig config("kwinrc");
+    KConfigGroup tabbox = config.group("TabBox");
+    const bool tabboxSwitchLayout = tabbox.readEntry<QString>("LayoutName", "") != QLatin1String("window_strip");
+    updateTabBoxConfig(tabbox, tabboxSwitchLayout);
+    config.sync();
+    // Send signal to all kwin instances
+    QDBusMessage message =
+    QDBusMessage::createSignal("/KWin", "org.kde.KWin", "reloadConfig");
+    QDBusConnection::sessionBus().send(message);    
+}
diff --git a/kwin/data/desktop/CMakeLists.txt b/kwin/data/desktop/CMakeLists.txt
new file mode 100644
index 0000000..33e4790
--- /dev/null
+++ b/kwin/data/desktop/CMakeLists.txt
@@ -0,0 +1,37 @@
+
+set(kwin_xml  ${CMAKE_CURRENT_SOURCE_DIR}/../org.kde.KWin.xml)
+
+########### next target ###############
+set(kwin_update_default_rules_SRCS update_default_rules.cpp)
+
+
+kde4_add_executable( kwin_update_default_rules ${kwin_update_default_rules_SRCS})
+
+target_link_libraries( kwin_update_default_rules ${KDE4_KDECORE_LIBS} )
+
+install(TARGETS kwin_update_default_rules DESTINATION ${LIB_INSTALL_DIR}/kconf_update_bin/  )
+
+########### next target ###############
+set( kwin_update_tabbox_settings_SRCS update_tabbox_settings.cpp )
+
+kde4_add_executable( kwin_update_tabbox_settings ${kwin_update_tabbox_settings_SRCS} )
+
+target_link_libraries( kwin_update_tabbox_settings ${KDE4_KDECORE_LIBS} )
+
+install( TARGETS kwin_update_tabbox_settings DESTINATION ${LIB_INSTALL_DIR}/kconf_update_bin/ )
+########### next target ###############
+set( kwin_update_tabbox_qml_settings_SRCS update_tabbox_qml_settings.cpp )
+
+kde4_add_executable( kwin_update_tabbox_qml_settings ${kwin_update_tabbox_qml_settings_SRCS} )
+
+target_link_libraries( kwin_update_tabbox_qml_settings ${KDE4_KDECORE_LIBS} )
+
+install( TARGETS kwin_update_tabbox_qml_settings DESTINATION ${LIB_INSTALL_DIR}/kconf_update_bin/ )
+
+########### install files ###############
+
+install( FILES fsp_workarounds_1.kwinrules  DESTINATION  ${DATA_INSTALL_DIR}/kwin/default_rules )
+install( FILES pop.wav  DESTINATION  ${SOUND_INSTALL_DIR} )
+install( FILES kwin_fsp_workarounds_1.upd kwin_update_tabbox_settings.upd kwin_remove_effects.upd kwin_update_tabbox_qml_settings.upd kwin_remove_delay_focus.upd DESTINATION  ${KCONF_UPDATE_INSTALL_DIR} )
+install( PROGRAMS kwin_remove_delay_focus.sh DESTINATION  ${KCONF_UPDATE_INSTALL_DIR} )
+
diff --git a/kwin/data/desktop/fsp_workarounds_1.kwinrules b/kwin/data/desktop/fsp_workarounds_1.kwinrules
new file mode 100644
index 0000000..252ad9f
--- /dev/null
+++ b/kwin/data/desktop/fsp_workarounds_1.kwinrules
@@ -0,0 +1,83 @@
+[1]
+Description=(Default) Disable focus stealing prevention for XV
+Description[ar]=(مبدئي) عطِّل منع سرقة التركيز لـXV
+Description[ast]=(Predetermináu) Desactiva la prevención de robu del focu en XV
+Description[be@latin]=(Zmoŭčana) Vyklučy abaronu ad zachopu fokusu dla prahramy „XV”
+Description[bg]=(По подразбиране) Изключване открадването на фокуса за XV
+Description[bs]=(Podrazumijevano) Isključi zaštitu od krađe fokusa za IksV
+Description[ca]=(Per omissió) Desactiva la prevenció de robatori del focus a l'XV
+Description[ca@valencia]=(Per omissió) Desactiva la prevenció de robatori del focus a l'XV
+Description[cs]=(Výchozí) Vypnout ochranu proti vyskakování oken do popředí v XV
+Description[csb]=(Domëslno) Wëłãczô przejãcé aktiwòwaniô dlô XV
+Description[da]=(Standard) Deaktivér forhindring af fokustyveri for XV
+Description[de]=(Standard) Aktivierungsübernahme verhindern für XV
+Description[el]=(Προκαθορισμένο) Αποτροπή κλεψίματος εστίασης για το XV
+Description[en_GB]=(Default) Disable focus stealing prevention for XV
+Description[eo]=(La defaŭlta) Malebligi malhelpon de fokusa forprenado por XV
+Description[es]=(Predeterminado) Deshabilita la prevención de robo del foco en XV
+Description[et]=(Vaikimisi) Fookuse röövimise vältimise keelamine XV puhul
+Description[eu]=(Lehentsi) Desgaitu fokusa ebatzea ekiditea XVrako
+Description[fi]=(Oletus) Estää kohdistuksen varastamisen
+Description[fr]=(Par défaut) Désactive la prévention de vol de focus pour XV
+Description[fy]=(standert) Foarkomme fan ôfpakke fan toetseboerdfokus foar XV
+Description[ga]=(Réamhshocrú) Díchumasaigh cosc ar ghadaíocht an fhócais le haghaidh XV
+Description[gl]=(Predeterminado) Desactivar o evitar roubar o foco para XV
+Description[gu]=(મૂળભૂત) XV માટે લક્ષ્ય અકેન્દ્રિત કરવાનું નિષ્ક્રિય બનાવે છે
+Description[he]=(ברירת מחדל) אל תאפשר מניעת גניבת התמקדות עבור XV
+Description[hi]=(डिफ़ॉल्ट) एक्स वी के लिए फोकस स्टीलिंग प्रीवेंशन अक्षम करता है
+Description[hne]=(डिफाल्ट) एक्स वी बर फोकस स्टीलिंग प्रीवेंसन अक्छम करथे 
+Description[hr]=(Zadano) Onemogućuje prevenciju oduzimanja fokusa XV-u
+Description[hsb]=(Standard) XV zakazać, zo fokus na so storhnje
+Description[hu]=(Alapértelmezés) A fókusz elvételét megakadályozó funkció kikapcsolása az XV esetén
+Description[ia]=(Predefinite) Dishabilita le prevention de furto de foco pro XV
+Description[id]=(Standar) Nonaktifkan pencegahan pencurian fokus untuk XV
+Description[is]=(Sjálfgefið) Aftengja vörn gegn fókusþjófnaði fyrir XV
+Description[it]=(Predefinita) Disabilita la prevenzione della cattura del fuoco per XV
+Description[ja]=(標準) XV のフォーカス移動防止を無効にする
+Description[kk]=XV-тің назарды жоғалтуға қарсылығын (әдетті) бұғаттау
+Description[km]=(លំនាំ​ដើម​) បិទ​ការ​រារាំង​ការ​ផ្ដោត​សម្រាប់ XV
+Description[kn]=(ಪೂರ್ವನಿಯೋಜಿತ) XV ಗೆ ನಾಭೀಕರಣ ಕದಿಯುವಿಕೆ ನಿರೋಧ (ಫೋಕಸ್ ಸ್ಟೀಲಿಂಗ್ ಪ್ರಿವೆಂಶನ್) ವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸು
+Description[ko]=(기본값) XV의 초점 뺏아가기 막기 사용하지 않기
+Description[lt]=(Numatyta) Išjungti XV fokuso praradimo prevenciją
+Description[lv]=(Noklusējums) Atslēgt fokusa zagšanas aizsardzību priekš XV
+Description[mai]=(पूर्वनिर्धारित) एक्स वी क' लेल फोकस स्टीलिंग प्रीवेंशनकेँ अक्षम करैत अछि
+Description[ml]=(സഹജം) എക്സ്‌വിയ്ക്കു് വേണ്ടി ഫോക്കസ് മോഷണം പ്രവര്‍ത്തനരഹിതമാക്കുക
+Description[nb]=(Standard) Tillat XV å stjele fokus
+Description[nds]=(Standard) För XV de Fokusverleer-Schuul utmaken
+Description[ne]=(पूर्वनिर्धारण) XV का लागि फोकस चोरी भइरहेको रोकथाम अक्षम गर्नुहोस्
+Description[nl]=(Standaard) schakel het voorkomen dat focus wordt gestolen uit voor XV
+Description[nn]=(Stanard) Tillèt av XV stel fokus
+Description[pa]=XV ਲਈ ਫੋਕਸ ਗੁਆਉਣ ਤੋਂ ਬਚਣ ਲਈ ਆਯੋਗ (ਡਿਫਾਲਟ)
+Description[pl]=(Domyślne) Wyłącz ochronę przed przejmowaniem uaktywnienia przez XV
+Description[pt]=(Predefinido) Desactivar a prevenção de roubo do primeiro plano do XV
+Description[pt_BR]=(Padrão) Desativa prevenção de roubo de foco para o XV
+Description[ro]=(Implicit) Dezactivează „prevenirea preluării focalizării” pentru XV
+Description[ru]=(по умолчанию) отключить предотвращение потери фокуса для XV
+Description[si]=(පෙරනිමි) XV සඳහා නාඹිගත කිරීම් සොරා ගැනීම වැලකීම අක්‍රීයයි
+Description[sk]=(Predvolené) zakázať predchádzanie kradnutia focusu pre XV
+Description[sl]=(privzeto) Onemogoči preprečevanje kraje fokusa za XV
+Description[sr]=(Подразумевано) Искључи заштиту од крађе фокуса за ИксВ
+Description[sr@ijekavian]=(Подразумијевано) Искључи заштиту од крађе фокуса за ИксВ
+Description[sr@ijekavianlatin]=(Podrazumijevano) Isključi zaštitu od krađe fokusa za XV
+Description[sr@latin]=(Podrazumevano) Isključi zaštitu od krađe fokusa za XV
+Description[sv]=(Förval) Inaktivera möjlighet att förhindra stöld av fokus för XV
+Description[ta]=(Default) Disable focus stealing prevention for XV
+Description[te]=(అప్రమేయం) XV కు ఫోకస్ స్టీలింగ్ నిరోధాన్ని అచేతనంచేయుము
+Description[tg]=(Стандартӣ) Хусусиятҳои XV ғайри фаъол созед
+Description[th]=(ค่าปริยาย) ปิดการป้องกันการขโมยโฟกัสสำหรับ XV
+Description[tr]=(Öntanımlı) XV için odaklama edinimi engellemesini pasifleştir
+Description[ug]=(كۆڭۈلدىكى) XV نىڭ فوكۇسقا ئوغرىلىقچە ئېرىشىشىگە يول قوي
+Description[uk]=(Типове) Вимкнути запобігання викрадання фокусу для XV
+Description[vi]=(Mặc định) Tắt khả năng ngăn cản bắt tiêu điểm cho XV
+Description[wa]=(Prémetou) Dismete li hapaedje di focus po XV
+Description[x-test]=xx(Default) Disable focus stealing prevention for XVxx
+Description[zh_CN]=(默认)允许 XV 偷取焦点
+Description[zh_TW]=（預設）為 XV 關閉避免焦點被偷的功能
+fsplevel=0
+fsplevelrule=2
+wmclass=^xv .*
+wmclasscomplete=true
+wmclassmatch=3
+
+[General]
+count=1
diff --git a/kwin/data/desktop/kwin_fsp_workarounds_1.upd b/kwin/data/desktop/kwin_fsp_workarounds_1.upd
new file mode 100644
index 0000000..d379445
--- /dev/null
+++ b/kwin/data/desktop/kwin_fsp_workarounds_1.upd
@@ -0,0 +1,3 @@
+Id=kde351
+ScriptArguments=fsp_workarounds_1.kwinrules
+Script=kwin_update_default_rules
diff --git a/kwin/data/desktop/kwin_remove_delay_focus.sh b/kwin/data/desktop/kwin_remove_delay_focus.sh
new file mode 100755
index 0000000..6f4d61b
--- /dev/null
+++ b/kwin/data/desktop/kwin_remove_delay_focus.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+if ! `kreadconfig --file kwinrc --group Windows --key DelayFocus --default false` && [ `kreadconfig --file kwinrc --group Windows --key DelayFocusInterval --default 0` != 0 ]; then
+    kwriteconfig --file kwinrc --group Windows --key DelayFocusInterval 0
+fi
\ No newline at end of file
diff --git a/kwin/data/desktop/kwin_remove_delay_focus.upd b/kwin/data/desktop/kwin_remove_delay_focus.upd
new file mode 100644
index 0000000..4d6f677
--- /dev/null
+++ b/kwin/data/desktop/kwin_remove_delay_focus.upd
@@ -0,0 +1,2 @@
+Id=Kwin-4.8
+Script=kwin_remove_delay_focus.sh
diff --git a/kwin/data/desktop/kwin_remove_effects.upd b/kwin/data/desktop/kwin_remove_effects.upd
new file mode 100644
index 0000000..6a7d54c
--- /dev/null
+++ b/kwin/data/desktop/kwin_remove_effects.upd
@@ -0,0 +1,9 @@
+# This update file removes the effects snow, shadow and sharpen
+# from the kconf settings
+
+Id=kwin4.7_effects
+File=kwinrc
+Group=Plugins
+RemoveKey=kwin4_effect_snowEnabled
+RemoveKey=kwin4_effect_shadowEnabled
+RemoveKey=kwin4_effect_sharpenEnabled
diff --git a/kwin/data/desktop/kwin_update_tabbox_qml_settings.upd b/kwin/data/desktop/kwin_update_tabbox_qml_settings.upd
new file mode 100644
index 0000000..2fd8066
--- /dev/null
+++ b/kwin/data/desktop/kwin_update_tabbox_qml_settings.upd
@@ -0,0 +1,2 @@
+Id=Kwin-4.8
+Script=kwin_update_tabbox_qml_settings
diff --git a/kwin/data/desktop/kwin_update_tabbox_settings.upd b/kwin/data/desktop/kwin_update_tabbox_settings.upd
new file mode 100644
index 0000000..11957fa
--- /dev/null
+++ b/kwin/data/desktop/kwin_update_tabbox_settings.upd
@@ -0,0 +1,2 @@
+Id=Kwin-4.4
+Script=kwin_update_tabbox_settings
diff --git a/kwin/data/desktop/pop.wav b/kwin/data/desktop/pop.wav
new file mode 100644
index 0000000..adf5c6c
Binary files /dev/null and b/kwin/data/desktop/pop.wav differ
diff --git a/kwin/data/desktop/update_default_rules.cpp b/kwin/data/desktop/update_default_rules.cpp
new file mode 100644
index 0000000..c78b8ca
--- /dev/null
+++ b/kwin/data/desktop/update_default_rules.cpp
@@ -0,0 +1,74 @@
+/********************************************************************
+ KWin - the KDE window manager
+ This file is part of the KDE project.
+
+Copyright (C) 2005 Lubos Lunak <l.lunak@kde.org>
+
+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 <http://www.gnu.org/licenses/>.
+*********************************************************************/
+
+// read additional window rules and add them to kwinrulesrc
+
+#include <kconfig.h>
+#include <kconfiggroup.h>
+#include <kdebug.h>
+#include <kcomponentdata.h>
+#include <kstandarddirs.h>
+#include <kaboutdata.h>
+#include <kcmdlineargs.h>
+#include <kglobal.h>
+#include <QtDBus/QtDBus>
+
+int main( int argc, char* argv[] )
+    {
+    if( argc != 2 )
+        return 1;
+    KAboutData about( "kwin_update_default_rules", "kwin", KLocalizedString(), 0 );
+    KCmdLineArgs::init( argc, argv, &about );
+    KComponentData inst( &about );
+    Q_UNUSED( KGlobal::locale() ); // jump-start locales to get to translated descriptions
+    QString file = KStandardDirs::locate( "data", QString( "kwin/default_rules/%1" ).arg(argv[ 1 ] ));
+    if( file.isEmpty())
+        {
+        kWarning(1212) << "File " << argv[ 1 ] << " not found!" ;
+        return 1;
+        }
+    KConfig src_cfg( file );
+    KConfig dest_cfg( "kwinrulesrc" );
+	KConfigGroup scg(&src_cfg, "General");
+	KConfigGroup dcg(&dest_cfg, "General");
+    int count = scg.readEntry( "count", 0 );
+    int pos = dcg.readEntry( "count", 0 );
+    for( int group = 1;
+         group <= count;
+         ++group )
+        {
+        QMap< QString, QString > entries = src_cfg.entryMap( QString::number( group ));
+        ++pos;
+        dest_cfg.deleteGroup( QString::number( pos ));
+		KConfigGroup dcg2 (&dest_cfg, QString::number( pos ));
+        for( QMap< QString, QString >::ConstIterator it = entries.constBegin();
+             it != entries.constEnd();
+             ++it )
+            dcg2.writeEntry( it.key(), *it );
+        }
+    dcg.writeEntry( "count", pos );
+    scg.sync();
+    dcg.sync();
+    // Send signal to all kwin instances
+    QDBusMessage message =
+        QDBusMessage::createSignal("/KWin", "org.kde.KWin", "reloadConfig");
+    QDBusConnection::sessionBus().send(message);
+ 
+    }
diff --git a/kwin/data/desktop/update_tabbox_qml_settings.cpp b/kwin/data/desktop/update_tabbox_qml_settings.cpp
new file mode 100644
index 0000000..7297fff
--- /dev/null
+++ b/kwin/data/desktop/update_tabbox_qml_settings.cpp
@@ -0,0 +1,66 @@
+/********************************************************************
+KWin - the KDE window manager
+This file is part of the KDE project.
+
+Copyright (C) 2011 Martin Gräßlin <mgraesslin@kde.org>
+
+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 <http://www.gnu.org/licenses/>.
+*********************************************************************/
+
+#include <kconfig.h>
+#include <kconfiggroup.h>
+#include <kcomponentdata.h>
+#include <kaboutdata.h>
+#include <kcmdlineargs.h>
+#include <kglobal.h>
+#include <QtDBus/QtDBus>
+
+void updateTabBoxConfig(KConfigGroup &tabbox, bool migrate)
+{
+    tabbox.deleteEntry("LayoutMode");
+    tabbox.deleteEntry("SelectedItem");
+    tabbox.deleteEntry("MinWidth");
+    tabbox.deleteEntry("MinHeight");
+    tabbox.deleteEntry("SelectedLayoutName");
+    if (migrate) {
+        tabbox.writeEntry("LayoutName", "thumbnails");
+    }
+    tabbox.sync();
+}
+
+int main( int argc, char* argv[] )
+{
+    KAboutData about( "kwin_update_tabbox_qml_settings", "kwin", KLocalizedString(), 0 );
+    KCmdLineArgs::init( argc, argv, &about );
+    KComponentData inst( &about );
+    Q_UNUSED( KGlobal::locale() ); // jump-start locales to get to translated descriptions
+    KConfig config("kwinrc");
+    KConfigGroup plugins = config.group("Plugins");
+    const bool boxSwitchEnabled = plugins.readEntry<bool>("kwin4_effect_boxswitchEnabled", true);
+    KConfigGroup boxswitch = config.group("Effect-BoxSwitch");
+    const bool boxSwitchPrimary = boxSwitchEnabled && boxswitch.hasKey("TabBox") && boxswitch.readEntry<bool>("TabBox", true);
+    const bool boxSwitchAlternative = boxSwitchEnabled && boxswitch.hasKey("TabBoxAlternative") && boxswitch.readEntry<bool>("TabBoxAlternative", false);
+    boxswitch.writeEntry("TabBox", false);
+    boxswitch.writeEntry("TabBoxAlternative", false);
+    boxswitch.sync();
+    KConfigGroup tabbox = config.group("TabBox");
+    updateTabBoxConfig(tabbox, boxSwitchPrimary);
+    KConfigGroup tabboxAlternative = config.group("TabBoxAlternative");
+    updateTabBoxConfig(tabboxAlternative, boxSwitchAlternative);
+    config.sync();
+    // Send signal to all kwin instances
+    QDBusMessage message =
+    QDBusMessage::createSignal("/KWin", "org.kde.KWin", "reloadConfig");
+    QDBusConnection::sessionBus().send(message);    
+}
diff --git a/kwin/data/desktop/update_tabbox_settings.cpp b/kwin/data/desktop/update_tabbox_settings.cpp
new file mode 100644
index 0000000..87a76a4
--- /dev/null
+++ b/kwin/data/desktop/update_tabbox_settings.cpp
@@ -0,0 +1,54 @@
+/********************************************************************
+KWin - the KDE window manager
+This file is part of the KDE project.
+
+Copyright (C) 2005 Lubos Lunak <l.lunak@kde.org>
+Copyright (C) 2009 Martin Gräßlin <kde@martin-graesslin.com>
+
+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 <http://www.gnu.org/licenses/>.
+*********************************************************************/
+
+// read additional window rules and add them to kwinrulesrc
+
+#include <kconfig.h>
+#include <kconfiggroup.h>
+#include <kcomponentdata.h>
+#include <kaboutdata.h>
+#include <kcmdlineargs.h>
+#include <kglobal.h>
+#include <QtDBus/QtDBus>
+
+int main( int argc, char* argv[] )
+{
+    KAboutData about( "kwin_update_tabbox_settings", "kwin", KLocalizedString(), 0 );
+    KCmdLineArgs::init( argc, argv, &about );
+    KComponentData inst( &about );
+    Q_UNUSED( KGlobal::locale() ); // jump-start locales to get to translated descriptions
+    KConfig config( "kwinrc" );
+    KConfigGroup windows(&config, "Windows");
+    KConfigGroup tabbox(&config, "TabBox");
+    const bool traverse = tabbox.readEntry<bool>("TraverseAll", false);
+    const QString style = windows.readEntry<QString>("AltTabStyle", "KDE");
+    if( !tabbox.hasKey("ListMode") )
+        tabbox.writeEntry("ListMode", traverse?1:0);
+    if( !tabbox.hasKey("ShowTabBox") )
+        tabbox.writeEntry("ShowTabBox", (style.compare("KDE", Qt::CaseInsensitive) == 0)?true:false);
+    tabbox.sync();
+    config.sync();
+    // Send signal to all kwin instances
+    QDBusMessage message =
+    QDBusMessage::createSignal("/KWin", "org.kde.KWin", "reloadConfig");
+    QDBusConnection::sessionBus().send(message);
+    
+}
diff --git a/kwin/data/fsp_workarounds_1.kwinrules b/kwin/data/fsp_workarounds_1.kwinrules
deleted file mode 100644
index 252ad9f..0000000
--- a/kwin/data/fsp_workarounds_1.kwinrules
+++ /dev/null
@@ -1,83 +0,0 @@
-[1]
-Description=(Default) Disable focus stealing prevention for XV
-Description[ar]=(مبدئي) عطِّل منع سرقة التركيز لـXV
-Description[ast]=(Predetermináu) Desactiva la prevención de robu del focu en XV
-Description[be@latin]=(Zmoŭčana) Vyklučy abaronu ad zachopu fokusu dla prahramy „XV”
-Description[bg]=(По подразбиране) Изключване открадването на фокуса за XV
-Description[bs]=(Podrazumijevano) Isključi zaštitu od krađe fokusa za IksV
-Description[ca]=(Per omissió) Desactiva la prevenció de robatori del focus a l'XV
-Description[ca@valencia]=(Per omissió) Desactiva la prevenció de robatori del focus a l'XV
-Description[cs]=(Výchozí) Vypnout ochranu proti vyskakování oken do popředí v XV
-Description[csb]=(Domëslno) Wëłãczô przejãcé aktiwòwaniô dlô XV
-Description[da]=(Standard) Deaktivér forhindring af fokustyveri for XV
-Description[de]=(Standard) Aktivierungsübernahme verhindern für XV
-Description[el]=(Προκαθορισμένο) Αποτροπή κλεψίματος εστίασης για το XV
-Description[en_GB]=(Default) Disable focus stealing prevention for XV
-Description[eo]=(La defaŭlta) Malebligi malhelpon de fokusa forprenado por XV
-Description[es]=(Predeterminado) Deshabilita la prevención de robo del foco en XV
-Description[et]=(Vaikimisi) Fookuse röövimise vältimise keelamine XV puhul
-Description[eu]=(Lehentsi) Desgaitu fokusa ebatzea ekiditea XVrako
-Description[fi]=(Oletus) Estää kohdistuksen varastamisen
-Description[fr]=(Par défaut) Désactive la prévention de vol de focus pour XV
-Description[fy]=(standert) Foarkomme fan ôfpakke fan toetseboerdfokus foar XV
-Description[ga]=(Réamhshocrú) Díchumasaigh cosc ar ghadaíocht an fhócais le haghaidh XV
-Description[gl]=(Predeterminado) Desactivar o evitar roubar o foco para XV
-Description[gu]=(મૂળભૂત) XV માટે લક્ષ્ય અકેન્દ્રિત કરવાનું નિષ્ક્રિય બનાવે છે
-Description[he]=(ברירת מחדל) אל תאפשר מניעת גניבת התמקדות עבור XV
-Description[hi]=(डिफ़ॉल्ट) एक्स वी के लिए फोकस स्टीलिंग प्रीवेंशन अक्षम करता है
-Description[hne]=(डिफाल्ट) एक्स वी बर फोकस स्टीलिंग प्रीवेंसन अक्छम करथे 
-Description[hr]=(Zadano) Onemogućuje prevenciju oduzimanja fokusa XV-u
-Description[hsb]=(Standard) XV zakazać, zo fokus na so storhnje
-Description[hu]=(Alapértelmezés) A fókusz elvételét megakadályozó funkció kikapcsolása az XV esetén
-Description[ia]=(Predefinite) Dishabilita le prevention de furto de foco pro XV
-Description[id]=(Standar) Nonaktifkan pencegahan pencurian fokus untuk XV
-Description[is]=(Sjálfgefið) Aftengja vörn gegn fókusþjófnaði fyrir XV
-Description[it]=(Predefinita) Disabilita la prevenzione della cattura del fuoco per XV
-Description[ja]=(標準) XV のフォーカス移動防止を無効にする
-Description[kk]=XV-тің назарды жоғалтуға қарсылығын (әдетті) бұғаттау
-Description[km]=(លំនាំ​ដើម​) បិទ​ការ​រារាំង​ការ​ផ្ដោត​សម្រាប់ XV
-Description[kn]=(ಪೂರ್ವನಿಯೋಜಿತ) XV ಗೆ ನಾಭೀಕರಣ ಕದಿಯುವಿಕೆ ನಿರೋಧ (ಫೋಕಸ್ ಸ್ಟೀಲಿಂಗ್ ಪ್ರಿವೆಂಶನ್) ವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸು
-Description[ko]=(기본값) XV의 초점 뺏아가기 막기 사용하지 않기
-Description[lt]=(Numatyta) Išjungti XV fokuso praradimo prevenciją
-Description[lv]=(Noklusējums) Atslēgt fokusa zagšanas aizsardzību priekš XV
-Description[mai]=(पूर्वनिर्धारित) एक्स वी क' लेल फोकस स्टीलिंग प्रीवेंशनकेँ अक्षम करैत अछि
-Description[ml]=(സഹജം) എക്സ്‌വിയ്ക്കു് വേണ്ടി ഫോക്കസ് മോഷണം പ്രവര്‍ത്തനരഹിതമാക്കുക
-Description[nb]=(Standard) Tillat XV å stjele fokus
-Description[nds]=(Standard) För XV de Fokusverleer-Schuul utmaken
-Description[ne]=(पूर्वनिर्धारण) XV का लागि फोकस चोरी भइरहेको रोकथाम अक्षम गर्नुहोस्
-Description[nl]=(Standaard) schakel het voorkomen dat focus wordt gestolen uit voor XV
-Description[nn]=(Stanard) Tillèt av XV stel fokus
-Description[pa]=XV ਲਈ ਫੋਕਸ ਗੁਆਉਣ ਤੋਂ ਬਚਣ ਲਈ ਆਯੋਗ (ਡਿਫਾਲਟ)
-Description[pl]=(Domyślne) Wyłącz ochronę przed przejmowaniem uaktywnienia przez XV
-Description[pt]=(Predefinido) Desactivar a prevenção de roubo do primeiro plano do XV
-Description[pt_BR]=(Padrão) Desativa prevenção de roubo de foco para o XV
-Description[ro]=(Implicit) Dezactivează „prevenirea preluării focalizării” pentru XV
-Description[ru]=(по умолчанию) отключить предотвращение потери фокуса для XV
-Description[si]=(පෙරනිමි) XV සඳහා නාඹිගත කිරීම් සොරා ගැනීම වැලකීම අක්‍රීයයි
-Description[sk]=(Predvolené) zakázať predchádzanie kradnutia focusu pre XV
-Description[sl]=(privzeto) Onemogoči preprečevanje kraje fokusa za XV
-Description[sr]=(Подразумевано) Искључи заштиту од крађе фокуса за ИксВ
-Description[sr@ijekavian]=(Подразумијевано) Искључи заштиту од крађе фокуса за ИксВ
-Description[sr@ijekavianlatin]=(Podrazumijevano) Isključi zaštitu od krađe fokusa za XV
-Description[sr@latin]=(Podrazumevano) Isključi zaštitu od krađe fokusa za XV
-Description[sv]=(Förval) Inaktivera möjlighet att förhindra stöld av fokus för XV
-Description[ta]=(Default) Disable focus stealing prevention for XV
-Description[te]=(అప్రమేయం) XV కు ఫోకస్ స్టీలింగ్ నిరోధాన్ని అచేతనంచేయుము
-Description[tg]=(Стандартӣ) Хусусиятҳои XV ғайри фаъол созед
-Description[th]=(ค่าปริยาย) ปิดการป้องกันการขโมยโฟกัสสำหรับ XV
-Description[tr]=(Öntanımlı) XV için odaklama edinimi engellemesini pasifleştir
-Description[ug]=(كۆڭۈلدىكى) XV نىڭ فوكۇسقا ئوغرىلىقچە ئېرىشىشىگە يول قوي
-Description[uk]=(Типове) Вимкнути запобігання викрадання фокусу для XV
-Description[vi]=(Mặc định) Tắt khả năng ngăn cản bắt tiêu điểm cho XV
-Description[wa]=(Prémetou) Dismete li hapaedje di focus po XV
-Description[x-test]=xx(Default) Disable focus stealing prevention for XVxx
-Description[zh_CN]=(默认)允许 XV 偷取焦点
-Description[zh_TW]=（預設）為 XV 關閉避免焦點被偷的功能
-fsplevel=0
-fsplevelrule=2
-wmclass=^xv .*
-wmclasscomplete=true
-wmclassmatch=3
-
-[General]
-count=1
diff --git a/kwin/data/kwin_fsp_workarounds_1.upd b/kwin/data/kwin_fsp_workarounds_1.upd
deleted file mode 100644
index d379445..0000000
--- a/kwin/data/kwin_fsp_workarounds_1.upd
+++ /dev/null
@@ -1,3 +0,0 @@
-Id=kde351
-ScriptArguments=fsp_workarounds_1.kwinrules
-Script=kwin_update_default_rules
diff --git a/kwin/data/kwin_remove_delay_focus.sh b/kwin/data/kwin_remove_delay_focus.sh
deleted file mode 100755
index 6f4d61b..0000000
--- a/kwin/data/kwin_remove_delay_focus.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-if ! `kreadconfig --file kwinrc --group Windows --key DelayFocus --default false` && [ `kreadconfig --file kwinrc --group Windows --key DelayFocusInterval --default 0` != 0 ]; then
-    kwriteconfig --file kwinrc --group Windows --key DelayFocusInterval 0
-fi
\ No newline at end of file
diff --git a/kwin/data/kwin_remove_delay_focus.upd b/kwin/data/kwin_remove_delay_focus.upd
deleted file mode 100644
index 4d6f677..0000000
--- a/kwin/data/kwin_remove_delay_focus.upd
+++ /dev/null
@@ -1,2 +0,0 @@
-Id=Kwin-4.8
-Script=kwin_remove_delay_focus.sh
diff --git a/kwin/data/kwin_remove_effects.upd b/kwin/data/kwin_remove_effects.upd
deleted file mode 100644
index 6a7d54c..0000000
--- a/kwin/data/kwin_remove_effects.upd
+++ /dev/null
@@ -1,9 +0,0 @@
-# This update file removes the effects snow, shadow and sharpen
-# from the kconf settings
-
-Id=kwin4.7_effects
-File=kwinrc
-Group=Plugins
-RemoveKey=kwin4_effect_snowEnabled
-RemoveKey=kwin4_effect_shadowEnabled
-RemoveKey=kwin4_effect_sharpenEnabled
diff --git a/kwin/data/kwin_update_tabbox_qml_settings.upd b/kwin/data/kwin_update_tabbox_qml_settings.upd
deleted file mode 100644
index 2fd8066..0000000
--- a/kwin/data/kwin_update_tabbox_qml_settings.upd
+++ /dev/null
@@ -1,2 +0,0 @@
-Id=Kwin-4.8
-Script=kwin_update_tabbox_qml_settings
diff --git a/kwin/data/kwin_update_tabbox_settings.upd b/kwin/data/kwin_update_tabbox_settings.upd
deleted file mode 100644
index 11957fa..0000000
--- a/kwin/data/kwin_update_tabbox_settings.upd
+++ /dev/null
@@ -1,2 +0,0 @@
-Id=Kwin-4.4
-Script=kwin_update_tabbox_settings
diff --git a/kwin/data/pop.wav b/kwin/data/pop.wav
deleted file mode 100644
index adf5c6c..0000000
Binary files a/kwin/data/pop.wav and /dev/null differ
diff --git a/kwin/data/update_default_rules.cpp b/kwin/data/update_default_rules.cpp
deleted file mode 100644
index c78b8ca..0000000
--- a/kwin/data/update_default_rules.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/********************************************************************
- KWin - the KDE window manager
- This file is part of the KDE project.
-
-Copyright (C) 2005 Lubos Lunak <l.lunak@kde.org>
-
-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 <http://www.gnu.org/licenses/>.
-*********************************************************************/
-
-// read additional window rules and add them to kwinrulesrc
-
-#include <kconfig.h>
-#include <kconfiggroup.h>
-#include <kdebug.h>
-#include <kcomponentdata.h>
-#include <kstandarddirs.h>
-#include <kaboutdata.h>
-#include <kcmdlineargs.h>
-#include <kglobal.h>
-#include <QtDBus/QtDBus>
-
-int main( int argc, char* argv[] )
-    {
-    if( argc != 2 )
-        return 1;
-    KAboutData about( "kwin_update_default_rules", "kwin", KLocalizedString(), 0 );
-    KCmdLineArgs::init( argc, argv, &about );
-    KComponentData inst( &about );
-    Q_UNUSED( KGlobal::locale() ); // jump-start locales to get to translated descriptions
-    QString file = KStandardDirs::locate( "data", QString( "kwin/default_rules/%1" ).arg(argv[ 1 ] ));
-    if( file.isEmpty())
-        {
-        kWarning(1212) << "File " << argv[ 1 ] << " not found!" ;
-        return 1;
-        }
-    KConfig src_cfg( file );
-    KConfig dest_cfg( "kwinrulesrc" );
-	KConfigGroup scg(&src_cfg, "General");
-	KConfigGroup dcg(&dest_cfg, "General");
-    int count = scg.readEntry( "count", 0 );
-    int pos = dcg.readEntry( "count", 0 );
-    for( int group = 1;
-         group <= count;
-         ++group )
-        {
-        QMap< QString, QString > entries = src_cfg.entryMap( QString::number( group ));
-        ++pos;
-        dest_cfg.deleteGroup( QString::number( pos ));
-		KConfigGroup dcg2 (&dest_cfg, QString::number( pos ));
-        for( QMap< QString, QString >::ConstIterator it = entries.constBegin();
-             it != entries.constEnd();
-             ++it )
-            dcg2.writeEntry( it.key(), *it );
-        }
-    dcg.writeEntry( "count", pos );
-    scg.sync();
-    dcg.sync();
-    // Send signal to all kwin instances
-    QDBusMessage message =
-        QDBusMessage::createSignal("/KWin", "org.kde.KWin", "reloadConfig");
-    QDBusConnection::sessionBus().send(message);
- 
-    }
diff --git a/kwin/data/update_tabbox_qml_settings.cpp b/kwin/data/update_tabbox_qml_settings.cpp
deleted file mode 100644
index 7297fff..0000000
--- a/kwin/data/update_tabbox_qml_settings.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/********************************************************************
-KWin - the KDE window manager
-This file is part of the KDE project.
-
-Copyright (C) 2011 Martin Gräßlin <mgraesslin@kde.org>
-
-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 <http://www.gnu.org/licenses/>.
-*********************************************************************/
-
-#include <kconfig.h>
-#include <kconfiggroup.h>
-#include <kcomponentdata.h>
-#include <kaboutdata.h>
-#include <kcmdlineargs.h>
-#include <kglobal.h>
-#include <QtDBus/QtDBus>
-
-void updateTabBoxConfig(KConfigGroup &tabbox, bool migrate)
-{
-    tabbox.deleteEntry("LayoutMode");
-    tabbox.deleteEntry("SelectedItem");
-    tabbox.deleteEntry("MinWidth");
-    tabbox.deleteEntry("MinHeight");
-    tabbox.deleteEntry("SelectedLayoutName");
-    if (migrate) {
-        tabbox.writeEntry("LayoutName", "thumbnails");
-    }
-    tabbox.sync();
-}
-
-int main( int argc, char* argv[] )
-{
-    KAboutData about( "kwin_update_tabbox_qml_settings", "kwin", KLocalizedString(), 0 );
-    KCmdLineArgs::init( argc, argv, &about );
-    KComponentData inst( &about );
-    Q_UNUSED( KGlobal::locale() ); // jump-start locales to get to translated descriptions
-    KConfig config("kwinrc");
-    KConfigGroup plugins = config.group("Plugins");
-    const bool boxSwitchEnabled = plugins.readEntry<bool>("kwin4_effect_boxswitchEnabled", true);
-    KConfigGroup boxswitch = config.group("Effect-BoxSwitch");
-    const bool boxSwitchPrimary = boxSwitchEnabled && boxswitch.hasKey("TabBox") && boxswitch.readEntry<bool>("TabBox", true);
-    const bool boxSwitchAlternative = boxSwitchEnabled && boxswitch.hasKey("TabBoxAlternative") && boxswitch.readEntry<bool>("TabBoxAlternative", false);
-    boxswitch.writeEntry("TabBox", false);
-    boxswitch.writeEntry("TabBoxAlternative", false);
-    boxswitch.sync();
-    KConfigGroup tabbox = config.group("TabBox");
-    updateTabBoxConfig(tabbox, boxSwitchPrimary);
-    KConfigGroup tabboxAlternative = config.group("TabBoxAlternative");
-    updateTabBoxConfig(tabboxAlternative, boxSwitchAlternative);
-    config.sync();
-    // Send signal to all kwin instances
-    QDBusMessage message =
-    QDBusMessage::createSignal("/KWin", "org.kde.KWin", "reloadConfig");
-    QDBusConnection::sessionBus().send(message);    
-}
diff --git a/kwin/data/update_tabbox_settings.cpp b/kwin/data/update_tabbox_settings.cpp
deleted file mode 100644
index 87a76a4..0000000
--- a/kwin/data/update_tabbox_settings.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/********************************************************************
-KWin - the KDE window manager
-This file is part of the KDE project.
-
-Copyright (C) 2005 Lubos Lunak <l.lunak@kde.org>
-Copyright (C) 2009 Martin Gräßlin <kde@martin-graesslin.com>
-
-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 <http://www.gnu.org/licenses/>.
-*********************************************************************/
-
-// read additional window rules and add them to kwinrulesrc
-
-#include <kconfig.h>
-#include <kconfiggroup.h>
-#include <kcomponentdata.h>
-#include <kaboutdata.h>
-#include <kcmdlineargs.h>
-#include <kglobal.h>
-#include <QtDBus/QtDBus>
-
-int main( int argc, char* argv[] )
-{
-    KAboutData about( "kwin_update_tabbox_settings", "kwin", KLocalizedString(), 0 );
-    KCmdLineArgs::init( argc, argv, &about );
-    KComponentData inst( &about );
-    Q_UNUSED( KGlobal::locale() ); // jump-start locales to get to translated descriptions
-    KConfig config( "kwinrc" );
-    KConfigGroup windows(&config, "Windows");
-    KConfigGroup tabbox(&config, "TabBox");
-    const bool traverse = tabbox.readEntry<bool>("TraverseAll", false);
-    const QString style = windows.readEntry<QString>("AltTabStyle", "KDE");
-    if( !tabbox.hasKey("ListMode") )
-        tabbox.writeEntry("ListMode", traverse?1:0);
-    if( !tabbox.hasKey("ShowTabBox") )
-        tabbox.writeEntry("ShowTabBox", (style.compare("KDE", Qt::CaseInsensitive) == 0)?true:false);
-    tabbox.sync();
-    config.sync();
-    // Send signal to all kwin instances
-    QDBusMessage message =
-    QDBusMessage::createSignal("/KWin", "org.kde.KWin", "reloadConfig");
-    QDBusConnection::sessionBus().send(message);
-    
-}
