/******************************************************************** 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(); // screen edges - disable quick tiling when switch on desktop edge is activated KConfigGroup borders(&config, "ElectricBorders"); if( borders.readEntry("ElectricBorders", 0) >= 1 && !borders.hasKey("ElectricBorderMaximize") && !borders.hasKey("ElectricBorderTiling") ) { borders.writeEntry("ElectricBorderMaximize", false); borders.writeEntry("ElectricBorderTiling", false); } borders.sync(); config.sync(); // Send signal to all kwin instances QDBusMessage message = QDBusMessage::createSignal("/KWin", "org.kde.KWin", "reloadConfig"); QDBusConnection::sessionBus().send(message); }