Replies: 16 comments
-
|
I realize the |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the detailed report. I have never used Warp, so nothing rings a bell with me here spontaneously. The “offending” lines would be in the klog/klog/app/cli/lib/with_repeat.go Lines 22 to 35 in 73250d9 More specifically, it uses two escape sequences I cannot observe the flickering or alignment issues anywhere else, but I also have to admit that I’m not an expert for escape sequences. So maybe Please let me know in case you find something out here, maybe there is a simple and reasonable way to fix this for Warp after all. (The only thing I’d be a bit hesitant about would be to introduce a new library for this, or to add lots of workaround-code.)
Yes, that’s correct. The Lines 34 to 45 in 73250d9
Thanks, happy to hear that 😃 |
Beta Was this translation helpful? Give feedback.
-
|
Same things goes for the |
Beta Was this translation helpful? Give feedback.
-
|
Opened an issue over at Warp as well: warpdotdev/Warp#2597 |
Beta Was this translation helpful? Give feedback.
-
|
Yeah, htop is more low-level and written in C. Uses |
Beta Was this translation helpful? Give feedback.
-
Terrific, thanks! Maybe that yields a lead.
Yes, |
Beta Was this translation helpful? Give feedback.
-
|
https://stackoverflow.com/a/71453783/1728686 might provide some insights |
Beta Was this translation helpful? Give feedback.
-
|
The answers here are also relevant: https://unix.stackexchange.com/questions/81167/prevent-text-screen-blinking-when-doing-clear |
Beta Was this translation helpful? Give feedback.
-
|
Here are some good tips I think are worth following/adapting. This guy knows what he's talking about. His entire business revolves around terminal CLIs/TUIs and he's quite established. https://www.textualize.io/blog/posts/7-things-about-terminals
Nr. 3 might be overkill, but Nr. 1 and Nr. 2 should be pursued, IMO. |
Beta Was this translation helpful? Give feedback.
-
|
I've read up some more on this and would be willing to have a go (ha ha) at some of the issues. Would you be interested in a PR or two, if/when I find the time? Note: I'm new to Golang, but hoping, with your, Google and Copilot's guidance, I can navigate my way to some sort of solution. Not leaving any ETAs, just checking if it's worth pursuing or not. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for offering your help! For this issue here, please feel free to pick it up and fiddle around. As mentioned above, the starting point is the
Not sure if you were referring to other issues/discussions as well, so just in case: I’m generally open for contributions, but I’m also pretty deliberate about code structure and feature scope, mostly in order to keep the maintenance burden within reasonable bounds. So in case you are motivated to work on other things as well, please reach out beforehand so that we can discuss a plan. I’d also be open for collaborative efforts, although I have to admit that I probably won’t have much capacity at the moment to work on bigger topics. |
Beta Was this translation helpful? Give feedback.
-
Thanks 🙏
OK, I'll try out a few terminals, but I'm Mac only. Do you have any helpful Windows-users?
Noted.
Hum, OK, that limits possibilities. I'll see what gives. Maybe I'll just run my own fork if it ends up working as desired (but non-portable).
I hear you. I was already under that impression. No worries, I'll do my best to adhere to your principles. If you end up not liking it, that's totally fine. My available time is very limited as well (no. 2 is a month a half), so yeah. |
Beta Was this translation helpful? Give feedback.
-
Just in case there might have been a misunderstanding: I’m positive to make sacrifices in regards to Windows portability. So if things happen to work on Windows without much extra effort, then that’s cool, but if proper Windows support creates lots of complications, then it’s okay for me to accept that it won’t work perfectly on Windows. I can also help out with testing on Windows, as I have a Windows VM set up for testing purposes. So don’t worry too much about it for now. I think this issue here would be very valuable to fix, because what you found out in regards to terminal best practices seems convincing to me, especially the topic about overwriting the screen incrementally instead of clearing it. So I appreciate if you find some time to look into it, and hopefully we’re able to improve it 🙏 If you have questions regarding the code structure or project setup, please let me know. |
Beta Was this translation helpful? Give feedback.
-
|
@ulken I briefly wanted to check in, since it has been a while: is this still an issue for you? I probably won’t get around to fixing this anytime soon, so I’m trying to determine whether the ticket is still worth to keep open. If you (or anyone else) is still affected, though, I’m happy to keep the ticket open. |
Beta Was this translation helpful? Give feedback.
-
The behavior is definitely still there, but I never use the feature. At least partially due to the issue at hand. But it's fine by if you want to do some fall cleaning. I won't be able to get around to it anytime soon. |
Beta Was this translation helpful? Give feedback.
-
|
I’ve looked into this a little, just to get a feeling for the scope. TLDR, I’d close this ticket for now, as it seems tricky to fix, and it only affects very specific terminals. Some findings regarding the “tricks” you referenced earlier:
If there are news on the Warp side of things, or if anyone has new ideas, feel free to post them here, then we can reconsider this issue. For now, I’d put it on halt as “won’t fix”. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Screen.Recording.2023-02-02.at.13.03.57.mov
I realize the problem is most likely in Warp, but I just wanted to check if you know of any obvious reason why it behaves the way it does and/or if something can be done in klog to handle "both" cases.
Other long-running commands like
htopbehaves as expected. Also it doesn't output a bunch of extra newlines after the process exits (might be related).Just started using klog, but I must say it's awesome in its simplicity!
Beta Was this translation helpful? Give feedback.
All reactions