2 <!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
3 <html><head><title>Python: module screen</title>
4 </head><body bgcolor="#f0f0f8">
6 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
8 <td valign=bottom> <br>
9 <font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>screen</strong></big></big></font></td
10 ><td align=right valign=bottom
11 ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/noah/pexpect/trunk/pexpect/screen.py">/home/noah/pexpect/trunk/pexpect/screen.py</a></font></td></tr></table>
12 <p><tt>This implements a virtual <a href="#screen">screen</a>. This is used to support ANSI terminal<br>
13 emulation. The <a href="#screen">screen</a> representation and state is implemented in this class.<br>
14 Most of the methods are inspired by ANSI <a href="#screen">screen</a> control codes. The ANSI class<br>
15 extends this class to add parsing of ANSI escape codes.<br>
17 $Id: <a href="#screen">screen</a>.py 486 2007-07-13 01:04:16Z noah $</tt></p>
19 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
20 <tr bgcolor="#aa55cc">
21 <td colspan=3 valign=bottom> <br>
22 <font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
24 <tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td>
25 <td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="copy.html">copy</a><br>
26 </td><td width="25%" valign=top></td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
27 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
28 <tr bgcolor="#ee77aa">
29 <td colspan=3 valign=bottom> <br>
30 <font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
32 <tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td>
34 <dt><font face="helvetica, arial"><a href="screen.html#screen">screen</a>
37 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
38 <tr bgcolor="#ffc8d8">
39 <td colspan=3 valign=bottom> <br>
40 <font color="#000000" face="helvetica, arial"><a name="screen">class <strong>screen</strong></a></font></td></tr>
42 <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
43 <td colspan=2><tt>This object maintains the state of a virtual text <a href="#screen">screen</a> as a<br>
44 rectangluar array. This maintains a virtual cursor position and handles<br>
45 scrolling as characters are added. This supports most of the methods needed<br>
46 by an ANSI text <a href="#screen">screen</a>. Row and column indexes are 1-based (not zero-based,<br>
47 like arrays).<br> </tt></td></tr>
49 <td width="100%">Methods defined here:<br>
50 <dl><dt><a name="screen-__init__"><strong>__init__</strong></a>(self, r<font color="#909090">=24</font>, c<font color="#909090">=80</font>)</dt><dd><tt>This initializes a blank scree of the given dimentions.</tt></dd></dl>
52 <dl><dt><a name="screen-__str__"><strong>__str__</strong></a>(self)</dt><dd><tt>This returns a printable representation of the <a href="#screen">screen</a>. The end of<br>
53 each <a href="#screen">screen</a> line is terminated by a newline.</tt></dd></dl>
55 <dl><dt><a name="screen-clear_all_tabs"><strong>clear_all_tabs</strong></a>(self)</dt><dd><tt>Clears all tabs.</tt></dd></dl>
57 <dl><dt><a name="screen-clear_tab"><strong>clear_tab</strong></a>(self)</dt><dd><tt>Clears tab at the current position.</tt></dd></dl>
59 <dl><dt><a name="screen-cr"><strong>cr</strong></a>(self)</dt><dd><tt>This moves the cursor to the beginning (col 1) of the current row.</tt></dd></dl>
61 <dl><dt><a name="screen-crlf"><strong>crlf</strong></a>(self)</dt><dd><tt>This advances the cursor with CRLF properties.<br>
62 The cursor will line wrap and the <a href="#screen">screen</a> may scroll.</tt></dd></dl>
64 <dl><dt><a name="screen-cursor_back"><strong>cursor_back</strong></a>(self, count<font color="#909090">=1</font>)</dt></dl>
66 <dl><dt><a name="screen-cursor_constrain"><strong>cursor_constrain</strong></a>(self)</dt><dd><tt>This keeps the cursor within the <a href="#screen">screen</a> area.</tt></dd></dl>
68 <dl><dt><a name="screen-cursor_down"><strong>cursor_down</strong></a>(self, count<font color="#909090">=1</font>)</dt></dl>
70 <dl><dt><a name="screen-cursor_force_position"><strong>cursor_force_position</strong></a>(self, r, c)</dt><dd><tt>Identical to Cursor Home.</tt></dd></dl>
72 <dl><dt><a name="screen-cursor_forward"><strong>cursor_forward</strong></a>(self, count<font color="#909090">=1</font>)</dt></dl>
74 <dl><dt><a name="screen-cursor_home"><strong>cursor_home</strong></a>(self, r<font color="#909090">=1</font>, c<font color="#909090">=1</font>)</dt></dl>
76 <dl><dt><a name="screen-cursor_restore_attrs"><strong>cursor_restore_attrs</strong></a>(self)</dt><dd><tt>Restores cursor position after a Save Cursor.</tt></dd></dl>
78 <dl><dt><a name="screen-cursor_save"><strong>cursor_save</strong></a>(self)</dt><dd><tt>Save current cursor position.</tt></dd></dl>
80 <dl><dt><a name="screen-cursor_save_attrs"><strong>cursor_save_attrs</strong></a>(self)</dt><dd><tt>Save current cursor position.</tt></dd></dl>
82 <dl><dt><a name="screen-cursor_unsave"><strong>cursor_unsave</strong></a>(self)</dt><dd><tt>Restores cursor position after a Save Cursor.</tt></dd></dl>
84 <dl><dt><a name="screen-cursor_up"><strong>cursor_up</strong></a>(self, count<font color="#909090">=1</font>)</dt></dl>
86 <dl><dt><a name="screen-cursor_up_reverse"><strong>cursor_up_reverse</strong></a>(self)</dt></dl>
88 <dl><dt><a name="screen-dump"><strong>dump</strong></a>(self)</dt><dd><tt>This returns a copy of the <a href="#screen">screen</a> as a string. This is similar to<br>
89 __str__ except that lines are not terminated with line feeds.</tt></dd></dl>
91 <dl><dt><a name="screen-erase_down"><strong>erase_down</strong></a>(self)</dt><dd><tt>Erases the <a href="#screen">screen</a> from the current line down to the bottom of the<br>
92 <a href="#screen">screen</a>.</tt></dd></dl>
94 <dl><dt><a name="screen-erase_end_of_line"><strong>erase_end_of_line</strong></a>(self)</dt><dd><tt>Erases from the current cursor position to the end of the current<br>
97 <dl><dt><a name="screen-erase_line"><strong>erase_line</strong></a>(self)</dt><dd><tt>Erases the entire current line.</tt></dd></dl>
99 <dl><dt><a name="screen-erase_screen"><strong>erase_screen</strong></a>(self)</dt><dd><tt>Erases the <a href="#screen">screen</a> with the background color.</tt></dd></dl>
101 <dl><dt><a name="screen-erase_start_of_line"><strong>erase_start_of_line</strong></a>(self)</dt><dd><tt>Erases from the current cursor position to the start of the current<br>
104 <dl><dt><a name="screen-erase_up"><strong>erase_up</strong></a>(self)</dt><dd><tt>Erases the <a href="#screen">screen</a> from the current line up to the top of the<br>
105 <a href="#screen">screen</a>.</tt></dd></dl>
107 <dl><dt><a name="screen-fill"><strong>fill</strong></a>(self, ch<font color="#909090">=' '</font>)</dt></dl>
109 <dl><dt><a name="screen-fill_region"><strong>fill_region</strong></a>(self, rs, cs, re, ce, ch<font color="#909090">=' '</font>)</dt></dl>
111 <dl><dt><a name="screen-get"><strong>get</strong></a>(self)</dt></dl>
113 <dl><dt><a name="screen-get_abs"><strong>get_abs</strong></a>(self, r, c)</dt></dl>
115 <dl><dt><a name="screen-get_region"><strong>get_region</strong></a>(self, rs, cs, re, ce)</dt><dd><tt>This returns a list of lines representing the region.</tt></dd></dl>
117 <dl><dt><a name="screen-insert"><strong>insert</strong></a>(self, ch)</dt></dl>
119 <dl><dt><a name="screen-insert_abs"><strong>insert_abs</strong></a>(self, r, c, ch)</dt><dd><tt>This inserts a character at (r,c). Everything under<br>
120 and to the right is shifted right one character.<br>
121 The last character of the line is lost.</tt></dd></dl>
123 <dl><dt><a name="screen-lf"><strong>lf</strong></a>(self)</dt><dd><tt>This moves the cursor down with scrolling.</tt></dd></dl>
125 <dl><dt><a name="screen-newline"><strong>newline</strong></a>(self)</dt><dd><tt>This is an alias for <a href="#screen-crlf">crlf</a>().</tt></dd></dl>
127 <dl><dt><a name="screen-pretty"><strong>pretty</strong></a>(self)</dt><dd><tt>This returns a copy of the <a href="#screen">screen</a> as a string with an ASCII text box<br>
128 around the <a href="#screen">screen</a> border. This is similar to __str__ except that it<br>
129 adds a box.</tt></dd></dl>
131 <dl><dt><a name="screen-put"><strong>put</strong></a>(self, ch)</dt><dd><tt>This puts a characters at the current cursor position.</tt></dd></dl>
133 <dl><dt><a name="screen-put_abs"><strong>put_abs</strong></a>(self, r, c, ch)</dt><dd><tt>Screen array starts at 1 index.</tt></dd></dl>
135 <dl><dt><a name="screen-scroll_constrain"><strong>scroll_constrain</strong></a>(self)</dt><dd><tt>This keeps the scroll region within the <a href="#screen">screen</a> region.</tt></dd></dl>
137 <dl><dt><a name="screen-scroll_down"><strong>scroll_down</strong></a>(self)</dt><dd><tt>Scroll display down one line.</tt></dd></dl>
139 <dl><dt><a name="screen-scroll_screen"><strong>scroll_screen</strong></a>(self)</dt><dd><tt>Enable scrolling for entire display.</tt></dd></dl>
141 <dl><dt><a name="screen-scroll_screen_rows"><strong>scroll_screen_rows</strong></a>(self, rs, re)</dt><dd><tt>Enable scrolling from row {start} to row {end}.</tt></dd></dl>
143 <dl><dt><a name="screen-scroll_up"><strong>scroll_up</strong></a>(self)</dt><dd><tt>Scroll display up one line.</tt></dd></dl>
145 <dl><dt><a name="screen-set_tab"><strong>set_tab</strong></a>(self)</dt><dd><tt>Sets a tab at the current position.</tt></dd></dl>
147 </td></tr></table></td></tr></table><p>
148 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
149 <tr bgcolor="#eeaa77">
150 <td colspan=3 valign=bottom> <br>
151 <font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
153 <tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td>
154 <td width="100%"><dl><dt><a name="-constrain"><strong>constrain</strong></a>(n, min, max)</dt><dd><tt>This returns a number, n constrained to the min and max bounds.</tt></dd></dl>
155 </td></tr></table><p>
156 <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
157 <tr bgcolor="#55aa55">
158 <td colspan=3 valign=bottom> <br>
159 <font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
161 <tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td>
162 <td width="100%"><strong>BEL</strong> = 7<br>
163 <strong>BS</strong> = 8<br>
164 <strong>CAN</strong> = 24<br>
165 <strong>CR</strong> = 13<br>
166 <strong>DEL</strong> = 127<br>
167 <strong>ENQ</strong> = 5<br>
168 <strong>ESC</strong> = 27<br>
169 <strong>FF</strong> = 12<br>
170 <strong>HT</strong> = 9<br>
171 <strong>LF</strong> = 10<br>
172 <strong>NUL</strong> = 0<br>
173 <strong>SI</strong> = 15<br>
174 <strong>SO</strong> = 14<br>
175 <strong>SPACE</strong> = ' '<br>
176 <strong>SUB</strong> = 26<br>
177 <strong>VT</strong> = 11<br>
178 <strong>XOFF</strong> = 19<br>
179 <strong>XON</strong> = 17</td></tr></table>