// running `niri msg outputs` to find outputs
output "DP-1" {
    // Uncomment this line to disable this output.
    // off

    // Scale is a floating-point number, but at the moment only integer values work.
    scale 1.5

    // Transform allows to rotate the output counter-clockwise, valid values are:
    // normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
    transform "normal"

    // Resolution and, optionally, refresh rate of the output.
    // The format is "<width>x<height>" or "<width>x<height>@<refresh rate>".
    // If the refresh rate is omitted, niri will pick the highest refresh rate
    // for the resolution.
    // If the mode is omitted altogether or is invalid, niri will pick one automatically.
    // Run `niri msg outputs` while inside a niri instance to list all outputs and their modes.
    mode "3840x2160@120"

    // Position of the output in the global coordinate space.
    // This affects directional monitor actions like "focus-monitor-left", and cursor movement.
    // The cursor can only move between directly adjacent outputs.
    // Output scale has to be taken into account for positioning:
    // outputs are sized in logical, or scaled, pixels.
    // For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080,
    // so to put another output directly adjacent to it on the right, set its x to 1920.
    // It the position is unset or results in an overlap, the output is instead placed
    // automatically.
    position x=0 y=0
}

output "HDMI-A-2" {
    scale 1.5
    transform "normal"
    mode "3840x2160@60"
    position x=2560 y=0 // on the right of DP-2
}

// ============= Named Workspaces =============
workspace "4entertainment" { open-on-output "DP-1"; }
workspace "2browser" { open-on-output "DP-1"; }
workspace "5utility" { open-on-output "DP-1"; }

workspace "3chat" { open-on-output "HDMI-A-2"; }
workspace "1terminal" { open-on-output "HDMI-A-2"; }
workspace "0other" { open-on-output "HDMI-A-2"; }
