1. A non-transitory computer-readable storage medium with an executable program stored thereon, wherein said program instructs a microprocessor to perform sets of instructions for: generating an array identifying a plurality of open windows in a graphical user interface (GUI), wherein said GUI comprises at least an x-coordinate plane and a y-coordinate plane in which a position of each open window of the plurality of open windows is defined, and wherein said array comprises at least an x-coordinate position for each window of the plurality of open windows and an index designating an array position for each window of the plurality of open windows; sorting said array by ordering the plurality of open windows in the array according to an increasing x-coordinate position of each window of the plurality of open windows; selecting an index in the sorted array identifying a first open window of the plurality of open windows that is currently frontmost in said GUI; increasing said index in response to a first directional input, wherein increasing said index comprises selecting a second open window of the plurality of open windows with a next greater x-coordinate position in the sorted array than the x-coordinate position of said first open window, and changing the frontmost window to be said second open window, wherein said changing the frontmost window and said first directional input does not produce a movement of any other window of the plurality of open windows; and decreasing said index in response to a second directional input that is opposite to the first directional input, wherein decreasing said index comprises selecting a third open window of the plurality of open windows with a next lesser x-coordinate position in the sorted array than the x-coordinate position of said first open window, and changing the frontmost window to be said third open window, wherein said changing the frontmost window and said second directional input does not produce a movement of any other window of the plurality of open windows.