<p>Haiku's graphical user interface is an integral part of the system. Unlike other Unix-like operating systems, there is 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.</p>
<p>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.</p>
<p>There are only a few things in Haiku's GUI that aren't obvious and deserve an explanation.</p>
<ol>
<li><p>The Deskbar is Haiku's "Start" menu and taskbar, if you will. See topic <ahref="deskbar.html">Deskbar</a>.</p></li>
<li>The yellow tab offers more than just a program's name or a document's filename:
<ul><li>You can move it by holding the <spanclass="key">SHIFT</span> key while dragging it to another position, enabling you to stack a number of windows and conveniently access them by their named tab.</li>
<li>You minimize a window with a double-click on its tab (or with <spanclass="key">CTRL</span><spanclass="key">ALT</span><spanclass="key">M</span>). A such hidden window can be accessed by its entry in the <ahref="deskbar.html">Deskbar</a> or the <ahref="twitcher.html">Twitcher</a>.</li>
<li>You can send a window to the back with a right-click on its tab (or its border).</li></ul></li>
<li><p>The "zoom" button (or <spanclass="key">CTRL</span><spanclass="key">ALT</span><spanclass="key">Z</span>). In most applications, this will expand a window to maximum size without obscuring the Deskbar (hold <spanclass="key">SHIFT</span> to cover the Deskbar as well). It doesn't have to, however. Tracker windows, for example, will resize to best fit the contents.</p></li>
<p>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. <br/>Right-dragging a border for resizing works, but again you'll have to aim carefully.</p>
<p>To address these issues, Haiku provides a neat solution using the window management key combo <spanclass="key">CTRL</span><spanclass="key">ALT</span> and the mouse. See also chapter <ahref="keyboard-shortcuts.html#general">Shortcuts and key combinations</a> for more shortcuts concerning window management.</p>
<p>Holding down <spanclass="key">CTRL</span><spanclass="key">ALT</span> 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 <i>right mouse button</i> will resize the window along the highlighted border(s).</p>
<p>Hold down <spanclass="key">CTRL</span><spanclass="key">ALT</span> and click and drag with the <i>left mouse button</i> anywhere in a window to move it around. A quick click with the <i>right mouse button</i> sends it to the back.</p>
<aid="stack-tile"name="stack-tile">Stack & Tile</a></h2>
<p>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".<br/>
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 <tt>haiku</tt>. In this animation, the user clicks on the tabs of the stacked windows to alternately bring one or the other to the front.</p>
<p>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.</p>
<p>Doing the actual arranging of windows is easy: Hold down <spanclass="key">OPT</span> while dragging a window by its tab close to another window's tab or border until it's highlighted and release the mouse button.</p>
<p>Stack & Tile consists of two related parts.</p>
Again, while holding <spanclass="key">OPT</span>, the borders that'll fuse together when you drop the window change color when brought near each other.</p></td></tr></table>
<p>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.<br/>
You can enter parent folders with the pop-up menu above the file listing.</p>
<p>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.</p>
<p>Many shortcuts in open and save panels are the same used in Tracker. Besides the commands that are also available through the <spanclass="menu">File</span> menu, there are a few not that obvious:</p>
<tr><tdclass="onelinetop"><spanclass="key">ALT</span><spanclass="key">↓</span>або<spanclass="key">ENTER</span></td><td></td><td> Moves into the selected folder.</td></tr>
<aid="favorites-recent"name="favorites-recent">Favorites and recent folders</a></h3>
<p>The <spanclass="menu">Favorites</span> 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.</p>
<p>To add a Favorite, you simply navigate to your destination and choose <spanclass="menu">Favorites | Add current folder</span>. From now on it will appear in every open/save panel. To remove a Favorite, choose <spanclass="menu">Favorites | Configure favorites...</span> and delete its entry.<br/>
All Favorites are kept in <spanclass="path">/boot/home/config/settings/Tracker/Go/</span>. So you might as well add and remove links to files and folders there directly.</p>
<p>Replicants are small self-contained parts of applications that can be integrated into other programs. Provided Deskbar's option to <spanclass="menu">Show replicants</span> is activated, you'll recognize a replicantable part of an application by its small handle, normally in the bottom right corner:</p>
<p>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.<br/>
A right-click on a Replicant handle offers a context menu to show the originating app's <spanclass="menu">About</span> window and to <spanclass="menu">Remove replicant</span>.</p>
<divclass="box-info">Should you experience difficulties with a Replicant on the Desktop and just can't get rid of it, delete <spanclass="path">~/config/settings/Tracker/tracker_shelf</span>. Unfortunately, this will remove <i>all</i> Replicants from the Desktop.</div>
<p>Examples for replicatable applications are the graphs of the <ahref="applications/activitymonitor.html">ActivityMonitor</a>, the <ahref="workspaces.html">Workspaces applet</a> or <ahref="applications/deskcalc.html">DeskCalc</a>.</p>