Move optimization to-do to UX
This commit is contained in:
parent
9a04caa709
commit
aba9480a19
20
TODO.org
20
TODO.org
|
@ -9,19 +9,19 @@
|
||||||
4. Button actions should accept prefix arguments and behave exactly like their keyboard counterparts.
|
4. Button actions should accept prefix arguments and behave exactly like their keyboard counterparts.
|
||||||
5. mouse-3 should clock-out without asking for reason.
|
5. mouse-3 should clock-out without asking for reason.
|
||||||
6. Some way to ask for the reason just before starting a project. Even when clocking out, the reason is asked _before_ clocking out,which adds time to the project.
|
6. Some way to ask for the reason just before starting a project. Even when clocking out, the reason is asked _before_ clocking out,which adds time to the project.
|
||||||
** Code
|
7. Optimization. ~chronometrist-refresh~ is expensive in CPU, and ~chronometrist-timer~ runs it every 3 seconds by default. :\
|
||||||
1. use variables instead of hardcoded numbers to determine spacing
|
|
||||||
2. refactor repetitive calls to (format "%04d-%02d-%02d" (elt seq a) (elt seq b) (elt seq c))
|
|
||||||
3. Timeclock already _has_ hooks! :| Why do we re-implement them?
|
|
||||||
- I don't know of a way to know the project being clocked into using timeclock hooks.
|
|
||||||
- With v0.2.0 Chronometrist also has a before-project-stop-functions, which runs before the project is stopped, and can control whether the project actually is stopped.
|
|
||||||
4. Optimization. ~chronometrist-refresh~ is expensive in CPU, and ~chronometrist-timer~ runs it every 3 seconds by default. :\
|
|
||||||
|
|
||||||
Ideas -
|
Ideas -
|
||||||
* Support multiple files, so we read and process lesser data when one of them changes.
|
* Support multiple files, so we read and process lesser data when one of them changes.
|
||||||
* Make file writing async
|
* Make file writing async
|
||||||
* Don't refresh from file when clocking in.
|
* Don't refresh from file when clocking in.
|
||||||
* Only write to the file when Emacs is idle or being killed, and store data in memory (in the events hash table) in the meantime
|
* Only write to the file when Emacs is idle or being killed, and store data in memory (in the events hash table) in the meantime
|
||||||
5. Use buttercup instead of ert
|
** Code
|
||||||
6. See if it is possible to store buttons in a variable, so *-print-non-tabular functions can be made shorter and less imperative. (see ~make-text-button~)
|
1. use variables instead of hardcoded numbers to determine spacing
|
||||||
7. Merge all event-querying functions so that they always operate on an entire hash table (so no 'day' variants),
|
2. refactor repetitive calls to (format "%04d-%02d-%02d" (elt seq a) (elt seq b) (elt seq c))
|
||||||
|
3. Timeclock already _has_ hooks! :| Why do we re-implement them?
|
||||||
|
- I don't know of a way to know the project being clocked into using timeclock hooks.
|
||||||
|
- With v0.2.0 Chronometrist also has a before-project-stop-functions, which runs before the project is stopped, and can control whether the project actually is stopped.
|
||||||
|
4. Use buttercup instead of ert
|
||||||
|
5. See if it is possible to store buttons in a variable, so *-print-non-tabular functions can be made shorter and less imperative. (see ~make-text-button~)
|
||||||
|
6. Merge all event-querying functions so that they always operate on an entire hash table (so no 'day' variants),
|
||||||
|
|
Reference in New Issue