-
Notifications
You must be signed in to change notification settings - Fork 0
/
1-CHANGES
907 lines (879 loc) · 50.5 KB
/
1-CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
;;;;;;;;;;;;;;;;;;;;;;;;;; -*- Mode: Indented-Text -*- ;;;;;;;;;;;;;;;;;;;;;;;;
;; 1-CHANGES --- Change log
;; Author : Muhammad M. Saggaf
;; Created On : sometime in 1992
;; Last Modified By: Steve McIntyre <stevem@chiark.greenend.org.uk>
;; Last Modified On: Sun May 09 21:38:30 1999
;; Update Count : 5
;; Status : quick and dirty, lots of typos
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Version 2.20c:
Rolled in some obvious bug fixes from the Debian version of 2.14c:
* Fixed typo in Seyon.ad: s/replcae/replace
* Added #include <linux/serial.h> to SePort.c for Linux
* Now under GPL (see 1-COPYING for details), new maintainer.
Versions up to 2.20b:
fixed nasty bug?, neverBeep, restore xset settings, fix seScan and
parse for non-ansi compilers, no more dir already open (map -deicon
-raise), open win does raise if already open, all commands are now
executed by /bin/sh instead of the loin shell, now does not remove
lock file if owned by another uid and alive (Rob Janssen
rob@pe1chl.ampr.org),
Version 2.14c:
* Fixed bug in SeStrings.c which caused crashes when compiled with -O
Version 2.14b:
* The silly AutmoZmodem bug is fixed. AutoZmodem is back! Make
sure you set the resource autoZmodemAction properly.
* Upgraded the MultiList widget to version 3.4. Also changed the
tranlation a bit. It's now like this:
Button1 (left) - SingleClick: Select (like before)
Button1 (left) - DoubleClick: Select and Launch (like before)
Button2 (middle) - SingleClick: Select and Launch
Button3 (right) - SingleClick: Select
Button3 (right) - Motion: Extend Select
* Seyon now restores the original modem attributes on exit. So if
you have CLOCAL unset before launching Seyon, it'll be unset
after exiting Seyon.
(2.13b)
* Tried to fix a problem with KillTerminal on SVR4 systems,
whether successful or not remains to be seen.
* The terminal used to be killed and restarted quite a few times
(e.g. after connection, after a script, after changing a
sparameter via the Set window). Now it almost never gets killed,
all communications between the main process and the terminal is
done via a pipe.
* New buttons under the Misc window: Edit and View, for editing
and viewing files - replete with search/replace ..etc.
* The resource zmodemAutoDownload is renamed to autoZmodem, and
the resource zmodemAutoDownloadCommand is no longer supported,
it's been superseeded by autoZmodemAction (see below).
* New resource: autoZmodemAction. This is a simple or compound
action that will be executed when Zmodem auto-download signature
is detected. This action will be executed only if the resource
autoZmodem is enabled (see above). Default is
``ShellCommand($rz);''. As you can see, this is much more
general than than the old zmodemAutoDownloadCommand resource.
For example, you can make that ``Beep(); ShellCommand($rz);'' to
make Seyon ring th ebell beofr etsarting Zmodem.
* The beep is now a bit fancier.
* New resource: startupAction. This is a simple or compound action
that will be executed on startup. This action is executed prior
to running any script (in case the -script switch is given) or
dialing any entry of the dialing directory (in case the -dial
switch is given or the resource dialAutoStart is enabled). You
can make Seyon open the dialing directory automatically on
startup by using the simple action ``OpenWidnow(Dial);'' as a
constituent of this complex action stack. Note that running the
startup script is just a special case of this resource
* The resource dialDirAutoOpen is no longer supported. It's been
superseeded by the resource startupAction, which is much more
general.
* Cleaned up the FAQ a bit.
* Some other misc. code cleanups.
(2.12)
* The ill-fated change to the way the terminal is stopped/
restarted is gone. Not to declare total defeat, I'm not back to
the old method (which has always worked), but a new (third)
method is introduced. This one doesn't rely on the operating
system, but does its own dirty work, so it should work well on
all platforms.
* The entire manual is now available on-line via the Help button.
(2.11)
* Just some cosmetic changes and a small fix for SunOS 3.x.
* Corrections to the manual.
(2.10)
* New actions: OpenWindow, IconifyWindow, and CloseWindow. The
first two can take the arguments Main, Dial, and Term,
corresponding to the command center, the dialing directory, and
the terminal windows, respectively. The third can take the
argument Dial. More than one argument can be given, for example:
``IconifyWindow(Main, Dial, Term);'' will iconify all three
windows. Term is guaranteed to work only with terminal emulators
that set the environment variable WINDOWID, like xterm. The
manual has more details on all of these actions. OpenDialDir is
no longer supported since it's obsolete.
* Fixed a bug in the dialing process that manifeted itself on SVR4
systems. Thanks to Felix Blank for the fix.
* Translations for SeQuickKeys are now more robust, and SeQuickKey
buttons now behave like other normal buttons.
* The resource and command line switch ``modem'' is now replaced
by ``modems''. This is a list of modems that Seyon will try one
after the other on startup until it finds an available modem.
Great for modem pools. MAKE SURE YOU CHANGE THE NAME OF YOUR
RESOURCE FROM MODEM TO MODEMS OR SEYON WILL NOT RUN.
* Seyon used to kill the terminal process before running routines
that take control of the terminal (like dialing, script
execution, ..etc) and restart it again after those routines are
finished. Now Seyon merely suspends the terminal instead of
killing it. This is more CPU-efficient since a fork() call is
avoided each time. It's a bit less memory efficient, however,
since the terminal process hangs around instead of being killed,
but that process can be swapped out if memory is tight. THIS IS
A CAN OF WORM, and there can be bugs caused by the new behavior.
Watch out.
* SeQuickKeys implementation is totally revised and rewritten.
SeQuickKeys are now specified like this:
Seyon*quickKey1.visible: on
Seyon*quickKey1.action: FileTransfer(1, file); Beep();
Seyon*quickKey1.label: Upload
The first resource specifies that the given SeQuickKey should be
visible. The second specifies the action attached to that key,
and the third the label. Nte the new C-like syntax and that
asynchronous actions can be anywhere in the action stack, see
below.
* You can no longer use QuickKeyX, it has to be quickKeyX (i.e.
first letter is not capital. The class name for all SeQuickKeys
is now Command.
* Actions now use a syntax similar to C. Semicolons delimit simple
actions (a semicolon has to be at the end of every simple
action), and commas delimit action argumnets.
* Asynchronous actions can now be anywhere in a compound action
(action stack) and they no longer have to be at the end.
However, DialEntries will probably not work correctly if not at
the end of a comoupnd action (or alone of course). Others are
fine.
* The resources dialDirAutoClose, dialDirAutoIconify, and
beepOnConnect are no longer supported. They have been superseded
by the new resource postConnectAction, which is more flexible.
Actions given by this resource will be executed after a
connection is made and before running any attached script (they
have to be synchronous). Default is ``Beep();''.
* New parsing routines graciously contributed by Joaquim Jorge.
Those allowed for the new flexibility in SeQuickKeys you see in
this release. I'm grateful to him for his contribution.
* New action: CloseWindow. Can take the argument ``Dial'' to close
the dialing directory window. Useful to use in the new resource
postConnectAction. Supersedes the action CloseDialDir, which is
no longer supported.
* Argument of the action Echo is now optional. If omitted, a
newline will be echoed. This is similar to the behavior of the
shell command echo.
* New resources: hangupViaDTR, modemHangupString, and
modemAttentionString. The first supersedes hayesHangup, which is
no longer supported. Refer to the manual for more details.
* The default now is not to hangup by droping DTR since the latter
apparently pisses off modem on mnay plaforms (Sun, SGI, ..etc.).
You can use hangupViaDTR to override that.
* When hanging up, the hangup and attention strings no longer show
up on the terminal, nor the modem response. Looks much cleaner
this way.
* New actions: Sleep and DoNothing. The first just suspends the
program for the given amount of seconds. The second does nothing
(similar to NOP). DoNothing is useful to use in actions like
postconnectAction to override the default and stop the beep.
Version 2.06:
* Help is now a separate button from About and can be held open
all the time without affecting other funcions of Seyon (that
doesn't mean that help is actually helpful, however :-}).
* Instead of beeping when not available, some buttons now become
greyed out and unresponsive when not available.
* Dial cancelling is improved a bit to be more robust (it's a bit
slower to react now though) and you'll no longer see the NO
CARRIER message from the modem when you cancel dialing (this is
for purely aesthetic reasons).
* Fixed a bug that caused segemntation fault on some mahines
(notably Suns) -- thanks to the people who reported the problem
and to Greg Eisenhauer for the fix. Also added the approrpriate
symbol for machines that don't define MAX_INPUT.
* Minor changes to accommodate Mips RISCos.
* New feature: SeQuickKeys (z quickies). Extremely versatile new
addition to Seyon that lets you add your custom buttons to the
command center and attach actions to them. Resources related to
this feature are quickKeyX (X starts at 1). Each of these
resources specifies the action routine for that SeQuickKey
button. If the action field is empty, the corresponding
SeQuickKey button will not be shown. Labels for those buttons
can be set via the resources `Seyon*quickKeyX.label'. Seyon
currently offers two actions, more will be added in the future.
Available actions are: 1) DialEntries(<entries-list>), which
instructs Seyon to dial entries in the dialing directory
corresponding by order to the given list. If the list consists
of just the word `Default', then the entries given by the
resource defaultPhoneEntries will be dialed. 2)
RunScript(<script-name>) Executes the script file given by
<script-name>.
* Added a new button to the dialing directory: Default. If
clicked, the entries specified by the resource
defaultPhoneEntries will be highlighted. Seyon no longer
highlights those entries when Reread is chosen.
* Sorted the resources in the manual page alphabetically.
* The resource dialCancel is renamed to dialCancelString.
* More new actions than you can shake a stick at: Beep,
DivertFile, Echo, FileTransfer, Hangup, ManualDial, OpenDialDir,
Quit, Set, ShellCommand, and Transmit. Most of these actions
take one or two arguments, and can pop up dialog boxes if not
all information is provided. Everyone can now have his/her own
version of the command center, and the basic buttons are almost
obsoleted. Details are in the manual page.
* You can stack actions, e.g. Echo("Byebye..") Hangup() Quit()
will echo the string, hangup the line, then quit Seyon. You can
attach mini-script to SeQuickKeys this way. Examples are in the
manual page.
* Action DialEntries no longer opens the dialing directory. This
way you can attach SeQuickKeys to frequesntly-dialed hosts and
completely bypass the dialing directory (I rarely use the
dialing directory now). You can still get the behavior by
stacking: OpenDialDir() DialEntries(whatever).
* You can now have up to 10 SeQuickKeys. This limit is really
arbitrary and can be increased any time.
* MultiList is now used for the transfer console as well. looks
better, and can click Go instead of double-clicking if you like.
* Action RunScript will now pop up a dialog box if no script-name
is specified.
* Quick release to fix some bugs in the new actions.
* No more garbage character at end of modem reponses.
* Action OpenDialDir now de-iconifies the dialing directory if in
an iconic state.
Version 2.01:
* Fixed a bug that caused a segmentation fault when using both
manual dialing and auto-redial.
* Added speedup enhancement to the terminal. People with fast
machines or slow modems probably won't notice this, but on my
hardware (386SX-25 and 9600 bps), the terminal process is about
40% faster (rough benchmak: 3 seconds to repaint an Emacs screen
compared to 5 seconds). This is done by writing text to the
terminal in chuncks instead of a character at a time. I'm
interested in feedback about this.
* Added toggles to show the modem line status: DCD (Data Carrier
Detect), DTR (Data Terminal Ready), DSR (Data Set Ready), RTS
(Request To Send), CTS (Clear To Send), and RNG (Ring
Indicator). This, I suspect, won't work for HP-UX, since it
does things a bit differently. If your O/S doesn't have support
for this (most do), you can disable it by undefining
HAVE_MODEM_CONROL in config.h.
* Added a clock to show the on-line time. The clock also doubles
as a toggle to show the DCD status (see above).
* New resource: modemStatusInterval. This resource controls the
amount of time (in seconds) between updates to the modem status
toggles (including the clock). The default is five seconds, but
you can set it to one second (or any other number) if you want
the toggles to be updated more frequently. Even if you set this
to a large number, Seyon is intellegent enough to update the
toggles after each connect or hangup.
* New resource: stripHighBit. If set to 'on', the high (eights)
bit is stripped from incoming characters. This corresponds to
the the old sevenBitMask that was removed a while ago. The
corresponding script keyword is also stripHighBit. You can also
set this from the settings window.
* The lock routines have been revised a bit. Seyon now also
supports the inode.major.minor nameing convention for lock files
used by SVR4 (thanks to Jeff Johnson and Glenn Geers for the
patches).
* Revised config.h a bit to be more flexible and more consistent.
Especially affected are the lock configurations.
* Seyon is now less agressive in speeding up the terminal process
(still much seedier than before) to maintain the same level of
interactivity as past versions.
* Incororated some modifications to accommodate Solaris (thanks to
Tony Vincent-Sun-Vienna for the patches).
* New resource: hangupBeforeDial. If set to 'on' (default), then
Seyon will hangup the line before dialing (if there is already a
connection).
* Changed the location of popups a bit. Now most popups are
located at the center of their parent buttons.
* Modem responses (BUSY, ..etc) now show up in the message area
instead of at the terminal when no connection is achieved.
* Cleaned up the code bit and fixed a bug in detecting Zmodem
signature that was introduced in the previous version.
* HAVE_STRDUP is removed from config.h since strdup is no longer
needed.
* Now the high bit is always stripped if the character size is
different from 8. This is transparaent to the user.
* Added a new reource: modemVMin. This specifies the number of
characters that should be in the buffer before the read process
is satified. The read process will wait until that number of
incoming characters is in the buffer or 0.1 second has elapsed
between two characters before displaying those incoming
characters. This results in the data being displayed in chunks
and speeds up the terminal display. The speedup would be most
noticeable on slow machnes with fast modems. Leave this resource
at its default (1) or set it at a low value (6) if you have a
slow modem (e.g. 2400bps). Otherwise you might set it to the
maximum value, which is platform-dependent but generally 255. If
you set it to any number greater than the maximum value it will
be truncated to the maximum value.
* Fixed a bug that caused the dialing directory and transfer
windows not to be destroyed properly when the 'reread' button is
clicked. Also fixed a small race condition in the terminal
process.
* New resource: ignoreModemDCD. If this is set to 'on', the modem
DCD status will be ignored. Some of the consequences of setting
this to on is that the "Hangup?' prompt will always be presented
(if exitConfirm is enabled) regadless of the modem DCD status
and dialing will be attempted even if Seyon thinks you're
on-line. It's highly recommended that you keep this set to 'off'
unless your modem doesn't honor the DCD line. Default is 'off'.
* New resource: defaultPhoneEntries. This is a list of numbers
corresponding to the entries in the phonebook. Seyon will
highlight (select) those entries at startup and whenever you
click 'Reread' in the dialing directory. This is useful if there
is a set of entries that you most frequesntly dial and want them
to be highlghted automatically instead of doing that every time
by hand. You can override this resource by the new -entries
command-line switch, for example: -entries "1 3 4". The quotes
are needed if you specify more than one entry. Phonebook entries
numbering starts at one.
* New resource: dialAutoStart. This resource specifies that Seyon
should start dialing the entries specified by the resource
defaultPhoneEntries (or its override command-line switch) on
startup. Seyon will commence dialing those entries after
executing the startup script and any script specified at the
command line. If enabled, this resource overrides
DialDirAutoOpen and forces it to be on. A more convenient way of
automatic dialing on startup is to use the command-line switch
-dial, which forces this resource to be enabled. If the resource
is enabled, it can disabled at the command line by the switch
-nodial. Sepcifying both -dial and -nodial at the command-line
will select the bahavior specified by the last such switch on
the command line.
* Now Seyon will not present the 'Hangup?' popup if off-line even
if exitConfirm is enabled (unless ignoreModemDCD is set to on).
* Seyon will now abort dialing if on-line and hangupBeforeDial is
disabled (unless ignoreModemDCD is set to on).
* New script command: hangup. It just hangs up the line.
* The script command quit is now enabled. you can use it to
terminate the script and exit the whole program. Use 'exit' to
just terminate the script.
* New resource: beepOnConnect. If set to 'on', Seyon will ring the
bell when a connection is made. Default is 'on', so make sure
you disable this if it annoys you.
* The way Seyon looks for files has changed. Now Seyon no longer
looks in the user's home directory, and looks in the current
directory only after looking in the default directory (~/.seyon
by default). Hence the new order is: default directory, then
current directory. If this causes a problem to anyone, let me
know and I might change things back to the way they were.
* If you have neither termios not termio, Seyon can now work with
sgtty. This is to accommodate older BSD systems like SunOS 3.x.
Thanks to Bob Smith for the patches for this.
* New script command: shell. This will execute a shell command and
bahaves like the Shell button on the command center (i.e. it
accepts '$' for stdio redirection to the modem). With this
command it is possible now to write a script to do unattended
login and download of mail from a host (e.g. BBS) with an entry
in, say, crontab. A script for unattended download of QWK mail
packets is included as script.QWK.
* Fixed a race condition that would have happened if both -script
and -dial are specified. Also cleaned up the startup code so
that the startup script is executed in a child process like
other scripts.
* Added some more version information on startup (similar to that
of linux).
* Bug fixes: the lock file and script bugs are now fixed. This
should be mostly a bug-free release.
* If the ioctl call to get the modem line status fails, Seyon will
now automatically disable the modem status toggles for that
device and will refrain from polling that device for its status.
All this until you open another device or re-open the same
device.
* New command-line switch: -emulator. You can now specifiy which
terminal emulation program Seyon should use by te above switch.
For example: 'seyon -emulator aixterm' will make Seyon use
aixterm as the terminal emulator. As usuall, Seyon will fall
back to xterm if it cannot execute the requested emulator. This
switch make the link to seyon-emu less usefull, but it's still
supported.
* Cosmetically overhauled config.h. It's much cleaner now and uses
the more understandable YES and NO instead of define and undef.
* The script command 'set port' is not supported in this release.
* Installtions using X11R4 and such do not have some of the imake
macros. I've added those to the imake file.
* New resource: dialDirAutoIconify. If set to on, Seyon will
automatically iconify the dialing directory window when a
successful connection is made. Otherwise the dialing directory
will remain up until closed or iconified by the user. If both
dialDirAutoClose and dialDirAutoIconify are set to on, the
former takes precedence. Default value is 'off'.
* A small bug in the lock files for SVR4 is fixed, also a bug
related to dialDirAutoOpen. Also, 'if linked' now works
properly.
* Rewrote the low-level modem read routines. Much cleaner now
(except one function) and hopefully less prone to bugs. Also
cleaned up miscellaneous parts of the code.
* Unified program: there in no longer seyon-cmd. You can get the
same behavior as seyon-cmd by using the -noemulator switch, see
below. Thanks for David Boyce.
* New command-line switch: -noemulator. If this is specified,
Seyon will not launch a new terminal emulator, but will use the
existing one instead. You cannot use the '-- emulator_option...'
switches if this option is given.
* New command-line switch: -noargs. Seyon usually invokes the
terminal emulation program with some options to set the
application name, window and icon titles, ..etc. If this switch
is given, Seyon will not pass those options to the emulator.
This is to accommodate terminal emulation programs that use a
different command-line syntax than xterm, like xvt, cmdtool,
shelltool, ..etc. You can use the '--' switch to pass your own
options to the emulator in this case.
* The command-line switch -noargs is renamed to -nodefargs.
* More changes to the low-level modem read routines. Now all of
them have been rewritten.
* Some changes in the look, mostly to be ain accord with Xaw3d.
Version 1.9:
* The baud rates are now represented by radio buttons instead of
requiring the user to type them manually. This has the advantage
that the user can no longer choose an invalid baud rate (besides
looking cute, of course).
* Fixed a few minor bugs (the dialing directory shows a spurious
script for the last item, script command 'dial' doesn't accept
'^M', script keyword 'linked' doesn't work, exitConfirm resource
mistyped in the source and swapped with hangupConfirm). all
fixed now.
* Added error checking for modem reads/writes. Seyon now tells the
user when such errors occur and why they occured. The program
also suspends the terminal process when an excessive number of
such consecutive errors occur (5). You'll see how that is sueful
if you specify a port with a non-existent modem as your device
(do it at your own risk though, some oparting systems may lock
up your machine f you do so).
* Added a new script command: when. This is a very versatile
command and behaves in a similar fashion as the corresponding
command in Qmodem. Briefly, if you have something like
when "Continue?" "y^M"
when "More?" "n^M"
waitfor "Command?"
when
then while waiting for "Command? ", the script will transmit
"y^M" whenever it encounters "Continue?" and "n^M" whenever it
encounters "More?", whatever the number of times it encounters
those strings. The final when (with no argument) clears all
outstanding when commands. Some BBS systems (notably PCBoard)
change the prompts depeding on the time of your call, and you
cannot write a complete script for such boards using waitfor
only. An example is included.
* Cleaned the script module a bit and also the routine for
detecting the zmodem auto-download signature.
* Revised the interface for the settings window. Seyon now changes
the parameters as soon as the user clicks on them instead of
waiting until the 'Ok' button is pressed. A bit less efficient
perhaps, but more natural. You can now keep the settings window
open and try out different settings without having to close the
window in order to effect your changes.
* Transient windows no longer concealed by their parents, even if
they don't have the input focus. Didn't you just hate it when
those windows used to disappear behind their parents and you had
to move their parents in order to see them? No longer.
* The exit and cancel buttons are no longer hidden when they are
inactive. Instead, they are now visible all the time, but greyed
out when inactive. Looks better this way.
* When you choose f.delete (twm/mwm) or QUIT (olwm/olvwm) on
Seyon's top window (the command center), Seyon now exits
gracefully as if you clicked on the exit button (but with no
confirmation). Seyon will beep if you try to do that while
you're not allowed to exit though. Even though it is safe to do
so, I do not recommend this as the way to exit Seyon. Also,
never do this on any other Seyon window (like the dialing
directory) or Seyon won't exit gracefully. (In general, if Seyon
gets stuck and you have to kill it, do that by
kill <lowest-seyon-pid>
from another xterm. Seyon will quit gracefully this way as
well).
* Added two new script commands: flush and purge. The first
flushes the mdoem, i.e. discards data written to the modem but
not transmitted and data received but not read. The second Reads
and discards all data coming from the modem for the duration of
one second.
* The manual page now has a listing of all the keywords the script
command 'set' accepts.
* Revised the idle guard routine so that the idleGuardInterval is
now observed properly.
* New default font. I suspect most people will hate it, so it may
be removed from the next version if I hear many gribes about it.
* New error popups. Now Seyon pops up an dialog box with an
explanation of the error, possible causes, and suggested action
when an error occurs. Not all errors are handled this way yet,
but the most severe ones are. Please do give this version some
abuse (e.g. invoking it with no modem, wrong modem, locked
modem, incorrect command-line switch, or even doing something as
evil as 'kill -SEGV <lowest-seyon-pid>').
* Seyon now has an icon. Try iconifying the command center (or the
dialing directory) to see it.
* Arnold is out, a pretty face is in.
Version 1.8:
* The transfer window has been completely revamped, just like the
dialing directory (see below). Only the protocol titles now
appear in the window (those can be as descriptive as you like).
* Since the dialing directory and transfer console no longer show
the actual phone and protcols files but only a pretty summary,
the syntax of those files has been made much more flexible. They
now accept whole-line comments and blank lines, so you can put
as much comments there as you like. Examples are provided.
* Provided examples for the phone and protocols files with
extensive documentation (thanks to the new syntax fexibility).
Please look at them to take full advantage of the convenience
they provide.
* The dialing directory have been completely revamped. No more
ugly keywords on the display, replaced by a standard, concise,
and informative dialing directory. The keywords still work of
course, it's just that you see only their summary on the dialing
directory, rather than the phone file syntax itself.
* For the new dialing directroy, added the resource dialDirFormat.
This is a string that specifies the format of the dialing
direcotry. The default is '%-15s %-15s %6s %1c%1c%1c %1c%1c %s'.
Briefly: the fields represent the host name, number, the baud
rate, bits, parity, stop bits, whether there is a custom prefix,
suffix, and the script name. You can understand more what each
field refers to by comparing with dialing directory, fields that
use the current setting (via the keyword CURRENT) are designated
by a question mark. Notice that you cannot change the order the
items in the dialing directory appear at, only the format. For
example, since the numbers I call are all 7-digits, my host
names are short, and I never use baud rates above 9600, my own
format string is %-10s %-8s %5s-%1c-%1c-%1c %1c%1c %s, the
default is just too wide for my taste, and I like dashes between
the bits, parity, ans stop bits fields.
* Renamed the resources dialAutoOpen and dialAutoClose to
dialDirAutoOpen and dialDirAutoClose, respectively, to reflect
their functions more precisely.
* Add an important feature: the ability to completely specify the
communication parameters by number of bits (charcter size),
parity, and stop bits. Like eeverything else in Seyon, you can
set those in about a half dozen ways. First, the resources
defaultBIts (default is 8, valid arguments are 5, 6, 7, and 8),
defaultParity (default is 0, valid arguments are 0 (no parity),
1 (odd parity), and 2 (even parity), and defaultStopBits
(defaults is 1, valid arguments are 1 and 2). You can set them
in a script through the keywords bits (e.g. set bits 8), parity,
and stopBits. You can also set them in the dialing directory by
specifying the fileds BITS, PARITY, and STOPB (you can also give
the argument 'CURRENT' to those fields. Finally, you can set
them interactively under the settings window (in two ways,either
directly or via a short cut).
* The resource sevenBitMask and the script keyword 7bit are gone.
they superseded by the above.
* Added a new button: 'About'. Among other things it tells you
exactly what revision number of Seyon you're using. The help
button is moved under About.
* Some cosmetic changes; for example, Seyon messages in the status
area are now centered.
* Added support for fallback resources. Seyon no longer need its
app-defaults file except for color (using color in fallback is
not a good idea).
* Added a new button under the 'Misc' window: Suspend. This just
suspends the terminal and runs a local shell in the terminal
window.
* Seyon now supports two new speeds: 56700 and 115200 bps. This is
avialable only for linux, as there is no portable way of doing
it. This feature is not guaranteed to stay.
* Added a new script command: send_break. Should be obvious what
it does.
* Fixed a nasty bug (race condition) when Seyon is invoked with
the -script switch. That should work fine now.
* New resource: dialAutoOpen. If set to on, the dialing directory
is automatically poped up when Seyon is started.
* The resource funMessages is now used to specify the messages
only. Use the new resource showFunMessages to enable or disble
the display of those messages (defaults to on).
* Added a new feature: the ability to send a string when the
session (user's input to the terminal) is idle longer than a
specicified amout onf time. The string is sent automatically at
that regular interval to keep the session alive (e.g. avoid
auto-logout). The resources governing this feature are:
idleGuard (default is off), idleGaurdInterval(default is 300
seconds), and idleGuardString (default is " ^H", i.e. space then
backspace). The corresponing script keyword is idleGuard (you
can only enable or disable it in a script). The string is sent
with the current translations, so it would be <Spc><del> if
backspaceTranslation is on.
* You can now put '~' in 'transmit' to effect a pause of 1 second,
i.e. transmit "ATZ~~ATS0=0" is equivalent to
transmit "ATZ"
pause 2
transmit "ATS0=0"
* Changed the default color for toggles to look better with Xaw3d.
If you're not using Xaw3d, I advice to get it and link Seyon
with. Seyon looks much "cooler" with Xaw3d.
Version 1.7:
* Revied the location of transient popups. No more dangling
windows. Now transiet windows pop up at a small offset from the
the top of the parent window instead of its buttom.
* New resource: dialAutoClose. If set to 'on', the dialing
directory will be automatically closed after a successful dial.
Defaults to 'off'.
* The baud and port dialogs in the settings window now popup
instead of cluttering the window and causing it to be too large.
* Added a new keyword for the dialing directory BPS and BITS
fields: CURRENT (can be abbreviated to CUR). If this is used,
the current baud rate and/or bit mask will be used for that
host. Not sure if this would be useful. Notice that if the BPS
or BITS field is missing, the default values (as specified in
the resources) would be used.
* Added two new fields in the dialing directory: PREFIX and
SUFFIX. If either is present, it overrides the default specified
in the resources. See examples in the included phonelist file.
These fields also accept the CURRENT keyword as above.
* All script commands and keywords are now case sensitive.
* Revised newline translation. Three translation modes are now
available: no translation, newline to carraige return, and
newline to carraige return / line feed. Consequently, the
resource newlineTranslation is changed from boolean to string,
whith three possible keywords corresponding to the above: nl,
cr, and cr/lf. The script keyword nl is also changed to
newlineTranslation to coincide with the resource, and accepts
the same keywords.
* Added 'View Log' under the misc window, but currently does
nothing.
* New script command 'echo'. This just behaves as the usual echo
shell command and prints its argument to the terminal (does not
send it to the modem, use 'transmit' for that). This command
supercedes the old command under the same name, which is now
more appropriatetly called 'debug'.
* Essentially got rid of the busy waits in the program -- even for
systems that do not have usleep -- by using Seyon's own usleep
if the system doesn't have one. (written by obz@raster.kodak.com).
* Seyon now does not allow the user to exit the program while it
is executing an externala command until that command is finished.
(this is a feature, since exiting while a child process is still
running can lead to a lot of trouble).
* The default color for monochrome displays is now black on white.
Earlier versions tried to use color even if none is vailable, so
the color combination led to unreadable menus on monochrome
displays. Note that if you have a color display you must put
something like:
#ifdef COLOR
*customization: -color
#endif
in your Xdefaults file, or Seyon (as well as other X
applications) will be monochrome even on your color setup (but
you already know that, don't you :-).
* Various changes to accomodate SunOS 4.1 (thanks to Peter Davies
for pointing most of those problems).
* New configuration script. This script probes your system looking
for the functions your system has and automatically writes
config.h for you. Tested only under bash and ksh, not sure if it
would run under plain old regular sh. Give it a try.
* YADBC, yet another default background color. This one is more
reminiscent of Motif.
Version 1.6
* You can now change the modem device interactively from the 'Set'
console. You can even do that in a script, use the keyword
'port'.
* Support for the environment variable MODEM has been dropped.
You can set the modem device on startup either via the resources
or at the commend line.
* Running a script by the switch '-script' in startup was broken
(apparently for some time but nobody told me, I found out by
accident). It has now been fixed.
* You can now start a script interactively from the command
center. Use 'Script' under the 'Misc' button.
* Fixed the lock routines. Seyon now supports two types of lock
files: ascii (compatible with HDB uucp), and binary (for other
uucp programs). You choose which type of lock interface by
defining the appropriate flag in config.h before compiling.
Thanks to rick@rick.att.com for supplying information about the
different types of lock methods. Anthony Rumble originally
pointed out the problem.
* Added a new resource, hayesHangup. If this set to on, Seyon will
use the Hayes hangup command sequesnce. Otherwise, hangup is done
by dropping DTR. This should normally be set to off (default),
unless your modem doesn't hangup when DTR is dropped. Consult
your modem manual for more details.
* Seyon now uses the correct Zmodem signature (thanks to Ralph
Brown for supplying me with that). You should no longer have
any problem with Seyon not recognizing Zmodem auto-downloads.
* Although not very apprent on the surface, the dialing routines
have undergone a major revision. The code is now much cleaner
and uses pseudo-signals to do much of its work.
* You can now upload a text file by using 'Divert' under the
'Misc' button. This sends the file (slowly) to the remote host
as if typed on the terminal. You can start an editor an 'divert'
the file there as if you were typing the file, useful for
composing messages on-line on bulletin boards.
* Seyon's look is slightly revised, and the command center now has
two rows of buttons by default, so it's a bit less wide.
* Related to the above: you can now rearrange the number of rows
of buttons in the command center in a much easier way. Just
specify the the resource Seyon.width, and the number of rows will
be calculated automatically to fit the requested width.
* If the app-defaults file is left from an older version, Seyon
now tells the user what version that was.
* Various other small fixes and enhancements.
* On the down side, I have not updated the FAQ since the previous
release, and 'don't feel like it'. If you want something added
to the FAQ, send it to me, and I'll gladly add it (or if someone
wants to be the maintainer of the FAQ, let me know).
Version 1.5
* Zmodem auto-download can now be disabled and enabled
interactively (from the 'Set' console) as well as in a script
(use 'set autozm on/off'). Useful when you want to use a
different zmodem protocol from the transfer popup.
* Improved error handling. Seyon now gives the user more
informative messages about what the rogram succeeded or failed
to do in the form of error messages, warnings, and notices.
* The new boolean resource sevenBitMask now supercedes the old
defaultBitMask (no longer used). Seyon will use a 7 bit mask if
the resource is true (otherwise an 8 bit mask) for entries in
the dialing directory for which no bit mask is specified. The
default for this resource is ''off', i.e. to use an 8 bit mask.
* A new translation mode (my favorite): meta key (ALT)
translation. Use it to send keys pressed while the meta (ALT)
key is held down as an escape (ESC) followed by the key press.
This mode simulates the meta key on hosts that do not support
8-bit-clean connections and makes possible the use of the meta
key in programs like Emacs on such hosts. It is enabled by
default. You can control it in the resources by the resource
metaKeyTranslation, in a script by 'set meta_tr ...', or
interactivly from the 'Set' console.
* All the parameters that can be set in startup script can now be
specified in the resources. This can be done via the new
resources sevenBitMask, newlineTranslation,
backspaceTranslation, metaKeyTranslation, xonxoffFlowControl,
and rtsctsFlowControl.
* New (worse?) default window background color.
* Seyon now gives a warning if the app-defaults file is missing,
mis-installed, or out-dated.
* To facilitate the use of terminal emulators other than xterm,
xterm is no longer hard-coded into Seyon. Seyon will try to use
seyon-emu first, and if it cannot find it will fall back to
xterm. seyon-emu should be a symbolic link to the terminal
emulator of your choice, e.g. xterm.
* You can now temporarily suspend Seyon and run a local shell in
the terminal window. Just use the shell button and give it an
empty string as the command to be run.
* Substituted the less-general HAVE_TERMIOS for _POSIX_SOURCE
while building Seyon. Apparently, 386BSD has termios but chokes
when _POSIX_SOURCE is defined.
* Fun messages are no longer hard-coded in Seyon but can now be
specified in the resources via the resource funMessages, which
superceeds the old boolean resource under the same name. refer
to Seyon's manual page for details.
* Command-switches can now be passed to the terminal emulation
program as well. The new seyon command line syntax is:
seyon [-option ...] [-toolkit_option ...] [-- -emulator_option]
Any switches after '--' will be passed to the terminal emulation
program.
* The default zmodem auto-download command is now '$rz' instead of
'rz', to use stdin/stdout.
* The manual page is expanded a lot. Now is has a full description
of all the resources, as well as a detailed description of the
script language. Please take the time to read it.
* Various other small enhancements.
Version 1.4
* Added support for rereading and editing the phonlist and
protocols files from withen Seyon.
* Added support for capturing a remote session to a file.
* Fixed a few bugs in the termio routines.
* Cleaned up the code a bit and added some comments
Version 1.3
* Seyon now uses termios to be POSIX-compliant. The old termio
interface can still be used however.
* Major change to the way Seyon finds its files. Seyon now expects
its files to be in its own default directory (~/.seyon) and
would look first in the current, then default, then home
directory for its files. Like other things in Seyon, the default
directory can be overridden in the resources.
* A default script directory can now be specified. Much better
than cluttering the home directory with scripts. Seyon will look
for scripts in the current, then script, then home direcotry.
* Revised the interface of the dialer. Buttons are now visible all
the time, even if not active (but will beep if clicked while
inactive).
* Added full support for manual dialing
* Integrated the help file and the FAQ. Hence, the FAQ is now
vailable online via the 'Help' button.
* Seyon now has a manual page (but not complete).
* Changed a few other things to make Seyon more portable to other
platforms and corrected some minor bugs.
Version 1.2:
* Setting the baud rate interactively is now fully supported.
* The 'show' button has been removed since it's no longer needed.
* The dialer timeout is now fully supported. Use the resource
"dialTimeOut" to set it (default is 45 sec).
* Added multiple dialing. Seyon will now circulate through
selected items in the dialing directory until a connection is
made. Refer to the FAQ to see how this is used.
* Added two new resources, dialPrefix and dialSuffix.
* The dialing directory and transfer console now have scroll bars
and would can be scrolled if they contain more than 10 entries
(no limit on the total number of entries).
* Cleaned up the dialer code quite a bit
Version 1.1:
* Major revisions to the dialer. The dialer is now integrated into
the dialing directory instead of having its own popup (no need
to clutter the screen).
* Fixed it so that there may be no more than one copy of the
dialing direcotry.
* The transfer popup now pops down after the transfer is
initiated. Similarly the shell popup.
* Auto ZMODEM download is now fully supported. See tha FAQ to
learn how to set it up or disable it (thanks to R. Ramish for
supplying the auto download string).
* Seyon now has an Imake file (kindly contributed by David Boyce,
with minor modifications by me).
* The dialing directory now 'remembers' its location and size if
moved or resized interactively.
* The status area is now fully supported. most of the messages now
appear there instead of at the terminal.
* Seyon now shows some 'fun' messages in the status area if it has
nothing else to say (I know, I got carried away. Anyhow, it can
be disabled, see the FAQ).
Version 1.0:
* Fixed a problem with the new dialer. Now the dialer should work
fine even if your modem behaves in a non-standard way.
* Added five new resources. these are connectString and
noConnectString[1|2|3|4]. You can set these up according to your
modem, but the defaults should work for most people. See the FAQ
for more info.
* The delete mode (backspace sends delete) now actually works.
* The dialer now gives more informative messages about what it's
is doing.
* Implemented the rtscts mode. Not sure if it works.
* Added a new 'refresh' button, to refresh (restart) the terminal.
* Added a new status bar, but not used yet.
* Fixed a bug in the terminal routine and removed the kludge
introduced in the previous version.
* Fixed another bug that used to start a stray CIS receive in the
terminal mode.
* Cleaned up the code a bit and added a few comments.
* Changed the default shape style (again!) to be more fun.
* Added a meke depend target to the make file.
Version 0.85:
* Added the ability to send a break. You can do that via the
'Misc' button.
* Corrected a bug in obtaining the dialer resources.
* Modified the dialing procedure (introduced in the new dialer) to
work on more modems.
* Added the ability to disable confirmation popus for hangup end
exit. You can set that via the resources. See the FAQ for more
info.
* Removed XMODEM and Compuserve CIS from the code. Those should be
implemented though external programs.
* Added a kludge in the terminal routine to go about the linux new
FPU emulation problems with re-entrance.
Version 0.8:
* Most the functions under the 'Set' button are now
implemented. The ones that are not are the cts/rts and
setting the baud rate.
* Seyon now has a brand new dialer. It dials the number upto a
specified number of retries with a specified interval between
each try (both can be set via the resources). After a
connection the script will be executed (if one is given).
Dialing and script execution can be interrupted anytime by
clicking a botton.
* Fixed a minor bug in hangup confirmation. The hangup
confirmation window now disappears after choosing an action.
* Added a new parameter. Those that want to send delete
instead of backspace (some BBS systems choke on it) can now
do that either form the 'Set' button, or through the startup
file or any script. See the FAQ.
Version 0.5:
* Added a new transfer console that invokes a pre-defined
protocols ala minicom and all DOS comm programs.
Intelligent enough to prompt for a file name if needed.
* Added support for specifying the modem port in the
resources.
* Added a new shell button to pass commands to the shell.
* Moved the status button to be a part of tge set 'Set'
console and added initial implementation to the set
console (not functioning yet).
* The hangup button now asks for cofirmation.
* The exit button now asks if you want to hangup before
exiting.
* Corrected the '-g' switch problem (now '-script') and
enabled the execution of a script specified at the
command line.
* Added a FAQ and a CHANGELOG files.
* Updated the help file
* Fixed various minor problems.
Version 0.0:
Initial release