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 + +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 . +*********************************************************************/ + +#include +#include +#include +#include +#include +#include +#include + +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("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 + +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 . +*********************************************************************/ + +// read additional window rules and add them to kwinrulesrc + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +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 + +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 . +*********************************************************************/ + +#include +#include +#include +#include +#include +#include +#include + +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("kwin4_effect_boxswitchEnabled", true); + KConfigGroup boxswitch = config.group("Effect-BoxSwitch"); + const bool boxSwitchPrimary = boxSwitchEnabled && boxswitch.hasKey("TabBox") && boxswitch.readEntry("TabBox", true); + const bool boxSwitchAlternative = boxSwitchEnabled && boxswitch.hasKey("TabBoxAlternative") && boxswitch.readEntry("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 +Copyright (C) 2009 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 . +*********************************************************************/ + +// read additional window rules and add them to kwinrulesrc + +#include +#include +#include +#include +#include +#include +#include + +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("TraverseAll", false); + const QString style = windows.readEntry("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 - -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 . -*********************************************************************/ - -// read additional window rules and add them to kwinrulesrc - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -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 - -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 . -*********************************************************************/ - -#include -#include -#include -#include -#include -#include -#include - -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("kwin4_effect_boxswitchEnabled", true); - KConfigGroup boxswitch = config.group("Effect-BoxSwitch"); - const bool boxSwitchPrimary = boxSwitchEnabled && boxswitch.hasKey("TabBox") && boxswitch.readEntry("TabBox", true); - const bool boxSwitchAlternative = boxSwitchEnabled && boxswitch.hasKey("TabBoxAlternative") && boxswitch.readEntry("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 -Copyright (C) 2009 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 . -*********************************************************************/ - -// read additional window rules and add them to kwinrulesrc - -#include -#include -#include -#include -#include -#include -#include - -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("TraverseAll", false); - const QString style = windows.readEntry("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); - -}