{"id":13424383,"url":"https://github.com/pkamenarsky/atea","last_synced_at":"2025-04-05T22:06:40.137Z","repository":{"id":2487186,"uuid":"3460931","full_name":"pkamenarsky/atea","owner":"pkamenarsky","description":"A minimalistic menu bar time tracker for MacOS","archived":false,"fork":false,"pushed_at":"2012-03-03T02:31:59.000Z","size":1346,"stargazers_count":612,"open_issues_count":23,"forks_count":24,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-02-15T06:35:21.706Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pkamenarsky.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.txt","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-02-16T15:16:56.000Z","updated_at":"2024-02-10T03:55:06.000Z","dependencies_parsed_at":"2022-09-09T06:23:31.812Z","dependency_job_id":null,"html_url":"https://github.com/pkamenarsky/atea","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkamenarsky%2Fatea","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkamenarsky%2Fatea/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkamenarsky%2Fatea/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkamenarsky%2Fatea/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pkamenarsky","download_url":"https://codeload.github.com/pkamenarsky/atea/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247406088,"owners_count":20933803,"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","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":[],"created_at":"2024-07-31T00:00:53.516Z","updated_at":"2025-04-05T22:06:40.117Z","avatar_url":"https://github.com/pkamenarsky.png","language":"Clojure","funding_links":[],"categories":["Clojure","Productivity","Uncategorized","Desktop Time Tracking Applications"],"sub_categories":["Task Management","Uncategorized"],"readme":"\u003c!-- \u003cimg src=\"https://github.com/pkamenarsky/atea/raw/master/resources/icon_128.png\" align=\"right\"\u003e --\u003e\n\n# Atea\n\n[Atea](https://github.com/downloads/pkamenarsky/atea/atea-1.0.3.dmg) is a minimalistic text file based menu bar time tracker for MacOS (get it [here](https://github.com/downloads/pkamenarsky/atea/atea-1.0.3.dmg)).\n\nThere are a lot of great task managers out there - [Fogbugz](http://www.fogcreek.com/fogbugz/), [Pivotal](http://www.pivotaltracker.com/), [Lighthouse](http://lighthouseapp.com/) and [Trello](https://trello.com/) among others. So why yet another?\n\nIf you are like me and find yourself in a situation where you want to *quickly* write down a task, bug or an idea you just thought of, more often than not you end up opening up your favorite text editor and saving a `TODO.txt` somewhere. At first it contains 3 or 4 entries; then it starts to grow - and you have to invent a custom DSL just so you can track priorities, projects or time.\n\nEven though a text file based system doesn't scale well (or at all) beyond a single person, it has one unbeatable advantage over web-interface based task management tools - locally editing and reordering tasks is *much* easier and faster, especially with editors like [vim](http://www.vim.org/) or [Emacs](http://www.gnu.org/software/emacs/).\n\n## Task entry\n\nEntering a new task in Atea is just as easy as entering a new line in a text file and saving:\n\n![](https://github.com/pkamenarsky/atea/raw/master/doc/screens/1.png)\n\nAdd more tasks:\n\n![](https://github.com/pkamenarsky/atea/raw/master/doc/screens/2.png)\n\nNow comes the interesting part; prioritizing something is just an empty line away:\n\n![](https://github.com/pkamenarsky/atea/raw/master/doc/screens/3.png)\n\nBut what if the need arises to subdivide tasks into projects (or modules)? Just add an optional `[Project]` in front of a task; no qualifier stands for `[Default]`:\n\n![](https://github.com/pkamenarsky/atea/raw/master/doc/screens/4.png)\n\nDone with something? Just delete it:\n\n![](https://github.com/pkamenarsky/atea/raw/master/doc/screens/5.png)\n\nCompleting all tasks of a given priority has the beneficial side-effect of pushing up all other tasks.\n\nLines starting with a whitespace character are ignored; this allows for easy \"note taking\":\n\n![](https://github.com/pkamenarsky/atea/raw/master/doc/screens/6.png)\n\n## Time tracking\n\nTracking time allows you to bill your clients more accurately, improve resource allocation by comparing estimates with actual times spent or just get a clear picture of what you have been doing the last couple of months.\n\nTo start working on a task, just click it:\n\n![](https://github.com/pkamenarsky/atea/raw/master/doc/screens/7.png)\n\nWhen you are done, stop working:\n\n![](https://github.com/pkamenarsky/atea/raw/master/doc/screens/8.png)\n\nIf you want you can append an optional estimate to any given task:\n\n    Make something to eat - 5m\n\nMinutes (`m`), hours (`h`) and days (`d`) are supported.\n\nTimes and estimates are saved in a separate csv file in plain text; this allows for easy data analysis by [combining](http://reallylongword.org/sedawk/) common Unix tools like [awk](http://www.grymoire.com/Unix/Awk.html) or [sed](http://www.ibm.com/developerworks/linux/library/l-sed1/index.html).\n\n## Configuration \u0026 files\n\nAtea automatically creates an `~/.atea` file in the user home folder with the following contents:\n\n    {\n\t    :file \"/Users/.../tasks.txt\"\n    }\n\nThis is where the current task file resides; you can change it to whatever you desire. Tracked times are stored in a file named `...-times.csv`, depending on the main tasks file name.\n\n## Dropbox integration\n\nSince tasks are stored in simple text files, [Dropbox](http://www.dropbox.com/) can be used for backup and synchronization.\n\nFor example, you can start working on a task on you laptop, then move over to you main machine and have your tasks along with the current worked time automatically updated there; just set up the configuration file to point to a file in your Dropbox folder.\n\n## Multiple projects\n\nWhen invoked the `tasks.sh` script takes the name of the current directory and updates the configuration to point to `/Users/.../Dropbox/tasks/\u003ccurrent-dir-name\u003e.tasks`.\n\nYou may associate your favorite editor to open all files with the `.tasks` extension; when the `-o` option is supplied the script automatically invokes `open` on the current tasks file, i.e. fires up the associated text editor.\n\nPlace `tasks.sh` somewhere in yout path (for example `/usr/share/bin`); then, in order to edit and switch to a Dropbox backed per-project tasks file, just type:\n\n    $ tasks.sh -o\n\n## User contributions\n\nCheck out [atea-contrib](https://github.com/pkamenarsky/atea-contrib), a separate repository containing user contributions for Atea.\n\n## Building\n\nIf you just want to try out Atea, you can grab the pre-packaged `dmg` file [here](https://github.com/downloads/pkamenarsky/atea/atea-1.0.3.dmg).\n\nIn order to build, you'll need [Leiningen](https://github.com/technomancy/leiningen), Clojure's build and dependency tool; first you have to make a standalone jar:\n\n    lein deps\n\tlein native-deps\n\tcp native/libtray.jnilib .\n\tlein uberjar\n\nAt this point you can just start the jar and it will work.\n\nIf you want a native app, you'll need to use Apple's Jar Bundler to create `atea.app` out of the generated standalone jar (this can be automated though, patches welcome). In order to hide the dock icon, edit the `atea.app/Contents/Info.plist` file and add the following key:\n\n    \u003ckey\u003eLSUIElement\u003c/key\u003e\n    \u003cstring\u003e1\u003c/string\u003e\n\nCreate a `dmg` folder and place the `atea.app` bundle there:\n\n    mkdir dmg\n\tmv atea.app dmg\n\tln -s /Applications dmg/Applications\n\nUpdate the `create-dmg` submodule:\n\n    git submodule init\n\tgit submodule update\n\nAnd then finally run the `make-dmg` script:\n\n    ./make-dmg\n\nThis should create a deployable `dmg` file.\n\n## License\n\nCopyright (C) 2012 Philip Kamenarsky\n\nDistributed under the Eclipse Public License, the same as Clojure.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpkamenarsky%2Fatea","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpkamenarsky%2Fatea","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpkamenarsky%2Fatea/lists"}