Comments (2)
Hi again @bjornasm!
Firstly, what you intend to achieve can be achieved with arttime's timer specification syntax. Here's how it will look like:
>Enter goal ('help' to learn): 10m;11m;21m;22m;loop2
instead of
>Enter goal ('help' to learn): 10m;1m;10m;1m;loop2
All the times in a timer specification are considered relative to "now" (current time), that is when the user enters timer spec. What you are expecting is that each time in the list is relative to the previous time. I'll explain below why I chose the former over latter syntax to begin with, but the good news is that I have had plans to enhance timer syntax such that a user can choose either style. The source of misunderstanding is on me, I should add a statement or two in the documentation to clarify that it's an unordered list of times relative to current time.
The design space for time manager is broad, and depends in-part on the UI choice/constraints. With arttime, I made the design choice that timers should be specified as a delimiter separated list of times using shell's line-editor to leverage it's scroll, search, etc features (press g
followed by Ctrl-r
to search previous goals, or Ctrl-l
for menu search). The list can contain absolute times like 4PM or relative times like 10m. The current syntax accepts unordered list of times relative to current time: 10PM; 10m; 3PM;
(so sorting is necessary), and we can extend the syntax to accept ordered time where each time is a delta from previous time (where sorting naturally won't be done). Then we can express what you want like with something like this:
>Enter goal ('help' to learn): o 10m; 1m; 10m; 1m; loop2
or o; 10m; 1m; 10m; 1m; loop2
.
Am open to other syntax suggestions. One way would be have a different delimiter like:
>Enter goal ('help' to learn): 10m > 1m > 10m > 1m > loop2
Unfortunately most readable delimiters would be taken up by some locale for time specification or require pressing shift on the standard keyboard, making the former syntax extension a better bet. Let me know if you can think of another better syntax for specifying ordered vs unordered.
from arttime.
Thank you for a great answer! Does:
>Enter goal ('help' to learn): 10m;11m;21m;22m;loop2
translate to:
>Enter goal ('help' to learn): 10m;11m;21m;22m;32m;33m;43m;44m
(just that I got it right). Maybe something about that the times are all relative to now could be explicitly stated in the documentation (or maybe most people understood that)? Anyways, good to hear that I can use it as I hoped!
Good question regarding the syntax, should a plus sign be avoided due to terminal behavior?
>Enter goal ('help' to learn):10m+1m+10m+1m
Since then we technically have 22 min of timers I think the + sign is quite nice. If not, the o;
would also work imo, as it could be inferred as "tomato/pomodoro mode", meaning specifying break length.
from arttime.
Related Issues (20)
- 24h clock styling HOT 3
- Scrolling on FreeBSD 13.1-RELEASE-p2 HOT 4
- Nit: cosmetics after quit HOT 9
- Learning the keys HOT 2
- Nothing audible when a notification is seen on FreeBSD HOT 11
- Feature Request - Labeling The Goals HOT 1
- Ability to use without the TUI HOT 3
- Feature request: Support bash HOT 1
- Errors on Debian in docker™, make arttime work under docker™ HOT 8
- feature request: add support for lolcat HOT 3
- -zcompdir argument for the install script is not working HOT 3
- feature request: add `--destdir` option to install.sh HOT 6
- Feature Request: Allow auto pause after the end of each timer HOT 1
- Feature: Add support for WSL desktop integration HOT 18
- Feature request: Adding custom message to desktop notification HOT 3
- Not working properly in i3 HOT 4
- Fancy of fonts HOT 1
- Feature Request: User added art + displaying random art without the placeholder "title" text. HOT 3
- [Question] Is it possible to automatically cycle through art every X seconds? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from arttime.