Copyright © 1997, 1998 by Eckehard Berns
This documentation is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
For more details see the file COPYING in the source distribution of GTimeTracker.
Well, I'm German and I find it hard to express myself in English. So if you find some phrases and/or words that I used in a wrong way (and you will find them :-) ), please send me an email, so I may correct this. Please send me notes about typos, too.
And I would like to hear about your opionion on GTimeTracker. Maybe you want some features to be integrated in GTimeTracker. Or you have discovered a bug. Or you think, that the user interface needs a change in some way. Just send me an email and I will see what I can do for you. I want to make this tool usable and usefull for everyone.
GTimeTracker is a tool to measure the time you have a given project (see the section called What is a Project in Chapter 2) in a selected state (see the section called The State of a Project in Chapter 2). GTimeTracker isn't especially smart at this. You, the user, will have to give GTimeTracker hints about what you currently want it to measure or it will not display reasonable values.
Once one has learned to use GTimeTracker effectively, it can be of great help. For example, you can use it to optimize your work. It can show you that you are spending too much time on unimportent tasks. Or, it can exactly count the hours you spend on a project that is paid for by time. You may discover many other ways GTimeTracker can work for you.
The main window consists of four areas. There is a menu bar (see the section called The Menu Bar), a toolbar (see the section called The Toolbar), a status bar at the bottom of the window (see the section called The Status Bar), and a scrollable area where all your projects will be displayed (see the section called The Project List). When you start GTimeTracker for the first time, this area will show just one project, which is titled "empty".
Note that you can customize the look of the main window in the preferences dialog (see the section called The Preferences Dialog in Chapter 3), so not all these areas might show up after you have played around with GTimeTracker a bit. You can always enable missing areas in the preferences dialog.
The menu bar is located at the top of the window by default. You can change the location of the menu bar in numerous ways. This customization of the menu bar is subject of the GNOME global documentation and not covered here.
Nearly all menu items in GTimeTracker have a shortcut (or accelerator key). Those key sequences are shown behind the name of the function. If for example you want to activate the function New Project... > from the File menu, you can just hold down the Control key and press the N key. In the menu this is shown as Ctl+N.
The menu bar consists of four menus: File, Edit, Timer and Help. I will describe these menus in the following sections.
In the File menu you will find the functions dealing with the configuration file -- $HOME/.gnome/gtt. In addition there is a function to quit GTimeTracker. I have also put the New Project... funtion there. This is mainly because nearly all software has a new function in the File menu and that's the place I would search for it.
This function shows the New Project Dialog. Have a look at the section called The New Project Dialog in Chapter 3 for more info.
Okay, let's have a look at the functions dealing with the configuration file. The configuration file holds info about your preferences (see the section called The Preferences Dialog in Chapter 3) and about your list of projects (see the section called The Project List). The functions are Reload Configuration File and Save Configuration File.
The configuration file will be saved every time GTimeTracker exits. I have made some effort to verify that this file will be updated even in case of program aborts. So there should be no need to save the configuration file for safety purposes. But you might want to rearrange your projects a bit. You may want to save the current state of the projects just to make sure you cannot delete a project by accident.
In case you made some mistakes you can then use the Reload Configuration File function. You will be asked if you really want to discard your current set of projects. Just press OK, if you really meant to reload the old configuration file. If you activated this function by accident, you can press Cancel.
This function just quits GTimeTracker. The configuration file with your current list of projects will automatically be saved.
The Edit menu holds all the functions to edit the project list. In addition there is a menu item to activate the preferences dialog.
These functions are used to rearrange your project list. You can use Cut to remove projects from the list. But these cut projects aren't discarded right away. You can use Paste to insert a cut or copied project either before the current selected project, or, if no project is selected, at the bottom of your project list. The Copy function does the same as the Cut function, but will not remove the project from the list.
Note that there is only room for one project to be cut or copied. If you cut or copy another project before pasting the previous one, that project will be lost forever.
On the other hand it is possible to paste a cut or copied project multiple times.
This function is a quick way to clear the daily counter of the currently selected project. You can use it if you don't care about the real daily counter, but want to count the time of a process more than once (maybe to see how long your current PPP connection to the internet lasts). The global timer is not affected.
This function shows the properties dialog, or if it is already shown, updates its contents. See the section called The Properties Dialog in Chapter 3 for more details.
This function shows the preferences dialog. See the section called The Preferences Dialog in Chapter 3 for more details.
The Timer menu lets you start and stop the internal timer (see the section called The Internal Timer in Chapter 4 and the section called The State of a Project).
You can start the timer by activating Start. Stop will stop the timer. And you can toggle the state of the timer with Timer running. Having all these functions in the menu may seem bogus, but it is usefull when using the accelerator keys.
The Help menu has some starting points to this help system. If unsure, just select the menu item Manual to get to the table of contents.
Besides these, there is a menu item called About.... This function will popup the about dialog. Just press OK to get rid of it.
Each item in the toolbar activates a menu item. So, besides the menu itself and the shortcut (or accelerator) key, I described above, you can use the toolbar items as a third way of executing a given function.
Since the toolbar is highly configurable, I won't describe all icons. You can enable the tool tips in the preferences dialog (they are enabled by default) and hold the mouse pointer over an icon. After a short time a tool tip will be displayed describing the current toolbar button. If you enabled the toolbar texts, a (very) short description will be displayed for the current toolbar button.
A project consists of the following:
Each project has a title which is displayed in the project list.
There is a daily timer, which will be automatically reset on a new day, and which you can zero as you please. This is the timer that will be displayed in the project list.
Another timer holds the total time this project has been worked on.
I have included a description of the project.
Basically, a project has just two states, selected or unselected. You can only select one project at a time. An unselected project is just that, unselected. But there are other values that affect the handling of a selected project.
E.g. there is the timer (see the section called The Internal Timer in Chapter 4). The time of a selected project will only be counted when the timer is running. This gives us a third state of a project. Here is a list of states and what happens to a project in each state:
There is no time measuring or other effect.
The time is measured for the selected project. In addition there will be a log file entry for that project (if log files are enabled - see the section called Logfile in Chapter 3), and the shell command is executed (see the section called Shell Commands in Chapter 3).
The time will not be measured, and there is no entry in the log file. But the shell command has been run and is not being canceled.
This might be confusing the first time, but you can benefit from this. E.g. I use the shell command (see the section called Shell Commands in Chapter 3) to update my .project file. When I'm not really working on a project (e.g. because I'm just away to get a coffee or something), I can leave the .project file alone, but don't have to count the time.
The project list is displayed in the main area of the main window. It shows what projects are in the list and which project currently is selected. Each line corresponds to one project. The daily time and the title of the project are displayed.
You can select a project by clicking on it with the left mouse button. Pressing the left mouse button again on a selected project deselects it. This is the way to mark all projects as unselected.
To get a popup menu for a project, press and hold the right mouse button on it. If the project wasn't selected, it will now receive the selection, and the Edit menu will be displayed.
The first field of the status bar displays the sum of all projects' daily time. If you didn't zero a daily counter, it reflects the total time you have worked on your projects today.
The second field holds the title of the currently selected project.
The status bar provides additional information about the state of a project, as I was blabbering about in the section called The State of a Project. It will indicate whether there is a project selected, even if the internal timer is running (which is reflected by the icon in the Start/Stop Timer toolbar item).
The preferences dialog has two notebooks.
You can select what GTimeTracker should display in the main window here.
You can tell GTimeTracker if you want the seconds to be displayed in the project list. If seconds are shown, the time displayed in the project list looks like 00:12:47 (hours:minutes:seconds). If not, you just see 00:12 (hours:minutes).
If you're using a GNOME version of GTimeTracker, you can select how the toolbar should look. You can chosse to display icons and/or text.
Switch the status bar on or off.
This shell command is executed every time you select a project which was previously unselected. If you use %s in this command, GTimeTracker will replace that by the title of the selected project. I use the following entry to update my .project file:
echo '%s' >~/.project
This shell command is executed every time you deselect a project or exit GTimeTracker. To complete the example above, I use this command:
rm -f ~/.project
You have to enable this, if you want a logfile.
Give a filename for the logfile. GTimeTracker currently does not replace $HOME or ~. You should give the complete path to the logfile.
This value represents the minimum time a project must be selected before it will be logged. This is useful when you don't want any small task to be logged, or when you clicked on the wrong project first. For example, suppose you just wanted to start working on a letter to your friend Joe (so you selected the project Letter to Joe), but that reminds you, that you have to prepare a list of Christmas presents first (Joe has asked you to give him some good ideas). So, you switch to the project Xmas presents. You wouldn't want the project Letter to Joe to be in your logfile, because you didn't really start it yet. I would suggest you set this value at least to 10 seconds.
Note that a project will not get logged until you either quit GTimeTracker, switch to another project, or deselct that project. Don't be confused when you look at your logfile and your current project still isn't listed, even if it has been running for two hours.
If you are pleased with the values of the dialog, press OK to activate any changes and have the dialog go away.
If you want to apply these values just for a given task and plan to reopen the dialog again, you can press on Apply to activate the values while keeping the dialog open.
If you don't want to activate the changes, press Cancel. That will close the dialog, but will not change the behaviour of GTimeTracker in any way. I recommend using Cancel even if you didn't change anything.
This dialog shows you all values that are internally stored with a project.
Note that this is the only way to examine the overall time at the moment.
You can change the title of a project here.
You can give the project a more detailed description if you like. Up to now this value will never be used by GTimeTracker
This is the daily time you worked on the project today. You can edit this time here.
This is the total time you worked on a project. You can edit this time here.
See the section called OK, Apply and Cancel for the meaning of the buttons at the bottom of the dialog.
This dialog is fairly small. It just wants to know what you want to call the new project. Just enter a title of the new project and press OK, if you are satisfied. Or press Cancel if you changed your mind and don't want GTimeTracker to add a new project.
I haven't finished this chapter yet. I just include it here to make my SGML parser happy about the links to the sections here.
This section isn't finished yet.