SYNOPSIS

    # the traditional way
    use Term::Size::Any qw( chars pixels );

    ($columns, $rows) = chars *STDOUT{IO};
    ($x, $y) = pixels;

DESCRIPTION

This is a unified interface to retrieve terminal size. It loads one module of a list of known alternatives, each implementing some way to get the desired terminal information. This loaded module will actually do the job on behalf of \*(C`Term::Size::Any\*(C'.

Thus, \*(C`Term::Size::Any\*(C' depends on the availability of one of these modules:

Term::Size (soon to be supported) Term::Size::Perl Term::Size::ReadKey (soon to be supported) Term::Size::Win32

This release fallbacks to Term::Size::Win32 if running in Windows 32 systems. For other platforms, it uses the first of Term::Size::Perl, Term::Size or Term::Size::ReadKey which loads successfully. (To be honest, I disabled the fallback to Term::Size and Term::Size::ReadKey which are buggy by now.)

\s-1FUNCTIONS\s0

The traditional interface is by importing functions \*(C`chars\*(C' and \*(C`pixels\*(C' into the caller's space.

chars

($columns, $rows) = chars($h); $columns = chars($h); \*(C`chars\*(C' returns the terminal size in units of characters corresponding to the given filehandle $h. If the argument is omitted, *STDIN{IO} is used. In scalar context, it returns the terminal width.

pixels

($x, $y) = pixels($h); $x = pixels($h); \*(C`pixels\*(C' returns the terminal size in units of pixels corresponding to the given filehandle $h. If the argument is omitted, *STDIN{IO} is used. In scalar context, it returns the terminal width. Many systems with character-only terminals will return \*(C`(0, 0)\*(C'.

RELATED TO Term::Size::Any…

It all began with Term::Size by Tim Goodwin. You may want to have a look at:

Term::Size Term::Size::Perl Term::Size::Win32 Term::Size::ReadKey

BUGS

Please reports bugs via \s-1CPAN\s0 \s-1RT\s0, via web http://rt.cpan.org/NoAuth/Bugs.html?Dist=Term-Size-Any or e-mail to [email protected].

AUTHOR

Adriano R. Ferreira, <[email protected]>

COPYRIGHT AND LICENSE

Copyright (C) 2008 by Adriano R. Ferreira

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.