?¡ëPNG
IHDR ? f ??C1 sRGB ??¨¦ gAMA ¡À?¨¹a pHYs ? ??o¡§d GIDATx^¨ª¨¹L¡±¡Âe¡ÂY?a?("Bh?_¨°???¡é¡ì?q5k?*:t0A-o??£¤]VkJ¡éM??f?¡À8\k2¨ªll¡ê1]q?¨´???T
Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in /home/user1137782/www/china1.by/classwithtostring.php on line 86
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 213
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 214
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 215
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 216
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 217
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 218
PK C’[«OJÏ/ / README.DOTSCREENnu W+A„¶ From bargi@dots.physics.orst.edu Thu Aug 31 23:42 MET 1995
Received: from faui45.informatik.uni-erlangen.de (root@faui45.informatik.uni-erlangen.de [131.188.34.45]) by immd4.informatik.uni-erlangen.de with ESMTP
id XAA14775 (8.6.12/7.4f-FAU);; Thu, 31 Aug 1995 23:42:15 +0200
Received: from dots.physics.orst.edu (bargi@dots.PHYSICS.ORST.EDU [128.193.96.106]) by uni-erlangen.de with ESMTP
id XAA03048 (8.6.12/7.4f-FAU); for ; Thu, 31 Aug 1995 23:42:03 +0200
Received: (from bargi@localhost) by dots.physics.orst.edu (8.6.11/8.6.9) id OAA15627; Thu, 31 Aug 1995 14:41:47 -0700
From: Hadi Bargi Rangin
Message-Id: <199508312141.OAA15627@dots.physics.orst.edu>
Subject: README.DOTSCREEN
To: screen@uni-erlangen.de
Date: Thu, 31 Aug 1995 14:41:47 -0700 (PDT)
Cc: bargi@dots.physics.orst.edu (Hadi Bargi Rangin)
X-Mailer: ELM [version 2.4 PL24]
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=US-ASCII
Content-Length: 5423
Status: RO
Hallo,
leider war readme file fuer dotscreen nicht in unserem dotscreen-Packet,
deshalb schicke ich es Euch nachtraeglich. Nachdem Ihr unseren packet
getestet habt, koennen wir Euch anrufen und vielleicht mehr ueber die
Einzelnheiten sprechen, ob wir unsere Weiterentwicklung koordinieren
wollen.
Danke,
Gruss,
Hadi
===============================================================================
Quick introduction to dotscreen
-------------------------------
1. Introduction
2. Is dotscreen different as screen?
3. Installation instructions
4. Functions description
5. Further development
1. Introduction
===============
Dotscreen, is a system which allow a person direct access to unix via
a braille display. The emphasis is on direct, because the braille
display is connected directly to the serial port on the unix
machine. You no longer must use a dos machine running a terminal
emulation logged into a unix machine. Dotscreen is built on top of
screen, a powerful full-screen window manager for unix tty terminals.
Screen keeps track of what is being displayed in each window that it
is managing so that it can easily switch back and forth between these
windows. Dotscreen makes this stored window information available via
a braille display. Dotscreen only allows access to tty terminal
sessions, it does not allow access to X-Windows, however, it will run
in an xterm window. Currently, it works with the TSI Navigator 40 and
the TSI PowerBraille 40 braille displays. We plan to support other
displays as demand and information about other displays is made
available to us
2. Is dotscreen different than screen?
======================================
All of screens functions still work in dotscreen. A few of the
functions are not accessible via braille, but we expect to remedy that
in future releases.
3. Installation instructions
============================
Please read the INSTALL file for full installation instructions.
In addition to those instructions, note that you must create
a .screenrc file and that file must contain the type of braille
display that you are using and the serial device that the display
is connected to. A minimal .screenrc file should contain something
like the following four lines, (these are only examples, please
customize them for your configuration)
# example of .screenrc when using braille display
bd_start_braille on
bd_type powerbraille_40
bd_port /dev/ttyS0
bd_braille_table /home/gardner/us-braille.tbl
# end of example
4. Functions description
========================
The basic operation of screen is described in README. The braille
navigation commands are similar to commands usually found on dos
braille screenreaders. Also, because dotscreen is built on top of
screen, the user can switch back and forth easily between many running
applications. The braille commands can be changed any time after
starting screen using the internal screen "C-a :" command line. All
braille commands begin with "bd_"; following is the list of braille
commands:
bd_start_braille on/off # Starts/stops using braille features on screen
bd_link on/off # links/unlinks braille cursor to/from screen cursor
bd_bell on/off # turn on/off sending bell-signal to terminal
bd_scroll on/off # enables/disables scrolling
bd_skip on/off # skip/don't skip balnk lines
bd_width # number of braille cells that user want to use,
# this value is always <= total number of cells
bd_ncrc # number of cells displayed on the right side
# of physical cursor (default = 1)
bd_info # displays braille/screen cursor position
# depending on its value, (no info: 0, only
# bc-info: 1, only sc-info: 2, bc- and sc-info: 3
bd_port # serial port which braille display is connected to
bd_braille_table # braille table to be used. German, US and GS
# braille tables are provided
bd_type
# braille display type being used
Note: currently valid value for some parameters:
bd_type:
1. navigator_40
2. powerbraille_40.
bd_braille_table:
1. gr-braille.tbl German braille code
2. us-braille.tbl US computer braille code
3. gs-braille.tbl GS braille code
Since the braille tables are in files, you should give the full
pathnames of the files either in .screenrc or using the
internal screen "C-a :" command line.
5. Further development
======================
As mentioned above, currently Dotscreen works with Telesensory braille
displays the PowerBraille and the Navigator because Telesensory has
given us the information needed to program their braille display. We
plan to add support for other braille displays when and if we get the
requisite information from the braille display manufacturer.
Also some things such as cursor navigation from the braille display
have not been implemented. If you find a feature missing that
you wish to have, please contact us.
This software has been developed within the Science Access Project at
Oregon State University under the direction of John Gardner.
Authors: Hadi Bargi Rangin (bargi@dots.physics.orst.edu)
Bill Barry (barryb@dots.physics.orst.edu)
PK C’[€Ò´Jm
m
READMEnu W+A„¶
[If you just got the screen package, it pays to read the file INSTALL]
[This intro only describes the most common features to get you started]
[A full description of all features is contained in the source package]
Short introduction to screen (Version 3.6.0) lvirden 8-8-93
Send bugreports, fixes, enhancements, t-shirts, money, beer & pizza to
screen@uni-erlangen.de
Screen provides you with an ANSI/vt100 terminal emulator, which can multiplex
up to 10 pseudo-terminals. On startup, it executes $SHELL in window 0.
Then it reads $HOME/.screenrc to learn configuration, keybindings, and
possibly open more windows.
C-a ? (help) Show all keybindings.
C-a c (screen) Create new windows.
C-a SPACE (next) Advance to next window (with wraparound).
C-a C-a (other) Toggle between the current and previously
displayed windows.
C-a 0 (select n) Switch to window n=0 ... 9.
...
C-a 9
C-a w (windows) Show a list of window names in the status line.
C-a a (meta) Send a literal C-a/C-s/C-q to the
C-a s (xoff) process in the window.
C-a q (xon) For instance, emacs uses C-a and C-s.
C-a l (redisplay) Redraw this window.
C-a W (width) Toggle between 80 & 132 columns mode.
C-a L (login) Try to toggle the window's utmp-slot.
C-a z (suspend) Suspend the whole screen session.
C-a x (lockscreen) Execute /usr/bin/lock, $LOCKCMD or a
built-in terminal lock.
C-a H (log) Log stdout of window n to screenlog.n.
C-a C-[ (copy) Start copy mode. Move cursor with h,j,k,l.
Set 2 marks with SPACE or y. Abort with ESC.
(C-[ is ESC.) Preceeding second mark with
an a appends the text to the copy buffer.
C-a C-] (paste) Output copy buffer to current window's stdin.
C-a < (readbuf) Read the copy buffer from /tmp/screen-exchange.
C-a > (writebuf) Write the copy buffer to /tmp/screen-exchange.
C-a d (detach) Detach screen. All processes continue and may
spool output to their pty's, but screen
disconnects from your terminal.
C-a D D (pow_detach) Power detach. Disconnect like C-a d but also
kill the parent shell.
C-a K (kill) Kill a window and send SIGHUP to its process
group. Per default this would be C-a C-k,
but it is redefined in the demo .screenrc
(think of killing a whole line in emacs).
C-a : (colon) Online configuration change.
See the man page or TeXinfo manual for many more keybindings and commands.
screen -r [pid.tty.host|tty.host]
Reattach to a specific detached session. The terminal emulator
reconfigures according to your $TERMCAP or $TERM settings.
When you have multiple screens detached, you must supply the session
name.
screen -R reattaches to a detached session or (if none) creates a new
session.
screen -d [pid.tty.host|tty.host]
Detach a screen session remotely. Has the same effect as typing 'C-a d'
on the controlling terminal. 'screen -D' will power-detach.
screen -list
screen -ls
screen -wipe
Show all available sessions and their status. Use -wipe to remove
DEAD sessions.
If sockets are missing, you may send a SIGCHLD to its 'SCREEN'
process and the process will re-establish the socket (think of
someone cleaning /tmp thoroughly).
screen -h 200
Starts a new screen session and sets the number of lines in the scrollback
buffer to 200. The default is 100 lines.
PK C’[rwD#“ “ NEWSnu W+A„¶ ------------------------------
What's new in screen-4.0.0 ?
------------------------------
* new screenrc parser, not 100% compatible.
* screenblanker support: new 'idle', 'blanker', 'blankerprg'
commands.
* zmodem support via the 'zmodem' command.
* nonblock code rewritten, nonblock now understands a timeout.
new command 'defnonblock'.
PK C’[–~*@7 7 FAQnu W+A„¶ jw 21.10.93
05.05.94
screen: frequently asked questions -- known problems -- unimplemented bugs
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Q: Why is it impossible to download a file with Kermit/sz/rz when
screen is running? Do I need to set some special variables?
A: Screen always interprets control-sequences sent by the
applications and translates/optimizes them for the current
terminal type. Screen always parses the user input for its
escape character (CTRL-A). Both are basic screen features and
cannot be switched off. Even if it were possible to switch
screen into a completely transparent mode, you could never switch
between windows, while kermit/sz/rz is downloading a file. You
must wait til the end as kermit/sz/rz will not transmit your
input during a file transfer and as kermit/sz/rz would be very
confused if screen switched away the window containing the
other kermit/sz/rz. Simply detach your screen session for each
file transfer and start the transfer program only from the shell
where you started screen.
Q: I am using screen with a YYY terminal, which supports the XXX
graphic language. I am very happy with it, except one thing: I
cannot render graphics into screen windows.
A: You are out of luck there. Screen provides a fixed set of escape
sequences in order to make it possible to switch terminal types.
Screen has to know exactly what the escape sequences do to the
terminal because it must hold an image in memory. Otherwise
screen could not restore the image if you switch to another
window. Because of this you have to change screens escape
sequence parser (ansi.c) to pass the XXX graphics sequences to
the terminal. Of course the graphics will be lost if you switch
to another window. Screen will only honour graphics sequences
that are demanded by an overwhelming majority.
Q: For some unknown reason, the fifo in /tmp/screens/S-myname is
gone, and i can't resume my screen session. Is there a way to
recreate the fifo?
A: Screen checks the fifo/socket whenever it receives a SIGCHLD
signal. If missing, the fifo/socket is recreated then. If screen
is running non set-uid the user can issue a 'kill -CHLD
screenpid' directly (it is -CHILD on some systems). Screenpid is
the process-id of the screen process found in a 'ps -x' listing.
But usually this won't work, as screen should be installed set-
uid root. In this case you will not be able to send it a signal,
but the kernel will. It does so, whenever a child of screen
changes its state. Find the process-id (shellpid below) of the
"least important" shell running inside screen. The try 'kill
-STOP shellpid'. If the fifo/socket does not reappear, destroy
the shell process. You sacrify one shell to save the rest. If
nothing works, please do not forget to remove all processes
running in the lost screen session.
Q: When you start "screen" a page of text comes up to start you
off. Is there a way to get rid of this text as a command line
argument or by using a switch of some sort.
A: Just put the following line in your ~/.screenrc:
startup_message off
Many peole ask this, although it is in the man page, too :-)
Q: Start "screen emacs" and run emacs function suspend-emacs
(ctrl-z). The window containing emacs vanishes.
A: This is a known bug. Unfortunatly there is no easy fix
because this is specified in the POSIX standard. When a new
window is created Screen opens up a new session because the
window has to get the pty as a controlling terminal (a
session can only have one controlling terminal). With the
setsid() call the process also creates a new process
group. This process group is orphaned, because there is no
process in the session which is not in the process
group. Now if the process group leader (i.e. your program)
gets a TTIN/TTOU/TSTP, POSIX states that the kernel must
send a KILL signal to the process group because there is no
one left to continue the process. Even if screen would
try to restart the program, that would be after it received the
KILL signal which cannot be caught or ignored.
tromey@klab.caltech.edu (Tom Tromey): I've noticed this exact
same problem. I put this in my .emacs file. It seems to work:
;; If running under screen, disable C-z.
(if (and (getenv "STY") (not window-system))
(global-unset-key "\C-z"))
Q: Screen gets the terminal size wrong and messes up.
A: Before you start screen: Check with 'stty -a' what the terminal
driver thinks about rows and columns. Check the environment
variables LINES and COLUMNS. Then from within screen check with
the info command (CTRL-A i) what size screen thinks your terminal
is. If correcting tty driver setting and environment variables
does not help, look up the terminal capability definition. First
the TERMCAP environment variable. If this is not set, look up the
terminals name as defined in the environment variable TERM in
/etc/termcap or in the terminfo database with untic or infocmp.
There may be :li=...: and :co=...: or even :ll=...: entries
(cols#... and lines#... when it's terminfo) defined incorrectly.
Either construct your own TERMCAP environment variables with
correct settings, use screens terminfo/termcap command in your
.screenrc file or have the database corrected by the system
administrator.
Q: Screen messes up the terminal output when I use my favourite ap-
plication. Setting the terminal size does not help.
A: Probably you got the termcap/terminfo entries wrong. Fixing this
is a three stage procedure. First, find out if terminfo or
termcap is used. If your system only has /etc/termcap,
but not /usr/lib/terminfo/... then you are using termcap.
Easy. But if your system has both, then it depends how the appli-
cation and how screen were linked. Beware, if your applica-
tion runs on another host via rlogin, telnet or the like, you
should check the terminfo/termcap databases there. If you cannot
tell if terminfo or termcap is used (or you just want to be
save), the do all steps in stage 3 in parallel for both
systems (on all envolved hosts). Second: Understand the basic
rules how screen does its terminal emulation. When screen is
started or reattached, it relies on the TERM environment variable
to correctly reflect the terminal type you have physically
in front of you. And the entry should either exist in the system
terminfo/termcap database or be specified via the TERMCAP en-
vironment variable (if screen is using the termcap system). On
the other end, screen understands one set of control codes. It
relies on the application using these codes. This means applica-
tions that run under screen must be able to adapt their con-
trol codes to screen. The application should use the TERM vari-
able and termcap or terminfo library to find out how to drive
its terminal. When running under screen, the terminal is virtual
and is only defined by the set of control codes that screen
understands. The TERM variable is automatically set to
"screen" and the "screen"-entries should exist in the data-
bases. If your application uses hardcoded control codes rather
than a database, you are on your own. Hint: The codes under-
stood by screen are a superset of the very common definition
named "vt100". Look at the documentation of screen. The
codes are listed there. Third: Have the entry "screen" in-
stalled on all hosts or make sure you can live with "vt100".
Check the codes sent by your application, when the TERM variable
is set to "screen". Do not try to set the TERM variable inside
screen to anything other than "screen" or "vt100" or compati-
ble. Thus your application can drive screen correctly. Also take
care that a good entry is installed for your physical terminal
that screen has to drive. Even if the entry was good enough
for your application to drive the terminal directly, screen may
find flaws, as it tries to use other capabilities while op-
timizing the screen output. The screenrc commands
"termcap" and/or "terminfo" may help to fine-tune capabilities
without calling the supervisor to change the database.
Q: I cannot configure screen. Sed does not work.
A: The regular expressions used in our configure scrip are too
complicated for GNU sed version 2.03. In this regard it is bug
compatible with Ultrix 3.1 "sed": GNU sed version 2.03 dumps
core with our configure script. Try an older release. E.g. from
ftp.uni-erlangen.de:/pub/utilities/screen/sed-2.02b.tar.gz
Q: When reattaching a session from a different Workstation, the
DISPLAY environment variable should be updated. Even ``CTLR-A
: setenv DISPLAY newhost:0'' does not work as expected.
A: Under unix every process has its own environment. The environ-
ment of the SCREEN process can be changed with the `setenv' com-
mand. This however cannot affect the environment of the
shells or applications already running under screen. Subsequently
spawned processes will reflect the changes. One should be aware
of this problem when running applications from very old shells.
Screen is a means for keeping processes alive.
Q: About once every 5 times I ran the program, rather than getting
a "screen," I got someone elses IRC output/input.
A: What probably happened is that an IRC process was left running on
a pseudo tty in such a way that the kernel thought the tty was
available for reallocation. You can fix this behaviour by
applying the SunOS 4.1.x tty jumbo patch (100513-04).
Q: Screen compiled on SunOS 5.3 cannot reattach a detached session.
A: You are using /usr/ucb/cc, this compiler is wrong. Actually it
links with a C-library that mis-interprets dirent. Try again
with /opt/SUNWspro/bin/cc!
Q: The "talk" command does not work when Screen is active.
A: Talk and several other programs rely on entries in the Utmp-
Database (/etc/utmp). On some systems this Database is world
writable, on others it is not. If it is not, screen must be
installed with the appropriate permissions (user or group s-bit)
just like any program that uses PTYs (rlogin, xterm, ...). When
screen cannot write to utmp, you will see messages on you display
which do not belong to any screen window.
When screen can update utmp, it is not guaranteed that it does as
you expect. First this depends on the config.h file defining
UTMPOK, LOGINDEFAULT, and perhaps CAREFULUTMP. Second it depends
on the screenrc files (system wide and per user), if utmp entries
are done. Third, you can control whether windows are logged in
with screens ``login'' command.
Q: Seteuid() does not work as expected in AIX. Attempting a multi-
user-attach results in a screen-panic: "seteuid: not owner".
A: This is not a screen problem. According to Kay Nettle
(pkn@cs.utexas.edu) you need the AIX patch PTF 423674.
Q: When I type cd directory (any directory or just blank) from
within one of the windows in screen, the whole thing just freezes
up.
A: You display the current working directory in xterm's title bar,
This may be caused by hardcoded ESC-sequences in the shell prompt
or in an cd alias. In Xterm the coding is
ESC ] n ; string_to_display ^G
where n = 1, 2, 3 selects the location of the displayed string.
Screen misinterprets this as the ansi operating system comment
sequence:
ESC ] osc_string
and waits (according to ansi) for the string terminator
ESC \
Screen versions after 3.5.12 may provide a workaround.
Q: Mesg or biff cannot be turned on or off while running screen.
A: Screen failed to change the owner of the pty it uses. You need to
install screen setuid-root. See the file INSTALL for details.
Q: The cursor left key deletes the characters instead of just moving the
cursor. A redisplay (^Al) brings everything back.
A: Your terminal emulator treats the backspace as "destructive". You
can probably change this somewhere in the setup. We can't think
of a reason why anybody would want a destructive backspace, but
if you really must have it, add the lines
termcap 'bc@:bs@'
terminfo 'bc@:bs@'
to your ~/.screenrc (replace with the terminal type your
emulator uses).
Q: I have an old SysV OS (like Motorola SysV68) and sometimes screen
doesn't reset the attributes correctly. A redisplay (^Al) doesn't
make things better.
A: The libcurses library has a bug if attributes are cleared with
the special ue/se capabilities. As a workaround (other than upgrading
your system) modify 'rmul' (and 'rmso'?) in screen's terminfo entry:
rmul=\E[m, rmso=\E[m
PK C’[}m@1TF TF COPYINGnu W+A„¶ GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
Copyright (C) 19yy
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
PK C’[«OJÏ/ / README.DOTSCREENnu W+A„¶ PK C’[€Ò´Jm
m
o READMEnu W+A„¶ PK C’[rwD#“ “ ' NEWSnu W+A„¶ PK C’[–~*@7 7 Ù( FAQnu W+A„¶ PK C’[}m@1TF TF
` COPYINGnu W+A„¶ PK d ˜¦