Now try swapping your monitors.
No. I don't want to change my hardware configuration just to play a game unless it's a game that I want to play really bad. If that's about requirements then they should be adequate. Having monitors plugged in specific way does not qualifies as such. As for "monitor" number, you can't rely on such data under Windows, because it does whatever the hell it wants with it. I would've provided an evidence, but all of the sudden linker started to miss _al_set_new_display_flags and complain about it, which makes for an obvious conclusion that the reason is because Allegro's binaries are for 4.6.2. and I have 4.7.2, so I tried to install an appropriate version which killed my compiler at all and after several futile attempts to get it to work right I just have quit that and because without that specific function it works fine, I just install newest version and use it, and each installation takes long to accomplish which is why I couldn't even start anything for many hours, but now that it is installed and oh come on you've got to be kidding, the freaking thing requires C++ libraries to run while being written in C so I assume it only requires C-only compiler installation which I have, but just because it has (precisely) three C++ files I can't get freaking thing to run because there's a bunch of C++ libraries missing, which then turned out to be the reason why compiler even complained in the first place (Allegro's build compiler version is irrelevant unless there's static linking, good ideas come late) that made me go through all this, what the hell? Figures that this is because GDI+ and D3D doesn't have C interface, so all files working with them must be C++. I know that Microsoft had never followed any standards whatsoever, but forcing people to use specific things? Any library ever must have C interface, period. It might also have loads of other interfaces, but C interface is mandatory. This is ridiculous. Come to think of forcing, Microsoft does that since forever and right now the scale is ultra-massive, so that should've not surprised me at all.
Anyway, would you kindly upload A5 build for mingw-4.7.2 plox, because this GCC version is default now.
NVidia binary driver recently got proper XRandR support
Well, good to know that. One problem less. But I clearly remember that I have read it somewhere, and it's either manual or sources.
Oh I didn't knew that. I don't follow Apple products.
I should note (again), that the index retrieved from al_get_new_display_adapter is the same index you pass to al_get_monitor_info.
The only problem, as I mentioned earlier, is that Windows disagrees with you about that. Either way, it is true that you cannot assume physical locations of monitors. But all OS has something like "default device". It is the one which has login screen, for example. It is safe to assume that this device is the best place to put your window on, or to occupy it's entire space for a fullscreen mode.
No. Prior fetches all data related to an output device (with D3D also fetches color mode), while latter only fetches desktop rectangle, which is not even guaranteed to have valid dimensions.
The api is a bit funnily named
You got point. It should be renamed to "desktop" rather than "monitor" in future releases.
Once again, it's only a couple of lines of code. Maybe some more for Linux, but it's still not like someone would need to write a whole subsystem from scratch. And it's not like "there you go my idea go do it", I'm trying to contribute with thatever I can supply. As I said, this feature is handy by itself, so all of this DUNNEADIT attitude does not apply.