5 1. Pre-configuring window-specific settings
11 1. Pre-configuring window-specific settings
12 ===========================================
14 Window-specific settings is a feature of KWin that allows specifying some
15 settings only for a specific window or windows. See the Window-specific
16 settings section in the KWin configuration and the Special settings
17 menu entries in Alt+F3/Advanced menu.
19 One aspect of window-specific settings is the ability to specify various
20 workarounds for (usually broken) applications that otherwise don't work
21 properly with KWin. This section describes how to create additional
22 window-specific settings that will be automatically used by all users
23 without any need of manual configuration.
27 Application FooBar does not specify any maximum size for its main window,
28 but when resized to larger size than 1600x1200 it crashes because of a bug.
29 Manual configuration of a window-specific setting that avoids this problem
30 is opening and activating this window, selecting
31 Alt+F3/Advanced/Special window settings, activating tab Workarounds, enabling
32 setting Maximum size, changing it to Force and entering "1600,1200" as
33 the maximum size, which will make KWin force this size as the maximum size.
35 To create such window-specific setting automatically without a need of doing
36 it manually for every user (for example when doing a large deployment), follow
39 - Back up your $KDEHOME/share/config/kwinrulesrc ($KDEHOME usually being $HOME/.kde)
41 - Run 'dcop kwin default reconfigure'
42 - Create manually all window-specific settings that should be included (see above)
43 - When done, check in Window-specific settings configuration module
44 (Alt+F3/Configure window behavior/Window-specific settings) that all rules are
46 - Create a copy of $KDEHOME/share/config/kwinrulesrc and restore the original one
47 - Rename the copy (i.e. the newly created kwinrulesrc) to have its unique name
48 (e.g. foobar_fix_maxsize in this example case)
49 - Be careful with manual modifications of the file, especially make sure the count=
50 field in the [General] group is updated if needed
51 - Create a file for kconfig_update like this (named kwin_foobar_fix_maxsize.upd
54 # kwin_foobar_fix_maxsize.upd start #
59 ScriptArguments=foobar_fix_maxsize
60 Script=kwin_update_default_rules
62 # kwin_foobar_fix_maxsize.upd end #
64 - The kconfig_file (kwin_foobar_fix_maxsize.upd) is to be placed
65 in $KDEDIR/share/apps/kconf_update/
66 - The file with the window-specific settings (foobar_fix_maxsize) is to be placed
67 in $KDEDIR/share/apps/kwin/default_rules/
70 All KDE user accounts should have these new window-specific settings added
71 automatically during next KDE startup (or within few seconds if they are active).
72 They can be checked again in the Window-specific settings configuration module of KWin.