{"id":13548254,"url":"https://github.com/jansorg/tom-ui","last_synced_at":"2025-07-22T19:03:27.927Z","repository":{"id":46237454,"uuid":"164249263","full_name":"jansorg/tom-ui","owner":"jansorg","description":"Qt5-based user interface for the tom time tracker","archived":false,"fork":false,"pushed_at":"2025-04-02T19:12:07.000Z","size":1413,"stargazers_count":7,"open_issues_count":34,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-14T00:05:38.047Z","etag":null,"topics":["cross-platform","gotime","qt5","time-tracking","timetracker"],"latest_commit_sha":null,"homepage":"https://www.tomtime.dev","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jansorg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-01-05T20:36:55.000Z","updated_at":"2025-04-02T19:12:11.000Z","dependencies_parsed_at":"2025-05-07T14:56:14.708Z","dependency_job_id":null,"html_url":"https://github.com/jansorg/tom-ui","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/jansorg/tom-ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jansorg%2Ftom-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jansorg%2Ftom-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jansorg%2Ftom-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jansorg%2Ftom-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jansorg","download_url":"https://codeload.github.com/jansorg/tom-ui/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jansorg%2Ftom-ui/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266553938,"owners_count":23947236,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cross-platform","gotime","qt5","time-tracking","timetracker"],"created_at":"2024-08-01T12:01:07.879Z","updated_at":"2025-07-22T19:03:27.882Z","avatar_url":"https://github.com/jansorg.png","language":"C++","funding_links":[],"categories":["C++","others"],"sub_categories":[],"readme":"# tom-ui\n\n**This project is in its early stages. It's not yet reliable enough for production use.**\n\n![](docs/screenshot%20mac.png)\n\n\n## Content\n\n**[1. Overview](#1-overview)**\n\n**[2. Installation](#2-installation)**\n\n* [2.1. Mac OS X](#21-mac-os-x)\n* [2.2. Ubuntu Linux 20.04](#22-ubuntu-linux-2004)\n* [2.3. Any platform](#23-any-platform)\n\n**[3. Features](#3-features)**\n\n* [3.1. Tray icon](#31-tray-icon)\n* [3.2. Project tree](#32-project-tree)\n* [3.3. Timeframe list](#33-timeframe-list)\n* [3.4. Project quickstart window](#34-project-quickstart-window)\n* [3.5. Reports](#35-reports)\n* [3.6. Data import](#36-data-import)\n* [3.7. Command line interface](#37-command-line-interface)\n\n**[4. Useful resources](4-useful-resources)**\n\n**[5. License](5-license)**\n\n----\n\n\n## 1. Overview\n\n`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.\n\n`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.\n\n\n## 2. Installation\n\n### 2.1. Mac OS X\n\nDownload and install the latest `.dmg` file of `tom-ui`, provided under:\n* [`tom-ui` Releases](https://github.com/jansorg/tom-ui/releases)\n\nThe Tom package already contains the `tom` command line interface.\n\n### 2.2. Ubuntu Linux 20.04\n\nThis may also work for other versions of Ubuntu, and for other Linux distributions based on Debian.\n\n1. Download the latest `.deb` package of `tom` provided under [`tom` Releases](https://github.com/jansorg/tom/releases).\n\n2. Download the latest `.deb` package of `tom-ui` provided under [`tom-ui` Releases](https://github.com/jansorg/tom/releases).\n\n3. Install the packages of both `tom`, `tom-ui` and all their dependencies with a command like this:\n  \n       sudo apt install ./tom_0.12.2_Linux-amd64.deb ./tom-ui_0.12.2-ubuntu-20.04_amd64.deb\n       \n    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.\n\n\n### 2.3. Any platform\n\nFor 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.\n\n\n## 3. Features\n\n### 3.1. Tray icon\n\nUnder Linux, the tray icon will display the status: \"red square\" means a timer is active.\n\nOn right click, the tray icon displays the recently used projects for a quick start of a new activity.\n\n\n### 3.2. Project tree\n\nYou can:\n\n* Create, edit and delete subprojects from the context menu of a project tree entry.\n\n* 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).\n\n* Move projects and subprojects around by drag \u0026 drop to change the project tree hierarchy.\n\n* Start a timer for the currently selected (sub-)project by pressing the toolbar button or selecting \"Project → Start timer\" from the menu.\n\n\n### 3.3. Timeframe list\n\nThe lower part of the window shows the timeframes belonging to the currently selected (sub-)project. You can:\n\n* Move a timeframe to a different (sub-)project by drag \u0026 drop into the project tree.\n\n* Change the start or end time of a timeframe by clicking on a value of the currently selected timeframe.\n\n* Add a note to a timeframe by clicking in the \"Notes\" column of the currently selected timeframe.\n\n\n\n### 3.4. Project quickstart window\n\nYou can use the global keyboard shortcut \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eP\u003c/kbd\u003e to show the project quickstart window.\n\nFrom there, you can quickly start a project timer by typing a part of a project name and choosing a suggested project.\n\nAlternatively, you can also show the project quickstart window by choosing \"Project → Lookup project …\" in the menu.\n\nFinally, 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.\n\n\n### 3.5. Reports\n\n[TODO]\n\n\n### 3.6. Data import\n\nYou can take over time-tracking data from various other applications into `tom-ui` using the \"Import\" menu. Choose:\n\n* **\"Mac Time Tracker CSV\"** to import a CSV file exported by Max Time Tracker. [TODO: link]\n\n* **\"Fanurio CSV\"** to import a CSV file exported from the time-tracking and billing software [Fanurio](https://www.fanuriotimetracking.com/).\n\n* **\"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`.\n\n\n### 3.7. Command line interface\n\nSince `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:\n\n    tom create project acme\n    tom start acme\n    …\n    tom stop\n    tom report --month 0\n\nFor details, see the [`tom` documentation](https://github.com/jansorg/tom#readme).\n\n\n## 4. Useful resources\n\n* [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\n\n* [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)\n\n\n## 5. License\n\nTo be decided, probably GPL.\n\nSoftware and assets included from third parties:\n\n* from [Emerald Icon Theme](https://github.com/vinceliuice/emerald-icon-theme)\n\n    * `images/icons/document-new.svg`\n    * `images/icons/edit-delete.svg`\n    * `images/icons/window.svg`\n    * `images/icons/document-save.svg`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjansorg%2Ftom-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjansorg%2Ftom-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjansorg%2Ftom-ui/lists"}