summaryrefslogtreecommitdiff
path: root/docs/usermanual/usermanual.tex
blob: 97df90ce4eb704484b52598ff360f9b7e2f58df2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
\documentclass[12pt,letterpaper,oneside, openany]{book} \usepackage[latin1] {inputenc}
\usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb}
\usepackage[pdflatex]{hyperref}
\hypersetup{bookmarks=true, bookmarksopen=false,pdftitle={Opie User Manual},pdfauthor={The Opie Team}}
\title{Opie User Manual}
\author{The Opie Team}
\begin{document}
\maketitle
\tableofcontents
\part{Getting Started}
\chapter{What is Opie?}
Opie is a GUI (Graphical User Interface) for the Linux operating system (and might work on other OSes as well).  It was originally designed for handheld computers (such as the Compaq/HP iPAQ and the Sharp Zaurus), but which could probably function well in other environments requiring a light GUI, such as an old laptop, or an internet kiosk.  It is bassed upon QT/Embedded from Trolltech, which is in turn a graphical environment designed for embedded applications, based upon the QT toolkit.

Opie has been designed for devices with small screens, and a touchscreen input device (ie, only one mouse click, and no constant mouse position), as well as designed to fit in a relatively small amount of storage space (about 5 megabytes for the base libraries and the launcher).
\chapter{Installation}
\section{iPAQ}
To install opie on an iPAQ, you will need a fresh Familiar installation (ie, install Familiar, and stop before you do ipkg install task-complete or ipkg install task-x), go to http://familiar.handhelds.org to get the latest version, and to get installation instructions (again, stop after the initial boot and do not install X, as it is not necessary, and will only take up space).

Note: If you had qpe/qtopia installed previously, \emph{completely} remove it, and remove the src line for it from your /etc/ipkg.conf file before attempting to install opie.

Once you have Familiar installed, set up a network connection between your iPAQ and the ouside world (again, see the Familiar site for instructions on this), and then run this command:
\begin{verbatim}
     echo src opie "http://131.152.105.154/feeds/ipaq/unstable/" \
          >> /etc/ipkg.conf
\end{verbatim} 
then, run:
\begin{verbatim}
     ipkg update && ipkg install task-opie
\end{verbatim}
If you have a 3100 or 3800 series iPAQ, run:
\begin{verbatim}
     ipkg install qt-embedded-rotation
\end{verbatim}
finally, start Opie with:
\begin{verbatim}
     /etc/init.d/opie start
\end{verbatim}

Opie should now be running (if you should have to reboot, which is rare, Opie will start automatically). From here, you can use either the ``Software'' application in the Settings tab, or run ipkg from the command line to install other Opie apps. Check out the various task-opie-* ipkgs to install various sets of apps at once (you can always uninstall individual apps individually). You will probably want to install opie-embeddedkonsole first, so you have access to the command line in Opie. 

\section{Zaurus}

To completely install Opie on the Zaurus, you will have to install OpenZaurus, which includes Opie. However, individual Opie applications will work fine on the default Zaurus rom. Do not install Opie's launcher on a default Zaurus ROM though.

\chapter{Using Opie}
Now that Opie is installed and running, it's time to start using it.  When you first start Opie, you will see the ``Launcher'' from which you can start all of your Applications, and the ``Taskbar'' along the bottom, where you can see all the running applications, select an input method, and interact with the installed ``applets''.

\section{Getting Around}

Getting around in Opie is very easy, you simply click your stylus on whatever icon or button you want to click on.  The main difference between using the stylus and using a mouse is that you cannot right click with a stylus, so things that require a right click are kept to a minimum.  However, it is sometimes necessary to right click, and this is implemented with a ``press and hold''.  Any time you want to do something that you think would require a right click on a normal pc, try pressing the stylus down and holding it still for a few seconds.  This usually opens up a context sensative menu, much like a right click usually does on a desktop interface.

\section{Launcher}

The Launcher behaves like the ``desktop'' on most PC GUIs.  When no applications are running or visible, you will have access to the Launcher.  You can also map a hardware key to bring the Launcher to the top without closing any of the running applications (this is similar to ``minimising'' all the applications that are running).

Along the top of the Launcher you will see a list of tabs which function as categories for your applications.  You can click on the tab for the category you want to view, and then click on the icon for the application that you wish to launch.  By default, there will be an Applications tab and a Settings tab (if you install any games, they will appear in the Games tab).  When new applications are installed, they will usually appear in one of these three tabs, or in a tab of their own.  To add or delete tabs or to move applications between the tabs, you can use the Tab Manager application, or you can edit them by hand, by changing the directories in /opt/QtPalmtop/apps.

There is also a tab to the far right called the ``Documents'' tab, which allows you to quickly open your most often used documents.  You can click on a document to open it up in the proper application.  For help on adding files to the Documents tab see \ref{docadd} on page \pageref{docadd}

\section{Taskbar}

Opie has a ``Taskbar'' that always runs along the bottom of the screen in Opie, except for a few ``fullscreen'' applications that cover it up.  The Taskbar is what lets you select which input method you would like to use, shows what applications are running, and is also where the ``applets'' draw their icons.  On the left of the Taskbar is an ``O'' button that opens a menu which has an entry for every tab in the Launcher, allowing you to star an applications without going back to the Launcher, or quiting the application that you are running.  On the right hand side of the Taskbar, you will probably see a clock (unless you installed task-opie-minimal), which is actually just another applet that draws the time instead of an icon.

When an application is run, it adds its icon to the Taskbar, starting from the right side of the input method icon, with new application's icons appearing to the right.  If you click on the icon for an application, it will be brought to the screen, allowing you to interact with it.

To the right of the ``O'' menu you will see an icon for the currently selected input method.  Clicking this will bring up the input method, allowing you to type into the currently running application.  To the right of the input method icon is a small arrow pointing up, which will open a menu of all the currently installed input methods when clicked.  When you select one of these, it will become the current input method, with its icon replacing the previous one.

\section{Dialogs}

In Opie, dialogs, as well as some applications, have a button labeled ``Ok'' on the right side of the window title bar, in addition to the normal ``x''.  For dialogs, the ``Ok'' button will apply your changes and close the window, while the ``x'' will cancel them before closing the window (for people used to most desktop GUI's the ``Ok'' and ``x'' behave like the ``Ok'' and ``Cancel'' buttons you would normally see in the bottom right of the dialog window).

For applications that have an ``Ok'' button as well as the ``x'' button that all applications have, the ``Ok'' button will usually save the current file and then close the application, while the ``x'' button will close the application without saving.

\chapter{Upgrading} 

First, you should shutdown Opie from the ``Shutdown'' app in the Settings tab. Normally, simply running 
\begin{verbatim}
     ipkg update && ipkg upgrade
\end{verbatim}
will upgrade Opie. However, if you currently have a version with the 1.5.0 version number, you will have to upgrade it differently, because Opie now uses a different version number (the 1.5.0 was Qtopia's version number, we now use our own). To upgrade from one of these older versions, run: 
\begin{verbatim}
     ipkg update
     ipkg install opie-update
\end{verbatim}
Opie should then be upgraded.

\part{Applications}
\chapter{Contacts}
Contacts is a way to keep track of all the people you know, and how to contact them.  as well as other information, such as their birthday, the company they work for, etc.

\section{Adding Contacts}

To Add a user, go to Contact \begin{math}\rightarrow{}\end{math}Add, or click the add icon in the toolbar (looks like a blank piece of paper). First, you need to give the person a name. You can do this by either entering their name in the name field, or by pressing ``Full Name...'', which will open up a new dialog that lets you enter each part of their name individually. Three of the entry fields have pulldown menus instead of labels that let you set which parameter these input fields control. The File As field lets you control how their name is displayed in the main view, use the pulldown arrow to select from some common ways of ordering their first and last names, or type in a custom one. You can also select a category for the user to be filed under, and clicking the button labeled ``...'' lets you edit the available catagories (these are convinient for displaying just the contacts you want when you have a lot of them). 

The address tab lets you edit the contact's buisness and home addresses (select which one you want to change from the pulldown menu at the top). The bottom field behaves just like the three custom fields in the ``General'' tab (and if you select the same thing from the pulldown list, it will modify the same parameter). 

The Details tab is used for miscelaneous things like the person's position, the name of their spouse, etc. 

When you are done, click ``Ok'' in the top right of the screen (you can always edit their profile later), click the ``x'' to cancel, and not add the contact. 

\section{Editing Contacts}

To edit the contacts, select the person you want to edit, anc click the pencil icon, or go to ``Contact'' \begin{math}\rightarrow\end{math}``Edit'', and it will open up the same dialog used to add a user, except their information that is already entered will already be filled in. To finalise the changes, click ``Ok'', or to cancel them, click ``x''. 

\section{Deleting Contacts}

To delete a contact, select the person from the list of contacts, and click the trash can icon, or go to Contact \begin{math}\rightarrow\end{math}Delete. A dialog will pop up asking if you want to actually delete that contact, click yes to delete it, no will cancel. 

\section{Editing Contacts}

To find a specific person, click the find icon (green magnifying glass), or go to Contact \begin{math}\rightarrow\end{math}Find. A dialog will pop up, and in the ``Find what'' input, enter the string you want to search for. You can also select if you want the search to be case sensative, and if you want it to search backwards from the currently selected user. The Category drop down menu lets you search only a specific category (``All'' to search all of them). When you click ``Find'', it will start search for the string in all the fields in all the contacts. When it finds a match, it will highlight the user in the main view. You can use this to search for (as an example) who a certain phone number belongs to, by entering the phone number in the ``find what'' field, and clicking ``Find''. 

\section{Viewing Contacts}

To view only the contacts in a certain category, go to the View menu, and check the categories you want to view. 

The list of letters on the bottom of the window lets you look at only the contacts who's names begin with that letter. These work much like entering text on a mobile phone. For example, to view all the contacts whos name starts with ``B'', press the ``ABC'' group twice (since ``B'' is the second letter in that group). To go back to displaying all of the letters, click it two more times (pressing it four times brings you back to all the letters, so you pressed it 2 times to get to ``B'' and 2 more times to get back to all letters. 2+2=4). 

\section{Personal Details}

Change your personal details by going to Contact \begin{math}\rightarrow\end{math}My Personal Details. This is used in today to display who the device belongs to, as well as other apps.

\chapter{Calendar}
The Calendar is a way to keep track of all your appointments, birthdays, meetings, or any other event that you would put in a calendar.

\section{Navigation}

Navigation in the Calendar is simple.  Along the top are five different buttons that allow you to set the type of view, which correspond to the five items in the ``View'' menu. Each one (except for ``Today'') changes the amount of time shown on the screen. ``Day'' shows one day, ``Week'' one week, etc. Today is the same as Day, except that it automatically sets the view to the current day. 

\subsection{The Day view}

The day view shows your day divided up into blocks representing each hour. At the top is the navigation bar, wher you will see a row of buttons, which represent the days of the current week, and on the left and right sides of the navigation bar are arrows, which allow you to move one day in that direction. If you are on the last day of the week, pressing the arrow will bring you into the first day of the next week (or vice-versa if you are going backwards). There is also a button that lists the current day, which you can press to select a day to view from a calendar dialog. 

In the main view, there is a collumn of buttons, each of which represents one hour. If you select one, any new appointments will automatically default to begining at that time and ending an hour later (which you can, of course, change when you create the appointment). 

Clicking on an appointment will open a menu that lets you edit, delete or beam the appointment. Beam will beam the appointment to any device supporting the Obex protocol (PalmOS based devices, cellphones, etc). libopieobex must be installed to use this feature. 

\subsection{The Week View}

The week view allows you to see your week divided up into columns, representing each day of the week, and rows, representing each hour of the day. In the navigation bar at the top, there are two scroll boxes, the one on the left shows the current year, and the one to the right shows which week it is of that year. To the right of both of those is a label which shows the date range for the currently selected week. 

In the main view, you see the week divided up into rows and collumns representing the days of the week, and hours of the day. In each cell, you will see a blue square which represents an appointment, which you can press to see details of the appointment. If you press anywhere in the free space, you will go to the day of the column that you clicked in. 

\subsection{The Week List View}

The week list view shows you all the appointments that you have that week without graphically representing how long they are or showing the free time between them. This is convinient if you need to see a list of all your appointments, but do not need to see how your time is mapped out. The navigation bar has an arrow button on either side, allowing you to move to the next or previous week, as well as a button which gives the current week number for that year. Pressing the week number button will bring up a calendar dialog, which allows you to select the week you are viewing. Selecting a day from the calendar will bring you to the week that day is in. To the right of that is a button with a ``2'' in it. When this is depressed, the main view will show two weeks at a time, instead of one. The last item is a label which shows the range of dates for the currently selected week. 

The main view is comprised of several rows, each of which represents a day of the week. If you have an appointment on that day, the date will be red, otherwise it will be black (the current day is blue). Clicking on the date itself will bring you to the day view for that day. Under each day is a list of all the appointments for that day, as well as their start times. If you click on an appointment, you will go to an edit dialog for that appointment, which lets you view its details. Next to each day heading is a ``+'' sign, clicking it will create a new appointment for that day. 

\subsection{The Month View}

The month view looks like a normal monthly calendar, allowing you to see on what days of the month you have appointments. In the navigation bar, there are two pairs of arrows. The pair with an arrow and a vertical line will take you to the first or last month of the currently selected year, while the normal arrow buttons will take you to the next or previous month. There is a dropdown menu which allows you to select the month, and a entry field which allows you to select the year (press the up or down arrows, or enter in your own year). 

The main view is divided up into a grid, where the columns are the days of the week, and the rows are the weeks (just like an ordinary calendar). The currently selected day has a bold box drawn around it, and if the day has an appointment, there will be a small blue square in the bottom right corner of it (that square will have a smaller white square if it is a recurring appointment). If the appointment is an all day event, it will be drawn as a green dot instead. When you click on the sqaure of a day, you will be taken to the day view for that day. 

\section{Adding Appointments}

To add an appointment, click on the add appointment button in the toolbar at the top of the window (an image of a blank page), and a dialog will open up, allowing you to enter information about the appointment (depending on the current view, and what you may have selected, there may be certain default settings). 

At the top of the window is the description field, where you can enter in a short description of the appointment, or select a common one from the dropdown list. The location field allows you to do the same. The category dropdown allows you to assign the appointment to a category, which you can use later to view only some of your appointments. The button labeled ``...'' to the right of that will open up a dialog where you can add, delete, or edit certain categories. 

To enter a start and end time, select the date for each from the dropdown menu, and then you can either manually enter a time, or you can use the three rows of numbers to more quickly enter it in. To use the fast input method, first click in the text entry field of the time you want to edit, then you need to select the hour. The first two rows are the hours, click whichever one you want. The third row of numbers are the minutes, in units of five. When you select the minutes field for the start time, it will automatically set the minutes field for the end time to the same thing, but you can change this by selecting the end field and giving it its own minutes field. Because of this, it is fastest to set the start time first and then the end time. There is also an ``all day'' checkbox, which will make the appointment take up the entire day. 

Underneath this you can set the timezone of the appointment from the dropdown list. To change the available timezones, click the world icon, and it will open the City Time application. Refer to its documentation for changing the timezones. If you want to have an alarm go off, check the ``alarm'' checkbox, and then set the number of minutes before the appointment that you want the alarm to sound. If you set the dropdown list next to that to ``silent'' you will only be given a visual alarm, wheras if you set the alarm to ``Loud'', there will be an alarm sound as well. Note: opie-alarm must be installed for alarms to work. 

To set whether the appointment repeats, click the "Repeat" button and a new dialog will open up. At the top is a row of buttons, which lets you set how often the appointment repeats. Selecting one of these buttons will change the interface below, to represent the available options for that type of repetition (selecting ``None'' will turn off repetition if you turned it on and no longer want it). When you are done, click ``ok'' in the upper right to select that type of repetition, or ``x'' to set it back to what it was (none if it is a new appointment). 

Finally, you can add notes to the appointment by clicking the ``Notes...'' button which will open a dialog with a text entry field for adding notes. Press ``ok'' to accept the changes to the notes, ``x'' to cancel. 

When you are done setting up the appointment, click ``ok'' in the top right of the window, or ``x'' to cancel adding the appointment. 

\section{Editing Appointments}

How you start editing an appointment varies depending on what view you are in, but they will all open the same dialog. The dialog is the same as the Add Appointment dialog, except that the fields will already be filled in with the information that the appointment contains. Clicking ``ok'' will keep your changes, ``x'' will revert them to what they were before you edited them. 

\section{Finding Appointments}

To find a specific appointment, click the find button in the toolbar (small green magnifying glass) and it will open a find dialog. Here you can enter the text you want to search for, as well as the category you want to search for, as well as the start date, and whether you want the search to be case sensitive. Click ``Find'' to find the next appointment that matches your criteria.

\chapter{Todo}
Todo is designed for storing information about things you need to do, but which arent going to happen at a specific time, like "change the oil" or "mow the lawn". You can also give todo items a deadline, if they have to be completed by a certain time. 

\section{Adding Tasks}

Go to Data \begin{math}\rightarrow\end{math}New Task, or click on the new task icon (blank page). The priority drop down menu lets you select the priority of the task. The lower the number, the more important it is. The categories behave in much the same way that they do in Calendar, you can select the category from the drop down menu, or you can click the ``...'' button to add, delete, or edit categories. To give the task a due date, check the ``Due'' checkbox, and then click the button next to it (it should contain the current date). That will open a calendar from which you can select the due date. The ``Completed'' check box is the same as the checkbox next to each item in the main view. The ``Summary'' field is for a short summary that will be visible in the main view, as well as in the Today application.  The down arrow next to it will copy the text in the ``Summary'' field into the large text field below it, which is used for a more detailed description of the task.  Click ``ok'' in the upper right to add the new task, or ``x'' to close the window without adding the new task. 

\section{Editing Tasks}

To edit a task, you can select it, and then go to Data->Edit Task, or click the edit task icon (an image of a pencil). The same dialog should apear as if you were adding a task, but the information for that task should already be filled in. You can change any of it you want to, and then click ``ok'' in the top right corner to save the changes, or ``x'' to go back to the way it was. 

\section{Deleting Tasks}

To delete a task, first select it, and then either select Data \begin{math}\rightarrow\end{math}Delete... or press the Delete icon (an image of a trash can). A dialog should pop up, asking if you want to delete the task, click yes to delete it, or no to cancel. 

\section{Finding Tasks}

To find a task, either go to Options \begin{math}\rightarrow\end{math}Find, or click the find icon (an image of a green magnifying glass), and a dialog should pop up. Enter the text you want to search for in the description, and select the category that you want it to search through (this will speed the search up, if you know what category it is in). You can also select ``case sensative'' which makes the search pay attention to the case of what you type (so if you look for ``mow lawn'', it won't find a task called ``Mow lawn''). ``Search Backwards'' will search backwards from the currently selected task. Click ``Find'' to initiate the search, when it finds a task that matches the string, it will select it. If you click Find again, it will find the next one in the list (or the previous one, if ``Search backwards'' is selected) 

\section{Viewing Tasks}

To only view tasks filled under certain categories, go to the Category menu, and check the categories you want to view. Also, under the Options menu, you can select whether or not you want completed tasks to be visible, and whether or not you want to see the deadline. 

\section{Completing Tasks}

To mark a task as completed without deleting it, you can either check the checkbox next to it in the main view, or edit it, and check the "completed" check box in the edit dialog. If Options \begin{math}\rightarrow\end{math}Completed tasks is not checked, the task will disapear when you mark it completed. but do not worry, it is not gone forever, just check Completed tasks in the options menu, and you can see and edit it again.

\chapter{File Manager}
The file manager allows easy access to your file system, letting you browse, copy, move, delete and link files.  You can also use it to open the file in an application based upon the file type, or add the file to your ``Documents'' tab, as well as several other filesystem related things.

\section{Navigating}

To enter a directory, simply press its icon or name in the main view. There are also two buttons in the toolbar which help with navigation. The back arrow will take you back to the directory you were previously looking at, while the up arrow will take you up one level in the directory structure (so, if you are in /usr/bin, it will take you to /usr, regardless of where you were before). The ``Dir'' menu shows the current path, with each directory as a menu item. So, if you are in /opt/QtPalmtop/bin there will be four entries: /, opt, QtPalmtop, and bin. Selecting one of these will take you immediately to that directory. 

\section{Selecting Files}

When you click on a file, its selection status is toggled. So the first time you click on it, it will be selected, and the second time it will be deselected. To select multiple files, simply click on each one you want to select. 

\section{Moving Files}

To copy a file from one directory to another, press and hold on the filename, and select ``Copy'' from the menu that pops up. Then, change into the directory that you want to copy it into, and press the "paste" icon (an image of a clipboard and a piece of paper). To move a file, do the same thing, except select ``Cut'' from the first menu, instead of ``Copy''. You can also move or copy multiple files by selecting all of them and using the cut or copy buttons in the toolbar. 

\section{Deleting Files}

To delete a file, press and hold it to bring up its menu, then select ``Delete'', and click ``Yes'' (or ``No'' to cancel). Delete will delete all the currently selected files, which may be more than the one that you pressed and held on. 

\section{Renaming Files}

To change a file's name, first bring up the input method you want to use (unless you are going to use the hardware keyboard), then press and hold on the filename, and select ``rename''. A new file will appear with a ``Name'' field that is editable, enter the new name, and click another file to keep the new name. 

\section{Creating Directories}

To create a directory, first bring up the input method you want to use (if you are using one), and then click the new directory button (an image of a file folder with a ``+'' sign). A new folder will be created with the name ``New Folder'', and the folder name will be editable. Enter the name you want and then click another file to create the folder. 

\section{Viewing Files}

To view a file, press and hold on a file, and the menu that comes up will contain two entries for vieing the file, the first depends on the filetype, but usually lets you open the file in a specific program. The second is ``view as text'' which will open the file up in TextEdit (regardless of whether or not it is actually a text file). 

\section{Adding to ``Documents''}
\label{docadd}
To add a file to your ``Documents'', press and hold the file, and select ``Add to documents'' from the menu. This will add the file to the documents tab, which you can use to quickly open the file (simply click on the icon for the file in the Documents tab). Some programs also use the Documents list to aid in quickly opening files. 

\section{Sorting Files}

To sort the files, use the ``Sort'' menu to select wich field you want to sort the files by (``by Name'', for instance, will sort the file alphabetically by name). If ``Ascending'' is checked, the files will be sorted in ascending order, if it is not, they will be sorted in descending order.  You can also press the name of the column in the main view to sort by that field.

\section{Viewing Options}

The ``View'' menu lets you choose which files to view. If ``Hidden'' is checked, hidden files will be visible (in Linux, hidden files start with a ``.''). If ``Symlinks'' is checked, symbolic links (files or directories which are merely links to other files or directories) will be visible.

\chapter{Embedded Konsole}
EmbeddedKonsole is Opie's terminal emulator.  From here you can do pretty much anything (since Linux is actually a command line based OS by itself).  I will not go into much detail on using the linux command line, as that is covered in many other places (http://www.tldp.org is a good place to start, or read O'Reilly's \underline{Running Linux} for a comprehensive look at Linux for the beginner).  I will, however, give a quick overview of using a Linux shell.

\section{Using Embedded Konsole}

Along the top of the window is a row of menus and icons.  The ``Font'' menu lets you select the font size that you want the console to use, while the Options menu lets you select various options.  Below this row of menus and icons is a pulldown list with various common commands in it.

\subsection{Options Menu}

The first submenu in the options menu is the ``Command List'' menu, which lets you edit or hide the command list pulldown.  The ``Tabs on top'' or ``Tabs on bottom'' (depending on which is currently enabled) allows you to select where the tabs representing multiple terminal sessions are drawn.  The ``Colors'' submenu lets you select from a color scheme, or make your own, and the ``Scroll Bar'' submenu lets you select where or if the scroll bar is drawn.

\subsection{Icons}

The row of icons to the right of the menus allows you to type common keystrokes without having an input method visible, as well as some other things.

The icon all the way on the left will open a new terminal session in a new tab, while the icon all the way on the right will paste text from the clipboard into the terminal.

The other icons are the same as typing (from left to right) enter, space, tab (for tab completion), up, and down (for the command history).

\subsection{Command List}

The command list is a pulldown menu with a list of commonly used commands.  Selecting one will type the command into the terminal wherever the cursor is.  You can edit or hide this menu from Options \begin{math}\rightarrow\end{math}Command List.

\section{What is a Shell}

A shell is a program that accepts input from a user, and runs commands.  Each ``command'' in the shell is actually a separate program (unless you are using a shell like BusyBox, which makes some of the more common commands part of its own program in order to save space).  Shells can actually be very powerful, and many of them allow you to write something called ``shell scripts'' which are just a sequence of commands, sometimes with some flow control statements, saved to a file and run each time the script is run.  For the most part, the average user does not need to know about any of this, though.  If you are running Opie on the Familiar distribution, it is advisable to install the bash shell (ipkg install bash) because it offers things like tab completion, use of the backspace key, and a command history, as well as offering a more advanced scripting languauge than most other shells.

\section{Running Programs}

To run a program or a command (remember, a command is just another program), you simply type the name of the program and hit ``Return'' (in Linux, program names do not have a special suffix like they do in windows, in fact the ``.'' character has no special meaning unless it is at the begining of a filename, in which case it makes the file ``hidden'').  When you type a program name and hit ``Return'' the shell looks in a special list of directories called your ``path'', and if it cannot find it in any of those directories, it stops looking and tells you it could not find them.  If you want to run a program that is not in your path, you must specify an absolute or relative path to that program.  For instance, to run a program that is in the directory you are currently in, you would type \verb+./program+ (``./'' is a special directory that is explained below), or to run a program in /home/username/ you would call \verb+/home/username/program+.

Most programs take ``arguments'' when run from the command line.  An argument is a string that contains no spaces that changes how the program behaves (a text editor, for instance, might take a single argument, which would be the name of the file you wish to edit).  Usually, you can use the arguments ``-h'' or ``--help'' to get a list of the common arguments that that program takes, along with a short usage description, and a short description of what each argument does.

\section{Basic Navigation}

The command that you will use most often in the shell is probably the ``cd'' command, which stands for ``change directory.''  With this command, you can move around in the file system, by issuing the command like this: \verb+cd [new directory]+, where \verb+[new directory]+ is the directory you want to move to.  This directory name does not have to include the entire directory structure, but can be ``relative'' which means it assumes you are talking about directories relative to the directory you are in.  For example, if you are in a directory called /home/username and you want to move to the directory /home/username/other/dir you could simply type \verb+cd other/dir+ and you would end up in /home/username/other/dir.  You can also specify a full, or ``absolute'' path, by specifying the entire path name starting with / ( / is a special directory called the ``root'' directory, and does not have a ``parent'' directory, which means that it is not in any other directory).  There are also two special directories called ``./'' and ``../''.  The ``./'' directory is the current directory you are in, and you will probably never use this in conjunction with the cd command (why would you want to move to the directory you are already in?).  The ``../'' directory represents the parent directory of the directory you are currently in, so if you are in /home/username, ../ is the same as /home.  You can string several ../'s together, so if you are in /home/username/dir/ ../../ represents /home.  There is one other special directory, called ``$\sim$/'' that points to your home directory (usually /home/username or /root for the root user).

\section{Moving Files}

To move files around, you need to use the ``cp'' (copy) and ``mv'' (move) commands.  Both of these are run the same way: \verb+command originalfile newfile+.  The only difference is that cp creates a new file without touching the old one, while mv deletes the original file.  The two path names can be either absolute or relative.  If you only specify a directory for the destination, and no filename, it will use the filename for the original file.

\section{Deleting Files}

To delete a file, run the ``rm'' command, and to delete a directory, run the ``rmdir'' command, each of them take the file to be removed as their only argument.  The rmdir command requires the directory to be empty, so if you want to delete a directory that is not empty, along with all its contents, run \verb+rm -r dir+.

\section{Linking Files}

In Linux, you can have a special file called a ``symbolic link'' that acts just like a copy of another file, except it takes up less space.  This is convinient if two applications are looking for the same file in two separate places, because the file can be in both places at once, without taking up any extra space, and any change to one is automatically applied to the other (really, there is only one file, the link is just a file pointing to the original file).  This is also useful for naming applications independant of their version number.  For instance, you could have a link called ``application'' that points to ``application1.0''.  To create a link, use the following command: \verb+ln -s originalfile link+.

\part{Settings}
\chapter{Software}
%This section needs a lot of work, describing things like destinations, feeds, etc, but this should probably be added after oipkg works properly.

The ``Software'' application, also called oipkg, is what is used to install and remove software.  It is actually a frontend to the command line program ``ipkg'' so most things you can do with oipkg you can also do with ipkg.  Oipkg can install things either remotely from a web server (called a ``feed'') or it can install an ipkg package file that resides on the local filesystem.

Note: There is a bug in oipkg that prevents it from installing packages properly.  There is, however, a workaround for it.  Simply run oipkg from Embedded Konsole to avoid the bug.

\section{Installing Software}

To install software, first select ``Opie'' from the ``Section'' pulldown menu, the press the ``+'' icon next to ``Feeds'' in the main view.  This will show all the available Opie packages (you can change which packages to view by selecting something else from the ``Section'' pulldown).  Installed packages are marked with a blue circle, while packages that are not installed are marked with a red box.  If you click on the icon for an uninstalled package, it will turn into an open box, with a blue circle coming out of it, indicating that you have marked this package to be installed.  Mark as many packages as you wish this way, and then press the ``Apply'' icon (same red box and blue dot icon) to install all the marked packages.  It will also remove any packages marked for removal (see below).  Clicking this will open a window showing all the packages marked to be removed and installed, with some check boxes on the bottom, which represent arguments to be sent to ipkg, which you can usually ignore.  After verifying that all the packages to be installed are correct, press ``Ok'' in the upper right corner (or press ``x'' to cancel and go back to the package selection window).  The packages should then install, and you should see their icons appear in the Launcher, if they are Opie applications.

\section{Removing Software}

Removing software is the same as installing software, except you will press the blue circle icon of an installed package, and it will have a red ``X'' over it.  Then press the apply icon, and ``Ok''.  You can install and remove packages at the same time by marking the ones you want to install and the ones you want to remove, and then pressing apply.
\end{document}