Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jansorg/tom-ui
Qt5-based user interface for the tom time tracker
https://github.com/jansorg/tom-ui
cross-platform gotime qt5 time-tracking timetracker
Last synced: 7 days ago
JSON representation
Qt5-based user interface for the tom time tracker
- Host: GitHub
- URL: https://github.com/jansorg/tom-ui
- Owner: jansorg
- License: gpl-3.0
- Created: 2019-01-05T20:36:55.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-07-20T13:51:47.000Z (over 2 years ago)
- Last Synced: 2024-10-04T18:17:42.672Z (about 1 month ago)
- Topics: cross-platform, gotime, qt5, time-tracking, timetracker
- Language: C++
- Homepage: https://www.tomtime.dev
- Size: 1.32 MB
- Stars: 8
- Watchers: 2
- Forks: 2
- Open Issues: 34
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-starred - jansorg/tom-ui - Qt5-based user interface for the tom time tracker (others)
README
# tom-ui
**This project is in its early stages. It's not yet reliable enough for production use.**
![](docs/screenshot%20mac.png)
## Content
**[1. Overview](#1-overview)**
**[2. Installation](#2-installation)**
* [2.1. Mac OS X](#21-mac-os-x)
* [2.2. Ubuntu Linux 20.04](#22-ubuntu-linux-2004)
* [2.3. Any platform](#23-any-platform)**[3. Features](#3-features)**
* [3.1. Tray icon](#31-tray-icon)
* [3.2. Project tree](#32-project-tree)
* [3.3. Timeframe list](#33-timeframe-list)
* [3.4. Project quickstart window](#34-project-quickstart-window)
* [3.5. Reports](#35-reports)
* [3.6. Data import](#36-data-import)
* [3.7. Command line interface](#37-command-line-interface)**[4. Useful resources](4-useful-resources)**
**[5. License](5-license)**
----
## 1. Overview
`tom-ui` is a time-tracking application with a graphical user interface (GUI), available for Mac OS X, Linux and Windows. It is a simple Qt5-based frontend for the [`tom`](https://github.com/jansorg/tom) command line time tracker.
`tom-ui` is being developed to not interrupt your work and to be as little hassle as possible. It will eventually support many features of the command-line software `gotime` but it's not going to be a full-featured time-tracking application.
## 2. Installation
### 2.1. Mac OS X
Download and install the latest `.dmg` file of `tom-ui`, provided under:
* [`tom-ui` Releases](https://github.com/jansorg/tom-ui/releases)The Tom package already contains the `tom` command line interface.
### 2.2. Ubuntu Linux 20.04
This may also work for other versions of Ubuntu, and for other Linux distributions based on Debian.
1. Download the latest `.deb` package of `tom` provided under [`tom` Releases](https://github.com/jansorg/tom/releases).
2. Download the latest `.deb` package of `tom-ui` provided under [`tom-ui` Releases](https://github.com/jansorg/tom/releases).
3. Install the packages of both `tom`, `tom-ui` and all their dependencies with a command like this:
sudo apt install ./tom_0.12.2_Linux-amd64.deb ./tom-ui_0.12.2-ubuntu-20.04_amd64.deb
It is important to reference the `.deb` files with their paths (and if only `./`) as otherwise `apt` will interpret the arguments as package names and try to find them in online repositories.### 2.3. Any platform
For any supported platform, you can always build `tom-ui` from source using `cmake`. See [DEVELOPMENT.md](https://github.com/jansorg/tom-ui/blob/master/DEVELOPMENT.md) for details.
## 3. Features
### 3.1. Tray icon
Under Linux, the tray icon will display the status: "red square" means a timer is active.
On right click, the tray icon displays the recently used projects for a quick start of a new activity.
### 3.2. Project tree
You can:
* Create, edit and delete subprojects from the context menu of a project tree entry.
* Create, edit and delete projects from the "Project" menu (this is redundant to the above, as a project is also a subproject of the "All projects" entry).
* Move projects and subprojects around by drag & drop to change the project tree hierarchy.
* Start a timer for the currently selected (sub-)project by pressing the toolbar button or selecting "Project → Start timer" from the menu.
### 3.3. Timeframe list
The lower part of the window shows the timeframes belonging to the currently selected (sub-)project. You can:
* Move a timeframe to a different (sub-)project by drag & drop into the project tree.
* Change the start or end time of a timeframe by clicking on a value of the currently selected timeframe.
* Add a note to a timeframe by clicking in the "Notes" column of the currently selected timeframe.
### 3.4. Project quickstart window
You can use the global keyboard shortcut Ctrl + Shift + P to show the project quickstart window.
From there, you can quickly start a project timer by typing a part of a project name and choosing a suggested project.
Alternatively, you can also show the project quickstart window by choosing "Project → Lookup project …" in the menu.
Finally, if you notice you can't find the right project with the quickstart window, there is a button in its bottom right to show the main window and thus, the full project tree.
### 3.5. Reports
[TODO]
### 3.6. Data import
You can take over time-tracking data from various other applications into `tom-ui` using the "Import" menu. Choose:
* **"Mac Time Tracker CSV"** to import a CSV file exported by Max Time Tracker. [TODO: link]
* **"Fanurio CSV"** to import a CSV file exported from the time-tracking and billing software [Fanurio](https://www.fanuriotimetracking.com/).
* **"Watson frames.json"** to import the `frames.json` file of the command-line time-tracker [Watson](https://tailordev.github.io/Watson/). Under Linux, that file is typically found at `~/.config/watson/frames`.
### 3.7. Command line interface
Since `tom-ui` is just a frontend for `tom`, you can use `tom` to control your time-tracking from the command line. Also while `tom-ui` is running at the same time. For example, a typical session could be:
tom create project acme
tom start acme
…
tom stop
tom report --month 0For details, see the [`tom` documentation](https://github.com/jansorg/tom#readme).
## 4. Useful resources
* [FreeDesktop Icon Naming Specification](https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html), a list of theme icon names that can be relied on in FreeDesktop compatible environments like KDE and Gnome
* [Configuring the content of the Mac OS X application bundle file `Info.plist` with cmake](https://cmake.org/cmake/help/latest/prop_tgt/MACOSX_BUNDLE_INFO_PLIST.html)
## 5. License
To be decided, probably GPL.
Software and assets included from third parties:
* from [Emerald Icon Theme](https://github.com/vinceliuice/emerald-icon-theme)
* `images/icons/document-new.svg`
* `images/icons/edit-delete.svg`
* `images/icons/window.svg`
* `images/icons/document-save.svg`