Guides / Layout editor

The layout editor

Draw, split and save the zones for each monitor, and copy a layout to another monitor or computer as text. You can try the editor on this page in the live editor on the home page.

Try the editor in your browser

Open the editor

Choose Edit layouts… in Krova’s tray menu, or start Krova a second time. The window is made when you ask for it. Closing it closes it for good, together with the embedded browser, and Krova keeps running in the tray. Unsaved edits are lost when you close it, so save first. Open it again from the tray menu any time.

What you see

  • Monitor tabs across the top: one per connected monitor, with its resolution. Switch with the mouse, or with Left, Right, Home and End.
  • The canvas: the selected layout, drawn at the shape of that monitor’s work area (the screen without the taskbar or menu bar). A caption gives the size and the zone count.
  • The toolbar: Select, Split vertically, Split horizontally, Delete zone, Undo, and Revert and Save on the right.
  • The side panel: This layout (its name, Set as active, Delete layout), Layouts on this monitor (with New layout), Templates, and Export and import.

Build a layout

Start from a template

Templates are Halves, Thirds, Grid 2x2 and Priority (a narrow zone, a wide one, a narrow one: 25%, 50%, 25%). Applying one replaces the zones of the layout you are editing. You can undo it, and nothing is kept until you save.

Or start from a new layout

New layout adds a layout named “Layout 2” (or the next free number) with one zone that covers the whole screen, and saves it straight away. Split it or apply a template.

Split a zone

  1. Choose Split vertically (V) for two zones side by side, or Split horizontally (H) for two stacked.
  2. Move over a zone and click where the divider should go. A preview line follows the pointer.
  3. With the keyboard: focus a zone, move the guide with the arrow keys (hold Shift for 5% steps) and press Enter.
  4. Press Esc to go back to the Select tool.

Move a divider

With the Select tool, drag a divider. It moves every zone edge that lies on that line, so zones that touch stay touching. With a divider focused, the arrow keys move it by 1%, and Shift with an arrow by 5%. The outer edges of the screen are not dividers and cannot be moved.

Delete a zone

Select a zone and press Delete (or choose Delete zone). A neighbour that shares a full edge with it grows to take its space. If no neighbour shares a full edge, the zone cannot be deleted and the editor says so. A layout always keeps at least one zone.

Sizes

No zone can be made smaller than 5% of the screen in either direction. An edit that would do that is refused and the layout stays as it was.

Save and activate

  • Save (Ctrl+S) stores the layout. Until then it is a draft: the layout shows an Unsaved badge, and drafts survive switching monitors or layouts. Revert throws the draft away.
  • Undo (Ctrl+Z) steps back through your edits to the draft.
  • Set as active makes this the layout Krova uses when you drag on this monitor. It saves your unsaved edits to that layout first. Each monitor has one active layout; switch between layouts any time.
  • Rename a layout in the Name box (up to 60 characters).

Delete a layout

Choose Delete layout, then press it again within 5 seconds (the button reads Confirm delete). A monitor always keeps at least one layout, so the last one cannot be deleted. Deleting the active layout activates the first one that remains.

Share a layout: export and import

The side panel has an Export and import box. A layout travels as plain text, so you copy and paste it yourself. No file dialog opens and nothing leaves your computer.

  1. Export layout shows the layout you are looking at as text, including edits you have not saved. Press Copy. If copying is refused, the text is selected: press Ctrl+C (Cmd+C on a Mac).
  2. On any monitor, or on another computer, choose Import layout, paste the text and press Import. The layout is added to the monitor you have selected as a new layout, and the editor selects it.
  3. An imported layout is not made active. Choose Set as active when you want to snap into it. If the monitor already has a layout with the same id, the new one gets a number (halves becomes halves-2).

The text looks like this:

{
  "krova_layout": 1,
  "layout": {
    "id": "mine",
    "name": "Mine",
    "zones": [
      { "id": 1, "rect": { "x": 0, "y": 0, "w": 0.3, "h": 1 } },
      { "id": 2, "rect": { "x": 0.3, "y": 0, "w": 0.7, "h": 1 } }
    ]
  }
}
  • Zones are proportions of the screen’s work area, from 0 to 1. That is why one text fits any monitor and any resolution, and why it should work on both Windows and macOS. Nobody has imported one on a Mac yet, because the macOS build has not been run.
  • The format is strict. The text must have exactly the two keys krova_layout (the number 1) and layout, be at most 64 KiB, have at most 64 zones, give ids and names of at most 64 characters with no control characters, and leave no zone side smaller than 1% of the screen. Anything else is refused, with the reason in the line under the canvas, and the text you pasted stays in the box.
  • A monitor still holds at most 64 layouts, imported ones included.

Space between zones

By default snapped windows touch. To leave a gap, open Settings, then Windows, and move Space between zones (px), from 0 to 32 pixels. The gap is left between neighbouring zones and between a zone and the edge of the work area. It applies to snaps by dragging, to the keyboard shortcuts, to windows restored after a reconnect and to the preview shown while you drag. It does not change your layouts, and edge snapping ignores it.

Limits

  • At most 64 zones in a layout.
  • At most 64 layouts per monitor.
  • Krova remembers up to 64 monitors, including ones that are not plugged in.
  • Layout text: at most 64 KiB.

Layouts live in config.json; see where it is and how monitors are matched. The editor’s keyboard shortcuts, and the global ones that move windows between zones, are on their own page.