1. A computer readable memory storing a computer program for execution by at least one processor, the computer program comprising sets of instructions for: displaying a radial menu comprising a plurality of selectable GUI items arranged radially around a location indicator, each of the selectable GUI items being associated with a set of angles from a center point of the radial menu; identifying a movement of the location indicator to select one of the selectable GUI items, the selected GUI item associated with a submenu; predicting, before the movement of the location indicator stops, an expected location at which the location indicator is expected to stop moving; determining, that the expected location is too close to an edge of a window of a graphical user interface to fully display a radial submenu centered around the expected location; responsive to determining that the expected location is too close to an edge of the window, displaying an expanding submenu, the expanding submenu fitting in the window by initially being displayed at a smaller size than a normal size with edges substantially at the edges of the screen, with the center of the submenu moving away from the edges of the screen as it expands until it reaches full size, wherein a location of the location indicator is positioned at a center of the submenu during an expansion of the expanding submenu.