Mercurial > 510Connectbot
annotate xml/510connectbot.in @ 248:0181323d0d33
add host preference for fixed screen size
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Mon, 14 Jul 2014 11:20:42 -0700 |
parents | 594101a0876a |
children | 5517cca2bd81 |
rev | line source |
---|---|
0 | 1 <reference> |
2 <title>@PACKAGE@ - Version @VERSION@</title> | |
3 <partintro> | |
4 <title>Packages</title> | |
5 | |
6 <para> | |
7 The various source and binary packages are available at <ulink | |
8 url="http://www.five-ten-sg.com/@PACKAGE@/packages/">http://www.five-ten-sg.com/@PACKAGE@/packages/</ulink>. | |
9 The most recent documentation is available at <ulink | |
10 url="http://www.five-ten-sg.com/@PACKAGE@/">http://www.five-ten-sg.com/@PACKAGE@/</ulink>. | |
11 </para> | |
12 | |
13 <para> | |
14 A <ulink url="http://www.selenic.com/mercurial/wiki/">Mercurial</ulink> source | |
15 code repository for this project is available at <ulink | |
16 url="http://hg.five-ten-sg.com/@PACKAGE@/">http://hg.five-ten-sg.com/@PACKAGE@/</ulink>. | |
17 </para> | |
18 | |
19 <para> | |
20 A companion terminal monitor project is available at <ulink | |
21 url="http://www.five-ten-sg.com/510ConnectbotMonitor">http://www.five-ten-sg.com/510ConnectbotMonitor</ulink> | |
22 </para> | |
23 </partintro> | |
24 | |
25 <refentry id="x@PACKAGE@.1"> | |
26 <refentryinfo> | |
225
c6157535e180
update version; consistent defaults for hardware buttons
Carl Byington <carl@five-ten-sg.com>
parents:
221
diff
changeset
|
27 <date>2014-07-08</date> |
0 | 28 <author> |
29 <firstname>Carl</firstname> | |
30 <surname>Byington</surname> | |
31 <affiliation><orgname>510 Software Group</orgname></affiliation> | |
32 </author> | |
33 </refentryinfo> | |
34 | |
35 <refmeta> | |
36 <refentrytitle>@PACKAGE@</refentrytitle> | |
37 <manvolnum>1</manvolnum> | |
38 <refmiscinfo>@PACKAGE@ @VERSION@</refmiscinfo> | |
39 </refmeta> | |
40 | |
41 <refnamediv id='name.1'> | |
42 <refname>@PACKAGE@</refname> | |
73
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
43 <refpurpose>an android vt320/tn5250 terminal emulator for telnet/ssh connections</refpurpose> |
0 | 44 </refnamediv> |
45 | |
46 <refsect1 id='build.1'> | |
47 <title>Build method</title> | |
48 <para> | |
49 This is an android project with native code, so | |
50 "ndk-build clean; ndk-build; android update project -p . -t android-16; ant debug" | |
51 should build cleanly. | |
52 </para> | |
53 </refsect1> | |
54 | |
55 <refsect1 id='introduction.1'> | |
56 <title>Introduction</title> | |
57 <para> | |
58 I belive that the previous connectbot projects are improperly licensed. | |
59 They contain a mix of Apache 2.0 and GPLv2+ code, and those two licenses | |
60 are incompatible. I have relicensed this as GPLv3+, since that is | |
61 compatible with the licenses of all the sub-parts. | |
62 </para> | |
63 <para> | |
73
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
64 This fork extends previous connectbot projects in two ways. It includes |
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
65 tn5250 terminal emulation, in addition to the previous vt320 terminal |
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
66 emulation. It also contains hooks for a separate monitoring process |
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
67 that has access to some of the internal operations in this emulator. |
0 | 68 </para> |
69 </refsect1> | |
70 | |
220
4fdf6b5a6f43
update to 1.8.4; document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
206
diff
changeset
|
71 <refsect1 id='changes.1'> |
4fdf6b5a6f43
update to 1.8.4; document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
206
diff
changeset
|
72 <title>Changes from previous Connectbots</title> |
4fdf6b5a6f43
update to 1.8.4; document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
206
diff
changeset
|
73 <itemizedlist> |
221
70ecbf70eadb
document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
220
diff
changeset
|
74 <listitem><para> |
225
c6157535e180
update version; consistent defaults for hardware buttons
Carl Byington <carl@five-ten-sg.com>
parents:
221
diff
changeset
|
75 The soft function keypad now has better labels, and can generate |
c6157535e180
update version; consistent defaults for hardware buttons
Carl Byington <carl@five-ten-sg.com>
parents:
221
diff
changeset
|
76 all 24 function keys for 5250 emulation. A hardware button can |
c6157535e180
update version; consistent defaults for hardware buttons
Carl Byington <carl@five-ten-sg.com>
parents:
221
diff
changeset
|
77 be configured to display that function keypad. |
221
70ecbf70eadb
document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
220
diff
changeset
|
78 </para></listitem> |
220
4fdf6b5a6f43
update to 1.8.4; document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
206
diff
changeset
|
79 |
221
70ecbf70eadb
document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
220
diff
changeset
|
80 <listitem><para> |
220
4fdf6b5a6f43
update to 1.8.4; document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
206
diff
changeset
|
81 A deployment.connections text file is read (and deleted) on |
4fdf6b5a6f43
update to 1.8.4; document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
206
diff
changeset
|
82 startup. This may be used to preconfigure the global options |
4fdf6b5a6f43
update to 1.8.4; document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
206
diff
changeset
|
83 and to create an initial set of host connections. |
221
70ecbf70eadb
document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
220
diff
changeset
|
84 </para></listitem> |
220
4fdf6b5a6f43
update to 1.8.4; document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
206
diff
changeset
|
85 |
221
70ecbf70eadb
document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
220
diff
changeset
|
86 <listitem><para> |
220
4fdf6b5a6f43
update to 1.8.4; document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
206
diff
changeset
|
87 The font sizes are now kept with one decimal point, and font |
4fdf6b5a6f43
update to 1.8.4; document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
206
diff
changeset
|
88 size changes are done by scaling by a constant factor of 1.1, |
4fdf6b5a6f43
update to 1.8.4; document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
206
diff
changeset
|
89 rather than the linear additive 2 point factor. |
221
70ecbf70eadb
document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
220
diff
changeset
|
90 </para></listitem> |
220
4fdf6b5a6f43
update to 1.8.4; document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
206
diff
changeset
|
91 </itemizedlist> |
4fdf6b5a6f43
update to 1.8.4; document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
206
diff
changeset
|
92 </refsect1> |
4fdf6b5a6f43
update to 1.8.4; document changes from previous forks
Carl Byington <carl@five-ten-sg.com>
parents:
206
diff
changeset
|
93 |
0 | 94 <refsect1 id='monitor.1'> |
95 <title>Terminal Monitor</title> | |
96 <para> | |
73
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
97 For every terminal session (local, telnet, ssh or tn5250), this |
0 | 98 terminal emulator also makes a connection to a terminal monitor |
150 | 99 process, which can see cursor movement and screen contents, and can |
0 | 100 inject characters to send to the host. |
101 </para> | |
102 | |
103 <para> | |
104 The terminal monitor is invoked by calling an android Intent | |
105 named "com.five_ten_sg.connectbot.monitor.MonitorService". That | |
106 ensures that the monitor process is running, and should then | |
107 be listening on TCP port 6000 for incoming connections. The terminal | |
108 emulator then connects to the terminal monitor on port 6000. | |
109 The native android Intent and Service communication mechanisms | |
110 are not used. | |
111 </para> | |
112 | |
113 <para> | |
114 The messages exchanged between the terminal emulator and the | |
115 terminal monitor are arrays of uint16 values in network byte | |
116 order. Each message starts with a uint16 message byte length, | |
117 followed by that many bytes of data. Note that the message length | |
118 will always be even. The next uint16 contains the message | |
119 command value, and the remaining uint16 values are the arguments | |
120 if any for that command. | |
121 </para> | |
122 | |
123 <para> | |
124 Any arguments that are keystrokes or characters are represented | |
125 as 16 bit unicode. Note that the first 256 such characters are | |
126 identical to the ISO-8859-1 latin character set. | |
127 </para> | |
128 | |
129 <para> | |
130 INIT = 0 (TE -> Monitor). The argument is a string of uint16 | |
131 characters. The meaning of these characters is defined by the | |
132 monitor. It might be a fully qualified path name, or some other | |
133 data used by the monitor to drive the monitoring of this | |
134 connection. | |
135 </para> | |
136 | |
137 <para> | |
138 ACTIVATE = 1 (TE -> Monitor). The first argument is the | |
139 number of lines. The second argument is the number of columns. | |
140 That is followed by lines*columns uint16 character codes. | |
141 This connection is now the active connection. It is the | |
142 topmost (or only) window visible to the user - typed keystrokes | |
143 will be sent to the host on the other end of this connection. | |
144 </para> | |
145 | |
146 <para> | |
147
1350adb077b1
monitor key state tracking
Carl Byington <carl@five-ten-sg.com>
parents:
73
diff
changeset
|
147 KEYSTATE = 2 (TE -> Monitor). The argument is a single uint16 |
1350adb077b1
monitor key state tracking
Carl Byington <carl@five-ten-sg.com>
parents:
73
diff
changeset
|
148 value, 1 for key down, 0 for key up. The TE tracks a single special |
1350adb077b1
monitor key state tracking
Carl Byington <carl@five-ten-sg.com>
parents:
73
diff
changeset
|
149 key for the monitor, and reports key up/down state when it changes. |
1350adb077b1
monitor key state tracking
Carl Byington <carl@five-ten-sg.com>
parents:
73
diff
changeset
|
150 The actual key is configurable. |
0 | 151 </para> |
152 | |
153 <para> | |
154 CURSORMOVE = 3 (TE -> Monitor). | |
229
594101a0876a
add why argument on cursor updates
Carl Byington <carl@five-ten-sg.com>
parents:
225
diff
changeset
|
155 The first argument is the line number (0..23), |
594101a0876a
add why argument on cursor updates
Carl Byington <carl@five-ten-sg.com>
parents:
225
diff
changeset
|
156 the second argument is the column number (0..79), and the third |
594101a0876a
add why argument on cursor updates
Carl Byington <carl@five-ten-sg.com>
parents:
225
diff
changeset
|
157 argument is the reason for sending this cursor update. REASON=0 is |
594101a0876a
add why argument on cursor updates
Carl Byington <carl@five-ten-sg.com>
parents:
225
diff
changeset
|
158 from a previous CURSORREQUEST command. REASON=1 is a cursor update |
594101a0876a
add why argument on cursor updates
Carl Byington <carl@five-ten-sg.com>
parents:
225
diff
changeset
|
159 related to the previous SCREENCHANGE buffer update. REASON=2 is |
594101a0876a
add why argument on cursor updates
Carl Byington <carl@five-ten-sg.com>
parents:
225
diff
changeset
|
160 a cursor update caused by user keystrokes. |
0 | 161 </para> |
162 | |
163 <para> | |
164 SCREENCHANGE = 4 (TE -> Monitor). The first argument is the | |
165 number of lines. The second argument is the number of columns. | |
166 That is followed by lines*columns uint16 character codes. | |
167 </para> | |
168 | |
169 <para> | |
170 FIELDVALUE = 5 (TE -> Monitor). | |
171 SETFIELD = 5 (Monitor -> TE). | |
172 The first argument is the line number (0..23) | |
173 and the second argument is the column number (0..79). | |
174 That is followed by the field value, a sequence of uint16 | |
175 character codes from the screen buffer. The field | |
176 covers N columns, where N = (message length - 4) / 2. | |
177 When sent from the monitor to the emulator, this causes | |
178 the emulator to send the field codes to the host. This is | |
179 also used as the reply message from the emulator to the | |
180 monitor for a previous GETFIELD from the monitor. | |
181 </para> | |
182 | |
183 <para> | |
184 GETFIELD = 6 (Monitor -> TE). | |
185 The first argument is the line number (0..23) | |
186 and the second argument is the starting column number (0..79), | |
187 and the third argument is the field length in columns. | |
188 This command causes the emulator to send a FIELDVALUE message | |
189 back to the monitor. | |
190 </para> | |
191 | |
192 <para> | |
193 SCREENWATCH = 7 (Monitor -> TE). | |
194 The first argument is the line number (0..23) | |
195 and the second argument is the starting column number (0..79), | |
196 and the third argument is the field length in columns. | |
197 This command causes the emulator to watch the specified | |
198 part of the screen for changes. When that part of the screen | |
199 changes, the emulator will send a SCREENCHANGE message back | |
200 to the monitor. | |
201 </para> | |
202 | |
203 <para> | |
204 DEPRESS = 8 (Monitor -> TE). The argument is a single uint16 | |
205 value containing the vk_key value. This command causes the emulator | |
206 to simulate a keypress for that key. The codes are defined | |
160
4bccac50fd0b
update version number and documentation
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
207 <ulink url="http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731">here</ulink>. |
4bccac50fd0b
update version number and documentation
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
208 </para> |
4bccac50fd0b
update version number and documentation
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
209 |
4bccac50fd0b
update version number and documentation
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
210 <para> |
4bccac50fd0b
update version number and documentation
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
211 SHOWURL = 9 (Monitor -> TE). The single argument is a sequence |
4bccac50fd0b
update version number and documentation
Carl Byington <carl@five-ten-sg.com>
parents:
150
diff
changeset
|
212 of uint16 character codes forming a URL to be displayed. |
0 | 213 </para> |
206
f60d4b1e8c39
add cursor request command to the TE
Carl Byington <carl@five-ten-sg.com>
parents:
160
diff
changeset
|
214 |
f60d4b1e8c39
add cursor request command to the TE
Carl Byington <carl@five-ten-sg.com>
parents:
160
diff
changeset
|
215 <para> |
f60d4b1e8c39
add cursor request command to the TE
Carl Byington <carl@five-ten-sg.com>
parents:
160
diff
changeset
|
216 SWITCHSESSION = 10 (Monitor -> TE). There are no arguments. The TE |
f60d4b1e8c39
add cursor request command to the TE
Carl Byington <carl@five-ten-sg.com>
parents:
160
diff
changeset
|
217 should display this session. |
f60d4b1e8c39
add cursor request command to the TE
Carl Byington <carl@five-ten-sg.com>
parents:
160
diff
changeset
|
218 </para> |
f60d4b1e8c39
add cursor request command to the TE
Carl Byington <carl@five-ten-sg.com>
parents:
160
diff
changeset
|
219 |
f60d4b1e8c39
add cursor request command to the TE
Carl Byington <carl@five-ten-sg.com>
parents:
160
diff
changeset
|
220 <para> |
f60d4b1e8c39
add cursor request command to the TE
Carl Byington <carl@five-ten-sg.com>
parents:
160
diff
changeset
|
221 CURSORREQUEST = 11 (Monitor -> TE). There are no arguments. The TE |
f60d4b1e8c39
add cursor request command to the TE
Carl Byington <carl@five-ten-sg.com>
parents:
160
diff
changeset
|
222 should send a CURSORMOVE update to the monitor. Cursor movement caused |
f60d4b1e8c39
add cursor request command to the TE
Carl Byington <carl@five-ten-sg.com>
parents:
160
diff
changeset
|
223 by SETFIELD or DEPRESS commands does not trigger CURSORMOVE updates |
f60d4b1e8c39
add cursor request command to the TE
Carl Byington <carl@five-ten-sg.com>
parents:
160
diff
changeset
|
224 in block mode (tn5250) sessions. Those commands do trigger CURSORMOVE |
f60d4b1e8c39
add cursor request command to the TE
Carl Byington <carl@five-ten-sg.com>
parents:
160
diff
changeset
|
225 updates in async mode (telnet, ssh) sessions. |
f60d4b1e8c39
add cursor request command to the TE
Carl Byington <carl@five-ten-sg.com>
parents:
160
diff
changeset
|
226 </para> |
0 | 227 </refsect1> |
228 | |
229 <refsect1 id='todo.1'> | |
230 <title>TODO</title> | |
231 <para> | |
73
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
232 The tn5250 ssl/tls key storage should use the same storage mechanism |
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
233 as the base ssh key storage. |
0 | 234 </para> |
235 </refsect1> | |
236 | |
237 <refsect1 id='copyright.1'> | |
238 <title>Copyright</title> | |
239 <para> | |
240 Copyright (C) 2014 by 510 Software Group <carl@five-ten-sg.com> | |
241 </para> | |
242 <para> | |
243 This program is free software; you can redistribute it and/or modify it | |
244 under the terms of the GNU General Public License as published by the | |
245 Free Software Foundation; either version 3, or (at your option) any | |
246 later version. | |
247 </para> | |
248 <para> | |
249 You should have received a copy of the GNU General Public License along | |
250 with this program; see the file COPYING. If not, please write to the | |
251 Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | |
252 </para> | |
253 </refsect1> | |
254 | |
255 <refsect1 id='credits.1'> | |
256 <title>Credits</title> | |
257 <para> | |
258 Based on VX Connectbot provided under the Apache | |
259 License, Version 2.0. Copyright (C) 2012 Martin | |
260 Matuska http://connectbot.vx.sk | |
261 </para> | |
262 <para> | |
263 Based on Irssiconnectbot provided under the Apache | |
264 License, Version 2.0. Copyright (C) 2013 | |
265 Iiro Uusitalo and Ville Kerminen | |
266 https://github.com/irssiconnectbot/irssiconnectbot | |
267 </para> | |
268 <para> | |
269 Based on ConnectBot provided under the Apache License, | |
270 Version 2.0. Copyright (C) 2007-2008 Kenny Root | |
271 http://the-b.org and Jeffrey Sharkey http://jsharkey.org | |
272 </para> | |
273 <para> | |
274 Based on the Trilead SSH2 client provided | |
275 under a BSD-style license. Copyright (C) 2007 Trilead | |
276 AG. http://www.trilead.com | |
277 </para> | |
278 <para> | |
279 Based on JTA Telnet/SSH client provided under the | |
280 GPLv2 license. Copyright (C) 1996-2005 Matthias L. Jugel and | |
281 Marcus Meiner. http://www.javassh.org | |
282 </para> | |
283 <para> | |
73
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
284 Based on TN5250J terminal emulator provided under the GPLv2 |
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
285 license. Copyright (C) 2001 Kenneth J. Pouncey. |
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
286 http://tn5250j.sourceforge.net/ |
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
287 </para> |
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
288 <para> |
0 | 289 Includes the JSOCKS library, provided |
290 under the GNU LGPL license. http://jsocks.sourceforge.net | |
291 </para> | |
292 <para> | |
293 Includes JZlib provided under a BSD-style | |
294 license. Copyright (C) 2000-2004 JCraft, Inc. | |
295 http://www.jcraft.com | |
296 </para> | |
297 <para> | |
298 Includes the ssh-agent service developed by Roberto | |
299 Tyley https://github.com/rtyley | |
300 </para> | |
301 <para> | |
302 SCP file transfer support is based on | |
303 https://github.com/staktrace/connectbot/commits/filetransfer | |
304 modifications by Kartikaya Gupta. | |
305 </para> | |
73
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
306 <para> |
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
307 Internal file selection dialog is based on Android File |
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
308 Dialog by Alexander Ponomarev, provided under a BSD-style |
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
309 license. |
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
310 http://code.google.com/p/android-file-dialog |
accf93be8c12
update documentation; use xterm-256color as default terminal type
Carl Byington <carl@five-ten-sg.com>
parents:
0
diff
changeset
|
311 </para> |
0 | 312 </refsect1> |
313 | |
314 <refsect1 id='version.1'> | |
315 <title>Version</title> | |
316 <para> | |
317 @VERSION@ | |
318 </para> | |
319 </refsect1> | |
320 </refentry> | |
321 | |
322 </reference> |