diff --git a/CONFIGURING b/CONFIGURING new file mode 100644 index 0000000000..e31a791db8 --- /dev/null +++ b/CONFIGURING @@ -0,0 +1,72 @@ +CONTENTS: +========= + + +1. Pre-configuring window-specific settings + + + + + +1. Pre-configuring window-specific settings +=========================================== + +Window-specific settings is a feature of KWin that allows specifying some +settings only for a specific window or windows. See the Window-specific +settings section in the KWin configuration and the Special settings +menu entries in Alt+F3/Advanced menu. + +One aspect of window-specific settings is the ability to specify various +workarounds for (usually broken) applications that otherwise don't work +properly with KWin. This section describes how to create additional +window-specific settings that will be automatically used by all users +without any need of manual configuration. + +Example case: + +Application FooBar does not specify any maximum size for its main window, +but when resized to larger size than 1600x1200 it crashes because of a bug. +Manual configuration of a window-specific setting that avoids this problem +is opening and activating this window, selecting +Alt+F3/Advanced/Special window settings, activating tab Workarounds, enabling +setting Maximum size, changing it to Force and entering "1600,1200" as +the maximum size, which will make KWin force this size as the maximum size. + +To create such window-specific setting automatically without a need of doing +it manually for every user (for example when doing a large deployment), follow +these steps: + +- Back up your $KDEHOME/share/config/kwinrulesrc ($KDEHOME usually being $HOME/.kde) +- Run 'dcop kwin default reconfigure' +- Create manually all window-specific settings that should be included (see above) +- When done, check in Window-specific settings configuration module + (Alt+F3/Configure window behavior/Window-specific settings) that all rules are + included +- Create a copy of $KDEHOME/share/config/kwinrulesrc and restore the original one +- Rename the copy (i.e. the newly created kwinrulesrc) to have its unique name + (e.g. foobar_fix_maxsize in this example case) +- Be careful with manual modifications of the file, especially make sure the count= + field in the [General] group is updated if needed +- Create a file for kconfig_update like this (named kwin_foobar_fix_maxsize.upd + in this example): + +# kwin_foobar_fix_maxsize.upd start # +Id=foobar_fix_maxsize +File=kwinrules_update +Group=Dummy +Options=overwrite +ScriptArguments=foobar_fix_maxsize +Script=kwin_update_default_rules + +# kwin_foobar_fix_maxsize.upd end # + +- The kconfig_file (kwin_foobar_fix_maxsize.upd) is to be placed + in $KDEDIR/share/apps/kconf_update/ +- The file with the window-specific settings (foobar_fix_maxsize) is to be placed + in $KDEDIR/share/apps/kwin/default_rules/ + + +All KDE user accounts should have these new window-specific settings added +automatically during next KDE startup (or within few seconds if they are active). +They can be checked again in the Window-specific settings configuration module of KWin. + diff --git a/README b/README index 70ba517470..a59e92b366 100644 --- a/README +++ b/README @@ -1,3 +1,20 @@ +- The mailing list for KWin is kwin@kde.org (https://mail.kde.org/mailman/listinfo/kwin). + +- If you want to develop KWin, see file HACKING. + +- If you want to check KWin's compliance with specifications, see file COMPLIANCE. + +- File CONFIGURATION includes some details on configuring KWin. + +- Below is some info for application developers about application interaction + with the window manager, but it'd need some cleanup. + + + + + + + This README is meant as an explanation of various window manager related mechanisms that application developers need to be aware of. As some of these