Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > cursesライブラリ > Curses::Windowクラス

class Curses::Window

クラスの継承リスト: Curses::Window < Object < Kernel



<< addstr addch attroff attron attrset begx begy bkgd bkgdset box clear close clrtoeol color_set curx cury delch deleteln getbkgd getch getstr idlok inch insch insertln keypad keypad= maxx maxy move nodelay noutrefresh refresh resize scrl scroll scrollok setpos setscrreg standend standout subwin timeout=


new(height, width, y, x) -> Curses::Window[permalink][rdoc]

画面の座標 (x,y) を左上端とし、幅 width 高さ height とする curses のトップレベルウィンドウを 作成し、それを表現する Curses::Window オブジェクトを 返します。

[PARAM] height:
[PARAM] width:
[PARAM] y:
ウィンドウの左上端の y 座標を指定します。
[PARAM] x:
ウィンドウの左上端の x 座標を指定します。


addstr(str) -> nil[permalink][rdoc]
self << str -> nil

ウィンドウのカーソル位置に文字列 str を上書きします。

[PARAM] str:
addch(ch) -> nil[permalink][rdoc]

ウィンドウのカーソル位置に ch (1 バイト) を上書きします。

[PARAM] ch:
文字を 1 バイト指定します。
attroff(attrs) -> Integer | true[permalink][rdoc]


Turns off the named attributes +attrs+ without affecting any others.

[PARAM] attrs:

[SEE_ALSO] Curses::Window#attrset

attron(attrs) -> Integer | true[permalink][rdoc]


Turns off the named attributes +attrs+ without turning any other attributes on or off.

[PARAM] attrs:

[SEE_ALSO] Curses::Window#attrset



Sets the current attributes of the given window to +attrs+.

The following video attributes, defined in <curses.h>, can be passed to the routines Curses::Window.attron, Curses::Window.attroff, and Curses::Window.attrset, or OR'd with the characters passed to addch.


Normal display (no highlight)


Best highlighting mode of the terminal.




Reverse video




Half bright


Extra bright or bold


Protected mode


Invisible or blank mode


Alternate character set


Bit-mask to extract a character


Color-pair number n

[PARAM] attrs:
begx -> Integer[permalink][rdoc]

親ウィンドウの中でウィンドウの左上がある x 座標を返します。 始点は 0 です。

begy -> Integer[permalink][rdoc]

親ウィンドウの中でウィンドウの左上がある y 座標を返します。 始点は 0 です。

bkgd(ch) -> bool[permalink][rdoc]


Set the background of the current window and apply character Integer +ch+ to every character.

[PARAM] ch:

[SEE_ALSO] Curses.bkgd

bkgdset(ch) -> nil[permalink][rdoc]


Manipulate the background of the current window with character Integer +ch+

[PARAM] ch:

[SEE_ALSO] Curses.bkgdset

box(vertical_char, horizontal_char) -> nil[permalink][rdoc]

縦の線に vertical_char、横の線に horizontal_char を使いウィンドウに沿っ て箱を書きます。

線は普通にウィンドウ内に書かれるだけなので上書きしないよう注意してくだ さい。

[PARAM] vertical_char:
[PARAM] horizontal_char:


win =,5,5,5)|, ?-)
clear -> nil[permalink][rdoc]

ウィンドウの表示を消去します。 この操作は即座に実行されます。

close -> nil[permalink][rdoc]

ウィンドウを閉じ、メモリを開放します。 以降のこのウィンドウオブジェクトに対する操作は例外を発生します。

clrtoeol -> nil[permalink][rdoc]


color_set(color) -> bool[permalink][rdoc]


Sets the current color of the given window to the foreground/background combination described by the Fixnum +color+.

[PARAM] color:
curx -> Integer[permalink][rdoc]

ウィンドウ内におけるカーソルの桁番号を返します。 一桁目が 0 です。

cury -> Integer[permalink][rdoc]

ウィンドウ内におけるカーソルの行番号を返します。 一行目が 0 です。

delch -> nil[permalink][rdoc]

ウィンドウのカーソル位置から 1 バイト消去します。

deleteln -> nil[permalink][rdoc]


getbkgd -> Integer | nil[permalink][rdoc]


Returns an Integer (+ch+) for the character property in the current window.

getch -> Integer[permalink][rdoc]

ウィンドウへの入力から 1 バイト読みこみます。

getstr -> String[permalink][rdoc]




If +bool+ is +true+ curses considers using the hardware insert/delete line feature of terminals so equipped.

If +bool+ is +false+, disables use of line insertion and deletion. This option should be enabled only if the application needs insert/delete line, for example, for a screen editor.

It is disabled by default because insert/delete line tends to be visually annoying when used in applications where it is not really needed. If insert/delete line cannot be used, curses redraws the changed portions of all lines.

[PARAM] bf:
inch -> Integer[permalink][rdoc]

ウィンドウのカーソル位置から 1 バイト読みとって返します。

insch(ch) -> nil[permalink][rdoc]

ウィンドウのカーソル位置に ch (1 バイト) を挿入します。

[PARAM] ch:
文字を 1 バイト指定します。
insertln -> nil[permalink][rdoc]


Inserts a line above the cursor, and the bottom line is lost

keypad(val) -> bool | nil[permalink][rdoc]
keypad=(val) -> bool | nil


Enables the keypad of the user's terminal.

If enabled (+bool+ is +true+), the user can press a function key (such as an arrow key) and wgetch returns a single value representing the function key, as in KEY_LEFT. If disabled (+bool+ is +false+), curses does not treat function keys specially and the program has to interpret the escape sequences itself. If the keypad in the terminal can be turned on (made to transmit) and off (made to work locally), turning on this option causes the terminal keypad to be turned on when Curses::Window.getch is called.

The default value for keypad is false.

[PARAM] val:
maxx -> Integer[permalink][rdoc]

移動可能な最大の x 座標を返します。 表示可能なバイト数 + 1 です。

maxy -> Integer[permalink][rdoc]

移動可能な最大の y 座標を返します。 表示可能な行 + 1 です。

move(y, x) -> nil[permalink][rdoc]

ウィンドウを座標 (x, y) に移動します。




Causes Curses::Window.getch to be a non-blocking call. If no input is ready, getch returns ERR.

If disabled (+bool+ is +false+), Curses::Window.getch waits until a key is pressed.

noutrefresh -> nil[permalink][rdoc]


Refreshes the windows and lines.

Curses::Window.noutrefresh allows multiple updates with more efficiency than Curses::Window.refresh alone.

refresh -> nil[permalink][rdoc]


resize(lines, cols) -> bool | nil[permalink][rdoc]


Resize the current window to Fixnum +lines+ and Fixnum +cols+

[PARAM] lines:
[PARAM] cols:


Scrolls the current window Fixnum +num+ lines. The current cursor position is not changed.

For positive +num+, it scrolls up.

For negative +num+, it scrolls down.

[PARAM] num:
scroll -> bool[permalink][rdoc]


scrollok(bf) -> nil[permalink][rdoc]


Controls what happens when the cursor of a window is moved off the edge of the window or scrolling region, either as a result of a newline action on the bottom line, or typing the last character of the last line.

If disabled, (+bool+ is false), the cursor is left on the bottom line.

If enabled, (+bool+ is true), the window is scrolled up one line (Note that to get the physical scrolling effect on the terminal, it is also necessary to call Curses::Window.idlok)

setpos(y, x) -> nil[permalink][rdoc]

ウィンドウ内の (x, y) にカーソルを移動します。

setscrreg(top, bottom) -> bool[permalink][rdoc]


Set a software scrolling region in a window. +top+ and +bottom+ are lines numbers of the margin.

If this option and Curses::Window.scrollok are enabled, an attempt to move off the bottom margin line causes all lines in the scrolling region to scroll one line in the direction of the first line. Only the text of the window is scrolled.

[PARAM] top:
[PARAM] bottom:
standend -> nil[permalink][rdoc]


standout -> nil[permalink][rdoc]


subwin(height, width, y, x) -> Curses::Window[permalink][rdoc]

画面の座標 (x,y) を左上端とし、幅 width 高さ height とするサブウィンドウを作成し、 それを表現する Curses::Window オブジェクトを返します。

[PARAM] height:
[PARAM] width:
[PARAM] y:
ウィンドウの左上端の y 座標を指定します。
[PARAM] x:
ウィンドウの左上端の x 座標を指定します。


Sets block and non-blocking reads for the window.

[PARAM] delay: