Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 131 lines (70 sloc) 6.012 kB
0fc0ad8 readme
Philip Kamenarsky authored
1 <!-- <img src="https://github.com/pkamenarsky/atea/raw/master/resources/icon_128.png" align="right"> -->
4cbcb1c readme
Philip Kamenarsky authored
2
3600dbe readme
Philip Kamenarsky authored
3 # Atea
4
4c1e1af pushed 1.0.3 dmg
Philip Kamenarsky authored
5 [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)).
14cb377 bugfixes
Philip Kamenarsky authored
6
7 There 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?
8
7ae0087 readme & fixes
Philip Kamenarsky authored
9 If 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.
14cb377 bugfixes
Philip Kamenarsky authored
10
bc5ffa7 bugfixes
Philip Kamenarsky authored
11 Even 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/).
14cb377 bugfixes
Philip Kamenarsky authored
12
13 ## Task entry
14
8d45beb docs
Philip Kamenarsky authored
15 Entering a new task in Atea is just as easy as entering a new line in a text file and saving:
14cb377 bugfixes
Philip Kamenarsky authored
16
fc2096d docs
Philip Kamenarsky authored
17 ![](https://github.com/pkamenarsky/atea/raw/master/doc/screens/1.png)
14cb377 bugfixes
Philip Kamenarsky authored
18
8d45beb docs
Philip Kamenarsky authored
19 Add more tasks:
14cb377 bugfixes
Philip Kamenarsky authored
20
fc2096d docs
Philip Kamenarsky authored
21 ![](https://github.com/pkamenarsky/atea/raw/master/doc/screens/2.png)
14cb377 bugfixes
Philip Kamenarsky authored
22
23 Now comes the interesting part; prioritizing something is just an empty line away:
24
fc2096d docs
Philip Kamenarsky authored
25 ![](https://github.com/pkamenarsky/atea/raw/master/doc/screens/3.png)
14cb377 bugfixes
Philip Kamenarsky authored
26
bc5ffa7 bugfixes
Philip Kamenarsky authored
27 But 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]`:
14cb377 bugfixes
Philip Kamenarsky authored
28
fc2096d docs
Philip Kamenarsky authored
29 ![](https://github.com/pkamenarsky/atea/raw/master/doc/screens/4.png)
14cb377 bugfixes
Philip Kamenarsky authored
30
31 Done with something? Just delete it:
32
fc2096d docs
Philip Kamenarsky authored
33 ![](https://github.com/pkamenarsky/atea/raw/master/doc/screens/5.png)
14cb377 bugfixes
Philip Kamenarsky authored
34
35 Completing all tasks of a given priority has the beneficial side-effect of pushing up all other tasks.
36
bc5ffa7 bugfixes
Philip Kamenarsky authored
37 Lines starting with a whitespace character are ignored; this allows for easy "note taking":
14cb377 bugfixes
Philip Kamenarsky authored
38
fc2096d docs
Philip Kamenarsky authored
39 ![](https://github.com/pkamenarsky/atea/raw/master/doc/screens/6.png)
14cb377 bugfixes
Philip Kamenarsky authored
40
41 ## Time tracking
42
d2ea9bb estimates
Philip Kamenarsky authored
43 Tracking 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.
14cb377 bugfixes
Philip Kamenarsky authored
44
45 To start working on a task, just click it:
46
fc2096d docs
Philip Kamenarsky authored
47 ![](https://github.com/pkamenarsky/atea/raw/master/doc/screens/7.png)
bc5ffa7 bugfixes
Philip Kamenarsky authored
48
14cb377 bugfixes
Philip Kamenarsky authored
49 When you are done, stop working:
50
fc2096d docs
Philip Kamenarsky authored
51 ![](https://github.com/pkamenarsky/atea/raw/master/doc/screens/8.png)
bc5ffa7 bugfixes
Philip Kamenarsky authored
52
d2ea9bb estimates
Philip Kamenarsky authored
53 If you want you can append an optional estimate to any given task:
54
55 Make something to eat - 5m
56
57 Minutes (`m`), hours (`h`) and days (`d`) are supported.
58
7ae0087 readme & fixes
Philip Kamenarsky authored
59 Times 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).
14cb377 bugfixes
Philip Kamenarsky authored
60
54d3b7c readme
Philip Kamenarsky authored
61 ## Configuration & files
384fa9f readme
Philip Kamenarsky authored
62
63 Atea automatically creates an `~/.atea` file in the user home folder with the following contents:
64
65 {
66 :file "/Users/.../tasks.txt"
67 }
68
bf52a27 readme
Philip Kamenarsky authored
69 This 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.
54d3b7c readme
Philip Kamenarsky authored
70
14cb377 bugfixes
Philip Kamenarsky authored
71 ## Dropbox integration
72
d24443a readme
Philip Kamenarsky authored
73 Since tasks are stored in simple text files, [Dropbox](http://www.dropbox.com/) can be used for backup and synchronization.
384fa9f readme
Philip Kamenarsky authored
74
d24443a readme
Philip Kamenarsky authored
75 For 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.
384fa9f readme
Philip Kamenarsky authored
76
77 ## Multiple projects
78
82390d8 task switcher
Philip Kamenarsky authored
79 When invoked the `tasks.sh` script takes the name of the current directory and updates the configuration to point to `/Users/.../Dropbox/tasks/<current-dir-name>.tasks`.
80
81 You 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.
82
3b939f8 task switcher
Philip Kamenarsky authored
83 Place `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:
82390d8 task switcher
Philip Kamenarsky authored
84
85 $ tasks.sh -o
384fa9f readme
Philip Kamenarsky authored
86
b980948 atea-contrib link
Philip Kamenarsky authored
87 ## User contributions
88
89 Check out [atea-contrib](https://github.com/pkamenarsky/atea-contrib), a separate repository containing user contributions for Atea.
90
384fa9f readme
Philip Kamenarsky authored
91 ## Building
92
4c1e1af pushed 1.0.3 dmg
Philip Kamenarsky authored
93 If 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).
b993631 link to dmg
Philip Kamenarsky authored
94
358457b link to dmg
Philip Kamenarsky authored
95 In 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:
e18fa72 build instructions
Philip Kamenarsky authored
96
384fa9f readme
Philip Kamenarsky authored
97 lein deps
98 lein native-deps
20d355f build instructions
Philip Kamenarsky authored
99 cp native/libtray.jnilib .
384fa9f readme
Philip Kamenarsky authored
100 lein uberjar
101
e18fa72 build instructions
Philip Kamenarsky authored
102 At this point you can just start the jar and it will work.
103
104 If 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:
384fa9f readme
Philip Kamenarsky authored
105
106 <key>LSUIElement</key>
107 <string>1</string>
108
109 Create a `dmg` folder and place the `atea.app` bundle there:
110
111 mkdir dmg
112 mv atea.app dmg
113 ln -s /Applications dmg/Applications
114
115 Update the `create-dmg` submodule:
116
117 git submodule init
118 git submodule update
119
120 And then finally run the `make-dmg` script:
121
122 ./make-dmg
123
124 This should create a deployable `dmg` file.
14cb377 bugfixes
Philip Kamenarsky authored
125
126 ## License
127
128 Copyright (C) 2012 Philip Kamenarsky
939aba1 README
Philip Kamenarsky authored
129
32d3d76 initial commit
Philip Kamenarsky authored
130 Distributed under the Eclipse Public License, the same as Clojure.
Something went wrong with that request. Please try again.