User Tools

Site Tools


apps:jtimesched

jTimeSched

jTimeSched logojTimeSched is a simple and lightweight time tracking tool. You can track elapsed time for tasks and projects and use the data for the recording of time worked.

One aim of jTimeSched is a lean but extremely intuitive GUI and providing only really necessary functionality.


NEW Latest release jTimeSched-1.1 is out! Download now!

Features

jTimeSched screenshot

  • Appealing GUI with great usability
  • Create as many tasks/projects as you want with one single click
  • Tracks elapsed time for a working day and displays overall time
  • Times can be set manually
  • A task can be started by a single click on start/pause icon
  • A task can be removed by a double click
  • Tasks can be categorized by color
  • Tasks can be sorted by title, category, date created, time overall, time today or current state
  • Tasks can be highlighted by keyword
  • Logging of modifications
    • into a file
    • log area, which visibility can be toggled
  • Tray-icon support
    • Hide window on close
    • Double click on tray-icon shows/hides window
    • Different tray-icons for running/paused state
    • Tray-icon tooltip-message with information about currently running tasks
    • Start/pause active task
  • Status label with information such as number of tasks, overall/today time of all tasks
  • Restore previous window size, position and sorted column on start
  • Data and configuration are stored per directory which allows having multiple configurations and running off a USB flash drive (“USB Stick”)
  • This application basically consists of just one file (jTimeSched.jar)
  • Project data is stored as XML file
  • Keyboard shortcuts for start/pause, inserting and deleting tasks
  • Shortcut menus for removing all check-boxes, resetting all categories or removing all projects
  • Additional notes can be added
  • Configurable quota display for overall/today time of projects

Why jTimeSched

I wrote this tool because I needed something to track my task and project times for the recording of time worked.

jTimeSched may be suitable for you if

  • you need a lean tool for time tracking
  • like minimalistic and intuitive GUIs

jTimeSched may not fit your needs if you need

  • fancy features
  • sub-tasks in a tree structure
  • statistics
  • manage deadlines

In case jTimeSched doesn't fit your needs, you may give Rachota timetracker or Task Coach a try.

Download

Running jTimeSched

Java (at least J2SE 6) is a requirement for running this application. You can download and install it from here.

All platforms

Run this command from terminal:

java -jar jTimeSched.jar

To use a different Look&Feel:

java -Dswing.defaultlaf=com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel -jar jTimeSched.jar

Windows

Just double-click the jTimeSched.exe or jTimeSched.jar file.

UNIX-like (Linux, *BSD, OS X, ...)

May need to set the executable bit on the JAR-file in order to run it from right-click context menu.

There's also a launcher script jTimeSched.sh for convenience.

See section Bugs for Linux related bugs.

Using jTimeSched

Functions



Working with projects

Add a new project

To add a new project, just click on the button Add project or press the Insert key. A new project will be added to the table and the text-cursor is automatically set to the title-field. Enter the desired title and press Enter.

Track project times

You can start and pause tracking time of a project by clicking the play/pause icon or by clicking with the middle mouse button anywhere in the row or by hitting Space. When started, the time for the selected project will be tracked until you pause it again or start tracking another project (which will automatically pause the previous).

The consumed time will be updated in the Time Today and Time Overall columns. The Time Today is the tracked time of the current calendar day and will be reset automatically when you start jTimeSched another day again. The Time Overall keeps the overall time spent on a project.

You can edit and correct any time by your specific needs. Just double-click into the cell and enter a new time (Note: This only works for paused projects).

An overview of all times in sum is displayed at the bottom.

Staying on the top of things

Sorting

Any data can be sorted by clicking on the respective table column. Click again to toggle sorting ascending or descending.

Categorizing

Each project can have its own category color for distinction purpose. Click into the color-cell (which is initially transparent) to open up a dialog with a set of color matching categories. You can compose your desired color by clicking on the heart-symbol. To clear a color (setting it to transparent again) click on the reset-symbol.

There is also an option for clearing all categories at once. Right-click into the category-column and select 'Clear all'.

General purpose check-boxes

There is a column with a general purpose check-box which can be used for your own purposes, e.g. mark a project's time as already recorded.

All check-boxes can be set and unset at once by using the context menu from the table header (right-click).

NEW The check-boxes are now reset on day time reset.

Highlighting

You can highlight projects in the table by a search term. Just enter a term into the bottom-right text-box and all matching project titles will be highlighted immediately with a black border.

Removing projects from the list

To remove a project from the list, double-click the delete icon (the icon on the very left) or press the Delete key. Intentionally, there is no confirmation before the project is removed.

There is also an option for removing all projects at once. Right-click into the delete-column and select 'Delete all'.

Quota

For each project a quota can be set for overall/today time. Right-click into the overall/today time cell and enter the quota to set.

The current utilization of the quota is drawn as a green bar (when in time) or red bar (when overdue) above the cell.

NEW The use of a quota is shown by a blue dot, if the utilization isn't yet visible due to a too small bar.

NEW The set quota is shown when mouse is moved over the cell.

Additional notes

Each project can have additional notes attached. Just right-click into the title-cell and enter the note to set. It's possible to use HTML within the note.

On mouse move over the title cell a tooltip-message with the set note appears.

Tray / notification icon

jTimeSched can be minimized to tray by closing the window. A double-click shows or hides the main window. A right-click onto the tray icon triggers a context menu where you can start/pause the current respectively the most recent project. The Exit menu item forces jTimeSched to shutdown.

NEW New icon for inactive mode.

Modification log

If you accidently removed a project, lost the tracked time of a project or any other inconvenience, you can fall back to the modification log. The log keeps track of all important changes made to the project properties, such as “last time before deletion”.

Log area

The button to the lower right toggles the visibility of the log area.

File

You can find the log file in the conf directory.

ChangeLog

release 0.1
	- everything

release 0.2
	- option for resetting today-time on double-click

release 0.3
	- fixed bug when column sorting was active and project-list became empty
	- added history.ico (may be used for Windows shortcuts)
	- set frame minimum width
	- set fixed width for column overall and today
	- added bottom label for displaying summarized information
	- when adding a new project start editing the cell, scroll to it and select all text and finally set input focus
	- improved user message strings
	- implemented overall-time reset
	- remove project with double click and without confirm-dialog
	- update trayicon with status and set different icon if active
	- handle system-tray not supported case

release 0.4
	- allow sorting by status running/paused
	- save window settings: size, position, visibility and sort-column

release 0.5
	- implemented categories using colors
	- implemented manually editing time for overall/today
	- tray-icon: gray for inactive, green for active

release 0.6
	- fixed: adjust time-overall when manually setting time-today
	- category chooser:
		- changed available colors
		- added option for choosing custom color
	- fixed possible loss of data: installed shutdown-hook for saving projects

release 0.7
	- when a project is running, set different window icon as well
	- added icons for custom/reset-color buttons
	- added additional column with multi-purpose checkbox
	- implemented logging of project changes
	- save runtime-file in separate directory
	- save/load projects as XML instead of using java serialization
	- implemented highlighting of rows by keyword

release 0.8
	- fixed: save project data as UTF-8 no matter what encoding is set by system locale

release 0.9
	- start/pause current project via tray-menu
	- created Java application launcher (Windows & Unix)
	- added keyboard shortcuts for start/pause, new and delete project
	- on startup copy project file as backup
	- option for removing all general-purpose checkboxes at once
	- worked around bug where projects were not saved on a hard shutdown

release 1.0
	- fixed inserting a new project with shortcut key when no table row selected
	- date of creation can now be edited
	- option for removing and color-reset all entries
	- added quota option for time today and overall
	- additional notes for a project
	- added a log area, which visibility can be toggled

release 1.1
	- show time-quota on mouse-mouse over overall/today cell
	- indicate present quota by a little blue dot in cell
	- automatically un-check projects on today-time-reset
	- ampersand-character in project-title not shown in tray-tooltip (Windows)
	- new application icon (different sizes) and more distinguishable icon when inactive
	- moved resource files (graphics) into JAR
	- fixed jTimeSched.exe-launcher for 64-bit systems
	- better error messages when projects/settings fail to load

Bugs

  • On Linux only
    • Tray icon may not be transparent. This is an issue of Java SE 6. Nothing I can do about. See bug 6453521 for more info.
    • Tray icon doesn't work with GNOME 3. This is a Java issue explained here and here.
    • There's a strange behavior when running the jar-file from within Nautilus, as it sets the current working directory to your home directory. This causes that the projects file is saved to your home directory. See Ubuntu bug 234777 for more info. As a workaround you might want to execute the shell-script jTimeSched.sh.
  • On Windows only
    • For jTimeSched versions ≤ 1.0 only: The launcher application jTimeSched.exe doesn't work on Windows with 64-bit Java.

Feedback / Report a bug

Please report bugs and feature requests to the project's issue tracker.

You may also send me an email at code@dominik-geyer.de.

Source code

jTimeSched is hosted on GitHub. You can access the repository at datag/jtimesched.

$ git clone https://github.com/datag/jtimesched.git

See README.md for more information.

License

jTimeSched is licensed under the GPLv3 license.

apps/jtimesched.txt · Last modified: 2014-03-07 10:55 CET by dominik