Filtering
IFilterManager tells Whim to ignore windows based on Filter delegates. A common use case is for plugins to filter out windows they manage themselves and want Whim to not lay out. For example, the bars and command palette are filtered out.
// Called by the bar plugin.
context.FilterManager.AddTitleMatchFilter("Whim Bar");
Besides by their Title
, windows can also be matched by their WindowClass
, by their ProcessFileName
or via custom rules -- see IFilterManager.
Built-in filters
By default, Whim ignores a built-in list of windows that are known to cause problems with dynamic tiling window manager. Behind the scenes, Whim automatically updates the built-in list of ignored windows based on a subset of the rules from the community-driven collection of application rules managed by komorebi.
To disable the built-in list of ignored windows, add the following before defining any filters:
context.FilterManager.Clear();
Caveats
- Turning off individual komorebi rules is not currently supported but is planned - see dalyIsaac/Whim#702.
- Whim does not support komorebi rules defined using regular expressions, as komorebi is written in Rust and the regular expressions are likely to have compatibility issues with .NET - see dalyIsaac/Whim#690. In practice, this is not much of a concern; as of February 2024, there are no such rules defined by komorebi.