Guide to multiple monitor / dual head setup

UI and Macro
Post Limit:
I have a dual monitor setup to play Warcraft, and I've had multiple 'How do you do that?' questions in the past. Most of what I found came from the old forums that are no longer available, and I don't see anything immediacy obvious on this forum on how to create a multi-monitor setup with Warcraft.

First of all, here is my current UI:
http://www.meetcweb.com/up/2011.04.18-11.50.49.pm-World%20of%20Warcraft.png

There are a few addons that are recommended/required to better manage screen layout. I use CT_Viewport to change the game view port, and Move Anything to move UI elements on the screen. Any other addon that does these things should work fine as well.

Outside of the game environment, some setup is needed as well. Before beginning, make sure the game is running in Windowed mode. The config.wtf file will need to be edited first.

Find the line "SET gxResolution". This line needs to be changed to retain the aspect ratio of the game client. Finding the correct numbers to put here can be complicated depending on your monitor setup, if the monitors are at different resolutions. In general, this number should be 1/(number of monitors) * (resolution of 1 monitor). Example: I have 2 fullscreen monitors side by side running 1280x1024 each, total size 2560x1024. As I have 2 monitors gxResolution should be 1/2 (half) of this size, and my value is 1280x512. For monitors of different resolution, any 'black' space should be included. Regardless of the sizes, the aspect ratio between the height and width needs to be consistent to prevent the game window elements from being stretched out of proportion.

When launching the game client, it will now be a small window that needs to be stretched across all of your screens. Simply dragging the window will work, but this becomes annoying after a few times. The expand to desktop button that is added to windows with usage of UltraMon is helpful, but still leaves the titlebar and window border in the way. I use a command line utility and batch script to launch the game client:

wow.bat
@echo off
start "" "C:\Path-To-wow\World of Warcraft\WoW.exe"
ping 1.1.1.1 -n 4 -w 1000 > nul
"C:\Path-to-util\cmdow.exe" "World of Warcraft" /Mov -1288 -30 /Siz 2576 1048


The utility I use is called cmdow. I found when first using this tool it was marked as 'potentially unwanted' by my virus scanner. I use it and have no unwanted side effects, but it can be used to make programs not visible to the user and run in the background. Use at discretion, your mileage may vary.
I have used ping as a way to insert a delay, so the game client has time to launch before it is moved. I have a time of 4 seconds of delay (-n 4) in my example.
About the numbers in the command line, the /Mov switch positions a window on your screen. 0,0 is located at the top left corner of the primary monitor in Windows. My pc as the primary monitor on the right side, and the secondary to the left. Therefore, the top left corner of the left monitor would be -1280,0. My location is a bit more than this so the window titlebar and border are hidden off screen. /Siz indicates the size of the window. again these are larger than the viewable area of my monitors so the title and borders are hidden. I leave the taskbar visible, so the window height is not fully covering the screen. These numbers will need to be changed according to your own PC and monitor layout and sizes.

Okay, so now the game is launched, but the login box is right in the middle of my 2 monitors behind the bezel. To the best of my knowledge this is unavoidable, and the same thing will happen to load screens. Once logged into a character, the viewport can be moved and sized as needed. (/viewport when using CT_Viewport). Doing this will leave a black, empty area.

The next issue to fix is moving various menus and windows in-game around. The viewport, or WorldFrame ('WorldFrame' is the internal frame name of the 3D world, this will be used multiple times for the remainder of the guide) is not the anchor point for most windows and menus in game, but rather the frame name 'UIParent' is. This has the effect of menus and UI elements not opening in convenient locations. I will give a brief guide on how to use MoveAnything, and a list of what UI elements i have moved to where.

The Move Anything main window is opened with slash command /move. /mafe will be useful, along with /framestack (part of WoW, not MA). /move will provide a list of all default Blizzard UI elements, and there is space at the bottom where any non-default frames get listed as needed. Clicking on the name of a frame will open a new window to edit its position properties. For the scope of my description, only the attach (anchor) points, parent frame (labeled with 'of' beside the textbox) X offset and Y offset will be needed. Feel free to try the other options too.

The parent frame indicates where the frame being edited is anchored to. The parent of all frames is called 'UIParent' and is basically bound by the size of the game window. 'WorldFrame' will be used to replace this in a number of places. In the MA main window, here is a list of all the frames I have switched from 'UIParent' to 'WorldFrame':

Achievements
Achievement Alert 1
Achievement Alert 2
Dungeon Completion Alert
Dungeon Ready Popup
Dungeon Role Check Popup
Raid Boss Emote Display
Raid Warnings
Game Menu
Video Options
Sound & Voice Options
Interface Options
Keybinding Options
Generic Info Panel 1: Left
Generic Info Panel 2: Center
Generic Info Panel 3: Right
[These 3 panels are the default positions of many UI panes, such as character, guild, dungeon browser etc. I recommend moving these panels instead of each panel seperatly so they won't overlap]
Loot Roll 1
Loot Roll 2
Loot Roll 3
Loot Roll 4
Breath/Fatigue Bar
Chat/Channel Configuration
Color Picker
Durability Figure
Errors & Warning Display
GM Help
Level Up Display
Static Popup 1
Static Popup 2
Static Popup 3
Static Popup 4
Return to Graveyard Button
Top Center Status Display
Zoning Zone Text
Zoning Subzone Text
Class Ability Proc

I also recommend using /mafe to edit the following frames to use WorldFrame instead of UIParent. In the chat window type in /mafe followed by:
ReadyCheckFrame
AddFriendFrame
PetCastingBarFrame (only if another addon doesn't have its own casting bar)
FriendsFriendsFrameNow that there's a big blank back space on a second (or third or more...) monitor, what to put there? I have created some exra chat windows to store out of the way, and I also use an addon called AlphaMap to keep a world/zone map open most of the time. Carbonite could fit well there too.

Its now almost 5am as I am writing this, so I'm sure I've missed some finer detail. Ask anything for clarification, and I'll do my best to answer.Nov 21, 2011: edited link to UI
bumpage
I found a utility a few years ago that automates the spanning and removes the frames. I don't know if these forums will allow the link, but you can get it from http://www.4shared.com/file/Pt1dTwXI/WoW_Spanner.html.

Before running the first time, right-click the filename and go to Properties. At the end of the Target line, add " 0 0 xxxx yyy"
xxxx = width of final span
yyy = height of final span

For example, with 2 1440X900 monitors, my Target line reads:
C:\Games\WoW Spanner.exe 0 0 2880 900

yours would be: {path} 0 0 2576 1024
Also, what allows you to have your map that large? I have to choose between a fullscreen map spanning both monitors or one that is about 1/3 the size of yours.

nvm, read the last couple lines and found answer.
Since I wrote this, I now use another program to do the span/resize and remove the titlebar, called nircmd.exe, obtainable from http://www.nirsoft.net/utils/nircmd.html

I have a shortcut to a .BAT file on the desktop to launch warcraft:
wow.bat
@echo off
start "" "C:\Program Files\World of Warcraft\WoW.exe"
ping 1.1.1.1 -n 4 -w 1000 > nul
nircmd win -style title "World of Warcraft" 0x00C00000
nircmd win setsize title "World of Warcraft" -1287 -7 2574 1038



Also, I've updated my UI slightly from last posting:
http://www.meetcweb.com/up/2011.04.18-11.50.49.pm-World%20of%20Warcraft.png
http://www.meetcweb.com/up/2011.04.18-10.36.22.pm-World%20of%20Warcraft.png
Can't wait for this weekend to try this out!

Thanks for the post.
Yeah, I'm actually in the process of tweaking with this myself, after much searching. It's working well so far, with a couple small bugs I've found that seem to be inherent with the way the screen is being resized down then scaled back up to fit two monitors. Text bubbles, for example /say and /yell, are massively huge. The same goes for nameplates. The text bubbles can be disabled, I sort of would like to keep them, but the nameplates seem to be fixed with just getting an addon that alters them.

WoW reads the resolution of the window at 720x576. How those numbers translate into what is rendered into a stretched 3360x1050 pictures, I don't know. But, it does degrade the quality a bit when you're used to running at a standard 1680x1050. Not sure if that can be helped any, though.

This is the closest I've found to supporting two monitors on nVidia chips. It sucks that nothing is built-in to just support a simple span.
You can reduce the chat bubble size by manually reducing the size of the font used for it outside wow, then selecting for that font to be used in chat bubbles. Fonter describes how to do this in the addon description (scroll near the end):
http://wow.curse.com/downloads/wow-addons/details/fonter.aspx

Also there's stuff like:
http://www.wowinterface.com/downloads/info18061-Bubblicious.html
which will allow compression of the text so it displays only in one line.
Also
http://www.wowinterface.com/downloads/info19562-BubbleBobble.html
So I tried this really quick this morning, and ran into a few problems.

First, the SET gxResolution variable was not found in my config file. I added it, and it worked how it should have, but after I shut down, the variable was erased, and I had to re-add it. Is there something known that will keep this variable from sticking?

Second, I noticed a pretty large drop in performance. I normally run 50-60 fps on ultra settings, with this, I'm down to a very noticeable 20-30 fps. As I've said though, I wasn't able to try it for long, so I'm just wondering if I just logged on during a slow server time, or if this really impacts gamer performance that much. I was thinking that it shouldn't, the same amount of the game world is being rendered as it was before through the viewport.

Finally, the nircmd program. I was able to get the bat file to start WoW, but it didn't auto-stretch the window. Do I need to have the nircmd.exe in a certain place, or do I have to call the path out in the .bat file somewhere? I'm a bit lost on that little program. I tried to bump the delay up to 6 seconds as well, thinking that it just took longer to load on my PC.
How can i get my resolution up to the dual monitor size? My game still looks stretched after I used the nircmd program.
I have updated the link to my current UI, I haven't been using xperl in quite a long time for unitframes.

08/12/2011 07:18 AMPosted by Igotbandaids
First, the SET gxResolution variable was not found in my config file. I added it, and it worked how it should have, but after I shut down, the variable was erased, and I had to re-add it. Is there something known that will keep this variable from sticking?

You could make the config.wtf file read-only. I have found that this variable resets any time the resolution option is changed in-game, or when other options are changed on the same page and saved.

08/12/2011 07:18 AMPosted by Igotbandaids
Finally, the nircmd program. I was able to get the bat file to start WoW, but it didn't auto-stretch the window. Do I need to have the nircmd.exe in a certain place, or do I have to call the path out in the .bat file somewhere? I'm a bit lost on that little program. I tried to bump the delay up to 6 seconds as well, thinking that it just took longer to load on my PC.

I moved it to my windows/system32 folder, so that the full path is not needed. It can be placed anywhere, so long as the path to the file is updated in the batch file, eg:
@echo off
start "" "C:\Program Files\World of Warcraft\WoW.exe"
ping 1.1.1.1 -n 4 -w 1000 > nul
C:\path_to_file\nircmd.exe win -style title "World of Warcraft" 0x00C00000
C:\path_to_file\nircmd.exe win setsize title "World of Warcraft" -1287 -7 2574 1038


10/10/2011 10:46 PMPosted by Gochihr
How can i get my resolution up to the dual monitor size? My game still looks stretched after I used the nircmd program.


You need to add/edit the line gxResolution in the config.wtf file. For my desktop i have 2 monitors at 1280x1024 side by side. The total desktop resolution is 2560x1024. I divide each of these values by 2 (for 2 monitors) and have a value of 1280x512. Therefore, the line that needs to be added/edited in config.wtf for me is:
SET gxResolution "1280x512"
Hello -

Does any of the above work with Windows 7? (The specific OS isn't mentioned).

I'm suspecting not - I've been having a lot of trouble just with the simple task of stretching the WoW client across monitors (I believe Win7 no longer has the horizontal span functionality that WinXP did?)

Does any of the above work with Windows 7? (The specific OS isn't mentioned).

I'm suspecting not - I've been having a lot of trouble just with the simple task of stretching the WoW client across monitors (I believe Win7 no longer has the horizontal span functionality that WinXP did?)

Yes, I use Windows 7. Run WoW in windowed mode (and not fullscreen) and resize the window with nircmd.

Another option for anyone using a newer ATI card, is to enable Eyefinity. This will tell Windows that both (or all) monitors should be treated as one single display. This should allow Warcraft to run in fullscreen mode on 2+ monitors
I have discovered that I can play my game on my tv by attaching my laptop to it but now the problem is that the text is too small so how can I change the text size of the chat box and quest log text? in simple talk please since I don't know a whole lot about computers like you guys do (but at least I know all of the basic functions and some of the more advanced ones).
Changing the in-game font size should be possible by changing the in-game UI scale (ESC menu > Options > Advanced > UI Scale slider). The higher the scale, the larger everything on screen will be. I would imagine there are other addons somewhere that can change the fonts too, but don't know any specific
I am following all the instructions above, and even have the mentioned changes to config.wtf. My game kept changing it back automatically, so I made config.wtf read only which has prevented it from changing.

The batch program works, the viewport works. The only thing that is not falling in line is everything appears stretched. My buttons from bartender which should be perfect squares appear to have a 16:9 ratio. My text is fine however. Other addons appear stretched as well as some of Blizz's UI. Whats going on?

cmdow.exe
Sunn Viewport
I haven't done anything with this in a while, so I'm not sure. You can try setting config.wtf to read-only, see if that helps.
Great guide!

I was wanting to do something like this for a while now, finally had some free time this weekend and got it all set up. I'm using two different resolution monitors, one is widescreen and the second one isn't. I set it up for 1280x768 on primary and 1024x768 on secondary. The cool thing about this set up is the split isn't in the middle and login info is easy to see.

It's a shared gaming computer and I've gone so far as to make two different batch files on the desktop, one for split screen and one for normal. The batch files change between two different config.wtf files and moves stuff in and out of the addons folder according to situation.

Resolution definitely suffers but for raiding the extra space makes things so much easier to keep track of.

Thanks again to the OP and everyone else who put in their two cents along the way.

Join the Conversation