diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/io/console/lib/console/size.rb | 20 |
2 files changed, 25 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Wed May 18 22:45:26 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/io/console/lib/console/size.rb (IO#console_size): new + method. (EXPERIMENTAL) + Wed May 18 22:41:51 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> * internal.h: add for internal use only. diff --git a/ext/io/console/lib/console/size.rb b/ext/io/console/lib/console/size.rb new file mode 100644 index 0000000000..e9d8a1fbb6 --- /dev/null +++ b/ext/io/console/lib/console/size.rb @@ -0,0 +1,20 @@ +def IO.default_console_size + [ + ENV["LINES"].to_i.nonzero? || 25, + ENV["COLUMNS"].to_i.nonzero? || 80, + ] +end + +begin + require 'io/console' +rescue LoadError + class IO + alias console_size default_console_size + end +else + def IO.console_size + console.winsize + rescue NoMethodError + default_console_size + end +end |