Easy moving and resizing
Stack & Tile
Open and save panels

Haiku's GUI

Haiku's graphical user interface is an integral part of the system. Unlike Unix-based operating systems, there's no separate window manager and booting just into a command line shell is not possible. Haiku's focus being on the desktop user, this is just not considered necessary.

As you probably have experience with other graphical environments, let's skip over the standards like menus, right-click context menus, drag&drop etc. Let's have a look at the few unique aspects of Haiku's GUI instead.


There are only a few things in Haiku's GUI that aren't obvious and deserve an explanation.

  1. The Deskbar is Haiku's "Start" menu and taskbar, if you will. See topic Deskbar.

  2. The yellow tab offers more than just a program's name or a document's filename:
    • You can move it by holding the SHIFT key while dragging it to another position, enabling you to stack a number of windows and conveniently access them by their named tab.
    • You minimize a window with a double-click on its tab (or with CTRL ALT M). A such hidden window can be accessed by its entry in the Deskbar or the Twitcher.
    • You can send a window to the back with a right-click on its tab (or its border).
  3. The close button.

  4. The "zoom" button (or CTRL ALT Z). In most applications, this will expand a window to maximum size. It doesn't have to, however. Tracker windows, for example, will resize to best fit the contents.

  5. The window border. Left-dragging moves the window, right-dragging resizes.

  6. The resize corner.

index A quick way to move or resize windows

Moving and resizing windows is a large part of interacting with several concurrently running applications. Instead of aiming at the small yellow title tab or the even tinier window border, there's a more convenient way to move a window. Also, additionally to its small size, the resize corner has another limitation: It only allows resizing at and in the direction of the lower right corner.
Right-dragging a border for resizing works, but again you'll have to aim carefully.

To address these issues, Haiku provides a neat solution using the window management key combo CTRL ALT and the mouse. See also chapter Shortcuts and key combinations for more shortcuts concerning window management.


Holding down CTRL ALT will highlight the window borders nearest to the mouse pointer. Move the mouse in the direction of another border to change the target. Click and dragging with the right mouse button will resize the window along the highlighted border(s).

Hold down CTRL ALT and click and drag with the left mouse button anywhere in a window to move it around. A quick click with the right mouse button sends it to the back.

index Stack & Tile

Haiku's user interface provides a unique feature that puts the fact that windows have a yellow tab instead of a full-width title bar to perfect use. It's called "Stack & Tile".
In the example below, a Tracker window with bookmarks is tiled to the left of a WebPositive window, which itself is stacked with another Tracker window showing the source folder haiku. In this animation, the user clicks on the tabs of the stacked windows to alternately bring one or the other to the front.


Connected like this, the group of windows can be moved and resized together - a nice arrangement to work in a more project centric environment. Instead of looking for the right browser window with documentation, editor and Tracker windows and maybe a related email concerning one project you are currently working on, just stack&tile them together.

Doing the actual arranging of windows is easy: Hold down OPT while dragging a window by its tab close to another window's tab or border until it's highlighted and release the mouse button.

Stack & Tile consists of two related parts.


"Stacking" is putting windows on top of each other, automatically moving the yellow tabs into position.
While holding OPT, tabs change color when they overlap; drop the window to establish the stacking.


"Tiling" means gluing windows horizontally or vertically together.
Again, while holding OPT, the borders that'll fuse together when you drop the window change color when brought near each other.

Separation is done in the same way, by holding OPT while dragging a window by its tab out of the group.

index Open and save panels

When opening or saving a file from any application, a panel like this opens:


It has all the usual things: A list of files of the current folder to choose from, in case of a save panel, a text field to enter a filename and a pop-up menu for different file formats and their settings.
You can enter parent folders with the pop-up menu above the file listing.

If you already have a Tracker window with the location for a file open, you can simply drag either any file or the folder-representation (i.e. the symbol to the far right in its menu bar) into the panel. This changes the panel to that new location.

index Keyboard shortcuts

Many shortcuts in open and save panels are the same used in Tracker. Besides the commands that are also available through the File menu, there are a few not that obvious:

ALT N Creates a new folder.
ALT E Lets you rename the selected entry.
ALT Moves into the parent folder.
ALT or ENTER Moves into the selected folder.
ALT D Takes you to your Desktop.
ALT H Takes you to your Home folder.

index Favorites and recent folders

The Favorites menu in open and save panels provides recently visited folders and favorite locations that you can set up yourself. As indicated by the little arrow, you can also use these locations to navigate further down the hierarchy via submenus.


To add a Favorite, you simply navigate to your destination and choose Favorites | Add current folder. From now on it will appear in every open/save panel. To remove a Favorite, choose Favorites | Configure favorites... and delete its entry.
All Favorites are kept in /boot/home/config/settings/Tracker/Go/. So you might as well add and remove links to files and folders there directly.

index Replicants

Replicants are small self-contained parts of applications that can be integrated into other programs. Provided Deskbar's option to Show replicants is activated, you'll recognize a replicantable part of an application by its small handle, normally in the bottom right corner:


The most prominent place that accepts Replicants is the Desktop: You simply drag & drop the little handle onto it. From now on it's part of the Desktop and the Replicant's originating app doesn't have to be started for it to work.
A right-click on a Replicant handle offers a context menu to show the originating app's About window and to Remove replicant.

Should you experience difficulties with a Replicant on the Desktop and just can't get rid of it, delete ~/config/settings/Tracker/tracker_shelf. Unfortunately, this will remove all Replicants from the Desktop.

Examples for replicatable applications are the graphs of the ActivityMonitor, the Workspaces applet or DeskCalc.