Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


ANSI::Terminal fails to detect Windows #12

eric-smartlove opened this Issue · 7 comments

5 participants


I am on Windows XP.

When I type:

require "ansi"

I have the message: No such file or directory - stty size

In, the code seems to require successively ansi/terminal/stty, ansi/terminal/curses, ansi/terminal/termios and ansi/terminal/win32 until one of these require does not raises.

I guess that stty is supposed to raise on Windows, to avoid using this library. However when I require manually ansi/terminal/stty, it does not raises.

In fact, when I read the code of ansi/terminal/stty I do not see anything that can raise on Windows (or on any platform).

@eric-smartlove eric-smartlove referenced this issue in busyloop/powerbar

No such file or directory - stty size #5



No love for windows, anyone?


I have run into this issue on Windows as well, might take a stab at fixing it.




I would love to merge a fix. I do not use Windows (for development) so it would be better for someone who does to take a stab at it.


I may have fixed it. All this time and I think the simple error was pop should have been shift, i.e. the platforms files were being required in the wrong order.

require "ansi"
ANSI::Terminal.terminal_width # => 207

now works for me on Win7 under Cygwin. Is that a conclusive test?


Pretty much. And if that works for straight Windows (no Cygwin) then I think this issue if finally close able. Yay! (Though I am sure improvements are to be had, e.g. I've seen code in the wild that indicate to me that JRuby support might need some love.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.