### 4.3 Splitting Windows

Windows can be split at will, through any combination of horizontal and vertical splits. This feature requires at least two windows (text editors, browsers, ...) to be superimposed in the central area. Selecting either the `Window->Split Horizontally` or `Window->Split Vertically` menus will then split the selected window in two. In the left (resp. top) pane, the currently selected window will be left on its own. The rest of the previously superimposed windows will be put in the right (resp. bottom) pane. You can then in turn split these remaining windows to achieve any layout you want.

All split windows can be resized interactively by dragging the handles that separate them. A preference (menu `Edit->Preferences`) controls whether this resizing is done in opaque mode or border mode. In the latter case, only the new handle position will be displayed while the mouse is dragged.

You may want to bind the key shortcuts to the menus `Window->Split Horizontally` as well as `Window->Split Vertically` using the key manager. In addition, if you want to achieve an effect similar to e.g. the standard Emacs behavior (where <control-x 2> splits a window horizontally, and <control-x 3> splits a window vertically), you can use the key manager (see The Key Manager Dialog).

Moving Windows will show how to do the splitting through drag-and-drop and the mouse, which in general is the fastest way to do.

Several editors or browsers can be put in the same area of the MDI. In such a case, they will be grouped together in a notebook widget, and you can select any of them by clicking on the corresponding tab. Note that if there are lots of windows, two small arrows will appear on the right of the tabs. Clicking on these arrows will show the remaining tabs.

In some cases GPS will change the color and size of the title (name) of a window in the notebook tab. This indicates that the window content has been updated, but the window wasn't visible. Typically, this is used to indicate that new messages have been written in the messages or console window.