Files
komorebi/common-workflows/multi-monitor-setup.html
2025-03-22 11:54:17 -07:00

5538 lines
106 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="The Tiling Window Manager for Windows">
<link rel="prev" href="multiple-bar-instances.html">
<link rel="next" href="../cli/quickstart.html">
<link rel="icon" href="../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.39">
<title>Multi-Monitor Setup - Komorebi</title>
<link rel="stylesheet" href="../assets/stylesheets/main.8c3ca2c6.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.06af60db.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="deep-purple" data-md-color-accent="deep-purple">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#multi-monitor-setup" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href=".." title="Komorebi" class="md-header__button md-logo" aria-label="Komorebi" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Komorebi
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Multi-Monitor Setup
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="deep-purple" data-md-color-accent="deep-purple" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5s-1.65.15-2.39.42zM3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29zm.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14zM20.65 7l-1.77 3.79a7.02 7.02 0 0 0-2.38-4.15zm-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29zM12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44z"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="deep-purple" data-md-color-accent="purple" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3zm3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95zm-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31"/></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<a href="javascript:void(0)" class="md-search__icon md-icon" title="Share" aria-label="Share" data-clipboard data-clipboard-text="" data-md-component="search-share" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91s2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08"/></svg>
</a>
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
</button>
</nav>
<div class="md-search__suggest" data-md-component="search-suggest"></div>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/LGUG2Z/komorebi" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
</div>
<div class="md-source__repository">
LGUG2Z/komorebi
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item">
<a href="../index.html" class="md-tabs__link">
Komorebi
</a>
</li>
<li class="md-tabs__item">
<a href="../installation.html" class="md-tabs__link">
Getting started
</a>
</li>
<li class="md-tabs__item">
<a href="../usage/focusing-windows.html" class="md-tabs__link">
Usage
</a>
</li>
<li class="md-tabs__item md-tabs__item--active">
<a href="komorebi-config-home.html" class="md-tabs__link">
Common workflows
</a>
</li>
<li class="md-tabs__item">
<a href="https://komorebi.lgug2z.com/schema" class="md-tabs__link">
Configuration reference
</a>
</li>
<li class="md-tabs__item">
<a href="https://komorebi-bar.lgug2z.com/schema" class="md-tabs__link">
Bar reference
</a>
</li>
<li class="md-tabs__item">
<a href="../cli/quickstart.html" class="md-tabs__link">
CLI reference
</a>
</li>
</ul>
</div>
</nav>
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href=".." title="Komorebi" class="md-nav__button md-logo" aria-label="Komorebi" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
</a>
Komorebi
</label>
<div class="md-nav__source">
<a href="https://github.com/LGUG2Z/komorebi" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
</div>
<div class="md-source__repository">
LGUG2Z/komorebi
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
<div class="md-nav__link md-nav__container">
<a href="../index.html" class="md-nav__link ">
<span class="md-ellipsis">
Komorebi
</span>
</a>
<label class="md-nav__link " for="__nav_1" id="__nav_1_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
Komorebi
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../design.html" class="md-nav__link">
<span class="md-ellipsis">
Design
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-ellipsis">
Getting started
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
Getting started
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../installation.html" class="md-nav__link">
<span class="md-ellipsis">
Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../example-configurations.html" class="md-nav__link">
<span class="md-ellipsis">
Example configurations
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../troubleshooting.html" class="md-nav__link">
<span class="md-ellipsis">
Troubleshooting
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-ellipsis">
Usage
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
Usage
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../usage/focusing-windows.html" class="md-nav__link">
<span class="md-ellipsis">
Focusing Windows
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../usage/moving-windows.html" class="md-nav__link">
<span class="md-ellipsis">
Moving Windows
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../usage/stacking-windows.html" class="md-nav__link">
<span class="md-ellipsis">
Stacking Windows
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../usage/focusing-workspaces.html" class="md-nav__link">
<span class="md-ellipsis">
Focusing Workspaces
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../usage/moving-windows-across-workspaces.html" class="md-nav__link">
<span class="md-ellipsis">
Moving Windows Across Workspaces
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="">
<span class="md-ellipsis">
Common workflows
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Common workflows
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="komorebi-config-home.html" class="md-nav__link">
<span class="md-ellipsis">
`KOMOREBI_CONFIG_HOME`
</span>
</a>
</li>
<li class="md-nav__item">
<a href="autostart.html" class="md-nav__link">
<span class="md-ellipsis">
Autostart
</span>
</a>
</li>
<li class="md-nav__item">
<a href="animations.html" class="md-nav__link">
<span class="md-ellipsis">
Animations
</span>
</a>
</li>
<li class="md-nav__item">
<a href="autohotkey.html" class="md-nav__link">
<span class="md-ellipsis">
AutoHotkey
</span>
</a>
</li>
<li class="md-nav__item">
<a href="borders.html" class="md-nav__link">
<span class="md-ellipsis">
Borders
</span>
</a>
</li>
<li class="md-nav__item">
<a href="stackbar.html" class="md-nav__link">
<span class="md-ellipsis">
Stackbar
</span>
</a>
</li>
<li class="md-nav__item">
<a href="remove-gaps.html" class="md-nav__link">
<span class="md-ellipsis">
Remove Gaps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="ignore-windows.html" class="md-nav__link">
<span class="md-ellipsis">
Ignore Windows
</span>
</a>
</li>
<li class="md-nav__item">
<a href="force-manage-windows.html" class="md-nav__link">
<span class="md-ellipsis">
Force Manage Windows
</span>
</a>
</li>
<li class="md-nav__item">
<a href="floating-applications.html" class="md-nav__link">
<span class="md-ellipsis">
Floating Windows
</span>
</a>
</li>
<li class="md-nav__item">
<a href="tray-and-multi-window-applications.html" class="md-nav__link">
<span class="md-ellipsis">
Tray and Multi-Window Applications
</span>
</a>
</li>
<li class="md-nav__item">
<a href="mouse-follows-focus.html" class="md-nav__link">
<span class="md-ellipsis">
Mouse Follows Focus
</span>
</a>
</li>
<li class="md-nav__item">
<a href="dynamic-layout-switching.html" class="md-nav__link">
<span class="md-ellipsis">
Dynamic Layout Switching
</span>
</a>
</li>
<li class="md-nav__item">
<a href="set-display-index.html" class="md-nav__link">
<span class="md-ellipsis">
Setting a Given Display to a Specific Index
</span>
</a>
</li>
<li class="md-nav__item">
<a href="multiple-bar-instances.html" class="md-nav__link">
<span class="md-ellipsis">
Multiple Bar Instances
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<a href="multi-monitor-setup.html" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Multi-Monitor Setup
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="https://komorebi.lgug2z.com/schema" class="md-nav__link">
<span class="md-ellipsis">
Configuration reference
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://komorebi-bar.lgug2z.com/schema" class="md-nav__link">
<span class="md-ellipsis">
Bar reference
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
CLI reference
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
CLI reference
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../cli/quickstart.html" class="md-nav__link">
<span class="md-ellipsis">
quickstart
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/start.html" class="md-nav__link">
<span class="md-ellipsis">
start
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/stop.html" class="md-nav__link">
<span class="md-ellipsis">
stop
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/kill.html" class="md-nav__link">
<span class="md-ellipsis">
kill
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/check.html" class="md-nav__link">
<span class="md-ellipsis">
check
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/configuration.html" class="md-nav__link">
<span class="md-ellipsis">
configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/bar-configuration.html" class="md-nav__link">
<span class="md-ellipsis">
bar-configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/whkdrc.html" class="md-nav__link">
<span class="md-ellipsis">
whkdrc
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/state.html" class="md-nav__link">
<span class="md-ellipsis">
state
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/global-state.html" class="md-nav__link">
<span class="md-ellipsis">
global-state
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/gui.html" class="md-nav__link">
<span class="md-ellipsis">
gui
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/visible-windows.html" class="md-nav__link">
<span class="md-ellipsis">
visible-windows
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/monitor-information.html" class="md-nav__link">
<span class="md-ellipsis">
monitor-information
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/query.html" class="md-nav__link">
<span class="md-ellipsis">
query
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/subscribe-socket.html" class="md-nav__link">
<span class="md-ellipsis">
subscribe-socket
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/unsubscribe-socket.html" class="md-nav__link">
<span class="md-ellipsis">
unsubscribe-socket
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/subscribe-pipe.html" class="md-nav__link">
<span class="md-ellipsis">
subscribe-pipe
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/unsubscribe-pipe.html" class="md-nav__link">
<span class="md-ellipsis">
unsubscribe-pipe
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/log.html" class="md-nav__link">
<span class="md-ellipsis">
log
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/quick-save-resize.html" class="md-nav__link">
<span class="md-ellipsis">
quick-save-resize
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/quick-load-resize.html" class="md-nav__link">
<span class="md-ellipsis">
quick-load-resize
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/save-resize.html" class="md-nav__link">
<span class="md-ellipsis">
save-resize
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/load-resize.html" class="md-nav__link">
<span class="md-ellipsis">
load-resize
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/focus.html" class="md-nav__link">
<span class="md-ellipsis">
focus
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/move.html" class="md-nav__link">
<span class="md-ellipsis">
move
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/minimize.html" class="md-nav__link">
<span class="md-ellipsis">
minimize
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/close.html" class="md-nav__link">
<span class="md-ellipsis">
close
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/force-focus.html" class="md-nav__link">
<span class="md-ellipsis">
force-focus
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/cycle-focus.html" class="md-nav__link">
<span class="md-ellipsis">
cycle-focus
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/cycle-move.html" class="md-nav__link">
<span class="md-ellipsis">
cycle-move
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/eager-focus.html" class="md-nav__link">
<span class="md-ellipsis">
eager-focus
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/stack.html" class="md-nav__link">
<span class="md-ellipsis">
stack
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/unstack.html" class="md-nav__link">
<span class="md-ellipsis">
unstack
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/cycle-stack.html" class="md-nav__link">
<span class="md-ellipsis">
cycle-stack
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/cycle-stack-index.html" class="md-nav__link">
<span class="md-ellipsis">
cycle-stack-index
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/focus-stack-window.html" class="md-nav__link">
<span class="md-ellipsis">
focus-stack-window
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/stack-all.html" class="md-nav__link">
<span class="md-ellipsis">
stack-all
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/unstack-all.html" class="md-nav__link">
<span class="md-ellipsis">
unstack-all
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/resize-edge.html" class="md-nav__link">
<span class="md-ellipsis">
resize-edge
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/resize-axis.html" class="md-nav__link">
<span class="md-ellipsis">
resize-axis
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/move-to-monitor.html" class="md-nav__link">
<span class="md-ellipsis">
move-to-monitor
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/cycle-move-to-monitor.html" class="md-nav__link">
<span class="md-ellipsis">
cycle-move-to-monitor
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/move-to-workspace.html" class="md-nav__link">
<span class="md-ellipsis">
move-to-workspace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/move-to-named-workspace.html" class="md-nav__link">
<span class="md-ellipsis">
move-to-named-workspace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/cycle-move-to-workspace.html" class="md-nav__link">
<span class="md-ellipsis">
cycle-move-to-workspace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/send-to-monitor.html" class="md-nav__link">
<span class="md-ellipsis">
send-to-monitor
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/cycle-send-to-monitor.html" class="md-nav__link">
<span class="md-ellipsis">
cycle-send-to-monitor
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/send-to-workspace.html" class="md-nav__link">
<span class="md-ellipsis">
send-to-workspace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/send-to-named-workspace.html" class="md-nav__link">
<span class="md-ellipsis">
send-to-named-workspace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/cycle-send-to-workspace.html" class="md-nav__link">
<span class="md-ellipsis">
cycle-send-to-workspace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/send-to-monitor-workspace.html" class="md-nav__link">
<span class="md-ellipsis">
send-to-monitor-workspace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/move-to-monitor-workspace.html" class="md-nav__link">
<span class="md-ellipsis">
move-to-monitor-workspace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/focus-monitor.html" class="md-nav__link">
<span class="md-ellipsis">
focus-monitor
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/focus-monitor-at-cursor.html" class="md-nav__link">
<span class="md-ellipsis">
focus-monitor-at-cursor
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/focus-last-workspace.html" class="md-nav__link">
<span class="md-ellipsis">
focus-last-workspace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/focus-workspace.html" class="md-nav__link">
<span class="md-ellipsis">
focus-workspace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/focus-workspaces.html" class="md-nav__link">
<span class="md-ellipsis">
focus-workspaces
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/focus-monitor-workspace.html" class="md-nav__link">
<span class="md-ellipsis">
focus-monitor-workspace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/focus-named-workspace.html" class="md-nav__link">
<span class="md-ellipsis">
focus-named-workspace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/close-workspace.html" class="md-nav__link">
<span class="md-ellipsis">
close-workspace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/cycle-monitor.html" class="md-nav__link">
<span class="md-ellipsis">
cycle-monitor
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/cycle-workspace.html" class="md-nav__link">
<span class="md-ellipsis">
cycle-workspace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/cycle-empty-workspace.html" class="md-nav__link">
<span class="md-ellipsis">
cycle-empty-workspace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/move-workspace-to-monitor.html" class="md-nav__link">
<span class="md-ellipsis">
move-workspace-to-monitor
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/cycle-move-workspace-to-monitor.html" class="md-nav__link">
<span class="md-ellipsis">
cycle-move-workspace-to-monitor
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/swap-workspaces-with-monitor.html" class="md-nav__link">
<span class="md-ellipsis">
swap-workspaces-with-monitor
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/new-workspace.html" class="md-nav__link">
<span class="md-ellipsis">
new-workspace
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/resize-delta.html" class="md-nav__link">
<span class="md-ellipsis">
resize-delta
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/invisible-borders.html" class="md-nav__link">
<span class="md-ellipsis">
invisible-borders
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/global-work-area-offset.html" class="md-nav__link">
<span class="md-ellipsis">
global-work-area-offset
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/monitor-work-area-offset.html" class="md-nav__link">
<span class="md-ellipsis">
monitor-work-area-offset
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/toggle-window-based-work-area-offset.html" class="md-nav__link">
<span class="md-ellipsis">
toggle-window-based-work-area-offset
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/focused-workspace-container-padding.html" class="md-nav__link">
<span class="md-ellipsis">
focused-workspace-container-padding
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/focused-workspace-padding.html" class="md-nav__link">
<span class="md-ellipsis">
focused-workspace-padding
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/adjust-container-padding.html" class="md-nav__link">
<span class="md-ellipsis">
adjust-container-padding
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/adjust-workspace-padding.html" class="md-nav__link">
<span class="md-ellipsis">
adjust-workspace-padding
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/change-layout.html" class="md-nav__link">
<span class="md-ellipsis">
change-layout
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/cycle-layout.html" class="md-nav__link">
<span class="md-ellipsis">
cycle-layout
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/flip-layout.html" class="md-nav__link">
<span class="md-ellipsis">
flip-layout
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/promote.html" class="md-nav__link">
<span class="md-ellipsis">
promote
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/promote-focus.html" class="md-nav__link">
<span class="md-ellipsis">
promote-focus
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/promote-window.html" class="md-nav__link">
<span class="md-ellipsis">
promote-window
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/retile.html" class="md-nav__link">
<span class="md-ellipsis">
retile
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/monitor-index-preference.html" class="md-nav__link">
<span class="md-ellipsis">
monitor-index-preference
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/display-index-preference.html" class="md-nav__link">
<span class="md-ellipsis">
display-index-preference
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/ensure-workspaces.html" class="md-nav__link">
<span class="md-ellipsis">
ensure-workspaces
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/ensure-named-workspaces.html" class="md-nav__link">
<span class="md-ellipsis">
ensure-named-workspaces
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/container-padding.html" class="md-nav__link">
<span class="md-ellipsis">
container-padding
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/named-workspace-container-padding.html" class="md-nav__link">
<span class="md-ellipsis">
named-workspace-container-padding
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/workspace-padding.html" class="md-nav__link">
<span class="md-ellipsis">
workspace-padding
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/named-workspace-padding.html" class="md-nav__link">
<span class="md-ellipsis">
named-workspace-padding
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/workspace-layout.html" class="md-nav__link">
<span class="md-ellipsis">
workspace-layout
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/named-workspace-layout.html" class="md-nav__link">
<span class="md-ellipsis">
named-workspace-layout
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/workspace-layout-rule.html" class="md-nav__link">
<span class="md-ellipsis">
workspace-layout-rule
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/named-workspace-layout-rule.html" class="md-nav__link">
<span class="md-ellipsis">
named-workspace-layout-rule
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/clear-workspace-layout-rules.html" class="md-nav__link">
<span class="md-ellipsis">
clear-workspace-layout-rules
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/clear-named-workspace-layout-rules.html" class="md-nav__link">
<span class="md-ellipsis">
clear-named-workspace-layout-rules
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/workspace-tiling.html" class="md-nav__link">
<span class="md-ellipsis">
workspace-tiling
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/named-workspace-tiling.html" class="md-nav__link">
<span class="md-ellipsis">
named-workspace-tiling
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/workspace-name.html" class="md-nav__link">
<span class="md-ellipsis">
workspace-name
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/toggle-window-container-behaviour.html" class="md-nav__link">
<span class="md-ellipsis">
toggle-window-container-behaviour
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/toggle-float-override.html" class="md-nav__link">
<span class="md-ellipsis">
toggle-float-override
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/toggle-workspace-window-container-behaviour.html" class="md-nav__link">
<span class="md-ellipsis">
toggle-workspace-window-container-behaviour
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/toggle-workspace-float-override.html" class="md-nav__link">
<span class="md-ellipsis">
toggle-workspace-float-override
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/toggle-workspace-layer.html" class="md-nav__link">
<span class="md-ellipsis">
toggle-workspace-layer
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/toggle-pause.html" class="md-nav__link">
<span class="md-ellipsis">
toggle-pause
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/toggle-tiling.html" class="md-nav__link">
<span class="md-ellipsis">
toggle-tiling
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/toggle-float.html" class="md-nav__link">
<span class="md-ellipsis">
toggle-float
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/toggle-monocle.html" class="md-nav__link">
<span class="md-ellipsis">
toggle-monocle
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/toggle-maximize.html" class="md-nav__link">
<span class="md-ellipsis">
toggle-maximize
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/restore-windows.html" class="md-nav__link">
<span class="md-ellipsis">
restore-windows
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/manage.html" class="md-nav__link">
<span class="md-ellipsis">
manage
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/unmanage.html" class="md-nav__link">
<span class="md-ellipsis">
unmanage
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/replace-configuration.html" class="md-nav__link">
<span class="md-ellipsis">
replace-configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/reload-configuration.html" class="md-nav__link">
<span class="md-ellipsis">
reload-configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/watch-configuration.html" class="md-nav__link">
<span class="md-ellipsis">
watch-configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/complete-configuration.html" class="md-nav__link">
<span class="md-ellipsis">
complete-configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/window-hiding-behaviour.html" class="md-nav__link">
<span class="md-ellipsis">
window-hiding-behaviour
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/cross-monitor-move-behaviour.html" class="md-nav__link">
<span class="md-ellipsis">
cross-monitor-move-behaviour
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/toggle-cross-monitor-move-behaviour.html" class="md-nav__link">
<span class="md-ellipsis">
toggle-cross-monitor-move-behaviour
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/unmanaged-window-operation-behaviour.html" class="md-nav__link">
<span class="md-ellipsis">
unmanaged-window-operation-behaviour
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/ignore-rule.html" class="md-nav__link">
<span class="md-ellipsis">
ignore-rule
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/manage-rule.html" class="md-nav__link">
<span class="md-ellipsis">
manage-rule
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/initial-workspace-rule.html" class="md-nav__link">
<span class="md-ellipsis">
initial-workspace-rule
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/initial-named-workspace-rule.html" class="md-nav__link">
<span class="md-ellipsis">
initial-named-workspace-rule
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/workspace-rule.html" class="md-nav__link">
<span class="md-ellipsis">
workspace-rule
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/named-workspace-rule.html" class="md-nav__link">
<span class="md-ellipsis">
named-workspace-rule
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/clear-workspace-rules.html" class="md-nav__link">
<span class="md-ellipsis">
clear-workspace-rules
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/clear-named-workspace-rules.html" class="md-nav__link">
<span class="md-ellipsis">
clear-named-workspace-rules
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/clear-all-workspace-rules.html" class="md-nav__link">
<span class="md-ellipsis">
clear-all-workspace-rules
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/enforce-workspace-rules.html" class="md-nav__link">
<span class="md-ellipsis">
enforce-workspace-rules
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/identify-object-name-change-application.html" class="md-nav__link">
<span class="md-ellipsis">
identify-object-name-change-application
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/identify-tray-application.html" class="md-nav__link">
<span class="md-ellipsis">
identify-tray-application
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/identify-layered-application.html" class="md-nav__link">
<span class="md-ellipsis">
identify-layered-application
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/remove-title-bar.html" class="md-nav__link">
<span class="md-ellipsis">
remove-title-bar
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/toggle-title-bars.html" class="md-nav__link">
<span class="md-ellipsis">
toggle-title-bars
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/border.html" class="md-nav__link">
<span class="md-ellipsis">
border
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/border-colour.html" class="md-nav__link">
<span class="md-ellipsis">
border-colour
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/border-width.html" class="md-nav__link">
<span class="md-ellipsis">
border-width
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/border-offset.html" class="md-nav__link">
<span class="md-ellipsis">
border-offset
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/border-style.html" class="md-nav__link">
<span class="md-ellipsis">
border-style
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/border-implementation.html" class="md-nav__link">
<span class="md-ellipsis">
border-implementation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/stackbar-mode.html" class="md-nav__link">
<span class="md-ellipsis">
stackbar-mode
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/transparency.html" class="md-nav__link">
<span class="md-ellipsis">
transparency
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/transparency-alpha.html" class="md-nav__link">
<span class="md-ellipsis">
transparency-alpha
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/toggle-transparency.html" class="md-nav__link">
<span class="md-ellipsis">
toggle-transparency
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/animation.html" class="md-nav__link">
<span class="md-ellipsis">
animation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/animation-duration.html" class="md-nav__link">
<span class="md-ellipsis">
animation-duration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/animation-fps.html" class="md-nav__link">
<span class="md-ellipsis">
animation-fps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/animation-style.html" class="md-nav__link">
<span class="md-ellipsis">
animation-style
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/mouse-follows-focus.html" class="md-nav__link">
<span class="md-ellipsis">
mouse-follows-focus
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/toggle-mouse-follows-focus.html" class="md-nav__link">
<span class="md-ellipsis">
toggle-mouse-follows-focus
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/ahk-app-specific-configuration.html" class="md-nav__link">
<span class="md-ellipsis">
ahk-app-specific-configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/pwsh-app-specific-configuration.html" class="md-nav__link">
<span class="md-ellipsis">
pwsh-app-specific-configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/convert-app-specific-configuration.html" class="md-nav__link">
<span class="md-ellipsis">
convert-app-specific-configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/fetch-app-specific-configuration.html" class="md-nav__link">
<span class="md-ellipsis">
fetch-app-specific-configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/application-specific-configuration-schema.html" class="md-nav__link">
<span class="md-ellipsis">
application-specific-configuration-schema
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/notification-schema.html" class="md-nav__link">
<span class="md-ellipsis">
notification-schema
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/socket-schema.html" class="md-nav__link">
<span class="md-ellipsis">
socket-schema
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/static-config-schema.html" class="md-nav__link">
<span class="md-ellipsis">
static-config-schema
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/generate-static-config.html" class="md-nav__link">
<span class="md-ellipsis">
generate-static-config
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/enable-autostart.html" class="md-nav__link">
<span class="md-ellipsis">
enable-autostart
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/disable-autostart.html" class="md-nav__link">
<span class="md-ellipsis">
disable-autostart
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<a href="https://github.com/LGUG2Z/komorebi/edit/master/docs/common-workflows/multi-monitor-setup.md" title="Edit this page" class="md-content__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4zm10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1z"/></svg>
</a>
<a href="https://github.com/LGUG2Z/komorebi/raw/master/docs/common-workflows/multi-monitor-setup.md" title="View source of this page" class="md-content__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.2 8.2 0 0 1-1.23-2"/></svg>
</a>
<h1 id="multi-monitor-setup">Multi-Monitor Setup</h1>
<p>You can set up komorebi to work with multiple monitors. To do so, first you start by setting up multiple monitor
configurations on your <code>komorebi.json</code> config file.</p>
<p>If you've used the <a href="../cli/quickstart.html"><code>komorebic quickstart</code></a> command you'll already have a <code>komorebi.json</code> config
file with one monitor config setup. Open this file and look for the <code>"monitors":</code> line, you should find something like
this:</p>
<div class="highlight"><pre><span></span><code><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;monitors&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;workspaces&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;I&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;layout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;BSP&quot;</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;II&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;layout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;VerticalStack&quot;</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;III&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;layout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;HorizontalStack&quot;</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;IV&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;layout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;UltrawideVerticalStack&quot;</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;V&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;layout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Rows&quot;</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;VI&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;layout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Grid&quot;</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;VII&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;layout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;RightMainVerticalStack&quot;</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">]</span>
<span class="p">}</span>
</code></pre></div>
<p>For this example we will remove some workspaces to simplify the config so it is easier to look at, but feel free to
set up as many workspaces per monitor as you'd like. Here is the same configuration with only 3 workspaces.</p>
<div class="highlight"><pre><span></span><code><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;monitors&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;workspaces&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;I&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;layout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;BSP&quot;</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;II&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;layout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;VerticalStack&quot;</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;III&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;layout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;HorizontalStack&quot;</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">]</span>
<span class="p">}</span>
</code></pre></div>
<p>Let's add another monitor:</p>
<div class="highlight"><pre><span></span><code><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;monitors&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="c1">// monitor 1, index 0</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;workspaces&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;I&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;layout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;BSP&quot;</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;II&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;layout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;VerticalStack&quot;</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;III&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;layout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;HorizontalStack&quot;</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="c1">// monitor 2, index 1</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;workspaces&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;layout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;BSP&quot;</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;layout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;VerticalStack&quot;</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;3&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;layout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;HorizontalStack&quot;</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">]</span>
<span class="p">}</span>
</code></pre></div>
<p>Now have two monitor configurations. We have the first monitor configuration, which is index 0 (<em>usually
on programming languages the first item of a list starts with index 0</em>), this configuration has 3 workspaces with names
"I", "II" and "III". Then the 2nd monitor configuration, which is index 1, also has 3 workspaces with names "1", "2",
and "3" (you should always give unique names to your workspaces).</p>
<p>Now if you start komorebi with two monitors connected, the main monitor will use the configuration with index 0 and the
secondary monitor will use the configuration with index 1.</p>
<hr />
<p>Let's say you have more monitors, or you want to make sure that a certain configuration is always applied to a certain
monitor. For this you will want to use the <code>display_index_preferences</code>.</p>
<p>Open up a terminal and type the following command: <a href="../cli/monitor-information.html"> <code>komorebic monitor-info</code></a>. This
command will give you the information about your connected monitors, you want to look up the <code>serial_number_id</code>. You
should get something like this:</p>
<div class="highlight"><pre><span></span><code> komorebic monitor-info
[
{
&quot;id&quot;: 6620935,
&quot;name&quot;: &quot;DISPLAY1&quot;,
&quot;device&quot;: &quot;BOE0A1C&quot;,
&quot;device_id&quot;: &quot;BOE0A1C-5&amp;a2bea0b&amp;0&amp;UID512&quot;,
&quot;serial_number_id&quot;: &quot;0&quot;,
&quot;size&quot;: {
&quot;left&quot;: 0,
&quot;top&quot;: 0,
&quot;right&quot;: 1920,
&quot;bottom&quot;: 1080
}
},
{
&quot;id&quot;: 181932057,
&quot;name&quot;: &quot;DISPLAY2&quot;,
&quot;device&quot;: &quot;VSC8C31&quot;,
&quot;device_id&quot;: &quot;VSC8C31-5&amp;18560b1f&amp;0&amp;UID4356&quot;,
&quot;serial_number_id&quot;: &quot;UEP174021562&quot;,
&quot;size&quot;: {
&quot;left&quot;: 0,
&quot;top&quot;: -1080,
&quot;right&quot;: 1920,
&quot;bottom&quot;: 1080
}
}
]
</code></pre></div>
<p>In this case the setup is a laptop with a secondary monitor connected. You'll need to figure out which monitor is which,
usually the display name's number should be similar to the numbers you can find on
<code>Windows Settings -&gt; System -&gt; Display</code>.</p>
<p>If you have trouble with this step you can always jump on Discord and ask for help (create a <code>Support</code> thread).</p>
<p>Once you know which monitor is which, you want to look up their <code>serial_number_id</code> to use that on
<code>display_index_preferences</code>, you can also use the <code>device_id</code>, it accepts both however there have been reported cases
where the <code>device_id</code> changes after a restart while the <code>serial_number_id</code> doesn't.</p>
<p>So with the example above, we want the laptop to always use the configuration index 0 and the other monitor to use
configuration index 1, so we map the configuration index number to the monitor <code>serial_number_id</code>/<code>device_id</code> like this:</p>
<div class="highlight"><pre><span></span><code><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;display_index_preferences&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;0&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;1&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;UEP174021562&quot;</span>
<span class="w"> </span><span class="p">}</span>
<span class="p">}</span>
</code></pre></div>
<p>Again you could also have used the <code>device_id</code> like this:</p>
<div class="highlight"><pre><span></span><code><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;display_index_preferences&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;0&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;BOE0A1C-5&amp;a2bea0b&amp;0&amp;UID512&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;1&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;VSC8C31-5&amp;18560b1f&amp;0&amp;UID4356&quot;</span>
<span class="w"> </span><span class="p">}</span>
<span class="p">}</span>
</code></pre></div>
<p>You should add this <code>display_index_preferences</code> option to your <code>komorebi.json</code> file. If you find that something is
not working as expected you can try to use the command <code>komorebic check</code>.</p>
<blockquote>
<p>[!IMPORTANT]</p>
<p><strong>When using multiple monitors it is recommended to always set the <code>display_index_preferences</code>. If you don't you might
get some undefined behaviour.</strong></p>
</blockquote>
<hr />
<p>If you would like to run multiple instances of <code>komorebi-bar</code> to target different monitors, it is possible to do so
using the <code>bar_configurations</code> array in your <code>komorebi.json</code> configuration file. You can refer to the
<a href="multiple-bar-instances.html">multiple-bar-instances</a> documentation.</p>
<p>In this case it is important to use <code>display_index_preferences</code>, because if you don't, and you have 3 or more monitors,
disconnecting and reconnecting monitors may result in the bars for the monitors getting shifted around.</p>
<p>Consider this setup with 3 monitors (A, B and C):</p>
<div class="highlight"><pre><span></span><code><span class="c1">// HOME_MONITOR_1_BAR.json</span>
<span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;monitor_index&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span>
<span class="w"> </span><span class="c1">//...</span>
<span class="p">}</span>
</code></pre></div>
<div class="highlight"><pre><span></span><code><span class="c1">// HOME_MONITOR_2_BAR.json</span>
<span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;monitor_index&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span>
<span class="w"> </span><span class="c1">//...</span>
<span class="p">}</span>
</code></pre></div>
<div class="highlight"><pre><span></span><code><span class="c1">// WORK_MONITOR_1_BAR.json</span>
<span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;monitor_index&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span>
<span class="w"> </span><span class="c1">//...</span>
<span class="p">}</span>
</code></pre></div>
<div class="highlight"><pre><span></span><code><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;display_index_preferences&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;0&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;MONITOR_1_ID&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;1&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;MONITOR_2_ID&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;2&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;MONITOR_3_ID&quot;</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="nt">&quot;bar_configurations&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="c1">// this bar uses &quot;monitor_index&quot;: 0,</span>
<span class="w"> </span><span class="s2">&quot;path/to/bar_config_1.json&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="c1">// this bar uses &quot;monitor_index&quot;: 1,</span>
<span class="w"> </span><span class="s2">&quot;path/to/bar_config_2.json&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="c1">// this bar uses &quot;monitor_index&quot;: 2,</span>
<span class="w"> </span><span class="s2">&quot;path/to/bar_config_3.json&quot;</span>
<span class="w"> </span><span class="p">]</span>
<span class="p">}</span>
</code></pre></div>
<p>Komorebi uses an internal map to keep track of monitor to config indices, this map is called <code>monitor_usr_idx_map</code> it is
an internal variable to komorebi that you don't need to do anything with, but you can see it with the <a href="../cli/state.html">
<code>komorebic state</code></a> command (in case you need to debug something).</p>
<p>At first, komorebi will load all monitors and set the internal index map (<code>monitor_usr_idx_map</code>) as:</p>
<div class="highlight"><pre><span></span><code><span class="p">{</span>
<span class="w"> </span><span class="c1">// This is monitor A</span>
<span class="w"> </span><span class="nt">&quot;0&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
<span class="w"> </span><span class="c1">// This is monitor B</span>
<span class="w"> </span><span class="nt">&quot;1&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
<span class="w"> </span><span class="c1">// This is monitor C</span>
<span class="w"> </span><span class="nt">&quot;2&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span>
<span class="p">}</span>
</code></pre></div>
<p>Which kind of seems unnecessary, but imagine that then you disconnect monitor B (or it goes to sleep). Then komorebi
will only have 2 monitors with index 0 and 1, so the above map will be updated to this:</p>
<div class="highlight"><pre><span></span><code>[
&quot;0&quot;: 0, // This is monitor A
&quot;2&quot;: 1, // This is now monitor C, because monitor B disconnected
]
</code></pre></div>
<p>So now the bar intended to be for monitor B, which was looking for index "1" on that map, doesn't see it and knows it
should be disabled. And the bar for monitor C looks at that map and knows that it's index "2" now maps to index 1 so it
uses that index internally to get all the correct values about the monitor.</p>
<p>If you didn't have the <code>display_index_preferences</code> set, then when you disconnected monitor B, komorebi wouldn't know
how to map the indices and would use default behaviour which would result in a map like this:</p>
<div class="highlight"><pre><span></span><code><span class="p">{</span>
<span class="w"> </span><span class="c1">// This is monitor A </span>
<span class="w"> </span><span class="nt">&quot;0&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
<span class="w"> </span><span class="c1">// This is monitor C, because monitor B disconnected. However the bars will think it is monitor B because it has index &quot;1&quot; </span>
<span class="w"> </span><span class="nt">&quot;1&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span>
<span class="p">}</span>
</code></pre></div>
<h1 id="multiple-monitors-on-different-machines">Multiple Monitors on different machines</h1>
<p>You can use the same <code>komorebi.json</code> to configure two different setups and then synchronize your config across machines.
However, if you do this it is important to be aware of a few things.</p>
<p>Firstly, using <code>display_index_preferences</code> is required in this case.</p>
<p>You will need to get the <code>serial_number_id</code> or <code>device_id</code> of all the monitors of all your setups. With that information
you would then set your config like this:</p>
<div class="highlight"><pre><span></span><code><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;display_index_preferences&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;0&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;HOME_MONITOR_1_ID&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;1&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;HOME_MONITOR_2_ID&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;2&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;WORK_MONITOR_1_ID&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nt">&quot;3&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;WORK_MONITOR_2_ID&quot;</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="nt">&quot;monitors&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="c1">// HOME_MONITOR_1</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;workspaces&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="c1">// ...</span>
<span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="c1">// HOME_MONITOR_2</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;workspaces&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="c1">// ...</span>
<span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="c1">// WORK_MONITOR_1</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;workspaces&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="c1">// ...</span>
<span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="c1">// WORK_MONITOR_2</span>
<span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;workspaces&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="c1">// ...</span>
<span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">]</span>
<span class="p">}</span>
</code></pre></div>
<blockquote>
<p>[!NOTE]</p>
<p><em>You can't use the same config on two different monitors, you have to make a duplicated config for each monitor!</em></p>
</blockquote>
<p>Then on the bar configs you need to set the bar's monitor index like this:</p>
<div class="highlight"><pre><span></span><code><span class="c1">// HOME_MONITOR_1_BAR.json</span>
<span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;monitor_index&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span>
<span class="w"> </span><span class="c1">//...</span>
<span class="p">}</span>
</code></pre></div>
<div class="highlight"><pre><span></span><code><span class="c1">// HOME_MONITOR_2_BAR.json</span>
<span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;monitor_index&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span>
<span class="w"> </span><span class="c1">//...</span>
<span class="p">}</span>
</code></pre></div>
<div class="highlight"><pre><span></span><code><span class="c1">// WORK_MONITOR_1_BAR.json</span>
<span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;monitor_index&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span>
<span class="w"> </span><span class="c1">//...</span>
<span class="p">}</span>
</code></pre></div>
<div class="highlight"><pre><span></span><code><span class="c1">// WORK_MONITOR_2_BAR.json</span>
<span class="p">{</span>
<span class="w"> </span><span class="nt">&quot;monitor_index&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span>
<span class="w"> </span><span class="c1">//...</span>
<span class="p">}</span>
</code></pre></div>
<p>Although you will only ever have 2 monitors connected at any one time, and they'll always have index 0 and 1, the
above config will still work on both physical configurations.</p>
<p>This is because komorebi will apply the appropriate config to the loaded monitors and will create a map of the user
index (the index defined in the user config) to the actual monitor index, and the bar will use that map to know if it
should be enabled, and where it should be drawn.</p>
<h3 id="things-to-keep-in-mind">Things to keep in mind</h3>
<ul>
<li>If you are using a laptop connected to one monitor at work and a different one at home, the work monitor and the home
monitor are considered different monitors by komorebi</li>
<li>When you disconnect from work, komorebi will keep the work monitor cached</li>
<li>You can still use a laptop alone without any monitor and if you need a window that was on the other monitor you can
press the taskbar icon or use <code>alt + tab</code> to bring it to focus and that window will now be part of the laptop monitor</li>
<li>If you then reconnect the work monitor, the cached version will be applied with all its windows (except any window(s)
you might have moved to another monitor)</li>
<li>If however, instead of reconnecting the work monitor, you connect the home monitor, then the work monitor will still
remain cached, and komorebi will load the home monitor from the cache (if it exists)</li>
<li>Sometimes when you disconnect/reconnect a monitor the event might be missed by komorebi, meaning that Windows will
show you both monitors but komorebi won't know about the existence of one of them</li>
<li>If you notice this type of weird behaviour, always run the <a href="../cli/monitor-information.html">
<code>komorebic monitor-info</code></a>
command and validate if one of the monitors is missing</li>
<li>To fix this you can try disconnecting and reconnecting the monitor again, or restarting komorebi</li>
</ul>
</article>
</div>
<script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
Back to top
</button>
</main>
<footer class="md-footer">
<nav class="md-footer__inner md-grid" aria-label="Footer" >
<a href="multiple-bar-instances.html" class="md-footer__link md-footer__link--prev" aria-label="Previous: Multiple Bar Instances">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</div>
<div class="md-footer__title">
<span class="md-footer__direction">
Previous
</span>
<div class="md-ellipsis">
Multiple Bar Instances
</div>
</div>
</a>
<a href="../cli/quickstart.html" class="md-footer__link md-footer__link--next" aria-label="Next: quickstart">
<div class="md-footer__title">
<span class="md-footer__direction">
Next
</span>
<div class="md-ellipsis">
quickstart
</div>
</div>
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"/></svg>
</div>
</a>
</nav>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2020-Present LGUG2Z
</div>
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": ["content.action.edit", "content.action.view", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.top", "navigation.tracking", "search.highlight", "search.share", "search.suggest", "toc.follow"], "search": "../assets/javascripts/workers/search.6ce7567c.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
<script src="../assets/javascripts/bundle.525ec568.min.js"></script>
</body>
</html>