Really neat! Some feedback: it seems Zenta looks at $TERM to determine whether or not to use "simple" mode, and it seems it might be overly conservative.
I'm a tmux user, and in tmux, $TERM must be "screen-256color" or "tmux-256color". With $TERM set to either of those, zenta uses simple mode.
I can get it to use "full" mode by running it as "TERM=xterm-256color zenta" within tmux and it works fine, but this shouldn't be necessary - I haven't run into any other TUI apps that don't work properly in tmux.
Edit: I just noticed in the README that it seems to be intentional that it uses simple mode in tmux, but I'm not sure why that should be the case, since it clearly works fine. Maybe you could use simple mode for $TERM=screen and normal mode for $TERM=tmux?
On a different note, it seems like it would be more immersive if it took over the entire terminal window while running. Maybe you've already considered that and decided not to.
But yeah, I agree – I think this might be rather too conservative.
justusthane 3 hours ago [-]
I just installed the newest version (released 21 minutes ago!) and it works perfectly now. Thanks to both of you! The magic of open source :)
ihiep 4 hours ago [-]
Thank you both for this feedback!
You're right. I made a mistake by not testing thoroughly enough. I was being overly conservative based on assumptions rather than actual testing.
Your detailed feedback about $TERM values and real-world tmux usage is exactly what I needed. I should have tested more environments before making assumptions about terminal compatibility.
Thanks for keeping me honest and helping improve Zenta!
justusthane 4 hours ago [-]
No problem, you can't test everything!
nakedneuron 8 hours ago [-]
Great job!
I was looking for an app/cli that lets me adjust breathing patterns on the fly (think of extending the hold duration for 0.5s and a while after for instance extend the outbreathe duration 1s, while having my eyes closed using my bluetooth controller). Finding something like this on any app store with its thousands of bloated apps seems quite hopeless and it's a relatively simple feature. Can I hope for your kindness to implement something like that?
(I'm using 8bitdo controller and mapping of buttons is possible via keyd, so no need for adding configurations, any key combo would do).
I'm also happy for anyone else pointing me to a solution.
Keep on doing good!
(Happy to follow your repo if I can hope for this feature. No worries, I'm a patient man.)
ihiep 7 hours ago [-]
Beautiful idea! I’ll explore how to let the breath respond to your keys.
This is elegant and tasteful in all the right ways. Really nice work!
zipping1549 11 hours ago [-]
I always love this kind of silly tui tools. Thanks for sharing!
shubhamintech 11 hours ago [-]
no analytics, no numbers, love that!
nathell 7 hours ago [-]
Thumbs up for the philosophy. This is the way.
slowkoder 11 hours ago [-]
Any plans for additional commands? I was thinking that a 'focus' command with a short to-do list (perhaps paired with some Stoic quips) could be useful in keeping one on track over the course of the day.
car 13 hours ago [-]
Great.
I only get a line animation in the MacOS terminal app, under zsh, it doesn't look like the description.
ihiep 13 hours ago [-]
Update: Just released v0.3.1 with Terminal.app compatibility fixed!
The tool now auto-detects your terminal and adapts gracefully. You'll see a beautiful progressive breathing animation that flows like:
Inhale: · → ○ → ●○○ → ●●●● (building up)
Exhale: ●●●● → ●○○ → ○ → · (releasing down)
Try the latest version - it should breathe beautifully on Terminal.app now.
Thanks for helping make mindfulness accessible to everyone!
pizzalife 6 hours ago [-]
I love this. Quick suggestion: make the width/height of the animation depend on your terminal size. Then you could make the animation a bit smoother for larger terminals.
ihiep 13 hours ago [-]
Thanks for the feedback! You're right. I haven’t tested it on Terminal.app yet. It works well on iTerm2 and most Linux terminals, but I’ll review it on Terminal.app soon and update the tool or the README to reflect compatibility. Really appreciate you pointing that out.
car 2 hours ago [-]
Thank you for being so responsive, and making Zenta in the first place! It has already allowed me to calm my mind on a few occasions.
The cli is already so bare bones and focused, so Zenta fits in well.
five9s 7 hours ago [-]
Pretty cool. Have you thought about auto triggering a need for a breath at certain intervals?
ihiep 6 hours ago [-]
The best breath is the one you notice, not the one you're told to take.
j4cobgarby 10 hours ago [-]
This is quite nice!
I found the name zenta slightly inconvenient to remember and type, so I renamed the executable to 'relax', but the help messages still say 'zenta'. As a small fix, maybe you can make the help messages print argv[0] as the executable name?
ihiep 6 hours ago [-]
Great idea! Just fixed this. Now when you rename zenta to relax, all help messages automatically show "relax" instead of "zenta". Available in v0.3.2. Thanks!
9 hours ago [-]
aftergibson 12 hours ago [-]
Well that's just neat, thanks for sharing!
ihiep 12 hours ago [-]
It is only what it is. Thank you for seeing
d--b 11 hours ago [-]
Looks great, though I must say I am not a huge fan of the yoga-namaste-style theme. Reminds me of spas where the "relaxing" music is stock ambient crap.
If I had more time, I'd theme it with a more rock n roll approach.
ihiep 11 hours ago [-]
Whether spa or rock, both return you to now.
ashlance 9 hours ago [-]
Thanks for this. We need more of this kind of energy in the world.
piepiemumu 9 hours ago [-]
Nice! Would be cool if implemented also as a progress bar.. :)
mgb111 11 hours ago [-]
quite original, bringing mindfulness to coding
good luck with it
barbazoo 7 hours ago [-]
Where do I put my OpenAi key though or are you saying this doesn’t even need a LLM :) /s
I'm a tmux user, and in tmux, $TERM must be "screen-256color" or "tmux-256color". With $TERM set to either of those, zenta uses simple mode.
I can get it to use "full" mode by running it as "TERM=xterm-256color zenta" within tmux and it works fine, but this shouldn't be necessary - I haven't run into any other TUI apps that don't work properly in tmux.
Edit: I just noticed in the README that it seems to be intentional that it uses simple mode in tmux, but I'm not sure why that should be the case, since it clearly works fine. Maybe you could use simple mode for $TERM=screen and normal mode for $TERM=tmux?
On a different note, it seems like it would be more immersive if it took over the entire terminal window while running. Maybe you've already considered that and decided not to.
Anyway, thanks again! I love this.
But yeah, I agree – I think this might be rather too conservative.
I was looking for an app/cli that lets me adjust breathing patterns on the fly (think of extending the hold duration for 0.5s and a while after for instance extend the outbreathe duration 1s, while having my eyes closed using my bluetooth controller). Finding something like this on any app store with its thousands of bloated apps seems quite hopeless and it's a relatively simple feature. Can I hope for your kindness to implement something like that?
(I'm using 8bitdo controller and mapping of buttons is possible via keyd, so no need for adding configurations, any key combo would do).
I'm also happy for anyone else pointing me to a solution.
Keep on doing good!
(Happy to follow your repo if I can hope for this feature. No worries, I'm a patient man.)
I only get a line animation in the MacOS terminal app, under zsh, it doesn't look like the description.
The cli is already so bare bones and focused, so Zenta fits in well.
If I had more time, I'd theme it with a more rock n roll approach.