From aba9480a1911585c8ab8cefae092c0ab9c980d12 Mon Sep 17 00:00:00 2001 From: contrapunctus Date: Fri, 30 Aug 2019 22:39:30 +0530 Subject: [PATCH] Move optimization to-do to UX --- TODO.org | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/TODO.org b/TODO.org index 13eb5d8..28fe87f 100644 --- a/TODO.org +++ b/TODO.org @@ -9,19 +9,19 @@ 4. Button actions should accept prefix arguments and behave exactly like their keyboard counterparts. 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. -** Code - 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. :\ + 7. Optimization. ~chronometrist-refresh~ is expensive in CPU, and ~chronometrist-timer~ runs it every 3 seconds by default. :\ Ideas - * Support multiple files, so we read and process lesser data when one of them changes. * Make file writing async * 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 - 5. Use buttercup instead of ert - 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~) - 7. Merge all event-querying functions so that they always operate on an entire hash table (so no 'day' variants), +** Code + 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. 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),