Issue #13 November 2005

Focus on Fedora Extras

In the last Focus on Fedora Extras article we took a look at GRAMPS, bash-completion and Firestarter. Fedora™ Extras consists of a large collection of packages, maintained by volunteers, to augment the basic operating system provided by Fedora Core. The collection includes all sorts of packages and this month we take a look at three more. See the Further reading section to find out more about them.

Starting with Fedora Core 4, it is easy to install Fedora Extras packages—just enter the following commands:

$ su -
# yum install package-name

There are now over a thousand Fedora Extras packages to choose from. You can find the entire list at the Fedora Project Wiki.

gDeskCal: Eye-candy calendar for your desktop

Package name: gdeskcal

Fedora Extras maintainer: Phillip Compton

gDeskCal is a fancy-looking calendar that sits on your desktop background, as shown in Figure 1. gDeskCal.

Figure 1. gDeskCal

You can install gDeskCal as the root user by running the command:

# yum install gdeskcal

gDeskCal appears in the main menu under Accessories.

To get gDeskCal to start up every time you log in, add it to the session start-up programs list. Select Desktop => Preferences => More Preferences => Sessions from the panel menu and click on the Startup Programs tab. Then click on the Add button, type gdeskcal into the Startup Command box and click OK. When you next log in, gDeskCal will start up and position itself on the desktop. If you prefer your week to start on a Sunday rather than a Monday, make the start-up command: "gdeskcal --first-day=7"

You can adjust the appearance to your taste by right-clicking on the calendar and selecting Change Skin.... To install a new skin, first download the tar.gz file to your home directory and open a window showing the file icon by selecting Places => Home Folder from the panel menu. Then drag the file icon into the Change Skin dialog from gDeskCal. The new skin appears as a new entry in the list; you can delete the tar.gz file in your home directory.

See Further reading for a link to more skins than the three provided in the RPM package.

The calendar shown in Figure 1. gDeskCal is semi-transparent and uses colors that tone well with the "Blue Swirl" background wallpaper. The skin I prefer is a modified version of "August Big" (see Figure 2. Modified skin). I changed the text colors to tone better with my chosen wallpaper by editing the "colors" section of the skin.xml file in the ~/.gdeskcal/skins/august_big_no_backgr directory, and changed the color of the circle around today's date by editing the today.png file in the skin directory using The GIMP.

Figure 2. Modified skin

As well as looking pretty, gDeskCal is useful for keeping track of appointments. The < and > symbols flip backwards and forwards through the months, or you can scroll by using the mouse wheel while the pointer is on the calendar. The = symbol displays the current month. gDeskCal also keeps an appointment diary.

To add a new appointment, double-click on the day of the appointment to get the Edit Appointments dialog (see Figure 3. Appointments dialog). When you close the dialog, the date will be underlined (see October 28th in the screenshots). Hovering the mouse over that date will then show the appointments for that day in a tooltip.

Figure 3. Appointments dialog

gDeskCal provides useful functionality beyond the GNOME clock applet in that it can keep track of appointments. It is also easy to customize and can enhance your desktop. This is the kind of thing Fedora Extras is all about.

Revelation: Password manager for GNOME

Package name: revelation

Fedora Extras maintainer: Thorsten Leemhuis

Revelation is a password manager for GNOME (see Figure 4. Revelation).

Figure 4
Figure 4. Revelation

Plenty of people use just one memorable password for every web site login and email account they have. The obvious pitfall is that once someone finds out that one password, all of the other accounts are compromised. It might be a mischievous employee of one of the companies providing the web sites. If your login ID for an online shop is your email address, and you use the same password for both your online shop account and for accessing your email, you place a large amount of trust in them.

It can be quite a challenge to have to remember several different passwords, especially if they are good passwords. Revelation can remember them for you.

You can install Revelation using the command yum install revelation (as the root user). It appears in the main menu under Accessories.

The idea of Revelation is that it provides a way of storing account details for you in an encrypted file in your home directory. It will also check the strength of your existing passwords and can generate new passwords for you.

To add details of an account that needs a password, click the Add Entry button. A dialog box appears (see Figure 5. Revelation: Add Entry) for you to enter the details. For a website login the URL can be put in, as well as the username and password. Several other types of account details can be stored including email accounts, FTP sites, mobile phone PIN codes, and credit cards.

Figure 5. Revelation: Add Entry

Click the Save button to store the account details in a file in your home directory. After giving the file a name (something like passwords is fine), enter a password for the file. This is used for encrypting the information using the AES cipher, in case of unauthorized access to your computer, or if your home directory is on a shared file server. It is important to choose a good password for this as it protects all of your other passwords.

Revelation encrypts the file passwords are stored in, but keeps them unencrypted in memory while it is running. Be aware of this if you are using a shared computer.

Select Edit => Preferences from the menu and select the Open file on startup checkbox. Click the Browse button and find your password file. Now when Revelation is started it will automatically load your passwords, prompting you for the master password to decrypt them.

My favorite feature of Revelation is part of the panel applet. To add the Revelation applet to your panel, right-click on the panel and select Add to Panel.... Choose Revelation Account Search from the list of applets and click Add. Configure the applet to load your password file using the Preferences dialog by right-clicking on the applet and selecting Preferences.

Figure 6. Revelation Account Search

To find details of an account, either type in part of the account name or description in the type-in box and press enter, or left-click on the icon and select the account from the menu. Details of the account will be shown in a pop-up box, shown in Figure 6. Revelation Account Search. Pay close attention to the mouse pointer in the picture and you will see my favorite feature of Revelation: you can drag the password and drop it into a web browser form.

Meld: Visual diff and merge tool

Package name: meld

Fedora Extras maintainer: Philip Compton

Meld is a graphical application for examining the differences between text files and for merging selected changes (see Figure 7. Meld).

Figure 7
Figure 7. Meld

You can install Meld using the following commands (as the root user):

# yum install meld
# yum install gnome-python2-gtksourceview
# yum install gnome-python2-gnomeprint

You can leave out the gnome-python2 packages, but in that case syntax highlighting will not work. Meld appears in the main menu under Programming.

Meld is a friendlier version of the command line programs from the diffutils package. It displays the differences between two files and allows changes to be selectively merged.

After starting Meld from the Programming menu, an empty workspace is shown. Click the New... button to select a pair of files to compare. After you click OK the differences will be shown graphically, as in Figure 7. Meld.

Added or removed sections are shown with a green background and changed sections are shown with a blue background. Along the left and right hand sides, next to the scroll bars, small colored rectangles show the locations of any changes. Clicking in one of these areas scrolls to the correct line in the file.

Meld even shows which parts of a particular line have been changed: see line 48 of the right-hand file in Figure 7. Meld, where "dprintf" has been changed to "debugprintf".

Merging is possible by clicking on the arrows in the middle section. To incorporate the original version (left side) of a particular change into the modified file (right side), click the arrow pointing to the right. To completely remove a changed section from the file, hold down the Shift key and the arrows change to crosses. Click on a cross and the changed section is removed.

Both versions of a section (before and after) can be incorporated into either file by holding down the Ctrl key. Each arrow changes to a plus symbol, with one arrow pointing up and another pointing down (see Figure 8. Incorporating both versions of a section). Keeping Ctrl held down, click on the arrow pointing upwards to incorporate the change before the changed section in the other file, or downwards to incorporate the change after.

Figure 8. Incorporating both versions of a section

So far Meld does just what one would expect, but there is more. Both the left-hand and right-hand files can be edited on-screen and the differences will be updated to match. This means you can use a single application to edit and review changes. First make a back-up of a file you wish to edit, then start up Meld and edit the file, while keeping track of the changes you have made. Finally you can make a patch by right-clicking and selecting Make Patch. This creates a patch in diff -u format.

Further reading

About the author

Tim Waugh is a Systems Engineer at Red Hat, primarily responsible for packages relating to printing, DocBook, VNC, and some shell utilities. He has been using Linux since 1995. He lives with his wife in Surrey (England).