kwin/data/update_tabbox_settings.cpp
Lucas Murray 41e5bfd793 Change how quick tiling and maximization is activated slightly. Instead
of using electric borders just check the location of the cursor; if the
cursor is near the edge enable the resize snap. This makes the features
easier to activate, removes the conflict with desktop switching and
allows the features to be used completely on multi-screen systems.
Patch inspired by one from Marcel Schaal.
BUG: 218957

svn path=/trunk/KDE/kdebase/workspace/; revision=1071996
2010-01-09 09:49:52 +00:00

54 lines
2.1 KiB
C++

/********************************************************************
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);
}