Improve Kermit configuration.
[profile] / dot / mykermrc.in
1 ;;; ---kermit---
2 ;;;
3 ;;; Configuration and definitions for Kermit.
4
5 assign _profile @profile@/
6 assign _dot \v(home).kermit/
7
8 ;; General stuff.
9 set escape-character ^]
10 set flow-control /direct-serial rts/cts
11 set flow-control /modem rts/cts
12 set locus local
13 set options directory /brief
14 set terminal trigger KERMIT READY TO SERVE...
15 set transfer pipes on
16
17 ;; Dialling parameters.
18 set dial country-code 44
19 set dial area-code 1223
20 set dial display on
21 set dial toll-free-area-code 800
22 set dial ld-prefix 0
23 set dial intl-prefix 00
24
25 ;; Directories.
26 def _dir_exist {
27 undef _dir
28 for \%i 1 \fdim(&v) 1 {
29 if exist \&v[\%i] {
30 if def _dir assign _dir \m(_dir) \&v[\%i]
31 else assign _dir \&v[\%i]
32 }
33 }
34 }
35
36 local \&v
37 local \%n
38 array dcl v = -
39 \m(_profile)kermit/net.shared -
40 \m(_dot)net.local
41 local _dir
42 _dir_exist
43 set network directory \m(_dir)
44
45 array dcl v = -
46 \m(_profile)kermit/dial.shared -
47 \m(_dot)dial.local
48 local _dir
49 _dir_exist
50 set dial directory \m(_dir)
51
52 ;; If my terminal is UTF8 then try to use that consistently. This may not
53 ;; work, but in my world as it is it's quite likely to.
54 local _lc_ctype
55 if not def _lc_ctype if def \$(LC_ALL) assign _lc_ctype \$(LC_ALL)
56 if not def _lc_ctype if def \$(LC_CTYPE) assign _lc_ctype \$(LC_CTYPE)
57 if not def _lc_ctype if def \$(LANG) assign _lc_ctype \$(LANG)
58 if match \m(_lc_ctype) *.utf8 {
59 set file character-set utf8
60 set terminal character-set utf8
61 }
62
63 ;; Set the HTTP proxy from the environment.
64 if def \$(http_proxy) {
65 assign \%n \fsplit(\$(http_proxy),&v,/)
66 set tcp http-proxy \&v[2]
67 }
68
69 ;; Guest virtual consoles are frequently presented as Unix-domain sockets.
70 def UNIX {
71 if <= \v(argc) 1 -
72 end 1 Usage: UNIX socket
73 pipe nc -U \%1
74 }
75
76 ;; Connect to a kermit SSH subsystem.
77 def KERMSSH {
78 if <= \v(argc) 1 -
79 end 1 Usage: KERMSSH [options] [user@]host
80 set clear-channel on
81 pty ssh -enone -st \%* kermit
82 }
83
84 ;; Console over null-modem cable.
85 def CONSOLE {
86 if > \v(argc) 1 set speed \%1
87 if > \v(argc) 2 set serial \%2
88 else set serial 8n1
89 set modem type none
90 set carrier-watch off
91 set clear-channel on
92 connect
93 }
94
95 ;; Synchronize remote terminal size with local window.
96 def syncwinsz output stty rows \v(rows) columns \v(cols)\13
97
98 ;; Local configuration.
99 if exist \m(_dot)config take \m(_dot)config