Compose the web page at the combined pixel size of both monitors, then launch Chrome with --kiosk and --window-size set to that total. Two 1920 x 1080 panels side by side give a 3840 x 1080 window. If a scrollbar appears, shave 10 pixels per axis: 3840 x 1080 becomes 3830 x 1070.
A browser window covers two monitors only when you give it the size of both. Compose the web page at the combined pixel size of the panels, then launch Chrome with two flags: --kiosk to remove the tabs, address bar and window frame, and --window-size set to the combined total. On two 1920 x 1080 monitors side by side that is a 3840 x 1080 page in a 3840 x 1080 window, one region per monitor. If a scrollbar appears, shave 10 pixels off each axis. The steps below run from display settings to finished shortcut, and the example works the 3840 x 1080 case in full.
What the two flags do
--kiosk is the simplest way to start kiosk mode. The flag rides on the shortcut, and the browser opens with no tabs, no address bar and no frame, so the page fills the window.
--window-size=W,H sets the window size in pixels, and this is the flag that reaches the second monitor. Kiosk mode fills the display the browser opens on and knows nothing about a second panel; the width that covers the second screen comes from the explicit size. Size the window to the whole desktop and both monitors show the page; size it to one panel and the second keeps showing the desktop background.
| Flag | What it does | Two 1920 x 1080 monitors side by side |
|---|---|---|
--kiosk |
Removes tabs, address bar and frame | --kiosk |
--window-size=W,H |
Sets the window size in pixels | --window-size=3840,1080 |
The flags are not HMI specific. The same target line drives a SCADA web client, and configuring a SCADA web client for full-screen kiosk mode in Chrome walks through the same launch.
What you need
- Two monitors on one PC, each set to its native resolution, 1920 x 1080 in the example below, arranged side by side.
- The desktop extended across both in the display settings, so the two screens act as one wide desktop.
- The web address of the HMI page, for example an address such as
https://MachineName/WebRHon the plant network. - The page composed at the combined size, one region per monitor.
- Chrome installed on the PC that drives the monitors, with a shortcut you can edit.
Which monitor size fits the viewing distance at the station is a separate choice: What size digital signage screen do you need? covers the size-to-distance arithmetic.
Compose the page at the combined size
Add the monitors' pixel sizes along the row to get the page size. Two landscape 1920 x 1080 monitors side by side compose to 3840 x 1080. Two portrait 1080 x 1920 monitors stacked top and bottom compose to 1080 x 3840.
Give each region the native size of the monitor under it, and place it where that monitor sits. A region built at some other size gets scaled, and scaled text loses the sharpness people need when they read a line at a glance.
If each monitor should show its own separate screen instead of one wide page, that is a different layout: Show one front panel on each of several monitors covers the one-window-per-monitor route.
Example: two 1920 x 1080 monitors side by side
Inputs. Two landscape monitors at 1920 x 1080 px native each, the resolution the display settings report, side by side on one extended desktop. One web HMI page composed with one region per monitor. A margin of 10 px per axis, the shave that clears a scrollbar when the full-size page overflows the window's drawing area by a few pixels.
Rule. The desktop width is the sum of the monitor widths in the row. The shortcut passes that total to --window-size, and the page is composed at the same total. A scrollbar means the page drops 10 px per axis.
Arithmetic. Desktop: 1920 px + 1920 px = 3840 px wide, 1080 px tall. Shortcut target: "C:\Program Files\Google\Chrome\Application\chrome.exe" https://MachineName/WebRH --window-size=3840,1080 --kiosk. Shaved page: 3840 px - 10 px = 3830 px wide; 1080 px - 10 px = 1070 px tall; each region then sits at 3830 / 2 = 1915 px wide.
Result. The window opens 3840 x 1080 and covers both monitors edge to edge, with each 1920 x 1080 region on its own monitor at native size. If scrollbars appear at that size, the 3830 x 1070 page clears them.
Decision. Run the page at exactly 3840 x 1080 first, and treat the scrollbar as the threshold: any scrollbar at full size means rebuild the page at 3830 x 1070. Ten px per axis is the margin to use. A deeper shave gives up layout area on a 1080 px tall monitor for no extra clearance.
Build the shortcut and launch it
- In the display settings, extend the desktop across both monitors and place them side by side, so the desktop is one row 3840 x 1080 px in size.
- Compose the HMI page at that size with one 1920 x 1080 region per monitor, and note its web address.
- On the PC that drives the monitors, create a shortcut to Chrome and open its properties.
- Set the target to the line from the example: the chrome.exe path in quotes, then the page address, then
--window-size=3840,1080 --kiosk. - Open the shortcut. The page should cover both monitors with no tabs, no address bar and no scrollbars.
- If a scrollbar shows, rebuild the composed page 10 px smaller per axis, as in the example, and open the shortcut again.
On a Linux panel PC the same two flags go into the session autostart entry: Set up chromium kiosk autostart on a Linux panel shows where that launch line lives.
How to check it worked
Walk up to the screens and check the edges:
- No scrollbar at the right edge of the right monitor or along the bottom of either one.
- No tabs, address bar or window frame anywhere on either monitor.
- The seam between the two regions falls at the bezel, so nothing is cut in half or doubled across the join.
- The second monitor shows page content, with no desktop background visible.
If the page opens at the wrong size inside its window, Diagnose kiosk browser sizing in an HMI window walks the sizing checks one by one.
What to test when it is off
- Both monitors show the same image. The displays are duplicated, so the desktop is one monitor wide and no window size can reach the second screen. Test: the two screens are identical. Fix: switch the display settings to extend and open the shortcut again.
- A scrollbar runs down one edge. The composed page is a few pixels larger than the drawing area the browser actually has, and overflow is exactly what produces scrollbars. Test: apply the 10 px per-axis shave from the example and open the shortcut again; if the scrollbar is gone, the margin was the difference.
- The page sits in one corner with background around it. The page is composed at one monitor's size on a two-monitor desktop, so the browser places the smaller page and leaves the rest of the desktop visible. Test: the used area measures about one panel wide. Fix: rebuild the page at the combined size. The same mismatch on a single screen shows up as content pushed into a corner: the size mismatch that pushes slides into one corner explains the relationship.
A board without a PC for the same station
This whole setup runs on the PC and monitors you already have, driven by the HMI's web page. If a station also needs a board that shows slides or short video with no PC and no browser, the Android displays in the display catalog are built for that job: they play images and video straight from a card or USB stick, with no subscription.
Recommendation
Recommendation: compose the page at the exact combined size and pass the same numbers to --window-size; on two 1920 x 1080 monitors side by side that is a 3840 x 1080 page with --window-size=3840,1080. Apply the 10-pixel shave, to 3830 x 1070, only when a scrollbar appears, and check extend-versus-duplicate first whenever both screens mirror each other.
Questions
The panels are portrait 1080 x 1920, stacked one above the other. What changes?
The desktop runs 1080 pixels wide and 3840 tall, so compose the page at 1080 x 3840 with one 1080 x 1920 region per panel and set --window-size=1080,3840. If scrollbars appear, shave 10 pixels per axis to 1070 x 3830. Keep each region at its panel's native size so nothing gets scaled; the arithmetic runs on the stacked axis, the height, exactly as it runs on the width in the side-by-side case.
Does the same shortcut work for four monitors in a row?
Yes. Add every panel's width on the row: four 1920 x 1080 panels side by side give a 7680 x 1080 desktop, so the shortcut reads --window-size=7680,1080 and the page is composed at 7680 x 1080 with one 1920-pixel region per panel. Apply the same 10-pixel shave per axis if a scrollbar appears, which brings the page to 7670 x 1070. Confirm the PC's graphics output can drive four panels as one desktop before you build the layout.
How does the setup come back after a power cut?
On Windows, put the shortcut in the user's startup folder and set that account to sign in automatically, so the same target line, with both flags, runs again at the next start. On a Linux panel PC, the session autostart entry plays the same part. Either way the window size comes from the flags, so the recovered session covers both panels and nobody has to resize anything.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.