App rules
Match windows and control their placement, size, focus, or management.
The App rules guide explains matching and which rule wins.
This example uses the default workspace name Development. Replace it if you renamed that workspace:
[[virtual_workspaces.app_rules]]app_id = "com.apple.Terminal"workspace = "Development"
[[virtual_workspaces.app_rules]]app_id = "com.apple.Calculator"floating = true[[virtual_workspaces.app_rules]]
Section titled “[[virtual_workspaces.app_rules]]”One rule per [[virtual_workspaces.app_rules]] entry. Match fields are combined with AND; the most specific matching rule wins.
app_id
Section titled “app_id”Application bundle ID, matched without regard to letter case. For example, com.apple.Terminal.
workspace
Section titled “workspace”Destination workspace name or zero-based index. Omit it to use the active workspace. Use a name from workspace_names.
floating
Section titled “floating”Keep matching windows outside the tiled layout. A winning rule with this field omitted uses false; actions are not inherited from other rules.
position
Section titled “position”Focus the window after applying this rule, switching virtual workspaces if needed.
manage
Section titled “manage”Set false to exclude matching windows from Rift. Set true to override the normal manageability checks for visible windows. Omit it to keep the normal checks. With false, omit placement and focus actions because they are ignored.
app_name
Section titled “app_name”Case-insensitive containment match against the app name. Rift matches when the rule contains the app name or the app name contains the rule. Prefer app_id for an exact application match.
title_regex
Section titled “title_regex”Case-insensitive regular expression matched against the window title. Use title_substring when you do not need a pattern.
title_substring
Section titled “title_substring”Case-insensitive text matched anywhere in the window title.
ax_role
Section titled “ax_role”Exact macOS Accessibility role, such as AXWindow. Useful when an app creates several kinds of windows.
ax_subrole
Section titled “ax_subrole”Exact macOS Accessibility subrole, such as AXDialog, to distinguish dialogs from normal windows.
[virtual_workspaces.app_rules.position]
Section titled “[virtual_workspaces.app_rules.position]”Horizontal position: 0.0 is the left edge and 1.0 is the right edge.
Vertical position: 0.0 is the top edge and 1.0 is the bottom edge.
[virtual_workspaces.app_rules.size]
Section titled “[virtual_workspaces.app_rules.size]”Initial width in logical pixels. Must be positive when provided.
Initial height in logical pixels. Must be positive when provided.