Test Driving Linux/Email, Organizers, and Instant Messaging
There are dozens of email, chat, and contact programs on Linux. Some of these programs mimic the look and feel of their Windows counterparts so closely that you almost can't tell the difference. Move comes with Kontact, a personal information manager that provides many of the same functions as Microsoft Outlook, including email, a contact manager, to-do lists, calendar and appointment management, and even little sticky notes. And because this is Linux, running Kontact does not leave your machine vulnerable to email viruses.
Move also provides an instant messenger client called Kopete, which allows you to connect to practically any instant message network in existence. With this program, you can connect to the AOL, MSN, Yahoo, Jabber, and even IRC networks and chat with friends, family, and coworkers. This chapter explains the basic workings of Kontact and Kopete, along with a few advanced features.
Kontact is KDE's answer to the personal information manager Microsoft Outlook. Like Outlook, Kontact allows you to manage your email, contacts, calendars, and to-do lists in a single program (Figure 6-1). Kontact actually comprises several individual KDE components; for instance, its email capabilities come from KMail, the organizer and to-do component from KOrganizer, the contact management from KAddressbook, and the newsgroup reader from KNode. All of these programs can be run individually, but the KDE programmers thought it would also be nice to be able to run them through a single, easy-to-use interface. And thus, Kontact was born.
To launch Kontact, just click on its icon in the kicker panel. The icon looks like a calendar, with a globe and pencil in front. For some odd reason, the tooltip that appears when you hover your mouse over the icon reads Popup Notes; just ignore this inconsistency. You can also start up Kontact by going to K Menu→ Surf the Internet→ Read and send e-mail.
The first time Kontact launches, it asks you to fill out some information so that it can set up your email account to retrieve your email from your ISP or corporate email server. If you want to skip this step for the moment, just click Cancel on the dialogs that appear, but you will need to set up an account at some point if you want to make use of the email component of Kontact.
Setting up Kontact to send and receive email can be a little complicated, but it's nothing you can't handle. You just need to find out the names of your email servers from your ISP or your business. You can usually get this information without calling anyone by looking for the settings in your Windows email client. In Outlook, go to Tools→ Account Settings. In Outlook Express, go to Edit→ Preferences.
To configure Kontact for email using the first-time startup wizard, just follow these instructions.
- The first screen asks if you want to enable groupware functions. These functions connect Kontact to a groupware server such as Microsoft Exchange and aren't necessary unless you have such a server. This book does not cover these Kontact functions, so for now, set the screen to "Disable groupware functions" and click Next.
- In the second screen, enter your name and email address. Entering your organization name is optional. Click Next.
- The third screen has two tabs. First go to the Sending tab, where you will set up how mail is sent out from your machine. A "sending," or outgoing, mail server is usually referred to as an SMTP server. Click Add to add a new SMTP server connection, and in the next dialog accept the default of SMTP. In the final dialog, fill in a name for this connection and a server (host) to connect to (Figure 6-2). The Name can be anything you want, but the server name is specific to the system that handles your email. If you didn't get these values from your existing Windows setup as described in the previous note, you may need to call your ISP or talk to your IT department at work to find out the name of the server. The other fields usually do not need to be modified, so just click OK.
- Now click the Receiving tab, where you'll set up a method to get your email onto your computer. Click Add to get started. The first dialog window defaults to POP3, which is the method most people use to receive email, so click OK to move on. In the next screen, enter a descriptive name for your setup, provide your email login name and password, and enter the name of the email server you want to connect to in the Host field (see Figure 6-3). If you check the box next to "Store POP password in configuration file," you won't have to enter your password each time you start up Kontact. And since you are just test-driving this setup, it's a good idea to uncheck "Delete message from server after fetching." Click OK to continue.
I really recommend unchecking the box next to " Delete message from server after fetching." If you don't, you may be upset when you download important emails to Kontact and then lose them forever when you reboot the machine. Also, email messages and attachments do take up space on your USB key, and if you use Move regularly without deleting messages you could fill up the USB key, which may cause problems while using Move.
- You should now be back at the Accounts screen, so just click Next to finish up. You'll see a message telling you that the groupware functions are disabled; click Finish to finish for real.
- Kontact now presents you with a new configuration dialog, which sets up a newsgroup reading component called KNode. However, I don't cover the KNode program in this book, so click Cancel to close the screen.
You should now see the main Kontact screen, pictured in Figure 6-1. This screen should look somewhat familiar to Outlook users. Along the left-hand side is a shortcut bar , which contains several large icons that link to commonly used Kontact programs. The various menus are located along the top of the screen, and right below them is the default toolbar. The menus, the toolbar icons, and the main portion of the Kontact window all change depending on the shortcut you have clicked in the shortcut bar. I call this changing the view.
If you launched Kontact from the kicker icon, your default view is the Summary screen (Figure 6-1). In the main window, you'll see groupings for New Messages, Birthdays and Anniversaries, Appointments, Weather Information, and Notes. These groupings display information based on the preferences and data Kontact has stored for you. For example, the New Messages grouping monitors your inbox; when you receive new email, a number appears next to the folder name to tell you how many messages are waiting for you. The Birthdays and Anniversaries grouping notifies you of all such events based on the dates you enter in the Contacts section. The Weather Information grouping tracks the weather in locales you specify.
You may want to use only some of the components in Kontact. For example, I find the Notes and the Summary programs pretty useless for the way I work, so I like to disable them. To do this, simply go to Settings→ Configure Kontact, uncheck the components you don't want, and click OK. You can always add them back again by rechecking the desired items. The restored items will appear at the end of the shortcut bar until you restart Kontact; then they will go back to their original places.
Dozens of email programs are available for Linux. This chapter focuses on KMail, which is the email component of Kontact, but Chapter 12 briefly covers two other popular email programs—Evolution, another Outlook work-alike, and Thunderbird, a good replacement for Outlook Express that runs on Windows and Mac OS X in addition to Linux.
To start KMail, click the Kontact icon on your kicker panel, and then click the Mail shortcut from inside Kontact. Alternatively, you can go to K Menu→ Surf the Internet→ Read and send e-mail.
When I refer to KMail, I'm talking about the email component of Kontact as well as the standalone KMail email program. The programs are identical in the way they operate and in their appearance, with the exception that standalone KMail does not have the shortcut bar along the left side.
KMail uses the typical three-pane view often found in email programs (Figure 6-4). Along the left-hand side is a listing of all your email folders, including several default folders such as inbox, outbox, sent-mail, trash, drafts, and Searches. The outbox is where messages are stored until they are sent; once you actually send them, they appear in the sent-mail folder. The drafts folder is a place to store messages you're still in the process of writing. And the Searches folder is a very powerful feature of KMail that is described in the later section "Saved Searches."
The right-hand side of KMail's window is split into top and bottom panes. The top pane, which initially contains only the message "Welcome to Mandrakelinux," is called the message list. It displays all the messages in the currently selected folder. Below the message list is the preview pane. This pane shows you the contents of whatever mail message is selected in the message list. You can also double-click a message to read it in its own window, but the preview pane is so convenient that this is seldom necessary.
Along the top of the KMail window just beneath the menu bar is the KMail toolbar, which contains icon shortcuts to the most commonly used functions in the program. To see what each icon does, hover your mouse over it and read its tooltip. Here you'll find all the usual email functions such as New Message, Reply, Forward, and Print. As in other KDE applications, the KMail toolbar is completely customizable—simply right-click it and choose Configure Toolbar. The standard KDE toolbar configuration window appears so you can make the desired modifications.
You'll notice that several of the toolbar icons have little triangles on them. Click and hold your mouse on these icons to see a small menu of unique actions. This is useful to change the behavior of a Reply or Forward, for example.
Sending email with KMail isn't much different from other email programs. To start a new message, click the New Mail icon on the toolbar (it's the first icon, which looks like a piece of paper and an envelope), or you can use the keyboard shortcut Ctrl-N. Both methods open a blank email in which you can write your message (see Figure 6-5).
To attach a file to your email message, just click the paper clip icon on the toolbar and navigate to the file you want to attach. You can attach multiple files at a time by holding down the Ctrl key as you click on each file.
When you're ready to send your message, just click the Send button (which looks like an envelope with a green arrow pointing up) or press Ctrl-Enter. If you want to save your message to work on later, you can put it in the drafts folder by selecting Message→ Save in Drafts Folder. You can open it up again by going to the drafts folder and double-clicking the message.
If you highlight part of the email in the preview pane before clicking Reply, the new message contains only the highlighted text. This is useful when you want to respond to a specific part of an email.
You can save time and effort by using keyboard shortcuts to move around in KMail or to perform special actions. Using the keyboard is often the fastest way to interact with a program. Table 6-1 lists many of KMail's useful keyboard shortcuts.
Table 6-1. Keyboard shortcuts for KMail
|Ctrl-N||Create a new email message.|
|R||Reply to the message highlighted in the message list.|
|A||Reply to all recipients and the sender of the message highlighted in the message list.|
|F||Forward the message highlighted in the message list as an attachment.|
|Shift-F||Forward the message highlighted in the message list as inline text.|
|Ctrl-A||Select all the messages in the message list.|
|Right Arrow or N||Move down through the message list.|
|Left Arrow or P||Move up through the message list.|
|Up and Down Arrows||Move up and down through the message in the preview pane.|
|+||Go to the next unread message in the current folder.|
|-||Go to the previous unread message in the current folder.|
|Shift+Left Arrow and Shift+Right Arrow||Select multiple messages in the message list.|
|Space||Advance through the message in the preview pane. If you are already at the bottom of the message, this will take you to the next unread message in the current folder.|
|Ctrl +||Go to the next folder that contains an unread message.|
|Ctrl -||Go to the previous folder that contains an unread message.|
|Ctrl-Left Arrow||Move up the folder list.|
|Ctrl-Right Arrow||Move down the folder list.|
|Ctrl-Space||Open a folder you've moved to by using Ctrl-Left Arrow or Ctrl-Right Arrow.|
|Ctrl-J||Apply any manual filters to the current folder.|
On the surface, KMail looks like a very mild-mannered email application. Almost boring, in fact. This simplicity hides a lot of features that make KMail a truly exceptional email program. You can customize KMail in some pretty powerful ways.
To set up KMail to work the way you want, start by selecting Settings→ Configure KMail. This launches the KMail configuration window (Figure 6-6). Along the left side of this window are a group of icons. When you click on each icon, it changes the view to the right to a configuration screen. Let's check out some of these configuration settings.
Creating and Using Email Identities
At the top of the list is the icon for your Identities settings. An identity is just a collection of information about you and your email account. Most people don't need more than one, but if you have several email accounts or if you mix your personal and business email in one account, you may want to set up a few identities to help you manage your email. When using an identity you can specify an alternate reply address or email signature, or even a unique sent-mail folder.
When you click on the Identities icon, the configuration screen lists the identities you have set up. There should already be one identity from when you first set up Kontact, as shown in Figure 6-6. To create a new identity, click the New button to bring up a small dialog in which you can give your new identity a name. You can choose whether you want to base your new identity upon an existing profile or to create a new, blank profile. Once you make your selection, the Edit Identity window opens, and you just need to fill out the fields that interest you. Figure 6-7 shows a "work" identity for a fictitious user named Joshua Harris.
You can create as many identities as you need. To set an identity as your default, highlight it in the Identities view of the KMail configuration window and click "Set as Default."
To use a specific identity, just open a new email message (Ctrl-N) or reply to an existing one. Along the top of the compose window, just below the message toolbar, you will see a new field titled Identity. This drop-down list lets you select the identity you want to use when you send your message. Once you select an identity, the From line of your email message will change to reflect the new identity. (If you want to see the From line you must select View→ From in the email compose window.)
Specifying Network Email Servers
Now let's look at the Network configuration screen. Click on the Network icon on the left side, and the view to the right displays the configuration window where you can set your computer up to send and receive email. Note that there are two tabs: Sending and Receiving. In the Sending screen, you will choose the email server that will actually send out your mail. In the Receiving screen, you will set up accounts to receive email from. To configure these two parts of your account, refer back to Steps 3-5 in the earlier Section 6.1. You can configure multiple email accounts by creating additional sending and receiving email servers.
There's an interesting feature to check out at the bottom of the Sending window. See the "Default domain" field at the bottom of the Sending view? Whatever you enter in this field is automatically appended to the end of any email address for which you haven't provided a domain name in an outgoing message. I normally set this field to oreilly.com because that's where I send most of my messages, and it saves me from having to type the whole address each time I write to someone at work.
Giving KMail a Makeover
The next configuration window is Appearance. This panel controls the display of fonts, the colors used for certain types of text, and the layout of the three main windows: the folder list, message list, and preview pane.
The Fonts tab, shown in Figure 6-8, lets you customize the type of fonts and the font sizes that you want to use. To enable the use of custom-defined fonts and sizes, first check off "Use custom fonts." This unlocks the rest of the configuration panel so that you can make changes. There is a lot you can customize here. Many email programs only let you specify changes to the body text, but KMail lets you control the font and size of almost every visible item on the screen. To select the text you want to change, click the drop-down list next to "Apply to," select an option, and choose the font, font style, and font size for that element. Be sure to click Apply after you set up each element; otherwise, KMail won't remember the settings. The various text elements are pretty self-explanatory, but the one I like best is Printing Output, which lets you specify a different font and size for printing. This is convenient if you prefer to view text at one size—maybe larger than normal—but want to print it out at a different size.
The Colors tab controls the color in which text is displayed. The only adjustment I usually make to the standard colors is to choose different ones for quoted text. When you have a message that has been sent back and forth several times, it can get confusing trying to figure out who said what. By choosing distinctive colors for each level of the conversation, this becomes a lot easier to determine.
The Layout tab has several settings to control the appearance of the main KMail window. You should try out different options and see which ones you like best. For example, you may prefer to have a short folder list, but a wide preview pane. To achieve that effect, you would check off "Short folder list" and click Apply.
The last tab is the Headers tab. There are some interesting settings on this tab under "Message Header Threading Options and Date Display." The Date Display options are pretty self-explanatory. The four options in the "Message Header Threading Options" control the behavior of threaded messages in all folders. The first option always keeps threads open, even when you explicitly tell them to close. The second option keeps threads open unless you tell them to close. The third option is the reverse of the second: it closes threads unless you tell them to be opened. The fourth option, which is the one I find most useful, automatically opens threads when they contain new or unread messages, making it very easy to spot messages that might otherwise be buried in a closed thread. (I'll explain more about email threads in the later section "Sorting and Threading.")
If you look to the left, you'll see three other configuration icons: Composer, Security, and Misc. These configuration screens aren't all that important, so I won't cover them in this chapter. But feel free to check them out on your own.
Now, let's exit out of the Configure screen and go back to your main KMail window.
Getting Notified When New Email Arrives
Back when I was still using Windows, one feature I liked about Outlook was that it displayed a small envelope next to the clock whenever I had a new email message. That was handy because I often had to leave my desk to help others with their computers, and when I came back, I could quickly tell if I had new messages waiting for me without having to bring up the Outlook window.
This feature is even more important on a Linux desktop when you run applications on different virtual desktops. You don't want to have to keep switching back to your email desktop just to see if you have new mail. Happily, you can configure KMail to not only display an icon in the system tray when you have a new message, but also to display a pop-up on all your desktops. This pop-up lasts for just a few seconds and is obviously useful only when you are sitting at your desk, but the icon in the system tray is useful all the time.
For some strange reason, KMail's notification settings are handled by several different windows. Click Settings→ Configure Notifications to open one of these screens. Here, you can configure KMail to play a sound each time you receive new email by checking off the box next to "Play a sound" and clicking the folder icon at the end of the field. Then navigate to the location of the sound file you want to use. KMail can play any sound file that your Linux system can handle, so don't be afraid to use WAV or MP3 files. The More Options button allows you to add more options to the Actions section of the existing window. As I mentioned a moment ago, the option I've found most useful to check "Show a message in a pop-up window" and "Use a passive window that does not interrupt other work." By marking these two options, you configure KMail to display a small window on all your desktops that tells you that you have received new email. It displays for only about five seconds and appears on the screen in a non-intrusive manner.
To see some other email notification settings, go back to your main window, click on Settings→ Configure KMail→ Network, and go to the Receiving tab. There are two options here. One tells your system to beep when a new email arrives; the other configures KMail to put an icon in your system tray that will show the number of unread messages in your inbox. I also check "Show system tray on new mail" so there is only a mail icon there when I have new mail waiting for me, instead of it always being there even when I have zero unread messages.
Versions of KMail that come with KDE 3.3.0 and higher allow you to turn off notifications on a per-folder basis. This means you won't get an icon in your system tray when you receive messages in folders you choose to ignore, like your mother-in-law folder.
Organizing Your Email
Many people who use email never get beyond the basics of their email program. They never learn how to organize their email to make it easier to find old messages, or to create filters that automatically perform an action when email arrives or is sent. KMail offers several features to help you organize your email effectively.
Sorting and Threading
One simple way to organize your email is to sort it in your inbox or any other folder. A sort simply lists your email in a certain, specified way. By default your messages are listed in order of arrival, with the newest messages at the bottom of the list. You can change the sort order by clicking once on a column heading; for example, if you click on the Date (Order of Arrival) column, the triangle next to the column name will change to point up, and your messages will be sorted by Date in descending order, with the newest email at the top instead of at the bottom.
If you click the Date column heading again, the triangle changes to point down. Now the email is again sorted in ascending order, with the oldest email at the top and the newest at the bottom. At first glance, this seems to be the same as the default sort order of Order of Arrival, but it isn't. Many people may send email from computers with incorrect dates or times, so the date and time they send the message is different from the date and time you actually receive it. Also, if you have multiple email accounts but you don't check them all at the same time, you may have an email that has recently arrived from one account but is in fact hours or days older than other email you have already received from a different account. So, if you sort by Date, these messages may appear between other already received messages, and if you sort by order of arrival, they appear at the bottom of the list. It's a subtle distinction, but an important one if you receive a lot of email or have many email accounts.
You can sort by the other columns, too. Sorting by Subject alphabetizes your messages based upon the text in the Subject line; sorting by Sender does the same thing based upon who sent the email. This option is particularly useful when you want to see all the email from a single person. These sorts usually have ascending and descending options as well.
There is also a Size column that tells you how big an email message is, but this column is hidden by default. To display this column, right-click on any column heading and choose Size. This can be useful when you're cleaning up your email folders and want to recover some hard-drive space. By displaying the Size column and sorting the messages in descending order, you can quickly find the messages that take up the most space and remove them.
In addition to sorting your messages, you can also group them using a process known as threading (Figure 6-9). Threading groups messages together based upon two criteria: a message ID that most emails have, and a common subject line. The message ID is unique to each email, but messages that are replies to an earlier message also track the message ID of the original email. Therefore, a reply message shares a message ID with the email it originated from. By grouping these messages together, it becomes much easier to follow a particular email conversation. However, some email programs and servers remove the original message ID, which means KMail can't group by that criteria. In this case the second option, to group by a common subject, attempts to catch those messages that lack the message ID. This often works, but if the message ID is not preserved and the subject line is changed from the original message, that message will not be threaded correctly and will just show up at the end of your message list.
Threaded messaging is enabled on a per-folder basis. To set it up, go to the folder you want threaded and select Folder→ Threaded Messages from the main menu. Your messages are now grouped, with all messages that share the same message ID or subject line together. My suggestion is to then sort the messages based upon date and order of arrival, which will sort the threaded conversations by the arrival date of the first message in the thread.
The most basic way to organize your email is to create folders for your messages. This is no different from organizing your old parking tickets by putting them into paper folders and filing them in a drawer (never to be seen again!). You can move an email message into a folder in several ways: by dragging and dropping it directly onto the folder name, by right-clicking it and selecting a folder under the Move To option, or by creating a filter that automatically moves messages for you. With the first two methods, you can use the Ctrl and Shift keys to select multiple messagesbefore you move them.
To create a new folder in KMail, right-click on Local Folders in your folder list and choose New Folder. This opens a new window that lets you specify all the settings for your folder. Give your folder a name and choose what level it should be on from the "Belongs to" drop-down list. For example, the folder can be a main folder directly under the Local Folder listing, or it can be a subfolder of another folder.
For now, create a main-level folder called Linux, and then go ahead and create a subfolder called Move under the Linux folder. If you forget to select Linux from the "Belongs to" drop-down menu when you're creating the Move folder, you can easily correct this mistake by right-clicking the Move folder, choosing Properties, and selecting a new "Belongs to" folder. In fact, this is the only way you can move a folder from one place to another.
You can also associate a folder with one of the identities you created earlier. This means that if you press Ctrl-N start a new email message from within that folder, it will automatically use the identity assigned to that folder. To set an identity for a folder, bring up the folder's properties and change the value for Sender in the Identity section.
You gotta use the keyboard
You must use Ctrl-N to start the new message if you want to use the identity assigned to a folder. Clicking the New Mail icon will not make use of the identity.
If you're like me, you get a lot of email and you save nearly all of it. The upside of this is that you probably still have the email message in which your wife told you what she would like for her birthday. The downside is that you might have some trouble finding it.
KMail allows you to search through your email based upon criteria you specify. To launch the search feature, just click the search icon on the main toolbar—it looks like a magnifying glass over an envelope. Alternately, just use the keyboard shortcut, S.
The search window is a little complex (Figure 6-10), and with it you can create very flexible searches. The first two options in this window allow you to specify which folders you want to search. The default is to search only the folder from which you opened the search dialog. You can also search all folders, select another folder from the drop-down list, or search a folder in the drop-down list plus all its subfolders. Note that the more folders you specify, the longer your search will take, so choose only the folders most likely to contain the message you're looking for.
For example, let's say I want to perform a search that returns all the email messages in my Inbox that were sent by my boss and that don't have the word Linux in the text of the message. This search, shown in Figure 6-10, makes use of the "doesn't contain" parameter to exclude messages that talk about Linux.
Figure 6-11 shows another search in which I am looking for any messages from the author of the book Knoppix Hacks or from anybody I've talked to about the book. This search searches all folders and uses the "Match any of the following" option, which means a result will be returned if any of the criteria is met. This means that this search will return all emails with the words "Knoppix Hacks" in the message body, but will also return emails that are from the book's author but that don't include those words. This is useful because not all emails from the author will include the book's title, but nearly all conversations with the author are about the book. If you need to specify even more criteria for your search, click the More button to get another set of fields.
You can open an email returned in the results area by double-clicking it, even if the search hasn't completed yet. You can also sort the results just as you would if the messages were in your Inbox, and you can stop the search at any time by clicking the Stop button. The "Search folder name" field at the bottom of the search window is discussed in the later section "Saved Searches."
Practically everyone who uses email has a cluttered inbox. And it's not just because people receive a lot of mail—it's also because they don't know quite what to do with it all. If you're on top of things, you've probably already created several folders to store email from particular people or about particular topics. But even though you have a folder for all the email from your boss, and another one for all the email from your spouse, I bet you still don't actually bother to put the messages in their proper place, and they just sit in your inbox, taking up room. Wouldn't it be great if email messages automatically went into the correct folder?
Well, if you learn to use filters, you can make them do just that. A filter is pretty much the same as a search, except that once KMail finds a message that matches your search, it performs an action upon it. For example, you can create a filter that watches all your incoming email, and when you get mail from your boss, it moves the message right to your Bossman folder. It happens automatically, without you needing to intervene. Pretty cool, right?
You can bring up the filter creation window, shown in Figure 6-12, by clicking Settings→ Configure Filters. This window is similar to the search window described in the previous section, but also contains some additional elements. Along the left side is a space that shows the filters you already have. Right now, it should be empty. You define the action or actions you want the filter to take in the Filter Actions section, located below the search fields. In the Advanced Options section, you specify when you want this filter to do its work. Most filters are created to apply to incoming messages, but you may sometimes want to create a filter to work on sent messages or that you can apply manually to quickly clean up an email folder.
Most people leave the setting "If this filter matches, stop processing here" checked. Filters are usually applied starting at the top of the filter list and work their way down; therefore, if an email message matches the criteria of a filter at the top, it is never processed by the filters lower down on the list. (If the option is unchecked, all the filters have a go at the message, and usually the last filter wins.) I leave this option checked in all of my filters, and organize my Available Filters list so the most important ones are at the top by highlighting the filter name and clicking the up and down arrows to move them around the list.
To create a new filter, click on the icon in the lower left corner that looks like a blank sheet of paper with the corner turned down. This adds a new entry at the top of the filter list with the title <unknown>. You can give it a new name by highlighting it and clicking the Rename button.
Once you've named your filter, enter your search criteria just as you did for performing a regular search on your existing email. The only difference is that you don't need to specify which folders to search, because filters are always applied according to the criteria you specify in the Advanced Options section.
The next thing to do is to define one or more filter actions by using the drop-down list in the Filter Actions section. If you need more than one action, click More to get another drop-down box. When you select an action, it will usually open an alternate drop-down list where you further define that action. For example, if you choose the action "file into folder," you'll get another drop-down list in which you select the folder to put the email into.
Figure 6-13 shows the settings for a filter that will move all email messages from your boss into a folder called Bossman and flag the messages as important. It applies only to messages that were sent directly to you in the To: or CC: lines (use the <recipients> option to specify both lines). Once you click Apply or OK, the filter will immediately start working on any email that is sent or received.
You can also clean up existing email by applying a filter manually. This is useful when you've created a new filter and already have a lot of email in you inbox that matches the filter criteria. To manually run a filter, go to the folder that has the email messages you want to filter. Because manual filters affect only selected messages, press Ctrl-A to highlight all the messages in that folder, then press Ctrl-J to apply all manual filters.
A quick way to create a filter is to right-click on an email message, select Create Filter from the menu, and choose what criteria you want to filter on. The regular filter creation screen will open with some of the information already filled out. You then just need to specify your action, give the filter a new name, and click OK. I find this method particularly useful when creating filters for mailing lists because it automatically inserts the correct header information into the search criteria. This information isn't always immediately obvious when you create a filter manually, as it's usually buried in an email header.
A saved search is a new feature in KMail that is like a cross between searches and filters. Saved searches are easy to create and can be very useful, but their usefulness is often not readily understood by people who don't already use filters.
If you run email searches often, it can get mighty tedious having to fill out the search criteria each time and waiting for the computer to find all the matching email. However, if you save a search and store it in a saved search folder, you get two immediate advantages: first, you don't have to retype the search parameters every time, and second, searching becomes faster because once you save a search, KMail continually runs that search in the background so it's always up-to-date with its results. If new email that matches your saved search criteria arrives, it becomes visible in the saved search folder immediately.
This may be enough to convince you that saved searches are a useful feature. But there's one more thing that's important, and it's the tricky part to understand. In a saved search, you're actually looking at email that exists in other folders. Some email programs call this a virtual folder. This means that while you are looking at the messages in a saved search folder, those actual messages are in another folder at the same time. This is different from a filter, which actually moves the messages around to different folders, or creates copies of a message so it can be in two folders at the same time.
For example, imagine that you have a filter set up to move messages sent by your boss into a Bossman folder. You also have a filter that sends messages about the book Test Driving Linux to a Linux folder. So if you get a message from your boss about Test Driving Linux, whichever filter is highest on your Available Filters list gets to handle it. That could mean either that a message from your boss might end up in the Linux folder, or a message about Test Driving Linux will be in your Bossman folder. You can solve this problem by replacing the Test Driving Linux filter with a saved search. This means the actual message can be anywhere—in your Bossman folder or in your inbox—but, because it's related to the Test Driving Linux book, it will always be "seen" in the saved search folder.
To create a saved search, just start a regular search as described in the "Searching" section. After you have specified all the criteria, click in the "Search folder name" field and give this search a name—in our example, "Test Driving Linux" would be appropriate. Now run the search by clicking the Search button. If the results are to your satisfaction, click the Open button and look at your KMail window. At the bottom of the folder list is a grouping called Searches, where you should see a new folder/search named Test Driving Linux. When you click on it, your message list and preview pane will change to show the contents of the saved search (Figure 6-14). The saved search folder acts just like a regular email folder in all ways—you can read the messages and reply to them as usual. Note that if you delete the messages, they will disappear from the folder they are actually contained in as well as from the saved search folder.
Using saved searches and filters, you can create some very powerful combinations. For instance, you can create a filter that sends all the email from your boss to the Bossman folder, and then create a saved search called Boss Unread that shows you only the messages from your boss that you haven't read yet. Once you read a message, it disappears from the search folder because the search criterion that the message be unread is no longer true. The actual message remains inside your Bossman folder. To set this up, you would create a normal search for messages from your boss, and then select <status>, contains, and unread in the second search criteria.
Organizing Your Time
The Move CD contains a personal time organization program called KOrganizer. You can use this program to keep track of your appointments, to-do items, and essential dates such as your wife's birthday.
Launch KOrganizer by clicking the Calendar icon in the Kontact shortcut bar, or go to K Menu→ Organize→ Organize your time. The main KOrganizer screen is divided into four sections (Figure 6-15). On the left-hand side, from top to bottom, are a small monthly calendar, a to-do item list, and a listing of currently open calendar resources. On the right-hand side is a seven-day view of your appointments, with the weekdays shaded a light purple. You'll notice that the menu items and toolbars along the top have changed to reflect items specific to KOrganizer.
There isn't really much to say about KOrganizer's small monthly calendar—just click the single arrows to move around by month, and click the double arrows to move around by year. If you click on a day, the calendar view on the right switches to display only that day. If you click on a week number (the numbers on the left just outside the Sunday column), the view to the right shows the entire week. Days that appear in bold have events scheduled on them.
The to-do item list is just a simple list that helps you keep track of important things you need to do. To add a new item, just type something in the space that contains the message "Click to add a new Todo," or right-click in the empty space and choose New To-Do. Then fill out the relevant information in the Edit-To-Do window. If you want to set a reminder for a to-do item, check the Due box, set a date, and then check the Reminder box and specify how far in advance you want to be reminded. The number you type in is modified by the time interval you specify in the drop-down box at the end of the field. At the appropriate time, a reminder window will appear in the center of all your desktops to tell you about the task you need to do (Figure 6-16).
Unfortunately, the Move CD does not have the reminder service running, so you won't be notified of upcoming events even when you set the reminder properly. This applies to reminders for calendar events as well. However, the reminders will work if you install Linux to your hard drive.
To-do items can have sub-to-do items that they depend upon. For example, if I create a task called "Throw a party," I can create subtasks to get a cake, invite the guests, and buy a gift (Figure 6-17). The main task of throwing a party cannot be completed until I have finished the subtasks. To create a subtask, right-click upon an existing to-do item and choose New Sub-To-Do.
When you're finished with a task, just check the box next to it. You can delete finished tasks by right-clicking anywhere in the list and choosing Purge Completed.
Calendar Resource List
KOrganizer lets you have multiple calendars. This feature can be particularly useful if you want to share calendar information with other people. For instance, if three people are working on a project, they can create a calendar for that project and put it in a shared location, such as a file server at work. Then each person can add that calendar as a resource to KOrganizer and see all the events pertinent to the project. They can even modify or add new events as necessary. To manage multiple calendars, use the calendar resource list, located in the lower left of the KOrganizer window (Figure 6-18).
Another way to use multiple calendars is to connect to events calendars on the Internet. For instance, I'm a Notre Dame football fan and I like to have a calendar of the Fighting Irish schedule. By doing a Google search for "Notre Dame Football" and "iCal" (the format that most shared calendars are saved in), I found a web site that hosts the Notre Dame football schedule for 2005.
This is how you can add an Internet shared calendar resource:
- Find the webcal:// address for a shared calendar. If you can't find that, use the http:// address that links directly to the ical file itself (in my example, this would be http://ical.mac.com/sports/football/notredame2005.ics).
- Click Add in the calendar resource list.
- In the Resource Configuration window, click Calendar in Remote File, and then click OK.
- In the second Resource Configuration window, give your new calendar a name, and then enter the address from Step 1 in the Download URL field. I usually mark calendars such as this to reload on startup. When you're finished, click OK.
Now, the next time you start up KOrganizer, it should display the information it's pulled down from the remote calendar. To remove the calendar temporarily, just uncheck it in the calendar resource list. If you want to remove it permanently, select it and click Remove.
The main purpose of KOrganizer is to allow you to track events in a calendar. You can use KOrganizer simply to list events, but it's even more useful to have it remind you of upcoming events. KOrganizer is very simple to use; the hardest part is remembering to type in the appointments. (Unfortunately, KOrganizer can't remind you to do that!)
There are several ways to add a new event to your calendar. The first icon in KOrganizer's toolbar, which looks like a small calendar with a sun, represents New Event. Click it to open an Edit Event window, where you can enter all the information for the new event (Figure 6-19). Alternatively, you can press Ctrl-N to bring up the same window. A third method is to right-click in a time slot in the calendar view on the right and choose New Event to create a new event associated with that particular 15-minute time slot. Alternately, you can click and drag your mouse to highlight multiple time slots in a row to make your new event begin and end at the times you highlight.
Regardless of how you get to it, the Edit Event window is always the same and looks a lot like the Edit To-Do window. Most of the good stuff is on the first tab, and it's pretty obvious what you have to fill out. The Title field is simply a place for you to type a short description of the new event. This description will display in the calendar view on the right side of KOrganizer, so pick something meaningful. The Location field is where you can type the place where the event is occurring. This field is not tied to any sort of resource reservation tool, but it's a useful reminder of where you need to go.
The purpose of the Start and End fields in the Date & Time section should be obvious. If the time fields are grayed out, it is probably because the "No time associated" box is checked, which means that any event you create is assigned to the entire day or days specified by your Start and End dates. When you uncheck this box, you can add specific times to the event.
If you want to set a reminder for the event, check the Reminder box. (Keep in mind that reminders are disabled on the Move CD, however.) This enables a few more fields, where you can specify how long before the start time of the event you want to be reminded. The first field contains a number, which is modified by the time interval (minutes, hours, days) specified in the drop-down list. The actual reminder you receive when you set these fields looks like Figure 6-20.
By clicking the Select Categories button, you can choose a category for the event that will affect its color in the calendar view. You can create new categories by clicking Edit Categories, typing a name in the new window, and clicking Add.
Back in the Edit Event window, you'll notice that there's a big, empty field in the middle of the window in which you can type the details of your event. This information also appears in the event reminder.
Now click on the Recurrence tab of the Edit Event window, as shown in Figure 6-21. If your event will repeat in the future, check the "Enable recurrence" box and tell KOrganizer how often to repeat this event. For example, let's say you want to create an event that repeats every other Wednesday for the next three months. To set this up, click Weekly for your time interval, set the "Recur every" value to 2, and then check off Wed in the days of the week list. Finally, in the Recurrence Range section, check "End by" and specify a date three months into the future.
As another example, say you have a monthly poker game that occurs the first Thursday of every month, with the exception of the second month. To set this up, click Monthly for your time interval and set it for the next 12 months. There are two options to specify the day this should occur on. For this example, choose the second option and set it to recur on the 1st Thursday. Finally, to exclude the Thursday in the next month, click the drop-down list in the Exceptions section, choose the date you want to exclude, and click Add.
The Attendees and Gantt tabs in the Edit Event window are related to the groupware functions of Kontact and are beyond the scope of this book. The Attachments tab is where you can associate a particular file to an event.
When you're done creating an event, simply click OK to close the Edit Event window and save the event to your calendar.
You can customize KOrganizer to a limited degree. To open the configuration window, go to Settings→ Configure KOrganizer. The window that appears looks like most other KDE configuration windows (Figure 6-22). As usual, if you select an icon on the left, it will bring up a related set of options on the right.
Instead of going through all the options, I'll simply point out the ones I think are the most interesting. In the main configuration window (click the Personal icon), I like to check off the "Export to HTML with every save" option. This creates a web page with your calendar events and to-do items every time you save the KOrganizer calendar, and you can share this page with other people to let them know how busy you are.
If you maintain more than one calendar in your calendar resource list, you should check off the box next to "Be asked which resource to use." Doing this allows you to specify which calendar a new event should be saved in. If you have only one calendar (as most people do), check off the option "Be added to the standard resource" instead.
On the Time & Date screen, you can specify several features related to how KOrganizer handles time. Since most of my events last less than an hour, I like to change the "Default duration of a new appointment" to 1:00 (one hour).
The Views screen controls the actual appearance of KOrganizer. There are a lot of options to play with here. My favorites are to set the "Days begin at" to 9:00 because I start my day later than most. I also like to check the last option, "Time range selection in agenda view starts event editor," which allows you to create a new event just by dragging your mouse over a time range. When you release the button, a new Edit Event window opens with the time range already entered. Very convenient!
The Colors screen lets you specify the colors associated with different items. I usually modify the colors associated with Categories so that different types of events can have different colors. To do this, simply select the category that you want to modify from the drop-down list, then click on the color bar. This opens a Select Color window, where you can choose any color under the rainbow.
Create a Computerized Address Book
Kontact also contains an address book in which you can keep all of your important contact information. Like the email and organizer components of Kontact, this feature actually comes from a separate program known as KAddressbook.
To launch KAddressbook from within Kontact, just click the Contacts button on the shortcut bar on the left of the Kontact window. As usual, the main window, menus, and icon bar change to provide options specific to KAddressbook.
The main window in KAddressbook is divided into three parts. Along the top is a search field to help you find specific information. The left-hand pane displays the list of your contacts (empty now), and the right-hand pane displays the details of a selected contact.
To create a new contact, click the New Contact icon (the one that looks like a small ID card) or press Ctrl-N. This opens the Edit Contact window, where you can fill in all the relevant information about your contact (see Figure 6-23).
There aren't too many surprises here; the data you put into each field should be self-explanatory. Multiple tabs help divide up the information. There are a few interesting features here worth noting:
- Select Categories (General tab)
- Click the Select Categories button to assign your contact to a category. This makes it easier to find your contacts later and to keep your Aunt Rosie's contact information separate from that of your business associates. You can also assign a contact to multiple categories. For instance, in my job as an editor, I often assign writers to my Authors, Business, and Technical Reviewer categories. You can create new categories as needed by clicking Select Categories→ Edit Categories, typing in a new category name, and clicking Add.
- Birthday and Anniversary (Details tab)
- The birthday and anniversary information for your contacts will show up on your Kontact Summary page. Unfortunately, this information does not integrate with KOrganizer, so you won't get pop-up reminders about your upcoming anniversary. I suspect that this capability will be available in a future release of Kontact.
- Photo (Misc tab)
- Click on the folder icon to browse to a photo for your contact. Doing this helps you remember what the people you correspond with actually look like.
Once you have entered contacts in KAddressbook, you can use them in KMail. When you create a new email or reply to an existing one, click on the three dots at the end of the To: field to open up the small window shown in Figure 6-24. This window displays the contents of your address book, conveniently grouped into categories (see, I told you categories were handy!). Click the plus sign to expand a category and double-click a contact to add that person to the To: field. You can select multiple contacts, and if you want to put someone on the CC: line, just click once on their name and click the CC >> button. Once you click OK, the window closes and you are back at your email message, with all the addresses entered.
You can add new contacts from within KMail by right-clicking on the contact's email address in the preview pane and selecting Add to Address Book or Open in Address Book. I usually choose the latter because it lets me enter full contact information right away.
Instant Messaging with Kopete
These days it seems like more and more people are using instant messaging. If you have teenagers in your house, you already know that having IM is more important than having a second telephone line. Fortunately, the Move CD comes with its very own instant messenger program, Kopete. This handy little program lets you connect to all the major messaging networks such as AIM, MSN, Yahoo, and Jabber—and it lets you do it all at the same time! That means you can chat with any of your friends without worrying about which network they're on.
To start Kopete, just click K Menu→ Surf the Internet→ Chat. The first time you launch Kopete, it displays a contact window (just like a buddy list in AIM) and a Configure window, where you can make several choices that affect Kopete's behavior. Just click through the Appearance and Behavior choices to see what options are available to you. The default choices are pretty good, and I seldom find the need to change them.
To set up your chat accounts, click on the Accounts icon and then click New. This launches a wizard to help you add a new account. The following steps illustrate how to connect to the AIM service; connecting to any other service is pretty much the same.
- The first window is just introductory, so click Next to continue.
- In the second screen, labeled Step One, select the service your account is on—in this case, AIM—and click Next.
- In Step Two, you enter your AIM screen name, and your password if you want it to be remembered. The Connection tab allows you to specify whether you want to automatically log onto the AIM service each time you start Kopete. After you've made your choices and entered the account information, click Next to continue. Finally, click Finish in the last screen.
At this point, the KDE Wallet Wizard may launch. KWallet is a program that remembers all of your passwords for you. To keep things simple, I recommend that you simply click Next and then Finish, to make KWallet go away. You may get a warning that Kopete could not save your password to the wallet and that offers to save your password in the unsafe configuration file instead. Go ahead and click Store Unsafe for now. You should now be back at the manage accounts window; if you wanted to edit an account, you can simply select it and click Modify. If you're ready to start using Kopete, click the OK button to close the configuration window.
Now you're back to just the contact window (Figure 6-25). To connect to the account you just set up, click the icon that looks like a plug with a lightning bolt on it, or go to File→ Connection→ Connect All. Now comes the annoying part. A new screen will come up, and despite any settings you made when you configured the account, you will now need to enter your password again, specify whether you want it saved, and state if you want your account to auto-connect in the future. This is the last time you'll have to do it, though—the choices you make here will really stick.
Once you connect, all of your buddies should start showing up in the Contact window, with indications of their status. I like to hide my offline buddies by unchecking Show Offline Users from the Settings menu.
From this point on, chatting in Kopete is a lot like using any other instant message program. (One gotcha is that you need to press Ctrl-Enter to send your message; pressing Enter just gives you a new line in the chat window.) Kopete supports smileys, tabbed chats, sharing files, and other advanced chat features. Though it isn't identical to the chat clients of AOL or MSN, it should enable you to do just about anything you want to do. Happy chatting!