Open bitspittle opened 3 years ago
Actually, the "$COLUMNS" variable in Linux seems to work. With seeing if this is standard-enough behavior that we can use it consistently.
It's still quite tricky to get the width. It's a shame either jline doesn't support this OR it does but I can't find it. (jline's terminal.getSize() doesn't update dynamically as you resize the window)
See also: https://stackoverflow.com/questions/1286461/can-i-find-the-console-width-with-java/18883172#18883172
Leaving the bug open because we still don't handle dynamic window resizing, and I'd like to think that's possible someday. But for now, at least we take initial window size into account, which is better than nothing, so I'm going to remove the 1.0 milestone from this bug.
I'm going to close this as dynamic window resizing just doesn't seem like something that consoles are good at.
Now that I have a bunch of K/N code, I'm actually going to reopen this and check one more time to make sure.
Really, what I need is an event that the column changed (or maybe I can poll this every frame).
I'm pretty sure I tried polling when using Jline, but I should try again now that I've got K/N solutions.
This might not be possible. I can't seem to find ways to either
1) stop the terminal from autowrapping my lines 2) ask the terminal its width in a consistent manner 3) ask the terminal to tell me when it added a newline
There may be a way and it's probably worth leaving this bug open, but not necessarily as a 1.0 milestone. My experimentation with other dynamic CLIs is they suffer a similar fate.