svn add
svn path=/trunk/KDE/kdebase/workspace/; revision=506473
This commit is contained in:
parent
3bee4bff66
commit
026d7fb501
3 changed files with 98 additions and 0 deletions
34
data/fsp_workarounds_1
Normal file
34
data/fsp_workarounds_1
Normal file
|
@ -0,0 +1,34 @@
|
|||
[1]
|
||||
description=(Default) Disable focus stealing prevention for OopenOffice.org 2.0
|
||||
fsplevel=0
|
||||
fsplevelrule=2
|
||||
wmclass=vclsalframe openoffice.org 2.0
|
||||
wmclasscomplete=true
|
||||
wmclassmatch=1
|
||||
|
||||
[2]
|
||||
description=(Default) Disable focus stealing prevention for Mozilla
|
||||
fsplevel=0
|
||||
fsplevelrule=2
|
||||
wmclass=mozilla-bin
|
||||
wmclasscomplete=false
|
||||
wmclassmatch=1
|
||||
|
||||
[3]
|
||||
description=(Default) Disable focus stealing prevention for Firefox
|
||||
fsplevel=0
|
||||
fsplevelrule=2
|
||||
wmclass=firefox-bin
|
||||
wmclasscomplete=false
|
||||
wmclassmatch=1
|
||||
|
||||
[4]
|
||||
description=(Default) Disable focus stealing prevention for Thunderbird
|
||||
fsplevel=0
|
||||
fsplevelrule=2
|
||||
wmclass=thunderbird-bin
|
||||
wmclasscomplete=false
|
||||
wmclassmatch=1
|
||||
|
||||
[General]
|
||||
count=4
|
8
data/kwin_fsp_workarounds_1.upd
Normal file
8
data/kwin_fsp_workarounds_1.upd
Normal file
|
@ -0,0 +1,8 @@
|
|||
Id=kde351
|
||||
# the file is intentionally a dummy, as the binary will update kwinrulesrc,
|
||||
# file kwinrules_update will just remember it has been done
|
||||
File=kwinrules_update
|
||||
Group=Dummy
|
||||
Options=overwrite
|
||||
ScriptArguments=fsp_workarounds_1
|
||||
Script=kwin_update_default_rules
|
56
data/update_default_rules.cpp
Normal file
56
data/update_default_rules.cpp
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*****************************************************************
|
||||
KWin - the KDE window manager
|
||||
This file is part of the KDE project.
|
||||
|
||||
Copyright (C) 2005 Lubos Lunak <l.lunak@kde.org>
|
||||
|
||||
You can Freely distribute this program under the GNU General Public
|
||||
License. See the file "COPYING" for the exact licensing terms.
|
||||
******************************************************************/
|
||||
|
||||
// read addtional window rules and add them to kwinrulesrc
|
||||
|
||||
#include <dcopclient.h>
|
||||
#include <kconfig.h>
|
||||
#include <kdebug.h>
|
||||
#include <kinstance.h>
|
||||
#include <kstandarddirs.h>
|
||||
|
||||
int main( int argc, char* argv[] )
|
||||
{
|
||||
if( argc != 2 )
|
||||
return 1;
|
||||
KInstance inst( "kwin_update_default_rules" );
|
||||
QString file = locate( "data", QString( "kwin/default_rules/" ) + argv[ 1 ] );
|
||||
if( file.isEmpty())
|
||||
{
|
||||
kdWarning() << "File " << argv[ 1 ] << " not found!" << endl;
|
||||
return 1;
|
||||
}
|
||||
KConfig src_cfg( file );
|
||||
KConfig dest_cfg( "kwinrulesrc" );
|
||||
src_cfg.setGroup( "General" );
|
||||
dest_cfg.setGroup( "General" );
|
||||
int count = src_cfg.readEntry( "count", 0 );
|
||||
int pos = dest_cfg.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 ));
|
||||
dest_cfg.setGroup( QString::number( pos ));
|
||||
for( QMap< QString, QString >::ConstIterator it = entries.begin();
|
||||
it != entries.end();
|
||||
++it )
|
||||
dest_cfg.writeEntry( it.key(), *it );
|
||||
}
|
||||
dest_cfg.setGroup( "General" );
|
||||
dest_cfg.writeEntry( "count", pos );
|
||||
src_cfg.sync();
|
||||
dest_cfg.sync();
|
||||
DCOPClient client;
|
||||
client.attach();
|
||||
client.send("kwin*", "", "reconfigure()", QByteArray());
|
||||
}
|
Loading…
Reference in a new issue