+ All Categories
Home > Documents > Haiku User Guide.pdf

Haiku User Guide.pdf

Date post: 07-Dec-2015
Category:
Upload: -
View: 13 times
Download: 1 times
Share this document with a friend
Popular Tags:
112
User Guide http://www.haiku-os.org/docs/userguide/en/contents.html 16 April 2010
Transcript
Page 1: Haiku User Guide.pdf

User Guide

http://www.haiku-os.org/docs/userguide/en/contents.html

16 April 2010

Page 2: Haiku User Guide.pdf
Page 3: Haiku User Guide.pdf

Table of Contents

Welcome to the Haiku User Guide ......................................................................... 1

Boot Loader ....................................................................................................................... 4

Filesystem layout ............................................................................................................. 6

Haiku's GUI ......................................................................................................................... 9

Workspaces ..................................................................................................................... 12

Twitcher ............................................................................................................................ 13

Team Monitor ................................................................................................................. 14

Tracker ............................................................................................................................... 15

Tracker Add-Ons ............................................................................................................ 23

Shortcuts and key Combinations ........................................................................... 24

Deskbar .............................................................................................................................. 27

Filetypes ............................................................................................................................ 31

Attributes ......................................................................................................................... 34

Index ................................................................................................................................... 38

Queries .............................................................................................................................. 40

Workshop: Filetypes, Attributes, Index and Queries ................................... 44

Applications ..................................................................................................................... 51

Desktop Applets ............................................................................................................ 53

Workspaces ..................................................................................................................... 58

Preferences ...................................................................................................................... 60

Bash and Scripting ...................................................................................................... 103

Page 4: Haiku User Guide.pdf
Page 5: Haiku User Guide.pdf

Welcome to the Haiku User Guide

Below, you'll find the documentation of the most important aspects of Haiku. Naturally,

completing and extending the documentation is a continuing process. If you find errors,

would like to suggest topics or maybe even contribute yourself, please get in touch on the

documentation mailing list. If you're interested in helping with translations, you'll find

information on that at the i18n User Guide Wiki.

1

Page 6: Haiku User Guide.pdf

Boot Loader Set safe boot options to solve configuration

problems.

Filesystem layout

The system folder

The common folder

The home folder

Understand the filesystem hierarchy and get

familiar with important file locations and folders.

Haiku's GUI

Open and save panels

- Keyboard shortcuts

- Favorites and recent

folders

Replicants

Learn about the basic elements of the graphical

user interface.

Workspaces

The Workspaces Applet

Switching workspaces

Moving windows between

workspaces

Special functionality

Use virtual desktops for an uncluttered work

environment.

Twitcher Switch between running applications.

Team Monitor Kill unresponsive applications or system

components.

Tracker

Mounting volumes

Navigating

Appearance

Tracker preferences

Working with files

Transaction status

Tracker Add-Ons

Learn all about navigating, working with files and

folders and how to configure Haiku's file manager.

Shortcuts and key

combinations

General shortcuts

Shortcuts for Tracker

navigation

Shortcuts in Terminal

Other key combinations

The most common shortcuts to speed up your

workflow.

Deskbar Use and configure Haiku's version of the "Start"

menu and taskbar.

2

Page 7: Haiku User Guide.pdf

The Deskbar Menu

The Tray

The list of running

programs

Filetypes

The File Type

The Preferred Application

The Icon

Special settings for

applications

Global settings with the

Filetypes Preferences

Set default applications, change file types and

create your own.

Attributes

Attributes in Tracker

Attributes in Terminal

One of Haiku's main features lets you manage and

add any kind of data to any file.

Index Use indexing to be able to search for attributes.

Queries

The Find window

Basic queries - "by Name"

Advanced queries - "by

Attribute"

Even more advanced

queries - "by Formula"

The result window

Query Templates

Use Haiku's lightning fast queries to quickly find

what you're looking for.

Workshop: Filetypes,

Attributes, Index and

Queries

Learn to use some of Haiku's key features by

organizing your DVDs.

Applications

Installing applications

Uninstalling applications

Haiku's applications

Bundled applications

Learn how to un/install applications in general and

how work with the ones that come with Haiku.

Desktop Applets Simple tools to install on your Desktop and Deskbar.

Preferences Configuring and setting up your system.

Bash and Scripting Learn of some interesting scripts used by the

system and about online resources for working in

the shell and scripting.

3

Page 8: Haiku User Guide.pdf

Boot Loader

Haiku's Boot Loader can help when you experience hardware related problems or want to choose

which Haiku installation to start, if you have more than one (maybe on an installation CD or USB stick)

.

It's also handy after you installed a software component that acts up and prevents you from booting

the system to remove it again. The Disable user add-ons option that's mentioned below, will start

Haiku without loading user installed components, e.g. a driver.

To enter the Boot Loader options, you have to press the SPACE BAR right at the beginning of the boot

process. It's easy to miss so you best keep hitting the key until it shows up.

Once it's there, you're offered three menus:

Select boot

volume

Choose which Haiku installation to start.

Select safe

mode options

There are several options to try in case of hardware related trouble. When moving

the selection bar to an option, a short explanation appears at the bottom of the

screen.

- Safe mode

- Disable user add-ons

- Disable IDE DMA

- Use fail-safe video mode

- Don't call the BIOS

- Disable APM

- Disable ACPI

- Disable IO-APIC

- Enable serial debug output - Enable on screen debug output

Select fail safe

video mode

If you had to activate the option Use fail-safe video mode, you can set resolution

and color depth.

After activating one or more options, you return to the main menu and continue booting, which

presents you with this boot screen:

4

Page 9: Haiku User Guide.pdf

If everything works OK, one symbol after another quickly lights up.

The different symbols roughly correspond to these boot stages:

Atom Initializing modules.

Disk + magnifier Creating rootfs (/) and mounting devfs (/dev).

Plug-in card Initializing device manager.

Boot disk Mounting boot disk.

Chip Loading CPU specific modules.

Folder Final initialization of subsystems.

Rocket Boot script starting the system.

5

Page 10: Haiku User Guide.pdf

Filesystem layout

Haiku's filesystem layout is quite transparent, trying to always use non-cryptic names for files and

folders, that don't leave the user guessing. Files and folders that are important for the system to

function properly, are protected from accidental tempering by showing one of these alerts:

The second alert pops up if you try to rename or delete something in the system hierarchy. Here, the

"Do it" button will only become clickable when you're holding down the SHIFT key.

Generally, there are three separate branches springing from the root folder of the boot volume:

/boot/system/ belongs to the system. Don't touch!

/boot/common/ holds files that are shared between users.

/boot/home/ is your personal folder where you keep your data and settings.

The system folder - /boot/system/

Under Haiku's predecessor BeOS, this folder was named /boot/beos/. You may still find it in some older

documentation (e.g. in the original BeBook).

Whatever it's named, you should not alter what's inside. Every update of Haiku can add, remove or

overwrite anything within it. If you want to add functionality, maybe with other Tracker Add-Ons or

Translators or maybe another hardware driver, you install these things under your own /boot/home/

hierarchy or, if it's supposed to be for every user, under /boot/common/. As long as Haiku isn't multi-

user, this distinction has no apparent effect, as there's only one user with one home folder. But since

there will be support for more users than one eventually, it makes sense to learn the right way from

the start.

So, let's say you want to install a new Translator for the latest image format, you don't simply copy it

into the respective system folder. Remember: Don't touch!

Instead, you put it into the mirrored hierarchy under /boot/common/ or /boot/home/config/.

In our example the location for Translators in the system folder would be

/boot/system/add-ons/Translators/

So, the user "mirror" folder is either

/boot/home/config/add-ons/Translators/

or

/boot/common/add-ons/Translators/

6

Page 11: Haiku User Guide.pdf

This has another advantage: If the component you have installed messes things up (which is possible

as you install hardware drivers like this, too) you are able to choose "Disable User Add-Ons" from the

Boot Loader menu and are thus always able to boot without the offending component.

Most of the time, however, you won't have to deal with these things at all, since every software that

comes from a trusted source should include an installation routine that handles these things.

The common folder - /boot/common/

Haiku is not a multi-user system yet. Once it is though, every user has her own home folder that is not

accessible to anyone else. Every application or added component like Tracker Add-Ons, Translators

etc. as well as any data that's supposed to be shared between different users, go here.

The home folder - /boot/home/

This folder belongs to you. Here you can create and delete files and folders as you wish. However, you

shouldn't mess too much with the ~/config/ directory and its subfolders. You could delete e.g. the ~/

config/settings/ folder without damaging the operating system itself, but who wants to lose all his

configurations and application settings? In any case, the system warns you with the at the top

mentioned alert.

Besides the ~/config/add-ons/ folder, which mirrors the system's add-ons folder for additional

components as described above, there are a few other folders of interest. (By the way, the tilde ("~") is

a shortcut for your home folder, so you don't always have to write "/boot/home/" in Terminal.)

7

Page 12: Haiku User Guide.pdf

~/mail By default, this is where your mails are kept.

~/queries Queries are stored, by default temporarily for 7 days, in this folder.

~/config/be/ Again from our BeOS legacy, the be folder contains what's shown in the

Deskbar menu. You can add and remove items either with the Deskbar

configuration panel or by putting files, folders or links into this folder

directly.

~/config/bin/ Complements the system's /boot/system/bin/ folder and holds all your

command line programs.

~/config/boot/ This folder is the place for User Scripts that are executed before or

after the system boots up or shuts down.

~/config/boot/launch/ Links to programs or documents in this folder are automatically

launched on every boot-up.

~/config/fonts/ Simply copy a TrueType or Postscript font into this folder and its usable

right away.

~/config/settings/ This folder contains the settings to all applications and a few

configurations for the system. Some applications manage their settings

in their own subfolders, others simply put their configuration file in

there.

~/config/settings/beos_

mime/

In this MIME (Multipurpose Internet Mail Extensions) database Haiku keeps

track of all the different filetypes and their settings.

~/config/settings/

kernel/drivers/

There's one settings file that may be of interest: kernel offers some low

level configurations like disabling SMP (Symmetric Multi Processing),

activating serial debugging or enabling advanced power management.

You activate a configuration line by removing the commentary symbol "#

". Be careful here!

~/config/settings/

Tracker/

Here are some interesting subfolders:

DefaultFolderTemplate/ Show and arrange all attributes and the window size to your liking. Every

new folder you create will use it as a template.

DefaultQueryTemplates/ You can define the layout of query result windows for certain filetypes.

See topic Query: The result window.

Go/ Put links to your favorite locations in here to make them available e.g. in

open and save panels. See topic Haiku's GUI: Favorites and recent

folders.

Tracker New Template/ Add a template for any filetype that's then available from Tracker's File |

New... menu. See topic Tracker: Working with files.

8

Page 13: Haiku User Guide.pdf

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 "alternative size" 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 resize corner. Dragging anywhere else on a window's border will move the window.

While holding CTRL ALT , you can click anywhere into a window to move it with the left

mouse button; the right mouse button sends it to the back.

Open and save panels

9

Page 14: Haiku User Guide.pdf

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 drop-down menu for different file formats and their settings.

You can enter parent folders with the drop-down 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.

Keyboard shortcuts

You can use many of the shortcuts also 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 ↑ Opens the parent folder.

ALT ↓ or ENTER Opens the selected folder.

ALT D Takes you to your Desktop.

ALT H Takes you to your Home folder.

Favorites and recent folders

The menu Favorites 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.

10

Page 15: Haiku User Guide.pdf

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.

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

appliction 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.

Examples for replicatable applications are the graphs of the ActivityMonitor, the Workspaces

applet or DeskCalc.

11

Page 16: Haiku User Guide.pdf

Workspaces

Workspaces are virtual desktops, complete with their own resolution, color depth and

background. Up to 32 of these workspaces can be set from the Screen preferences.

Switching workspaces

You switch between workspaces by either clicking into the Workspaces applet (which is

seen in the above image) or by using the keyboard shortcut ALT FX , where "x" is the

workspace number. It's a good idea to arrange your workspaces in rows of four to mimick

the layout of the FX keys on the keyboard.

Also, clicking on an application or one of its windows in the Deskbar will send you to the

workspace it's in.

Another very convenient way is to use CTRL ALT ← / → / ↑ / ↓ to navigate spatially the rows/

columns of the available workspaces. If you additionally hold down SHIFT , the active

window will move with you to the new workspace.

You can switch back and forth between two workspaces with ALT ` (the actual key

depends on the keymap you're using - it is the key below ESC ). Again, holding SHIFT will

take the active window with you.

12

Page 17: Haiku User Guide.pdf

Twitcher

The Twitcher is a task switcher to jump between running applications and their windows.

Just tap CTRL TAB to switch between the current and the last application/window. Tapping CTRL TAB

very quickly will switch between all applications. Or press and hold CTRL TAB to go through all running

applications by repeatedly hitting TAB or ← / → . If you need to get to a specific window of a program,

move to its icon as described and then go through its open windows with the ↑ / ↓ keys.

You cycle through all an applications visible windows on the current workspace with CTRL ~ (which,

depending on the keymap you're using, is the key below ESC ).

It's also possible to invoke the Twitcher with CTRL TAB and then use the mouse to choose the

application/window you'll jump to when releasing the CTRL key.

The Twitcher also offers a few more advanced keyboard shortcuts:

ESC Aborts the twitching and returns to the formerly active window.

Q Quits the selected application.

H Hides all windows of the selected application.

13

Page 18: Haiku User Guide.pdf

Team Monitor

With CTRL ALT DEL you invoke the Team Monitor which lists all currently running programs.

Programs that were launched by the system are blue, those started by the user black.

Applications that are unresponsive, which is often a sign the program has crashed, are marked red.

You can kill a program by selecting it and pressing the Kill Application button.

You can summon a Terminal with ALT SHIFT T .

If your Tracker or Deskbar crashed or froze, a new button appears (you may have to kill the offending

team first): Restart the Desktop will restart Tracker and/or Deskbar for you.

14

Page 19: Haiku User Guide.pdf

Tracker

The Tracker is the graphical interface to all your files. It let's you create new files and folders or find,

launch or rename as well as copy or delete existing ones.

Being an application like any other (the Desktop with its icons is really just a fullscreen window in the

background), Tracker appears with its windows in the Deskbar and can be quit and restarted. The

easiest way to quit and restart a crashed or frozen Tracker (or a wayward Deskbar) is to call the Team

Monitor.

Mounting Volumes

In order to access a harddisk, CD, USB stick etc., you first have to mount the volume, that is, let the

system know it's there. This is done with a right-click on the Desktop or an already mounted volume

(like the boot disk) and choosing the volume from the Mount submenu. You find the same Mount menu

in the Deskbar.

There are also Mount Settings so you don't have to mount everything manually after every bootup.

The above settings will automatically mount any storage device you connect/insert and also mount all

disks on bootup that were mounted previously.

Before you disconnect e.g. a harddrive or USB stick, make sure you have successfully

unmounted the volume. This guarantees that all data transfer has finished. Otherwise

you may lose data or corrupt the disk!

Navigating

By default, when you double-click a folder, Tracker opens a new window while leaving the parent

window open. This can quickly lead to an overcrowded desktop.

You can prevent that by holding down the OPT key, which automatically closes the parent window.

This is also true for keyboard navigation. For more on that, see topic Shortcuts and key

combinations.

15

Page 20: Haiku User Guide.pdf

Moving through your folders is one of Trackers main purposes, just like the file managers on other

platforms. Haiku's Tracker has some unique features that will help you doing that efficiently.

Drilling down the submenus

Instead of double-clicking your way down folder after folder, there's a better way to drill down:

Right-click onto a folder, and at the top of the usual context menu you'll find a submenu of the current

folder that let's you navigate down a level. Just move down the hierarchy until you find the file or

folder you're looking for and click on it to open it. The above shows the contents of the folder /boot/

system/documentation/.

If you do the above while dragging a file with you, it will be moved to where you eventually drop it.

A similar method can be used from any Tracker window:

Click on the area in the lower left, where the number of items is listed, and you'll get submenus for

every level above your current location. From there you can drill down through the folders as usual.

16

Page 21: Haiku User Guide.pdf

Note, that the Desktop is always the topmost level as that is where Tracker shows mounted volumes.

So, if you want to go to another disk, you first have to navigate to the top (Desktop) and cross over to

your other disk from there.

You'll get the same submenu-navigating when you drag a file over a folder. After a short while of

hovering, a submenu pops up and you can drill down to your destination. If you initiated the drag with

the right mousebutton, you can choose between copying, moving or linking the file when you release

the mouse.

Jumping to files with type-ahead

You may be familiar with the concept from file managers of other operating systems: typing the first

few letters of a filename will jump to the first file matching these starting characters. Haiku took the

idea a step further. If there isn't a file starting with those letters it will jump to the first file including

the string anywhere in its name. And if there's nothing with the string in its filename, the attributes

are searched next.

In the above example, there are many files starting with "Haiku logo", rendering simpler approaches

to typing ahead quite useless. In Haiku however, typing "web" jumps right to its first occurence in

"Haiku logo - website". The characters you enter appear in the bottom left corner where you normally

find the item count of all files in the folder. A second after entering a character, the display jumps

back to normal and you're ready for a new type ahead search.

Appearance

17

Page 22: Haiku User Guide.pdf

Tracker windows offer three different viewing modes from the Window menu:

Icon View ( ALT 1 ) - Big icons, you can change the size from the submenu or in/decrease their size

with ALT + / ALT - .

Mini Icon View ( ALT 2 ) - Small icons.

List View ( ALT 3 ) - A detailed list of your files enabling you to show/hide available attributes. (See

topic Attributes.)

The Window menu offers a number of other functions:

Resize Window ( ALT Y ) - Resizes the window to its ideal size.

Clean Up ( ALT K ) - Aligns all icons to an invisible grid. Hold down SHIFT and the menu becomes

Clean Up All which additionally sorts all icons alphabetically.

Select... ( SHIFT ALT A ) - Select files according to a regular expression.

Close ( ALT W ) - Closes the window. Hold down SHIFT and the menu becomes Close All which closes

every Tracker window.

Close All in Workspace ( ALT Q ) - Closes every Tracker window in the current workspace. A useful

shortcut if you forgot to hold the OPT key while clicking through folders and all those still open

Tracker windows clutter your workspace.

Sometimes you just want to rearrange a few icons without doing a complete Clean Up ( ALT K ). In that

case, you select these icons and start to drag them to their new location. Before you drop them there,

keep ALT pressed. This will align the icons to the invisible grid.

The rest of the functions are pretty self-explanatory, leaving the Tracker preferences.

Tracker preferences

Window | Preferences... opens a panel that offers a number of settings that, where not obvious, should

become clear once tried out. Since all settings are applied live, you'll immediately see the changes.

So, in short, the not so obvious settings:

Desktop - Decide if all mounted disks appear directly on the Desktop or in a window after clicking a

single Disk icon sitting on the Desktop.

18

Page 23: Haiku User Guide.pdf

Windows - You can set Single Window Navigation, i.e. a double-clicked folder doesn't open in its own

window, but inside the already open window instead, replacing the view of it's parent folder. This is

not the same as clicking while holding the OPT key, as described above, because you'll lose the per

window saved position and size.

Before you switch Tracker to Single Window Navigation mode, because that may feel more familiar

to you, we recommend giving the menu based browsing a try first, as that may actually work much

faster for you after getting used to. On the other hand, single window browsing offers a Navigator

where you can enter or copy&paste a path name and use back, forward and up buttons.

Date and Time - Set date and time formats.

Trash - Set the behavior when deleting a file.

Volume Icons - Set the color of an optional indicator of free space that's shown besides a disk's

icon.

This panel, by the way, is also available as Tracker from Deskbar's Preferences.

Working with files

When invoked on a selected file, most of the File menu commands are also offered in the context

menu by right-clicking that file.

As usual the commands are pretty clear.

Find... - Find a file or folder. See topic Query for more info.

19

Page 24: Haiku User Guide.pdf

New - Create a new folder or any other file based on a template.

>

Choosing Edit Templates... opens the folder /boot/home/config/settings/Tracker/Tracker New Templates.

Creating a file in that folder will offer its filetype with the file's name and other attributes as

template in the New menu. Here, there's a file "Text" with the filetype text/plain. See topic

Filetypes for more info.

Open With... - A submenu offers all applications that can handle this filetype.

The preferred application that would open the file when double-clicked, is checkmarked. This

submenu lists first those applications that can handle the exact filetype, in this case it's a text file,

the type text/plain. Next come all applications that can handle that supertype in general, here

text/*. Last in the list are those that can deal with any file. If you don't click on an app in the

submenu, but on the Open With... entry instead, a panel opens:

20

Page 25: Haiku User Guide.pdf

Here you'll again find the programs that were listed in the submenu. By selecting one and clicking

the Open and Make Preferred button, you changed the preferred application for every file of that

filetype, here text/plain.

Get Info

The panel presents info on the selected file and lets you set the default application and, after you

expanded that part of the panel, permissions and owner. Clicking on the path will open it in a

Tracker window.

Edit Name, Duplicate and Move to Trash - lets you rename or duplicate a file or put the selected

file(s) to the trash.

Move to, Copy to and Create Link - lets you move, copy or link the selected file(s) using the

submenu navigating method. Holding SHIFT while invoking the menu offers the option to create a

relative link.

Cut, Copy and Paste - lets you cut, copy and paste files using the clipboard. By holding SHIFT while

invoking the menu you can Copy/Cut more files, maybe from another folder that you can paste

somewhere else later. Also, while holding SHIFT you can paste the copied files in the clipboard as

links.

21

Page 26: Haiku User Guide.pdf

Identify - will sniff out and set the type of files if they didn't have one before, e.g. if you transferred

a file with wget which doesn't set a filetype itself. Holding SHIFT while invoking the menu changes

the item to Force Identify which identifies the filetype and corrects it if it was false before.

Add-Ons - offers you every generic Tracker add-on and those that can handle the selected file(s).

See topic Tracker Add-ons for more information.

Transaction status

When you copy, move or delete files, Tracker shows its progress with a status window. If you initiate

more than one transaction, each job gets its own status display.

To the right are two buttons to pause or stop a transaction entirely. Sometimes it can be useful to

temporarily pause a large transaction. For example, you may need to quickly launch a large

application. Copying large amounts of data chokes your harddisk's IO bandwidth and thus delays your

workflow.

22

Page 27: Haiku User Guide.pdf

Tracker Add-Ons

Applications can install add-ons so they can be invoked easily on a selection of files from Tracker.

Only the add-ons that can handle a specific filetype are presented under Add-Ons from the context

menu or the File menu of a Tracker window. Some add-ons don't necessarily need a file to work on

and are thus always present.

Tracker Add-Ons, or links to applications that can act as add-ons, can be installed in three different

locations (see topic Filesystem layout):

/boot/system/system/add-ons/Tracker/ for system provided add-ons.

/boot/common/add-ons/Tracker/ for add-ons available to every user.

/boot/home/config/add-ons/Tracker/ for add-ons only available to yourself.

The file name of an add-on can be suffixed with a dash and capital letter, and is then available via

keyboard shortcut. For example, Open Target Folder-T opens with ALT OPT T .

Of course, you have to take care of possible shortcut collisions when deciding on a shortcut. You can't

have the same for different add-ons.

Haiku's Tracker Add-Ons

These Tracker Add-Ons come with every Haiku installation:

Background-B Opens the Background preferences to change the color or image of the Desktop

or any folder. Invoked on an image file the Background panel is launched with that

image already loaded as a potential background.

DiskUsage-I Starts the DiskUsage application with the according folder as basis.

FileType-F Invoked on a file, opens its specific FileType panel, otherwise the general

FileTypes preferences are launched.

Open Target

Folder-T

It can only be used on a linked file and opens the folder that file lives in.

TextSearch-G Starts the TextSearch application to look for a string in the selected folder (and

its subfolders).

ZipOMatic-Z A selection of files will be added to a zip archive, invoked without a selection

opens a panel to create an archive via drag&drop.

23

Page 28: Haiku User Guide.pdf

Shortcuts and key combinations

By default, Haiku's shortcut key, to invoke commands from menus for example, is not the usual CTRL

key, but ALT instead. This has historical reasons, because the BeOS was inspired somewhat by

MacOS. After you get used to it, it actually has advantages as e.g. ALT C and ALT V integrate

seamlessly into the bash (Bourne Again Shell) shell of the Terminal, where CTRL C quits the running

process.

In any case, you can switch to the maybe more familiar CTRL key in the Keymap preferences. The

user guide will always describes the default configuration with the command key being ALT .

If you're in doubt which keys are the OPT or MENU keys on your particular keymap/keyboard-layout,

again use the Keymap preferences. There you can see what keystroke is sent when you press a key

on your keyboard.

General shortcuts

Here's a table of many of the most commonly used shortcuts that are always available, even if there

isn't a corresponding menu:

ALT FX Switches to Workspace X ( FX is the function key corresponding to that

workspace).

CTRL ALT ← / → / ↑ /

Navigates spatially the rows/columns of the available workspaces.

CTRL TAB Hold down to bring up the Twitcher.

CTRL ALT DEL Opens the Team Monitor.

ALT ESC Enters the menu bar (leave with ESC ).

ALT C Copies the selection to the clipboard.

ALT X Cuts the selection to the clipboard.

ALT V Pastes the clipboard's contents.

ALT W Closes the active window.

CTRL ALT Z Expands a window to an alternative size (maximum size for most

applications).

CTRL ALT M Minimizes the active window.

CTRL ALT H Hides (minimizes) all windows of the active application.

ALT Q Quits an application.

Shortcuts for Tracker navigation

Additionally to the general shortcuts, here are some more for navigating with Tracker:

ALT ↑ Opens the parent folder.

24

Page 29: Haiku User Guide.pdf

ALT ↓ or

ENTER

Opens the selected folder.

OPT Holding it while opening a folder will automatically close the parent folder. This

also works when navigating with the mouse.

MENU Opens the Deskbar menu (leave with ESC ).

ALT Z Undo last action. The undo history is only limited by the available memory. Note,

this only works for actions on the file itself, changed attributes and permission

settings can't be undone with this. Also, once a file is removed from Trash it's gone

for good.

ALT SHIFT Z Redo the action you just reverted with ALT Z .

Shortcuts in Terminal

ALT N Opens another Terminal session in a new window.

ALT T Opens another Terminal session in a new tab.

ALT 1 , 2 , 3 ... Switches to the corresponding tab.

SHIFT ← / → Switches to the previous/next tab.

ALT TAB Switch to the next Terminal window.

ALT + , - Increase/Decrease font size.

ALT ENTER Enter/leave fullscreen mode.

SHIFT ↑ / ↓ Scrolls the Terminal output up/down one line.

SHIFT PAGEUP /

PAGEDOWN

Scrolls the Terminal output up/down one page.

TAB Tab-completion. After entering a few letters, press TAB once to auto-complete a

filename or path. If there is more than one match, it stops where the name starts

to differ and you have to provide some more letters to further distinguish them.

You can also press TAB twice to have all matches listed.

↑ / ↓ Moves up or down in a history of all previously entered commands.

CTRL R Bash history. All the commands you enter are stored in the file ~/.bash_history.

Press CTRL R and start to enter a command and you'll be provided with the first

match from the bash history. Keep pressing CTRL R until you find the right

command line and press enter to execute it.

CTRL C Stops the currently running command.

CTRL D Closes the current Terminal session.

Other key combinations

You can add or remove items to/from a selection by holding down a modifier key while clicking on a

entry (or file in case of Tracker).

25

Page 30: Haiku User Guide.pdf

SHIFT This will select everything between the first selected item and the one you click on.

ALT Adds or removes the item you're clicking on from the selection.

In a Tracker window, if you just start typing, Tracker scrolls to and selects the file that best fits your

incremental search. If there's no file starting with your typed letters, files that contain the search

string anywhere in their name or other displayed attributes are selected. This search is not case-

sensitive.

The letters you type appear at the bottom-left, where normally the number of items is listed. After a

second it reverts back and you could start a new incremental search.

26

Page 31: Haiku User Guide.pdf

Deskbar

The Deskbar is the little panel that by default is located in the upper right corner of the screen. It's

Haiku's version of Windows' taskbar with its Start button. It contains the Deskbar menu from where

you can start applications and preferences, a tray with a clock and other tools below that and a list of

currently running programs at the bottom.

You can move the Deskbar to any corner or as a bar along the upper or lower border of the screen by

gripping the knobbly area on the left side of the tray and drag&drop it into the new position. You can

also fold it into a more compact layout by drag&dropping the knobbly area onto the Deskbar menu.

The Deskbar Menu

A menu opens when you click on the Deskbar's top:

About This System... - Shows some basic information of the system, licenses and the credits of

the Haiku project.

Find... - Opens the Query dialog.

27

Page 32: Haiku User Guide.pdf

Show Replicants - Shows/hides the little Replicant widget you use to drag it around, remove or

access its context menu.

Mount - Offers the same options as when invoked by right-clicking the Desktop (see Mounting

Volumes).

Deskbar Settings

Configure Deskbar

Menu...

Opens a panel to configure the Deskbar menu (see below).

Always on Top The Deskbar always stays above all other windows.

Auto Raise The Deskbar pops to the front if the mouse pointer touches it.

Sort Running

Applications

Sorts the list of running programs alphabetically.

Tracker always First Even if you sort alphabetically, the Tracker entry always stays first in the list.

24 Hour Clock Toggles between 24 and 12 hour clock.

Show Seconds Adds the display of seconds to the clock.

European Date Shows the date in European format: day-month-year

---- Full Date ----

Show Application

Expander

Provides a small widget to show/hide all windows of a program directly under

its entry in the Deskbar.

Expand New

Applications

Newly launched programs have their windows automatically expanded under

their entry in the Deskbar.

Shutdown - Offers options to either Restart System or Power Off.

Recent Documents, Folders, Applications - List of the last recently opened documents, folders

and applications (see Configure Deskbar Menu... below).

Applications, Demos, Deskbar Applets, Preferences - List of installed applications, demos,

applets and preferences (see Configure Deskbar Menu... below).

Configure Deskbar Menu...

28

Page 33: Haiku User Guide.pdf

In this panel you set the number of recent documents, folders and applications that are shown in the

Deskbar, or if you show them at all.

Here, you also configure folders and their contents, which are by default Applications, Demos, Deskbar

Applets, and Preferences. You can add your own entries and edit or remove items.

This part of the panel is just a representation of the folder /boot/home/config/be/. You can just as well

link or copy files and folders or even queries directly in Tracker to configure your Deskbar.

It's even easier to simply drag a file, folder or saved query and drop it where you want it into the

Deskbar.

The Tray

Among other things, the tray is housing the clock. Left-click it to toggle between date and time. Right-

click it to hide/show it or launch the Time preferences to set it.

29

Page 34: Haiku User Guide.pdf

Here you can also launch a calendar that also appears, when you hold down the left mouse button on

the clock for a little time.

Any program can install an icon in the tray to provide an interface to the user. The email system, for

instance, shows a different symbol when there's unread mail and offers a context menu to e.g. create

or check for new mail. ProcessController is another example that uses its icon in the tray to provide

information (CPU/memory usage) and to offer a context menu.

The list of running programs

You can change to a specific running application by clicking on its entry in the Deskbar and choosing

(one of) its windows, from the submenu. By right-clicking you can minimize or close a window or the

entire application.

If you activated Expanders in the Deskbar settings, you can expand/collapse the list of windows

directly under an application's entry.

In front of every application's windows is a symbol providing info on its state. A bright symbol means

a window is visible, a dark one that it's minimized. Three lines in front of a symbol shows that it's not

on the current workspace.

30

Page 35: Haiku User Guide.pdf

Filetypes

Other than Windows, Haiku doesn't rely on the 3-letter file extension for a file type

(e.g. .txt, .jpg, .mp3). This method is only a last resort fallback. Haiku uses MIME (Multipurpose Internet

Mail Extensions) types just like it's custom on the internet.

While there's no reason to use file extensions in Haiku, remember to add them to files

you want to share with users of other operating systems, e.g. over email, uploading to a

server or via exchange of an USB drive. Otherwise their system may not recognize the

file type.

Setting the filetype of a specific file

You can change the type of a specific file, its icon and the associated application. Select the file and

invoke the Add-Ons | Filetype add-on from the right-click context menu.

The File Type

This is a JPEG file, it's MIME string image/jpeg. Let's say you definitely know that it's not a JPEG but a

GIF. You can change that either by entering the correct MIME string by hand or with one of the two

buttons below the textbox:

Select... shows a hierarchical list of filetypes where you navigate to image | GIF Image.

Same

as...

opens a file dialog where you choose any file that already has the filetype you're looking

for.

The Preferred Application

This drop-down menu shows a list of all applications that can handle this particular filetype. From here

you can choose which program should open this specific file when it's double-clicked. You could, for

example, change a HTML file's preferred application from the browser to a text editor while you're

working on it. Every other HTML file still opens in the browser, only this particular one starts in your

text editor.

31

Page 36: Haiku User Guide.pdf

The Default Application is the one that's set globally for that filetype. If you don't find the program you

want to associate with this file in the drop-down menu, you'll again find the buttons Select... and Same

As... which do the similar thing described under "The File Type" above.

The Icon

If you're wondering why the icon well on the top right is empty: Icons are normally inherited from the

system default for that filetype. You can open the Filetype Add-On of a file that contains an icon and

drag&drop it into your file's icon well. Or you double-click the icon well and create or edit your own

icon. For more info on icons and how to create your own, see topic Icon-O-Matic.

Special settings for applications

If you invoke the Filetype Add-On on an executable (here: StyledEdit), you'll get a different dialog:

On top, you'll see, instead of a standardized MIME string, the unique application signature. With it, the

system finds the program wherever it's installed.

Below it are several flags, controlling the app's behaviour:

32

Page 37: Haiku User Guide.pdf

Single Launch Only one instance of the app can be running per executable file. If you have two copies

of that app, however, they can run side by side.

Multiple

Launch

Many instances of the app can run simultaneously.

Exclusive

Launch

Really only one instance with that app's signature is allowed to run at a time.

Args Only Indicates the app doesn't respond to messages.

Background

App

The app won't appear in Twitcher or the list of running apps of the Deskbar.

Then there's the list of supported filetypes. You can add (and remove) filetypes if you think the

application can handle them. As a consequence, the app will appear in the menu for preferred

applications or Tracker's Open with... context menu when you right-click on a file of that type.

At the bottom are version and copyright information. Like the application signature, they are filled in

by the app's author and shouldn't be altered.

Global settings with the Filetypes Preferences

The Filetypes preferences don't deal with individual files but with global settings of filetypes. You can

change default icons and preferred applications or add, remove, or alter attributes of whole filetypes.

You can even create your own filetype from scratch.

All filetypes and their configurations are stored in /boot/home/config/settings/beos_mime/. Before you

start experimenting, it may be prudent to make a backup of that folder...

To learn more about the Filetypes preferences see the workshop: Filetypes, Attributes, Index and

Queries.

33

Page 38: Haiku User Guide.pdf

Attributes

Attributes are data fields that belong to a file but aren't part of that file, e.g. they are not computed

into the file size and can be copied or changed without touching the file itself. The system uses these

attributes to store e.g. file size, file type or date of the last modification. This is similar to other

operating systems and their filesystems.

What's different is that you can add any kind of attribute to any file and display it or make it editable

in a Tracker window. You just have to define the kind of attribute you want to add to a file type (e.g.

string, integer or time) and give it a name and description.

The file itself doesn't even need any contents at all. Take a look at these People files for example:

As you can see, these are all 0-sized files with attached attributes, the E-mail attribute of "John Nox"

being edited right in Tracker.

If you index these attributes, as People, Email or audio files are by default, they are also searchable

with Haiku's fast query system.

Attributes in Tracker

Attributes are displayed quite similar to a database or spreadsheet. Using Tracker you can choose

which attributes to display (columns) and sort file listings (rows) accordingly.

To do this, open a Tracker window, click on the Attributes menu, and select the attributes you want to

display. Alternatively, simply right-click onto a column heading and mark the items in the context

menu. You can rearrange the columns by a simple drag&drop of the column heading. Moving a

column out of a window, is a fast way to get rid of columns you don't need.

Double-click on the line between two attributes in the heading to automatically resize a column to its

optimal width.

Click on a column heading to toggle the sorting order from ascending to descending. You can

establish a secondary sort order by pressing the SHIFT key while clicking on a column heading. Doing

that you can, for example, sort your People files by company and within that order sort by contact

name. See the above screenshot as an example. The secondary sort order is marked by a lighter

colored indicator beside the heading.

34

Page 39: Haiku User Guide.pdf

Editing these attributes is as simple as renaming a file: Either click on an entry or press ALT E and

move between the attributes with TAB and SHIFT TAB . ESC leaves the editing mode without applying

the changes.

Attributes in Terminal

If you prefer to use the commandline or plan to work with many files using scripting, there are several

commands for controlling attributes from Terminal:

listattr - lists a file's attributes, but doesn't show the contents of the attributes.

usage: listattr 'filename' ['filename' ...]

From our screenshot example above:

~/people ->listattr Clara\ Botters

File: Clara Botters

Type Size Name

----------- --------- -------------------------------

MIME String 21 "BEOS:TYPE"

Text 14 "META:name"

Text 6 "META:nickname"

Text 1 "META:company"

Text 18 "META:address"

Text 8 "META:city"

Text 1 "META:state"

Text 1 "META:zip"

Text 1 "META:country"

Text 1 "META:hphone"

Text 13 "META:wphone"

Text 1 "META:fax"

Text 19 "META:email"

Text 1 "META:url"

Text 5 "META:group"

Raw Data 20 "_trk/pinfo_le"

131 bytes total in attributes.

Besides all the "META:*" attributes that hold the contact's information, there are two attributes that

are managed by the system:

BEOS:TYPE holds the file type as a MIME (Multipurpose Internet Mail Extensions) string, here

"application/x-person. It determines the default icon and the application that opens the file when

you e.g. double click it.

"_trk/pinfo_le" is the attribute with which Tracker keeps track of a file's icon position.

35

Page 40: Haiku User Guide.pdf

Note the backslash after "Clara". In Terminal you have to "escape" special characters

like '"*\$?!. The space between "Clara" and "Botters" is also one of those. Therefore

the backslash is really in front of the space character, and not after "Clara".

catattr - displays the contents of a specific attribute of a file.

usage: catattr [--raw|-r] attr_name file1 [file2...]

Again our example:

~/people ->catattr META:city Clara\ Botters

Clara Botters : string : Whelton

addattr - adds an attribute to a file and/or fills it with a value.

usage: addattr [-t type] attr value file1 [file2...]

or: addattr [-f value-from-file] [-t type] attr file1 [file2...]

Type is one of:

string, mime, int, llong, float, double, bool, raw

or a numeric value (ie. 0x1234, 42, 'ABCD', ...)

The default is "string"

So, say dear Clara took a job with the multi-national Barkelbaer Inc., you fill the formerly empty

"Company" attribute with that data (which is of type "string"):

~/people ->addattr -t string META:company Barkelbaer\ Inc. Clara\ Botters

rmattr - completely removes an attribute from a file.

usage: rmattr [-p] attr filename1 [filename2...]

'attr' is the name of an attribute of the file

If '-p' is specified, 'attr' is regarded as a pattern.

Though in all practicality it would be enough to just not fill the "Fax" attribute, you can completely

remove it from Clara's file by typing:

~/people ->rmattr META:fax Clara\ Botters

36

Page 41: Haiku User Guide.pdf

copyattr - copies attributes from one or more files to another. By default, the actual contents of the

file is not copied.

Usage: copyattr <options> <source> [ ... ] <destination>

If you do want to copy the attributes plus the data of the file itself, you can add the option "-d" or "--

data".

More information on these commands and their options can be found by typing the command name

followed by "-h" or "--help".

37

Page 42: Haiku User Guide.pdf

Index

Attributes and Queries are key features of Haiku. While attributes are useful on their own, to

display additional information on a file, for a query on them, they need to be indexed. It puts them

into a lookup table, which in turn makes queries lightning fast.

The index is part of the filesystem and is kept for every volume/partition separately.

Indexing commands in Terminal

There are several commands to manage the index:

lsindex - Displays the indexed attributes on the current volume/partition.

These are the attributes that are indexed by default:

~ ->lsindex

BEOS:APP_SIG

MAIL:account

MAIL:cc

MAIL:chain

MAIL:draft

MAIL:flags

MAIL:from

MAIL:name

MAIL:pending_chain

MAIL:priority

MAIL:reply

MAIL:status

MAIL:subject

MAIL:thread

MAIL:to

MAIL:when

META:address

META:city

META:company

META:country

META:email

META:fax

META:group

META:hphone

META:name

META:nickname

META:state

META:url

META:wphone

META:zip

_signature

_status

_trk/qrylastchange

_trk/recentQuery

be:deskbar_item_status

last_modified

38

Page 43: Haiku User Guide.pdf

name

size

mkindex - Adds an attribute to the index of a volume/partition.

Usage: mkindex [options] <attribute>

Creates a new index for the specified attribute.

-d, --volume=PATH a path on the volume to which the index will be added,

defaults to current volume.

-t, --type=TYPE the type of the attribute being indexed. One of "int",

"llong", "string", "float", or "double".

Defaults to "string".

--copy-from path to volume to copy the indexes from.

-v, --verbose print information about the index being created

Only new files with that attribute come automatically into the index!

Existing files have to be added manually by copying them and deleting the originals after that.

Alternatively you can use the tool reindex.

rmindex - Removes an attribute from the index of a volume/partition.

Usage: rmindex [OPTION]... INDEX_NAME

Removes the index named INDEX_NAME from a disk volume. Once this has been

done, it will no longer be possible to use the query system to search for

files with the INDEX_NAME attribute.

-d, --volume=PATH a path on the volume from which the index will be

removed

-h, --help display this help and exit

-p, --pattern INDEX_NAME is a pattern

-v, --verbose print information about the index being removed

INDEX_NAME is the name of a file attribute.

If no volume is specified, the volume of the current directory is assumed.

39

Page 44: Haiku User Guide.pdf

Queries

A query is a file search based on file attributes and can be performed within Tracker or in Terminal.

Queries are saved in /boot/home/queries/ and by default last seven days before being purged. Note,

these aren't static result lists of your search, but are the query formulas which trigger a new search

whenever you open them.

Even better, you don't have to double-click to re-do a query. You can drill down a saved query just

like any folder by right-clicking on it and navigating through the submenus.

The Find window

You start a query by invoking the Find... menu either from the Deskbar menu or any Tracker window or

the Desktop (which is actually a fullscreen Tracker window). The shortcut is ALT F . You're presented

with the Find window:

1. Select previous or saved queries or save the current query.

2. Narrow down your search from "All files and folders" to specific file types.

3. Define the search method:

by Name - a basic search by filename

by Attribute - an advanced search, you specify search terms for one or more attributes

by Formula - an even more advanced search, you can fine-tune a complex query term

4. Select which drives to search on.

5. Enter the search term.

6. The expander hides/unhides the additional options.

7. Uncheck the Temporary checkbox if you don't want this query self-destruct after 7 days.

8. Check if your query is supposed to Include trash.

9. Optionally, enter a name for this query if you want to save it.

10. You can drag&drop the icon to save the query.

Basic queries - "by Name"

40

Page 45: Haiku User Guide.pdf

If you simply want to find all files on your mounted disks that match a certain pattern, simply leave

the search method at "by Name", enter the search term into the text box and press ENTER .

Advanced queries - "by Attribute"

You can create more advanced queries by searching within the attributes of specific file types. For

that to work, these attributes have to be indexed.

You start by setting the filetype from "All files and folders" to "text | E-mail" and change the search method

to "by Attribute".

This adds a drop-down menu to the left of the textbox and the buttons "Add and Remove under that.

From the menu you choose which attribute to query. With Add and Remove you can query additional

attributes or remove them again. These attributes can be logically linked with AND/OR.

Let's do an email query as an example:

This is your Find window when you're looking for all emails Clara Botters has sent to you in the last

two months that had in the subject "vibraphone" or "skepticality".

Even more advanced queries - "by Formula"

Typing in a formula query by hand is daunting and really quite unpractical. It still has its uses.

41

Page 46: Haiku User Guide.pdf

Take the above query by attribute of Clara's mails concerning vibraphones etc. If you have all the

attributes and their search terms set, try switching to "by Formula" mode and be overwhelmed by this

one line query string:

Once more as text, edited for readability:

(((((MAIL:from=="*[cC][lL][aA][rR][aA] [bB][oO][tT][tT][eE][rR][sS]*")

&&(MAIL:when>=%2 months%))

&&(MAIL:subject=="*[vV][iI][bB][rR][aA][pP][hH][oO][nN][eE]*"))

||(MAIL:subject=="*[sS][kK][eE][pP][tT][iI][cC][aA][lL][iI][tT][yY]*"))

&&(BEOS:TYPE=="text/x-email"))

What's the use?

You could copy and paste the string into an email, forum or IRC for others to use or debug.

You can use this method to construct a query in Attribute mode and then switch to Formula mode, to

comfortably generate a search string to use for a query in Terminal or a script.

You can fine tune your query by inserting parenthesis where needed, make parts case-sensitive or

negate logical combinations by changing. e.g. "==" to "!=" for a NOT AND. All you need is a basic

understanding of regular expressions and maybe some scripting basics.

The result window

After you start a search, the Find window will be replaced by a result window. Here is an example that

queried for "server":

42

Page 47: Haiku User Guide.pdf

Besides the gray background, result windows work exactly like any other Tracker window. Some

things are worth noting:

You can open the folder a file resides in by double clicking on its path attribute.

With File | Edit Query or ALT G you get back to your Find window to refine your query.

A query is live, i.e. if a file that matches your search criteria appears or disappears from your

system, this change is reflected in your results in real-time.

You can assign a sensible attribute layout for query results of a specific filetype. Open a folder

containing files of the filetype you'd like to create a template for and arrange the attributes how you'd

like to have query results presented. Copy this layout with Attributes | Copy Layout.

Open /boot/home/config/settings/Tracker/DefaultQueryTemplates, create a new folder and rename it to

group/filetype, replacing slashes with underscores, e.g."audio_x-mp3". Open the new folder and paste

in the layout with Attributes | Paste Layout.

43

Page 48: Haiku User Guide.pdf

Workshop: Filetypes, Attributes, Index and Queries

This is a workshop to show the use of Attributes, Queries, the Index and custom Filetypes. As an

example, we build a database to keep track of our DVD library.

Preparations

Let's first decide what filetype and attributes would serve our needs. Originally, I wanted to use a

Bookmark file with a link to the movie's IMdB page, but Haiku doesn't have a "bookmarkable" browser

like BeOS' NetPositive at the moment, so I came up with this: The file itself will be a JPEG image for the

movie cover.

To that we add a couple of attributes. Here we have to decide if we want to query it later (then we

have to add it to the index) and if so, what type of attribute it should be. Numbers (int, float) can be

evaluated differently than text (</=/> vs. is/contains/starts with).

Here are the attributes I'd like to see for my DVDs:

Movie titleGenreURL to e.g. IMdBDirector/CastPlotMy rating from 1 to 10Coordinates in my shelf, e.g. A2, B3, so I find the DVD also in Real Life :)If so, who's borrowed the disk...

Creating a custom filetype

Start the Filetypes preferences, and click on the Add... button below the hierarchical list on the left. A

small dialog opens and you specify in which MIME Group your new filetype will reside. You can also

create a completely new group. Let's put it into "applications" and set the "Internal Name" to DVDdb.

44

Page 49: Haiku User Guide.pdf

Now, a panel for your new DVDdb filetype opens:

Icon

45

Page 50: Haiku User Guide.pdf

Double-click the icon well to open Icon-O-Matic to design an icon for your filetype. You can also

drag&drop an icon from the icon well of another type, maybe as starting point for a modified version.

File Recognition

You can add suffixes like .txt, .jpg, .mp3 to recognize files by their extention. Useful when working with

files from systems without MIME typing. We don't need that for our example.

Description

Type Name - Appears e.g. in the Attribute menu of Tracker windows and the "Kind" attribute of afile.Description - A bit more detailed description.

Preferred Application

This drop-down menu shows a list of all applications that can handle this particular filetype. From here

you can choose which program should open this specific file when it's double-clicked.

Select... opens a file dialog where you choose the application to open with this filetype. Here, we set

ShowImage to display the DVD's cover.

Same

as...

opens a file dialog where you choose any file that already has the preferred application set

that you're looking for.

Extra Attributes

Here we enter all the custom attributes we decided on in our preparations. Clicking the Add... button

opens a panel:

46

Page 51: Haiku User Guide.pdf

Attribute Name - Appears e.g. as the column heading in Tracker windows.

Internal Name - Is used for indexing and querying the attribute.

Type - Defines the value the attribute can hold and therefore how it can be queried.String for normal textBoolean for binary data: 0 or 1Integer for integer numbers with different ranges:

8 bit: ± 25516 bit: ± 65,53532 bit: ± 4,294,967,29564 bit: ± 18,446,744,073,709,551,615

Float for floatingpoint numbers, single precisionDouble for floatingpoint numbers, double precisionTime for time and date format

Visible - This checkbox determines if the attribute is visible in a Tracker window at all. Since theTracker will be the interface to our DVD database, we check it and define its appearance with:

Display As - Leave on "Default". In the future more option will become available, e.g. a bar or starsfor a rating etc.Editable - Determines if the attribute shall be editable in Tracker.Width - The default width of that attributes column in a Tracker window.Alignment - The attribute can be displayed left, center, or right aligned.

Now, insert all the info for our attributes:

47

Page 52: Haiku User Guide.pdf

Internal Name Attribute type indexed? Description

DVDdb:title text yes Movie title

DVDdb:genre text yes Genre

DVDdb:url text no URL

DVDdb:cast text yes Director/Cast

DVDdb:plot text no Plot

DVDdb:rating int-32 yes Rating 1 to 10

DVDdb:coord text no Shelf

DVDdb:lent text yes Lent to

Indexing

Before we start entering data in our little DVD database, we should add certain attributes to the

Index. Only indexed attributes can use Haiku's fast Queries.

So, what will we be searching in the future? We probably won't ask "What's in the B4 coordinate in my

shelf?" or "Does the IMdB URL or the plot of the movie contain the word 'pope-shenooda'?".

This leaves these attributes:

Internal Name Attribute type

DVDdb:title text

DVDdb:genre text

DVDdb:cast text

DVDdb:rating int-32

To index them, we open a Terminal and simply add one attribute after the other:

mkindex -t string DVDdb:title

mkindex -t string DVDdb:genre

mkindex -t string DVDdb:cast

mkindex -t int DVDdb:rating

48

Page 53: Haiku User Guide.pdf

The -t option defines the type of attribute, which is "string" for all but the rating, which is an integer

number.

Filling in the data

Now, everything's set and we can begin putting some data into our base.

Since our basic file is a cover image, we go to some online resource like IMdB, look for our first movie

and save the cover or movie poster in a new folder where we want to keep our DVDdb files.

Opening that folder we see a typical Tracker window with one JPEG in it. Right-clicking it, we change its

filetype to application/DVDdb with the Filetype Addon. There's more info on this in the Filetypes

document.

Now, we activate all our DVDdb attributes from the Attributes menu of the Tracker window and

rearrange the columns to our taste:

By clicking on a yet empty attribute (or pressing ALT E ) we enter editing mode and fill each attribute.

With TAB and SHIFT TAB you can navigate between attributes.

In our example, we usually start with a downloaded JPG cover and change its type to applications/

DVDdb. There's another elegant way to produce a file to work with. Just copy an empty file of our

filetype to /boot/home/config/settings/Tracker/Tracker New Templates and rename it to DVDdb.

Right-clicking into a Tracker window, you'll find a new entry under New... besides the default "New

folder".

Querying the database

Several hours of grunt work later, we have a nice little database that you can query to find all your

Christina Ricci movies that have a 7+ rating... :)

You can assign a sensible attribute layout for query results of a specific filetype.

Open the folder containing your DVDdb files and arrange the attributes how you'd like to have query

results presented. Copy this layout with Attributes | Copy Layout.

Open /boot/home/config/settings/Tracker/DefaultQueryTemplates, create a new folder and rename it to

group/filetype, replacing slashes with underscores; in our case "applications_DVDdb".

Open the new folder and paste in the layout with Attributes | Paste Layout. Voilà:

49

Page 54: Haiku User Guide.pdf

50

Page 55: Haiku User Guide.pdf

Applications

Before diving into all the applications that come with Haiku, let's have a more detailed look at how to

install and uninstall programs you downloaded somewhere, for example from a site mentioned on the

Welcome page.

Installing applications

Haiku software always comes as an archive. Most of the time it's a ZIP, some old BeOS packages come

in Software Valet's PKG format. Software Valet was able to automatically execute installation scripts,

so after double-clicking you just select a destination folder and everything's taken care of.

If it's a ZIP archive, double-clicking opens Expander where you also set the destination and unpack it. As

explained in the topic Filesystem layout, that destination is either

/boot/common/apps/ for applications available to every user

/boot/home/apps/ for applications only available to yourself

This distinction will only become relevant once Haiku gets multi-user support, of course.

Once the archive is unpacked, you should have a look into the newly created folder. Often you find

ReadMe files or other documentation of interest.

Some programs need further configurations. For example, Tracker Add-Ons, Translators or other

system enhancing components have to be put into the right folders. Either you'll find a little script file

(often with the suffix .sh) like install that you simply double click to have all taken care of.

Sometimes you'll find folders that link to the correct destination named "drag [filename] here...". So,

you simply follow that instruction and you're done.

Most of the time, however, nothing of the sort is necessary and you're done after unpacking.

See topic Deskbar or LaunchBox to see how to add shortcuts to your newly installed application.

Uninstalling applications

If the installation was done with an install script, chances are, there's an uninstall script as well. In that

case, double-click it and you're done.

Otherwise, uninstalling is simply done by deleting the application's folder.

This, of course, leaves back possible configuration files in your ~/config/settings folder. This may be

on purpose, if you want to keep those settings in case you'll install the program again in the future.

Also, when the installation involved those "drag [filename] here..." folders, those files are also left

behind.

One method to quickly get to all the app's files is to do a quick query for a significant part of the

application's name. This will reveal the app's binary, its installation folder and its settings as well as

possible links in the Deskbar etc. Simply select all relevant files and delete them.

Haiku's applications

51

Page 56: Haiku User Guide.pdf

Haiku comes with a set of mostly small but essential applications. You'll find all of them at /boot/

system/apps/ or /boot/common/apps/. Applications that are not usually launched by a double-click on a

data file (e.g. ShowImage for image files) can be found in the Applications menu of the Deskbar.

ActivityMonitor A tool to track system resources like CPU and memory usage.

CDPlayer A player for audio CDs.

CharacterMap An application that shows the Unicode character map.

CodyCam A tool to regularly upload images from a webcam to a server.

DeskCalc A calculator.

DiskProbe A HEX editor for files and devices.

DiskUsage A tool to visualize a disk's memory usage.

DriveSetup A harddisk partitioning tool.

Expander A tool to unpack common archives.

Icon-O-Matic An app to create Haiku's vector icons.

Installer The tool to install Haiku to a partition.

Magnify A magnified view of the area around your mouse pointer.

Mail An email client. [still missing]

MediaPlayer A player for all supported audio/video files. [still missing]

MidiPlayer A player for MIDI files. [still missing]

PackageInstaller Installer for BeOS packages in PKG format. [still missing]

People A contact manager.

PoorMan A simple web server.

Screenshot A tool to take screenshots.

ShowImage A simple image viewer. [still missing]

SoundRecorder A tool to record audio from line-in or a microphone. [still missing]

StyledEdit A simple text editor.

Terminal Access to the bash.

TextSearch A search tool for text files. [still missing]

TV A viewer for analog TV. [still missing]

Bundled applications

Besides the above listed programs, which are all maintained by the Haiku project, there are a few

essential applications bundled in a standard Haiku system. Bugs and feature requests for those have

to be filed with the particular maintainer.

BePDF A PDF (Portable Document Format) viewer.

BeZillaBrowser A web browser based on Mozilla's source code.

Pe An advanced texteditor with syntax coloring and much more.

Vision An IRC (Internet Relay Chat) client.

VLC media player VideoLAN's media player.

WonderBrush YellowBite's graphics programm.

52

Page 57: Haiku User Guide.pdf

Desktop Applets

Haiku provides a few useful tools that can be installed on the Desktop or the Deskbar via their

Replicants.

LaunchBox Shortcuts to your favorite applications.

NetworkStatus Is your connection up?

ProcessController See and control every running app and service.

Workspaces A miniature version of all workspaces.

53

Page 58: Haiku User Guide.pdf

LaunchBox

Deskbar: Desktop Applets

Location: /boot/system/apps/LaunchBox

Settings: ~/config/settings/LaunchBox/*

One or more LaunchBox applets can be started to organize shortcuts to your favorite applications or

documents. You decide if each is shown on all or just the current workspace. They can also serve to

quickly open a document in a specific application. For example, you could drag&drop a HTML file onto

a text editor in a LaunchBox to open it in the editor instead of its preferred application, the browser.

All options are reached from the context menu:

Add Button Here Adds an empty button.

54

Page 59: Haiku User Guide.pdf

Clear Button Empties a button.

Remove Button Removes a button.

Settings

- Horizontal Layout

- Icon size

- Ignore Double-click

- Show Window Border

- Auto Raise

- Show On All Workspaces

Aligns the buttons horizontally.

Sets the icon size between 16 and 64 pixel.

Launches the object only once, even when you (accidentally) double-click.

Shows the window border.

LaunchBox pops up if the mouse is near the screen edge.

Shows the LaunchBox on every workspace.

Pad

- New

- Clone

- Close

Add a new pad.

Duplicate the current pad.

Close the current pad.

LaunchBox

- About...

- Quit

Shows the About window.

Quits all LaunchBox pads.

55

Page 60: Haiku User Guide.pdf

NetworkStatus

Deskbar: Desktop Applets

Location: /boot/system/apps/NetworkStatus

Settings: none

Documentation is still missing. If you want to work on it, please announce it on the Documentation

mailing list to avoid duplication.

56

Page 61: Haiku User Guide.pdf

ProcessController

Deskbar: Desktop Applets

Location: /boot/system/apps/ProcessController

Settings: none

Documentation is still missing. If you want to work on it, please announce it on the Documentation

mailing list to avoid duplication.

57

Page 62: Haiku User Guide.pdf

Workspaces

Workspaces are virtual desktops, complete with their own resolution, color depth and background. Up

to 32 of these workspaces can be set from the Screen preferences.

The Workspaces Applet

Deskbar: Desktop Applets

Location: /boot/system/apps/Workspaces

Settings: ~/config/settings/system/app_server/workspaces

~/config/settings/Workspaces_settings - Stores the panel's window position.

You find the Workspaces applet with the other Desktop Applets in the Deskbar. It shows a miniature

version of all workspaces. There are several options available from the context menu of the applet's

window, which are all pretty self-explaining.

Change Workspace Count... will open the Screen preferences where you set the number of workspaces

and their arrangement (how many rows and columns).

Since the applet is a Replicant, you can resize the window as desired and then drag&drop it by its

handle onto the desktop (make sure "Show Replicants" is activated in the Deskbar menu).

Switching workspaces

You switch between workspaces by either clicking into the Workspaces applet or by using the

keyboard shortcut ALT FX , where "x" is the workspace number. It's a good idea to arrange your

workspaces in rows of four to mimick the layout of the FX keys on the keyboard.

Also, clicking on an application or one of its windows in the Deskbar will send you to the workspace it's

in.

Another very convenient way is to use CTRL ALT ← / → / ↑ / ↓ to navigate spatially the rows/columns of

the available workspaces.

You can switch back and forth between two workspaces with ALT ~ (which, depending on the keymap

you're using, is the key below ESC , which you have to hit twice to get a ~).

58

Page 63: Haiku User Guide.pdf

Moving windows between workspaces

To move a window, you grab it in the Workspaces applet and simply drag it to another workspace. This

has the advantage, that you can move it without leaving your current desktop. Of course, that only

works well when there aren't too many windows in a workspace and your target isn't obscured by

other windows. Another possibility is to grab a window by its tab and just holding on to it while

switching workspaces with ALT FX .

Special functionality

The Workspaces applet provides some additional functionality when clicking on a window while

holding certain modifier keys:

CTRL Brings the the window to the foreground.

CTRL SHIFT Minimizes the window.

OPT Sends the window to the back.

59

Page 64: Haiku User Guide.pdf

Preferences

While a key philosophy of Haiku is to cut down on options and have sensible defaults instead, there

are some things that have to be configured or can be set to individual preference. You find all panels

in Deskbar's Preferences menu.

Appearance Configure certain aspects of the graphical interface.

Backgrounds Set a color or image as background of the Desktop or any other folder.

DataTranslations Settings for all supported file formats.

E-mail Configure your email accounts.

FileTypes Add, remove and configure filetypes.

Fonts Set your system fonts.

Keyboard Configure repeat delay and rate.

Keymap Set the mapping of your keyboard.

Media Audio and video settings like in/output devices and the system's audio

mixer.

Mouse Configure your mouse.

Network Configure your network.

Printers Add, remove and configure printers.

Screen Configure resolution, depth and refresh rate.

ScreenSaver Add, remove and configure a screen saver.

Sounds Assign sounds to different system events.

Time Set time, date and timezone.

Tracker Configure Haiku's file manager.

VirtualMemory Set the amount of swap space.

60

Page 65: Haiku User Guide.pdf

Appearance

Deskbar: Preferences

Location: /boot/system/preferences/Appearance

Settings: ~/config/settings/system/app_server/appearance

The Appearance preferences lets you change some aspects of Haiku's visuals.

Colors

In the first tab, Colors, you can change the colors of different parts of the user interface. The color well

accepts drag&drops from other programs, letting you drag colors over from e.g. WonderBrush, Icon-O-

Matic or the Backgrounds panel.

Antialiasing

61

Page 66: Haiku User Guide.pdf

The second tab, Antialiasing, provides different settings for how things are rendered on screen.

Glyph hinting

An activated Glyph hinting aligns all letters in such a way that their vertical and horizontal edges rest

exactly between two pixels. The result is a perfect contrast, especially when dealing with black on

white. Text appears crisper. There's also a setting for "Monospaced Fonts Only" that's especially helpful

with low resolution devices like netbooks. Small fonts can look pretty bad when hinting is turned on,

but with this setting you still have the advantage of hinting for text editors and Terminal.

See the difference hinting makes with these magnified screenshots:

Hinting: off Hinting: on

It should be pointed out that all the Magnify windows on this page are of course rendered themselves

with the different options as well. So, you get a real world impression of the settings by comparing, for

example, the bold yellow tab title or the text "33 x 15 @ 8 pixels/pixel".

Antialiasing type

62

Page 67: Haiku User Guide.pdf

Another technique to improve rendering is Antialiasing, which supports all vector graphics as well as

text. It smooths lines by changing the color of certain pixels. There are two methods for that:

Grayscale changes the intensity of pixels at the edge.

LCD subpixel does an even better job, especially with (high resolution) LCD monitors. Instead of the

intensity of a pixel, it changes its color which moves an edge by a fraction of a pixel, because LCD

displays produce every pixel with a red, green and blue component.

Again, the two different methods with magnified screenshots:

Grayscale, Hinting: off LCD subpixel, Hinting: off

Subpixel based antialiasing adds a slight colored shine to objects. Something not everyone tolerates.

In Haiku you can mix the two antialiasing methods and find the right setting for you by using a slider.

The subpixel based antialiasing in combination with the glyph hinting is subject of a

software patent and is therefore not available by default. Depending on where in the

world you live, you may get an unlocked version. Sorry about that. Talk with your

representative.

If you do activate hinting plus LCD subpixel rendering by changing the source and recompiling, this is

how it looks compared to hinting with Grayscale:

Grayscale, Hinting: on LCD subpixel, Hinting: on

At the bottom of the panel are two buttons:

63

Page 68: Haiku User Guide.pdf

Defaults resets everything to default values.

Revert brings back the settings that were active when you started the Appearance preferences.

64

Page 69: Haiku User Guide.pdf

Backgrounds

Deskbar: Preferences

Location: /boot/system/preferences/Backgrounds

Settings: ~/config/settings/system/app_server/workspaces

~/config/settings/Backgrounds settings - Stores the panel's window position.

You can set a color or an image as background for every folder and the Desktop for every workspace.

The top drop-down menu specifies if your changes are applied to the current workspace, all

workspaces, a specific folder or as default for every new folder.

Below that you can assign an image or select None if you want simply a colored background. Images

can also be drag&dropped onto the preview to the left.

If you are using an image, you have to decide on the placement:

Manual lets you specify the coordinates. You can drag the picture around in the preview to the left

or enter X and Y manually.

Center centers the picture in the middle of the screen.

Scale to

fit

enlarges the picture with no regard to its aspect ratio until it fills the screen.

Tile fills the screen by repeating the picture.

If you are using an image you can activate Icon label outline which will put an thin contour around an

icon's label.

If an icon label's actual text is black or white depends on setting of the color picker. A dark color sets

the text to white, a light color to black. So, if you assign a very bright image to the background, you

should also set the color picker to a bright color in order to have icon labels readable in black. (Or use

the outline option above.)65

Page 70: Haiku User Guide.pdf

The selected color is also reflected in the Workspaces applet, which ignores images as

backgrounds.

Revert brings back the settings that were active when you started the Backgrounds preferences.

Apply sets your changes.

66

Page 71: Haiku User Guide.pdf

DataTranslations

Deskbar: Preferences

Location: /boot/system/preferences/DataTranslations

Settings: ~/config/settings/* - Every Translator creates its own settings file here after you've

changes its defaults.

~/config/settings/system/DataTranslations settings - Stores the panel's window position.

Every application has the ability to open and save every file format for which there's a Translator

installed. The settings for these Translators are configured in the DataTranslations preferences.

Depending on its capabilities, each Translator offers different settings. At least you'll get an Info...

button that opens a window with the credits and the installation path.

The following table gives an overview of the default Translators and their most useful options.

BMP Images 24bit, uncompressed, no transparency

EXR Images ILM (Industrial Light & Magic)'s high dynamic-range (HDR) format

67

Page 72: Haiku User Guide.pdf

GIF Images 8bit, lossless compression, transparency

You can reduce the filesize by limiting the number of used colors and the palette.

You can write images with transparency, either by automatically using the alpha

channel or by setting the RGB value that will be transparent by hand.

JPEG2000

Images

24bit, compressed, no transparency

Here, you normally only care about the output quality.

JPEG Images 24bit, compressed, no transparency

Besides the output quality you can also set a smoothing that will lessen compression

artefacts but can blur the picture a little.

PCX Images 24bit, uncompressed, no transparency, PC Paintbrush Exchange format

PNG Images 32bit, lossless compression, transparency

PPM Images 24bit, uncompressed, no transparency, Portable PixMap format

RAW Images up to 48bit, uncompressed, no transparency

RTF Text Files Formatted text

SGI Images 24bit, optional lossless compression, transparency

StyledEdit Files Formatted text

TGA Images 32bit, optional lossless compression, transparency

TIFF Images 24bit, optional lossless compression, layers, transparency

WonderBrush

Images

32bit, layers, transparency, vector/pixel data

Screenshots, charts, black&white drawings and other images with few used colors, as

well as small pictures are best saved as GIF (up to 256 colors) or PNG (millions of colors).

JPEG, for example, introduces compression artefacts without gain in smaller filesize.

68

Page 73: Haiku User Guide.pdf

E-mail

Deskbar: Preferences

Location: /boot/system/preferences/E-mail

Settings: ~/config/settings/Mail/*

Haiku provides a system that retrieves e-mail regularly via a mail_daemon and saves each mail as a

single text file. It parses the mail and fills its attributes with all necessary header information, like

from, to, subject and its unread status. Now it can be queried by you or any application. This system

also makes switching e-mail clients easy as all the data and your configuration stays the same.

The configuration is done in the E-Mail preference panel.

Creating a new e-mail account

Let's go through the process of setting up an e-mail account.

You start by clicking the Add button to create a new, unnamed account. This opens a panel where you

fill in your account info:

First, declare the Account Type which is either Receive Mail Only, Send Mail Only, or the most usual type,

Send and Receive Mail. Then you set how you get your mail, via POP3 or IMAP.

Now you enter your E-mail Address, Login Name and Password, give an Account Name under which it

will be known under Haiku and your Real Name.

If your account is from a major e-mail provider, Haiku already knows all technical details like server IP

addresses and the following information is already filled in automatically. If that is not the case, just

follow this guide and fill in the details to your e-mail account accordingly.

69

Page 74: Haiku User Guide.pdf

Setting up incoming e-mail

Click on Incoming under your account's name to set up how e-mails are received.

From the drop-down menu you choose the protocol used by your provider. IMAP and POP3 are

supported.

Next is the Mail Server address for incoming mails. If your provider needs you to log into a specific port,

you add that to the address, separated by a colon. For example, pop.your-provider.org:1400.

Then you enter your login information, Username and Password, and if necessary change the Login

Type from the default Plain Text to APOP for authentication.

If you use POP3 and retrieve mails of this account from different computers, you may want to activate

the option to Leave mail on server and only Remove mail from server when deleted locally.

If you use IMAP instead, you have the option to Remove mail from server when deleted locally. You can

specify a Top Mailbox Folder to only synchronize with a specific folder and its subfolders.

The New Mail Notification offers different methods to announce the arrival of new mail. Try different

settings to see what works best for you.

You can change the Location of your inbox (default: /boot/home/mail/in/), which is useful if you'd like

to separate the mails from different accounts into their own folders. However, queries let you sort

things out just as well.

70

Page 75: Haiku User Guide.pdf

Last on this page, you can opt to only Partially download messages that are larger than a certain size. This

will only get the header and you can decide if you want to download the rest of the message plus

possible attachments after seeing the subject and who sent it. Useful if you have a slow connection.

Setting up outgoing e-mail

Click on Outgoing under your account's name to set up how e-mails are sent.

As with incoming mail, you can also change the Location of your outbox (default: /boot/home/mail/

out/).

Next is the SMTP Server address for outgoing mails. As with the incoming server before, you can use a

specific port if needed, e.g. mail.your-provider.org:1200.

If you need to login, you change the Login Type to ESMTP and enter username and password above.

The other type is used for providers that need you to check for mail with POP3 before SMTP for

identification.

Setting up e-mail filters

If you want to filter your incoming email, you click on E-Mail Filters under your account's name to set up

automatic sorting. You can add any number of filters that are applied one after the other. You can

rearrange them by drag&dropping them to their new position.

71

Page 76: Haiku User Guide.pdf

Besides the R5 Daemon Filter that's used for backward compatibility, there are two other Incoming Mail

Filters you can add.

Spam Filter

The spam filter uses statistical methods to classify a mail as unwanted spam. It assigns a value

between 0 and 1 to it and you can decide what are the limits for a genuine mail and what will be

considered spam.

You can have that spam rating added to the start of the subject.

Also, the spam filter can learn from all incoming e-mail. Of course, you'll have to teach it by sorting out

the false positives, mails that were mistakenly marked as spam. You'll find more on that when we

discuss the application Mail.

Together with the following Match Header filter, you're able to automatically sort out detected spam

mails.

Match Header

72

Page 77: Haiku User Guide.pdf

This filter compares a header to a search pattern and performs some action when it matches.

With the first text field you specify which header to check against. These are available:

Name the name of the sender

From the e-mail address of the sender

To your e-mail address (different for each e-mail account)

Reply To the e-mail address replies are sent to

When the date and time the mail was received

Subject the subject line

Cc addresses of anyone receiving a carbon copy (Cc)

Account the name of the e-mail's account

Status The current status of the e-mail. Normally, this can be "Read", "Replied", "Sent",

"Forwarded", "New", or anything you have designated yourself. However, unless you

change it yourself in a filter, it will always be "New" when the mail_daemon fetched

the mail.

Priority is set by the sender's e-mail program (e.g. "urgent")

Thread essentially the same as "Subject", but without things like Re: or Fwd:

Classification

Group

depending on what the spam filter classified it as, this will either be empty (if

uncertain) or contain the word "Genuine" or "Spam"

Spam/Genuine

Estimate

this is a numerical estimate that the spam filter assigned to the e-mail. They are

shown in scientific notation, where 1.065e-12 translates to 1.065 divided by 10 to the

12th power, which in this case translates to 0.000000000001065.

73

Page 78: Haiku User Guide.pdf

The second text field holds your search pattern. It accepts regular expressions which gives it great

flexibility, while unfortunately complicating things a bit. Read up on it a bit, it's well worth it and

simple search patterns aren't that complicated at all.

With the drop-down menu below it, you assign an action when the pattern matches. You can move or

delete a mail, set the status to "Read" or anything else or set the e-mail account you'll reply with.

Outgoing Mail Filters

At this moment, there's only one filter that deals with outgoing mail: fortune.

It will attach a randomly chosen funny or wise "fortune cookie" to the end of every mail before it's

sent out. You can do a dry run by issuing the command fortune in a Terminal.

Setting up the mail_daemon

Now that your incoming and outgoing mail servers (and maybe some filters, too), are configured, you

have to tell the mail_server that does all the actual mail checking and fetching how to do its job.

Under Mail Checking you configure the interval at which the account's mail server is probed for new

mail.

If you're on a dial-up connection, you may want to do that Only When Dial-Up is Connected and also

Schedule Outgoing Mail When Dial-Up is Disconnected to avoid dialing automatically in regularly only to check

for mail.

74

Page 79: Haiku User Guide.pdf

The mail_daemon has a status window which you can set to show up Never, While Sending, While Sending

and Receiving or Always.

Make sure to Start Mail Services on Startup or there will be no mail_daemon running to do your bidding...

Edit Mailbox Menu... will open the folder /boot/home/config/Mail/Menu Links/. All folders or queries (!) or

their links put into this folder will appear in the context menu of the mailbox icon of the Mail Services

in the Deskbar tray.

From that menu, you can also Create New Message..., Check For Mail Now or Edit Preferences....

The mailbox icon itself shows if there are unread messages (status "New") when there are envelopes

inside.

75

Page 80: Haiku User Guide.pdf

FileTypes

Deskbar: Preferences

Location: /boot/system/preferences/FileTypes

Settings: ~/config/settings/FileTypes settings

~/config/settings/beos_mime/* - Stores all MIME types as folders.

Please refer to topic Filetypes and the workshop Filetypes, Attributes, Index and Queries that

explains most of this preference panel.

76

Page 81: Haiku User Guide.pdf

Fonts

Deskbar: Preferences

Location: /boot/system/preferences/Fonts

Settings: ~/config/settings/system/app_server/fonts

~/config/settings/Font_settings - Stores the panel's window position.

Haiku defines three standard fonts for different purposes. You set plain, bold and fixed font types and

sizes that will be used throughout the system. Besides these, there's also a separate setting for the

font used in menus.

Defaults resets everything to default values.

Revert brings back the settings that were active when you started the Fonts preferences.

Installing new fonts

You install new fonts by copying them into their respective user folder, i.e. /boot/common/fonts/ or /

boot/home/config/fonts/ (see topic Filesystem layout).

77

Page 82: Haiku User Guide.pdf

Keyboard

Deskbar: Preferences

Location: /boot/system/preferences/Keyboard

Settings: ~/config/settings/Keyboard_settings

Set the repeat rate and the delay until a held down key starts to repeat. You can test your settings in

the text field at the bottom.

Defaults resets everything to default values.

Revert brings back the settings that were active when you started the Keyboard preferences.

78

Page 83: Haiku User Guide.pdf

Keymap

Deskbar: Preferences

Location: /boot/system/preferences/Keymap

Settings: ~/config/settings/Keymap/* - Location of user modified keymaps.

~/config/settings/Key_map

To the right, the Keymap window shows a representation of your keyboard. When you press a key, the

corresponding key is darkened and the assigned symbol is entered into the Sample and Clipboard text

field at the bottom. From there you can also copy and paste it into a document.

Thus, the Keymap preferences are not only for configuring your local keymap, but are also useful

when looking for a special symbol used in other languages. For example, you can switch the keymap

to "French", find the "ç" and copy it into your mail to François. (Though you'll find the "cedil" also in

other keymaps...)

Pressing modifier keys like SHIFT , CONTROL or OPTION changes the displayed keyboard accordingly.

Then there are the keys that are marked with a blue background. These keys are called Dead Keys

that can change the key you press after that. If you click on such a blue key with your mouse, those

changeable keys light up yellow. Click again and everything's back to normal. Examples are é, ñ, ó or

ë.

Below the keyboard representation are two more options:

Select Dead Keys for setting the above mentioned blue keys.

Switch Shortcut

Key...

for using the shortcut key in Windows/Linux mode, i.e. CONTROL (normally CTRL ) or

Haiku mode, i.e. COMMAND (normally ALT ).

The lists on the left offer the available pre-configured keymaps of the system, and below that, if

available, user-defined maps. You can change a keymap via drag&drop in the keyboard

79

Page 84: Haiku User Guide.pdf

representation: a left-click-drag copies a key, a right-click-drag exchanges the two keys.

When you're done you can save the result from the menu File | Save.... Your modified map will only

appear in the user-defined list if it's stored in ~/config/settings/Keymap/. Otherwise you'll have to

manually load it via File | Open....

To better match the Keymap panel to your physical keyboard, there are several different settings

available from the Layout menu.

The font used in the keyboard representation is set from the Font menu. Note, that it may or may not

contain all symbols for a specific keymap.

Finally, there's a Revert button to bring back the settings that were active when you started the

Keymap preferences.

Advanced keymap manipulation

There's another method to customize your keymap besides the Keymap preference panel. It involves

editing a text file containing loads of hex values, which may appear daunting on first sight, but isn't

really that impossible to grasp.

You can dump the current keymap with a command in Terminal:

keymap -d MyKeymap

The generated text file can then be opened in a text editor. Make sure to use a fixed font in that editor

or you'll never grok that file...

At the beginning of that file, you'll find a legend of a stylized keyboard with the hex value

corresponding to each key. Below that are the actual assignments of every value. You can do all the

customizing that's also available from the Keymap preference panel, and then some. If you happen to

have some special keys on your keyboard, you may be able to activate them. That is, use them as

ordinary keys or like an option or control key. You won't be able to, for example, have your multimedia

keys de/increase the volume or start some application. For this you can use e.g. SpicyKeys.

When you're finished, you'll save the file and have your system load the modified keymap with this

command:

keymap -l MyKeymap

This is the dumped file (the rightmost keys of the stylized keyboard are cut-off for a nicer display on

this page):

#!/bin/keymap -l

#

# Raw key numbering for 101 keyboard...

#

#

# [esc] [ f1] [ f2] [ f3] [ f4] [ f5] [ f6] [ f7] [ f8] [ f9] [f10] [f11] [f12]

80

Page 85: Haiku User Guide.pdf

# 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d

#

# [ ` ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 0 ] [ - ] [ = ] [bck]

# 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e

#

# [tab] [ q ] [ w ] [ e ] [ r ] [ t ] [ y ] [ u ] [ i ] [ o ] [ p ] [ [ ] [ ] ] [ \ ]

# 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33

#

# [cap] [ a ] [ s ] [ d ] [ f ] [ g ] [ h ] [ j ] [ k ] [ l ] [ ; ] [ ' ] [ enter ]

# 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47

#

# [shift] [ z ] [ x ] [ c ] [ v ] [ b ] [ n ] [ m ] [ , ] [ . ] [ / ] [shift]

# 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56

#

# [ctr] [cmd] [ space ] [cmd] [ctr]

# 0x5c 0x5d 0x5e 0x5f 0x60

#

# NOTE: On a Microsoft Natural Keyboard:

# left option = 0x66

# right option = 0x67

# menu key = 0x68

# NOTE: On an Apple Extended Keyboard:

# left option = 0x66

# right option = 0x67

# keypad '=' = 0x6a

# power key = 0x6b

Version = 3

CapsLock = 0x3b

ScrollLock = 0x0f

NumLock = 0x22

LShift = 0x4b

RShift = 0x56

LCommand = 0x5d

RCommand = 0x60

LControl = 0x5c

RControl = 0x00

LOption = 0x66

ROption = 0x5f

Menu = 0x68

#

# Lock settings

# To set NumLock, do the following:

# LockSettings = NumLock

#

# To set everything, do the following:

# LockSettings = CapsLock NumLock ScrollLock

#

LockSettings =

# Legend:

81

Page 86: Haiku User Guide.pdf

# n = Normal

# s = Shift

# c = Control

# C = CapsLock

# o = Option

# Key n s c o os C Cs Co

Cos

Key 0x00 = '' '' '' '' '' '' '' ''

''

Key 0x01 = 0x1b 0x1b 0x1b 0x1b 0x1b 0x1b 0x1b 0x1b

0x1b

Key 0x02 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10

0x10

Key 0x03 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10

0x10

Key 0x04 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10

0x10

Key 0x05 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10

0x10

Key 0x06 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10

0x10

Key 0x07 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10

0x10

Key 0x08 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10

0x10

Key 0x09 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10

0x10

Key 0x0a = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10

0x10

Key 0x0b = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10

0x10

Key 0x0c = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10

0x10

Key 0x0d = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10

0x10

Key 0x0e = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10

0x10

Key 0x0f = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10

0x10

Key 0x10 = 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10

0x10

Key 0x11 = '^' 0xc2b0 '' ' ' '' '^' 0xc2b0 ' '

''

Key 0x12 = '1' '!' '' ' ' '' '!' '1' ' '

''

Key 0x13 = '2' '"' '' 0xc2b2 '' '"' '2' 0xc2b2

''

Key 0x14 = '3' 0xc2a7 '' 0xc2b3 '' 0xc2a7 '3' 0xc2b3

''

82

Page 87: Haiku User Guide.pdf

Key 0x15 = '4' '$' '' ' ' '' '$' '4' ' '

''

Key 0x16 = '5' '%' '' ' ' '' '%' '5' ' '

''

Key 0x17 = '6' '&' '' ' ' '' '&' '6' ' '

''

Key 0x18 = '7' '/' '' '{' '' '/' '7' '{'

''

Key 0x19 = '8' '(' '' '[' '' '(' '8' '['

''

Key 0x1a = '9' ')' '' ']' '' ')' '9' ']'

''

Key 0x1b = '0' '=' '' '}' '' '=' '0' '}'

''

Key 0x1c = 0xc39f '?' '' '\\' '' '?' 0xc39f '\\'

''

Key 0x1d = 0xc2b4 '`' '' ' ' '' 0xc2b4 '`' ' '

''

Key 0x1e = 0x08 0x08 0x08 0x08 0x08 0x08 0x08 0x08

0x08

Key 0x1f = 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05

0x05

Key 0x20 = 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01

0x01

Key 0x21 = 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b 0x0b

0x0b

Key 0x22 = '' '' '' '' '' '' '' ''

''

Key 0x23 = '/' '/' '/' '/' '/' '/' '/' '/'

'/'

Key 0x24 = '*' '*' '*' '*' '*' '*' '*' '*'

'*'

Key 0x25 = '-' '-' '-' '-' '-' '-' '-' '-'

'-'

Key 0x26 = 0x09 0x09 0x09 0x09 0x09 0x09 0x09 0x09

0x09

Key 0x27 = 'q' 'Q' 0x11 '@' '' 'Q' 'q' '@'

''

Key 0x28 = 'w' 'W' 0x17 ' ' '' 'W' 'w' ' '

''

Key 0x29 = 'e' 'E' 0x05 0xe282ac '' 'E' 'e' 0xe282ac

''

Key 0x2a = 'r' 'R' 0x12 ' ' '' 'R' 'r' ' '

''

Key 0x2b = 't' 'T' 0x14 ' ' '' 'T' 't' ' '

''

Key 0x2c = 'z' 'Z' 0x1a ' ' '' ' Z' ' z' ' '

''

Key 0x2d = ' u' ' U' 0x15 ' ' '' ' U' ' u' ' '

83

Page 88: Haiku User Guide.pdf

''

Key 0x2e = 'i' 'I' 0x09 ' ' '' 'I' 'i' ' '

''

Key 0x2f = 'o' 'O' 0x0f ' ' '' 'O' 'o' ' '

''

Key 0x30 = 'p' 'P' 0x10 ' ' '' 'P' 'p' ' '

''

Key 0x31 = 0xc3bc 0xc39c 0x1b ' ' '' 0xc39c 0xc3bc ' '

''

Key 0x32 = '+' '*' 0x1d '~' '' '*' '+' '~'

''

Key 0x33 = '#' '\'' 0x1c ' ' '' '\'' '#' ' '

''

Key 0x34 = 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f 0x7f

0x7f

Key 0x35 = 0x04 0x04 0x04 0x04 0x04 0x04 0x04 0x04

0x04

Key 0x36 = 0x0c 0x0c 0x0c 0x0c 0x0c 0x0c 0x0c 0x0c

0x0c

Key 0x37 = 0x01 '7' 0x01 0x01 '7' 0x01 '7' 0x01

'7'

Key 0x38 = 0x1e '8' 0x1e 0x1e '8' 0x1e '8' 0x1e

'8'

Key 0x39 = 0x0b '9' 0x0b 0x0b '9' 0x0b '9' 0x0b

'9'

Key 0x3a = '+' '+' '+' '+' '+' '+' '+' '+'

'+'

Key 0x3b = '' '' '' '' '' '' '' ''

''

Key 0x3c = 'a' 'A' 0x01 ' ' '' 'A' 'a' ' '

''

Key 0x3d = 's' 'S' 0x13 ' ' '' 'S' 's' ' '

''

Key 0x3e = 'd' 'D' 0x04 ' ' '' 'D' 'd' ' '

''

Key 0x3f = 'f' 'F' 0x06 ' ' '' 'F' 'f' ' '

''

Key 0x40 = 'g' 'G' 0x07 ' ' '' 'G' 'g' ' '

''

Key 0x41 = 'h' 'H' 0x08 ' ' '' 'H' 'h' ' '

''

Key 0x42 = 'j' 'J' 0x0a ' ' '' 'J' 'j' ' '

''

Key 0x43 = 'k' 'K' 0x0b ' ' '' 'K' 'k' ' '

''

Key 0x44 = 'l' 'L' 0x0c ' ' '' 'L' 'l' ' '

''

Key 0x45 = 0xc3b6 0xc396 '' ' ' '' 0xc396 0xc3b6 ' '

''

84

Page 89: Haiku User Guide.pdf

Key 0x46 = 0xc3a4 0xc384 '' ' ' '' 0xc384 0xc3a4 ' '

''

Key 0x47 = 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a

0x0a

Key 0x48 = 0x1c '4' 0x1c 0x1c '4' 0x1c '4' 0x1c

'4'

Key 0x49 = '' '5' '' '' '5' '' '5' ''

'5'

Key 0x4a = 0x1d '6' 0x1d 0x1d '6' 0x1d '6' 0x1d

'6'

Key 0x4b = '' '' '' '' '' '' '' ''

''

Key 0x4c = 'y' 'Y' 0x19 ' ' '' 'Y' 'y' ' '

''

Key 0x4d = 'x' 'X' 0x18 ' ' '' 'X' 'x' ' '

''

Key 0x4e = 'c' 'C' 0x03 ' ' '' 'C' 'c' ' '

''

Key 0x4f = 'v' 'V' 0x16 ' ' '' 'V' 'v' ' '

''

Key 0x50 = 'b' 'B' 0x02 ' ' '' 'B' 'b' ' '

''

Key 0x51 = 'n' 'N' 0x0e ' ' '' 'N' 'n' ' '

''

Key 0x52 = 'm' 'M' 0x0d 0xc2b5 '' 'M' 'm' 0xc2b5

''

Key 0x53 = ',' ';' ',' ' ' '' ';' ',' ' '

''

Key 0x54 = '.' ':' '.' ' ' '' ':' '.' ' '

''

Key 0x55 = '-' '_' '' ' ' '' '-' '_' ' '

''

Key 0x56 = '' '' '' '' '' '' '' ''

''

Key 0x57 = 0x1e 0x1e 0x1e 0x1e 0x1e 0x1e 0x1e 0x1e

0x1e

Key 0x58 = 0x04 '1' 0x04 0x04 '1' 0x04 '1' 0x04

'1'

Key 0x59 = 0x1f '2' 0x1f 0x1f '2' 0x1f '2' 0x1f

'2'

Key 0x5a = 0x0c '3' 0x0c 0x0c '3' 0x0c '3' 0x0c

'3'

Key 0x5b = 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a 0x0a

0x0a

Key 0x5c = '' '' '' '' '' '' '' ''

''

Key 0x5d = '' '' '' '' '' '' '' ''

''

Key 0x5e = ' ' ' ' 0x00 ' ' ' ' ' ' ' ' ' ' '

85

Page 90: Haiku User Guide.pdf

'

Key 0x5f = '' '' '' '' '' '' '' ''

''

Key 0x60 = '' '' '' '' '' '' '' ''

''

Key 0x61 = 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c

0x1c

Key 0x62 = 0x1f 0x1f 0x1f 0x1f 0x1f 0x1f 0x1f 0x1f

0x1f

Key 0x63 = 0x1d 0x1d 0x1d 0x1d 0x1d 0x1d 0x1d 0x1d

0x1d

Key 0x64 = 0x05 '0' 0x05 0x05 '0' 0x05 '0' 0x05

'0'

Key 0x65 = 0x7f ',' 0x7f 0x7f ',' 0x7f ',' 0x7f

','

Key 0x66 = '' '' '' '' '' '' '' ''

''

Key 0x67 = '' '' '' '' '' '' '' ''

''

Key 0x68 = '' '' '' '' '' '' '' ''

''

Key 0x69 = '<' '>' '' '|' '' '<' '>' '|'

''

Key 0x6a = '' '' '' '' '' '' '' ''

''

Key 0x6b = '' '' '' '' '' '' '' ''

''

Key 0x6c = '' '' '' '' '' '' '' ''

''

Key 0x6d = '' '' '' '' '' '' '' ''

''

Key 0x6e = '' '' '' '' '' '' '' ''

''

Key 0x6f = '' '' '' '' '' '' '' ''

''

Key 0x70 = '' '' '' '' '' '' '' ''

''

Key 0x71 = '' '' '' '' '' '' '' ''

''

Key 0x72 = '' '' '' '' '' '' '' ''

''

Key 0x73 = '' '' '' '' '' '' '' ''

''

Key 0x74 = '' '' '' '' '' '' '' ''

''

Key 0x75 = '' '' '' '' '' '' '' ''

''

Key 0x76 = '' '' '' '' '' '' '' ''

''

86

Page 91: Haiku User Guide.pdf

Key 0x77 = '' '' '' '' '' '' '' ''

''

Key 0x78 = '' '' '' '' '' '' '' ''

''

Key 0x79 = '' '' '' '' '' '' '' ''

''

Key 0x7a = '' '' '' '' '' '' '' ''

''

Key 0x7b = '' '' '' '' '' '' '' ''

''

Key 0x7c = '' '' '' '' '' '' '' ''

''

Key 0x7d = '' '' '' '' '' '' '' ''

''

Key 0x7e = '' '' '' '' '' '' '' ''

''

Key 0x7f = '' '' '' '' '' '' '' ''

''

Acute ' ' = 0xc2b4

Acute 'A' = 0xc381

Acute 'E' = 0xc389

Acute 'I' = 0xc38d

Acute 'O' = 0xc393

Acute 'U' = 0xc39a

Acute 'Y' = 0xc39d

Acute 'a' = 0xc3a1

Acute 'e' = 0xc3a9

Acute 'i' = 0xc3ad

Acute 'o' = 0xc3b3

Acute 'u' = 0xc3ba

Acute 'y' = 0xc3bd

Acute '' = ''

Acute '' = ''

Acute '' = ''

AcuteTab = Normal Shift Option Option-Shift CapsLock CapsLock-Shift CapsLock-Option

CapsLock-Option-Shift

Grave ' ' = '`'

Grave 'A' = 0xc380

Grave 'E' = 0xc388

Grave 'I' = 0xc38c

Grave 'O' = 0xc392

Grave 'U' = 0xc399

Grave 'a' = 0xc3a0

Grave 'e' = 0xc3a8

Grave 'i' = 0xc3ac

Grave 'o' = 0xc3b2

Grave 'u' = 0xc3b9

Grave '' = ''

Grave '' = ''

87

Page 92: Haiku User Guide.pdf

Grave '' = ''

Grave '' = ''

Grave '' = ''

GraveTab = Normal Shift Option Option-Shift CapsLock CapsLock-Shift CapsLock-Option

CapsLock-Option-Shift

Circumflex ' ' = '^'

Circumflex 'A' = 0xc382

Circumflex 'E' = 0xc38a

Circumflex 'I' = 0xc38e

Circumflex 'O' = 0xc394

Circumflex 'U' = 0xc39b

Circumflex 'a' = 0xc3a2

Circumflex 'e' = 0xc3aa

Circumflex 'i' = 0xc3ae

Circumflex 'o' = 0xc3b4

Circumflex 'u' = 0xc3bb

Circumflex '' = ''

Circumflex '' = ''

Circumflex '' = ''

Circumflex '' = ''

Circumflex '' = ''

CircumflexTab = Normal Shift Option Option-Shift CapsLock CapsLock-Shift CapsLock-

Option CapsLock-Option-Shift

Diaeresis ' ' = 0xc2a8

Diaeresis 'A' = 0xc384

Diaeresis 'E' = 0xc38b

Diaeresis 'I' = 0xc38f

Diaeresis 'O' = 0xc396

Diaeresis 'U' = 0xc39c

Diaeresis 'Y' = 0xc5b8

Diaeresis 'a' = 0xc3a4

Diaeresis 'e' = 0xc3ab

Diaeresis 'i' = 0xc3af

Diaeresis 'o' = 0xc3b6

Diaeresis 'u' = 0xc3bc

Diaeresis 'y' = 0xc3bf

Diaeresis '' = ''

Diaeresis '' = ''

Diaeresis '' = ''

DiaeresisTab = Normal Shift Option Option-Shift CapsLock CapsLock-Shift CapsLock-

Option CapsLock-Option-Shift

Tilde ' ' = '~'

Tilde 'A' = 0xc383

Tilde 'O' = 0xc395

Tilde 'N' = 0xc391

Tilde 'a' = 0xc3a3

Tilde 'o' = 0xc3b5

Tilde 'n' = 0xc3b1

Tilde '' = ''

88

Page 93: Haiku User Guide.pdf

Tilde '' = ''

Tilde '' = ''

Tilde '' = ''

Tilde '' = ''

Tilde '' = ''

Tilde '' = ''

Tilde '' = ''

Tilde '' = ''

TildeTab = Normal Shift Option Option-Shift CapsLock CapsLock-Shift CapsLock-Option

CapsLock-Option-Shift

89

Page 94: Haiku User Guide.pdf

Media

Deskbar: Preferences

Location: /boot/system/preferences/Media

Settings: ~/config/settings/Media/*

~/config/settings/System Audio Mixer

~/config/settings/MediaPrefs Settings - Stores the panel's window position.

Documentation is still missing. If you want to work on it, please announce it on the Documentation

mailing list to avoid duplication.

90

Page 95: Haiku User Guide.pdf

Mouse

Deskbar: Preferences

Location: /boot/system/preferences/Mouse

Settings: ~/config/settings/Mouse_settings

Set your type of mouse: 1, 2 or 3 button mouse. You can simulate the 2nd (=right) mouse button by

holding down CTRL while left-clicking. For the 3rd (=middle) mouse button, it's CTRL ALT and a left-

click. A middle-click is also simulated by clicking left and right button together. Useful for notebooks,

which mostly don't have a 3rd button.

You can rearrange the mouse buttons by clicking on them and choose their new meaning from the

drop-down menu.

With the sliders to the right, you adjust double-click speed, mouse speed and acceleration.

Focus follows mouse means, that you don't have to click into a window to activate it. There are three

modes:

Enabled The window under the mouse pointer is always activated automatically, but doesn't pop

to the front.

Warping Choosing a window from Deskbar or the Twitcher will have the mouse pointer glide

smoothly toward it.

Instant-

Warping

Choosing a window from Deskbar or the Twitcher will have the mouse pointer jump

instantly toward it.

All settings are immediately applied.

91

Page 96: Haiku User Guide.pdf

Defaults resets everything to default values.

Revert brings back the settings that were active when you started the Mouse preferences.

92

Page 97: Haiku User Guide.pdf

Network

Deskbar: Preferences

Location: /boot/system/preferences/Network

Settings: /boot/system/etc/resolv.conf

At the top, you choose which network adapter to configure.

Then you specify if you get your network settings dynamically from a server or router via DHCP

(Dynamic Host Configuration Protocol) or if you're using static addresses. If it's the latter, you'll have to

fill out IP Address, Netmask, Gateway and DNS Servers yourself. Otherwise the panel will show the

addresses currently set with DHCP.

Revert brings back the settings that were active when you started the Network preferences.

Apply sets the entered configuration.

93

Page 98: Haiku User Guide.pdf

Printers

Deskbar: Preferences

Location: /boot/system/preferences/Printers

Settings: ~/config/settings/printers/*

Documentation is still missing. If you want to work on it, please announce it on the Documentation

mailing list to avoid duplication.

94

Page 99: Haiku User Guide.pdf

Screen

Deskbar: Preferences

Location: /boot/system/preferences/Screen

Settings: ~/config/settings/system/app_server/workspaces

~/config/settings/kernel/drivers/vesa - Only when running in VESA mode.

~/config/settings/Screen_data - Stores the panel's window position.

Each of your workspaces can have its own resolution and color depth.

The top drop-down menu specifies if your changes are applied only to the current or to all workspaces.

Depending on your graphics card, the other two drop-down menus contain all supported resolution

and depth settings.

After clicking on Apply, the graphics mode is changed and an alert appears, asking you to keep or

cancel the changes. If you don't answer that alert, the graphics mode reverts after 12 seconds to the

previous setting. Maybe you couldn't see the alert because your monitor didn't support the setting.

To the left, you can set the number of workspaces and arrange them in columns and rows and open

the Backgrounds preferences.

Revert brings back the setting that was active when you started the Screen preferences.

95

Page 100: Haiku User Guide.pdf

ScreenSaver

Deskbar: Preferences

Location: /boot/system/preferences/Screensaver

Settings: ~/config/settings/ScreenSaver_settings

The panel of the ScreenSaver preferences is split into two tabs:

Fade

The top checkbox enables/disables the screen saver.

With the slider below it, you control after how long an idle time the screen saver kicks in.

The next two sliders are only usable after you activated their checkboxes:

One slider determines after how many minutes the screen is powered off.

The other, after how many minutes you need a password to unlock your machine.

By clicking into different corners of the two screens at the bottom, you tell the system when to

immediately start the screen saver or when to prevent it from kicking in when you rest the mouse in

the indicated corner. Click in the middle of the screens to disable that feature again.

Modules

96

Page 101: Haiku User Guide.pdf

The second tab shows a list of all installed screen saver modules and their individual settings. You can

test your settings with the Test button below the list and add modules with the Add... button beside it.

Other ways to install new screen savers is by a simple drag&drop into the list. Of course, you can also

copy/delete a module's file in its respective user folder, i.e. /boot/common/add-ons/screensavers/ or /

boot/home/config/add-ons/screensavers/ (see topic Filesystem layout).

97

Page 102: Haiku User Guide.pdf

Sounds

Deskbar: Preferences

Location: /boot/system/preferences/Sounds

Settings: ~/config/settings/Media/MMediaFilesManager

You can assign sounds to certain events in the system. Just select the event from the list and choose a

sound from the drop-down menu below.

None will silence an event.

Other... will open a file panel to find a new sound that isn't yet in the menu.

You can use any format that's supported by the system. If MediaPlayer can deal with it, so can any

other program.

You can "pre-hear" an event's sound by selecting it and using the Play and Stop buttons.

98

Page 103: Haiku User Guide.pdf

Time

Deskbar: Preferences

Location: /boot/system/preferences/Time

Settings: ~/config/settings/RTC_time_settings

~/config/settings/timezone - A link to the current timezone in /boot/system/etc/timezones/

*/*

~/config/settings/Time_settings - Stores the panel's window position.

The panel of the Time preferences is split into two tabs:

Date & Time

On the left side, you can set the day of the month by simply clicking on it in the calendar. You change

the month and year by clicking on it and using the up/down arrows to the right or the cursor keys on

your keyboard.

Similarly, you set the time. There are two modes for the clock:

Local Time to display your local time.

GMT to display Greenwich Mean Time.

Timezone

99

Page 104: Haiku User Guide.pdf

Simply find and choose your location from the drop-down menu and the list of cities and press Set Time

Zone to set your zone.

Revert brings back the settings that were active when you started the Time preferences.

100

Page 105: Haiku User Guide.pdf

Tracker

Deskbar: Preferences

Location: /boot/system/preferences/Tracker

Settings: ~/config/settings/Tracker/TrackerSettings

The Tracker preference panel is also available from every Tracker window with the menu Window |

Preferences....

Its functions are discussed in the topic on Tracker.

101

Page 106: Haiku User Guide.pdf

VirtualMemory

Deskbar: Preferences

Location: /boot/system/preferences/VirtualMemory

Settings: ~/config/settings/kernel/drivers/virtual_memory

~/config/settings/VM_data - Stores the panel's window position.

Virtual memory let's the system swap out memory to harddisk, if the RAM can be used more sensibly

for other things. So, even if you have lots of RAM, providing virtual memory is never a bad idea.

You can set the size to even more than your physical memory size if needed. With today's huge

harddisks, assigning the physical memory size shouldn't be a problem. Still, you can quickly adjust the

size if your free space ever runs low. In that case you should also have a look at DiskUsage to find

out what's eating up your diskspace.

Normally, the swap file's written to your boot partition. If you often run into disk thrashing due to the

virtual memory system swapping memory in and out, you can try to use a separate harddisk for you

swap file. Simply another partition on the same harddisk with your system/data won't help.

Upgrading your RAM is of course the most effective way to go...

Defaults resets everything to default values.

Revert brings back the settings that were active when you started the VirtualMemory preferences.

102

Page 107: Haiku User Guide.pdf

Bash and Scripting

"Scripting" is the technique of automating procedures by stringing together commands and saving it

all as text files, so called "scripts". Every time you run such a script, the commands are processed one

after the other just like they would if you entered them into the Terminal by hand.

Scripts can range from simply executing a few commands in a specific order to sophisticated pieces of

code that solve complex tasks.

The Bash

Since scripts rely naturally a lot on the shell they are interpreted by, you should first familiarize

yourself with the BASH that's used by Haiku. There are many resources online as it's a widely used

shell. One nice document is Johan Jansson's Introduction to bash - a tutorial for bash under

BeOS <http://www.beforever.com/bashtut.htm>.

The Scripting Bible

After you've learned a few basics about working in the shell, it's time to slowly ease yourself into the

world of scripting. Again, you'll find loads of tutorials and reference material online as well as in

bookstores. A very nice introduction that's practically tailor-made for Haiku is the online available

Scripting Chapter <http://www.birdhouse.org/beos/bible/bos/ch_scripting1.html> (PDF, 900kb) of Scot

Hacker's BeOS Bible.

Scripts in Haiku

In Haiku, the system makes of course also use of scripting. Booting and shutting down are typical

scripting procedures. These defined sequences can be augmented by the user with certain user

scripts.

If they don't exist already, you'll have to create the needed files yourself. Otherwise simply add your

commands where in the process you want them to be executed.

The UserBootscript

/boot/home/config/boot/UserBootscript will be executed after the system has finished its boot process.

For example, you could launch a number of programs that would then be automatically started on

every boot up:

# Start LaunchBox

/boot/system/apps/LaunchBox &

# Start Workspaces Applet

/boot/system/apps/Workspaces &

103

Page 108: Haiku User Guide.pdf

Remember to end a command with an "&" to start it as a background process, or the script will halt

until that command has finished (in this case: the launched app was closed again).

A simple alternative to the above for launching applications at boot up is to put links to them in the /

boot/home/config/boot/launch directory. This can be done simply by right-clicking on the application

you wish to have started automatically, going to Create Link and then navigating to the above

directory.

The UserShutdownScript

/boot/home/config/boot/UserShutdownScript will be executed as the first step in the shutdown process. If

the script returns a non-zero exit status, the shutdown is aborted.

The UserShutdownFinishScript

/boot/home/config/boot/UserShutdownFinishScript is executed as the last step in the shutdown process.

Note, that most parts of the system have terminated by the time this script is executed.

104

Page 109: Haiku User Guide.pdf

Terminal

Deskbar: Applications

Location: /boot/system/apps/Terminal

Settings: ~/config/settings/Terminal_settings

~/.profile - adds/overrides defaults in /boot/system/etc/profile

~/.inputrc - adds/overrides defaults in /boot/system/etc/inputrc

The Terminal is Haiku's interface to bash, the Bourne Again Shell.

Please refer to the topic on Scripting for a few links to online tutorials on working in the shell. Here,

we'll concentrate on the Terminal application itself.

Appearance

You can open as many Terminals as needed, either each in it's own window by simply launching more

Terminals or with ALT N from an already running Terminal. Or you use Terminal's tabbed view and

open another tab with ALT T .

A Terminal window can be resized like any other window or you use the presets from the Settings |

Window Size menu. ALT ENTER toggles fullscreen mode.

Changed window size and text encoding are only kept choosing Settings | Save as default.

Settings | Preferences opens a panel where you can set font type, font size and the different text and

background colors. You can save different settings as separate profiles, which on double-click open an

105

Page 110: Haiku User Guide.pdf

accordingly configured Terminal.

Pressing OK will save the current settings as default.

Bash customization

Coming from Unix, there are countless possibilities to customize the bash itself. There are two files

that are especially important to the user: .profile and .inputrc

Both files can be created in the home/ folder and add or override the system defaults that are defined

in /boot/system/etc/.

.profile

The .profile is loaded every time you open a new Terminal. It sets all kinds of aliases and variables

that will affect bash's behavior and appearance. You'll find many online resources that will detail all

possibilities.

The Haiku/BeOS Tip Server has quite a few tips to get you started, for example:

Customize your Terminal prompt

More prompt customizations

Enhancing bash

Custom keyboard shortcuts

There are more, have a look.

.inputrc

The .inputrc deals with keybindings. Since Haiku provides useful defaults, you probably don't have to

mess with these more involved settings. If you do have special needs here, consult one of the many

online resources, e.g. The GNU Readline Library.

Keyboard shortcuts

You'll find a list of useful shortcuts in Shortcuts and key combinations.

Hints for working with the Terminal

Dragging a file or folder from a Tracker window into the Terminal will insert its path at the location of

the cursor. Dragging with the right mouse button offers additional actions in a context menu:

Insert Path Inserts the location of the file, same as drag&dropping with the left mouse button.

Change Directory Changes to the folder of the dragged file.

Create Link Here Creates a link to the dragged file in the current working directory of the Terminal.

Move Here Moves the dragged file into the current working directory of the Terminal.

Copy Here Copies the dragged file into the current working directory of the Terminal.

You can open any file with its preferred application with the command open [filename]. This also

works with the representation of the current (".") and parent ("..") folder which then open in a

Tracker window. So, to open the current working directory, you type:

106

Page 111: Haiku User Guide.pdf

open .

107

Page 112: Haiku User Guide.pdf

Recommended