Reformat, move config pattern & add window id info
3.6 KiB
Configuring rules
General description
Not all windows should be managed by bug.n the same way, or even may not be managable at all. To handle windows differently, you can add rules to the configuration.
The general format of a rule added to Config.ini
is as follows (all in one
line, ";" is not allowed as a character in the field values):
Config_rule=<class>;
<title>;
<function name>;
<is managed>;
<monitor>;
<views tags>;
<is floating>;
<is decorated>;
<hide title>;
<action on a single window>
With the first part of the rule, you identify the window using the following information:
- class (as a regular expression)
- title (as a regular expression)
- arbitrary criterion (as a function name, e. g. "Window_isPopup", or blank)
If you encounter a window you want to configure about, you can retrieve its
identifying information with the hotkey #I
a.k.a. WinI.
With the second part you can give bug.n the following information on how to handle the identified windows:
- Is the window managed at all (0 = no, 1 = yes)?
- On which monitor should the window be moved (given as an integer >= 0, 0 means the currently active monitor)?
- On which views should the window be set (given as a binary mask converted to an integer >= 0, 0 means the currently active view)?
- Is the window floating, i. e. should not be tiled (0 = no, 1 = yes)?
- Is the window decorated (0 = no, 1 = yes)? If not, the window title bar is removed.
- Should the title text be hidden in the bug.n bar (0 = no, 1 = yes)?
- A special single window action (
close
ormaximize
or blank).
If you want to replace a rule, which is already set in Config.ahk
, you will
have to use the correct variable name; e. g. you may set a default rule
(identifying part: .*;.*;
), overwriting the first rule set in Config.ahk
,
by using the variable name Config_rule_#1
. If you want to add a rule,
simply use Config_rule
as the variable name; the numbering will be done
automatically by bug.n when reading Config.ini
using the order given there.
Views / Tags
You can set a window to more than one view. Add up the associated numbers as shown in the following table and set the sixth field of the rule to the value of the sum.
view / tag | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | n | all |
---|---|---|---|---|---|---|---|---|---|---|---|
number to sum up | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 2 ** (n - 1) |
511 |
An example would be the value 17
for views 1 and 5.
Examples
Mozilla Firefox
The following Config.ini
line replaces rule number 16 in the default
configuration, putting windows of 'Mozilla Firefox' on view 5, keeping the
title bar visible and maximizing them.
Config_rule_#16=MozillaWindowClass;.*Mozilla Firefox;;1;0;16;0;1;0;maximize
Mozilla Thunderbird
The following Config.ini
line adds a rule, putting windows of 'Mozilla
Thunderbird' on view 4, keeping the title bar visible and maximizing them.
Config_rule=MozillaWindowClass;.*Mozilla Thunderbird;;1;0;8;0;1;0;maximize
GNU Emacs
The following rule avoids the gaps, which would be the result of Emacs' line-oriented resizing of its own windows (frames).
Config_rule=Emacs;.*;;1;0;0;0;0;0;maximize
Atlassian SourceTree
The following rule let bug.n refrain from managing the popup confirmation of removing file from working copy.
Config_rule=.*SourceTree.*;Confirm Remove Modified or Untracked Files?;;0;0;0;0;0;0;