A method for displaying a window of an application based on a client display environment, the method comprising the steps of: receiving, by an application server, a desired first display layout from a client, the first display layout comprising remote display device configuration information for multiple display devices; storing, by the application server, the received desired first display layout in a storage element on the server; associating, by the application server, the stored desired first display layout with the client; accessing, by a window message processing mechanism executing on the application server, the stored desired first display layout associated with the client using one or more display devices remotely located from the application server; intercepting, by the window message processing mechanism, a message to a window displayed on the client, the message generated by an application executing on the application server; modifying, by the window message processing mechanism, the message according to the desired first display layout to provide the window on the client based on the modified message; and transmitting, by the application server, display output generated by the application to the window on the client via a remote display protocol; obtaining, by the window message processing mechanism, notification of a change from the first display layout to a second display layout of the client display; suspending, by the window message processing mechanism, interception of a second message by queueing the second message in a queue until the window processing mechanism obtains the second display layout; resuming interception of the second message after obtaining the second display layout; and modifying, by the window message processing mechanism, the second message according to the second display layout. receiving, by an application server, a desired first display layout from a client, the first display layout comprising remote display device configuration information for multiple display devices; storing, by the application server, the received desired first display layout in a storage element on the server; associating, by the application server, the stored desired first display layout with the client; accessing, by a window message processing mechanism executing on the application server, the stored desired first display layout associated with the client using one or more display devices remotely located from the application server; intercepting, by the window message processing mechanism, a message to a window displayed on the client, the message generated by an application executing on the application server; modifying, by the window message processing mechanism, the message according to the desired first display layout to provide the window on the client based on the modified message; and transmitting, by the application server, display output generated by the application to the window on the client via a remote display protocol; obtaining, by the window message processing mechanism, notification of a change from the first display layout to a second display layout of the client display; suspending, by the window message processing mechanism, interception of a second message by queueing the second message in a queue until the window processing mechanism obtains the second display layout; resuming interception of the second message after obtaining the second display layout; and modifying, by the window message processing mechanism, the second message according to the second display layout.