I3wm: two monitors, one browser per monitor (dual head kiosk)

i3kioskmulti-monitorwindow-managerxorg

My goal make i3 start one browser per monitor on a dual monitor setup.

I can't find how to start a browser and move it to the target monitor.

I've dig through the doc and tried in ~/.i3/config

exec --no-startup-id i3-msg 'workspace 1 ; move workspace to output HDMI1 ; exec chromium --new-window "http://url/1" ; workspace 2 ; move workspace to output HDMI2 ; exec chromium --new-window "http://url/2"'

But both windows appear on 1st monitor leaving the second one blank.

What did I miss ?

Xorg is configured as follow:

Section "Monitor"
  Identifier "HDMI1"
  Option     "Primary" "true"
EndSection

Section "Monitor"
  Identifier "HDMI2"
  Option     "LeftOf" "HDMI1"
EndSection

EDIT:

I've added to ~/.i3/config

workspace 1 output HDMI1
workspace 2 output HDMI2

I've tried

exec --no-startup-id i3-msg 'workspace 1; exec xeyes'
exec --no-startup-id i3-msg 'workspace 2; exec xclock'

or

exec --no-startup-id i3-msg 'workspace 1; exec xeyes; workspace 2; exec xeyes'

Always the same result, both apps start on last selected workspace.

Best Answer

You could assign specific class names to your Chromium instances and tie them to workspaces. So with 2 monitors config:

workspace 1 output HDMI1
workspace 2 output HDMI2

for_window [class="^chromium-no-1$"] move workspace number 1
for_window [class="^chromium-no-2$"] move workspace number 2

You'll need to start 2 browser instances with specific class values:

$ chromium-browser --class=chromium-no-1
$ chromium-browser --class=chromium-no-2
Related Question