Initial import of the ircii-pana-1.1-final source tree.

git-svn-id: svn://svn.code.sf.net/p/bitchx/code/tags/ircii-pana-1.1-final@1 13b04d17-f746-0410-82c6-800466cd88b0
This commit is contained in:
Kevin Easton
2008-02-25 09:25:32 +00:00
commit 28febcfea9
1429 changed files with 250653 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
Synopsis:
window add <name>
Description:
This makes all messages from the specified name go to the current ircII
window. The name can be a nickname or a channel, and does not have to
exist prior to being added to the window list. A comma-delimited list
of names may be specified as well.
Examples:
To add channel #blah for joebob to the current window list:
/window add #blah,joebob
See Also:
window(4) remove

View File

@@ -0,0 +1,15 @@
Synopsis:
window back
Description:
This makes the most recent current window the current window again. If
that window happens to be hidden, it is swapped with the current window.
WINDOW BACK is similar in function to WINDOW LAST, but differs in that
it deals with the most recent current window; LAST deals with the
windows in numerical order. In other words, the previous window is not
necessarily the previous current window.
See Also:
window(4) goto, last, next, previous, refnum, swap

View File

@@ -0,0 +1,10 @@
Synopsis:
window balance
Description:
This resizes all visible ircII windows such that they are as close as
possible to being equal in size. Their order on screen is not changed.
See Also:
window(4) grow, shrink, size

View File

@@ -0,0 +1,12 @@
Synopsis:
window beep_always <on|off|toggle>
Description:
This setting determines whether the current window will beep (assuming
the main BEEP setting is turned on). If this setting is turned on, all
beeps will be passed, regardless of whether the beeping window is
visible.
See Also:
beep(4); set(4) beep

View File

@@ -0,0 +1,19 @@
Synopsis:
window bind <channel|chan1,chan2>
Description:
This binds the specified channel(s) to the client's current window. This
means that all channel traffic for the channel(s) will now be dumped to
this window. This is useful if you join a channel in one window, but
then wish to put it in another window. NOTE. This command is differant
than the ircII/epic commands in that we accept multiple comma separated
channels for binding to a window.
BIND does not require that the client already be on the channel to
be bound, and it will not join the channel if it is not already on it.
Use WINDOW CHANNEL to join the channel. Also note that leaving the
channel does not unbind it from the window; WINDOW UNBIND must be used.
See Also:
window(4) channel, unbind

View File

@@ -0,0 +1,12 @@
Synopsis:
window channel <channel>
Description:
This directs all messages associated with the specified channel to the
current window. If the client is not currently on the channel, it will
be joined. If it is, channel messages going to other windows will now
go to the current one (and removed from the others).
See Also:
bind(4) switch_channels; window(4) bind, unbind

View File

@@ -0,0 +1,34 @@
Synopsis:
window create
Description:
Depending on the environment the client is running in, this creates a
new physical window. The client must be running under the 'screen'
program, or in the X Window System environment.
'screen' is a popular Unix program used from the command line that
allows for multiple virtual screens in a text-based environment. With
WINDOW CREATE, the client will create a new screen with ircII-EPIC
running in it.
X is the dominant graphical user interface used on Unix systems. It
is generally available only on Unix workstations with high-resolution
monitors. With WINDOW CREATE, a new xterm is started with ircII-EPIC
running in it.
See Also:
window(4) delete, new
Restrictions:
Currently, when using this command in X, all xterms must be the same
size. The behavior of the client is undefined if an xterm is resized.
This command is only available if the WINDOW_CREATE #define (found in
window.c) was enabled at compile time. It is not enabled by default.
Bugs:
Use of this command is not recommended. It has never truly worked as
intended, and is rather unstable. For this reason, it is disabled by
default, and the method for enabling it at compile time has intentionally
been kept vague. Use WINDOW NEW instead.

View File

@@ -0,0 +1,16 @@
Synopsis:
window delete
Description:
This does the opposite of WINDOW CREATE, it destroys the current screen
or xterm, depending on the environment. The main window (the one ircII-
EPIC was started in) cannot be deleted.
Of course, if the client is not running under screen or X, this command
has no effect. Also, any channels in the window being deleted are not
left, though if the window is on a separate server, the connection is
severed.
See Also:
window(4) create, kill

View File

@@ -0,0 +1,8 @@
Synopsis:
window discon
Description:
This forces a window to never be bound to any server. When this is on,
no server event will trigger output to the window, only an xecho
specifying the window's refnum will output to it.

View File

@@ -0,0 +1,12 @@
Synopsis:
window double [on|off|toggle]
Description:
When turned on, this causes the current window to use a "doubled" status
bar. In other words, the status bar is two lines high instead of one,
allowing more information to be visible at once. Each window may have a
double status bar independently of the rest.
See Also:
set(4) status_format

View File

@@ -0,0 +1,10 @@
Synopsis:
window [refnum] echo [text]
Description:
This option basically only echos things to the window, like an /echo. The
only time you might ever want to use it is in large /window statements.
See Also:
echo(5); xecho(5)

View File

@@ -0,0 +1,15 @@
Synopsis:
window fixed [on|off]
Description:
This toggles the current window's fixed status on/off. When a window is
fixed, it can't be moved or resized by an operation on a separate window.
All movements and resizes must explicitly be done on this window.
Practical:
This is ideal for an Oper View type window, where it only sits and has
data outputted to it (and therefore shouldn't be moved/resized)
See Also:
window(4)

View File

@@ -0,0 +1,11 @@
Synopsis:
window font <font name>
Description:
When this command is issued BitchX attempts to load the font
specified and apply it to the current window or the window
specified.
See Also:
window_menu(4) window_setwindowpos(4)

View File

@@ -0,0 +1,10 @@
Synopsis:
window goto <number>
Description:
This switches the current window to window <number> from the top of the
screen.
See Also:
window(4) back, last, next, previous, refnum, swap

View File

@@ -0,0 +1,11 @@
Synopsis:
window grow <lines>
Description:
This makes the current window increase in size by the specified number
of lines. Any other visible windows are decreased in size accordingly
to accommodate the current window.
See Also:
window(4) balance, shrink, size

View File

@@ -0,0 +1,10 @@
Synopsis:
window hide
Description:
This "hides" the current window from view. It still exists and functions
normally, but it takes up no space on the screen.
See Also:
window(4) hide_others, show

View File

@@ -0,0 +1,11 @@
Synopsis:
window hide_others
Description:
This is similar to WINDOW HIDE, but it hides all windows except the
current one. Naturally, the current window is resized to completely
fill the screen
See Also:
window(4) hide, show

View File

@@ -0,0 +1,12 @@
Synopsis:
window hold_mode <on|off|toggle>
Description:
This sets the hold mode for the current window (see SET HOLD_MODE for a
description of hold mode). All new windows are created using the SET
HOLD_MODE value as a default. If multiple windows exist, then SET
HOLD_MODE only affects the current window.
See Also:
flush(2); set(4) hold_mode

View File

@@ -0,0 +1,12 @@
Synopsis:
window kill
Description:
This destroys the current ircII window (i.e. one created with WINDOW NEW).
Like WINDOW DELETE, it does not make the client leave any channels it was
on in the killed window, but it will disconnect from servers. The last
window left cannot be killed.
See Also:
window(4) create, delete, NEW

View File

@@ -0,0 +1,10 @@
Synopsis:
window kill_others
Description:
This works just like WINDOW KILL, except it kills off all visible windows
except the current one. Hidden windows are unaffected.
See Also:
window(4) kill

View File

@@ -0,0 +1,11 @@
Synopsis:
window killswap
Description:
This swaps the current window with the last one that was hidden, then
kills off the swapped window. As with WINDOW KILL, channels are not
left, but servers are.
See Also:
window(4) kill, swap

View File

@@ -0,0 +1,11 @@
Synopsis:
window last
Description:
This switches from the current window to the last current window, if
one exists.
See Also:
bind(4) swap_last_window; window(4) back, goto, next, previous, refnum,
swap

View File

@@ -0,0 +1,17 @@
Synopsis:
window lastlog [<lines>]
Description:
Sets the current window's lastlog level to <lines> number of lines.
Examples:
To only be able to scroll back 50 lines:
/window lastlog 50
See Also:
set(4) lastlog, lastlog_level; window(4) level
Other Notes:
This used to be the default behavior of set(4) lastlog until recently
when set(4) lastlog was made global.

View File

@@ -0,0 +1,20 @@
Synopsis:
window lastlog_level [<levels>]
Description:
This works similarly to WINDOW LEVEL, except the levels specified
determine what the client will save to its lastlog buffer for that
window. If no level is specified, the current setting for the window
is displayed.
The list of levels to use may be any of those allowed for WINDOW
LEVEL. A comma-delimited list may be used to specify more than one
level at once.
Examples:
To only remember private messages and notices for the current window:
/window lastlog_level msg,notice
See Also:
set(4) lastlog_level; window(4) level

View File

@@ -0,0 +1,27 @@
Synopsis:
window level [<levels>]
Description:
This sets what type of messages are displayed in the current window.
The actual levels to display may consist of a comma-delimited list
of valid levels (see SET LASTLOG_LEVEL for a complete description).
If no level is specified, the current is displayed.
For windows that only display certain types of information, the rest
is not actually discarded. Rather, it will go to a window that is
set to display such information, or lacking that, the current window.
To actually hide information from the screen, see the ON command.
Examples:
To make the current window display only public and misc. messages:
/window level public,crap
See Also:
set(4) lastlog_level; window(4) lastlog_level
Other Notes:
By default, all windows start out with a LEVEL of ALL. However, if the
PHONE #define was enabled (in config.h) at compile time, this default
is NONE. The string returned by evaluating $info(o) will contain a 'p'
if PHONE was enabled.

View File

@@ -0,0 +1,10 @@
Synopsis:
window list
Description:
This displays a table of all windows. For each window, it shows the
reference number, nickname used in that window, name of the window (if
any), channels being directed to that window (if any), the nickname of
the user being queried in that window (if any), what server it is on,
and the LEVEL.

View File

@@ -0,0 +1,15 @@
Synopsis:
window log <ON|OFF|TOGGLE>
Description:
This controls whether or not the messages sent to the current window
are written to an external logfile. By default, the logfile name is the
setting of SET LOGFILE (by default, "irc.log"), with the window's name
appended to it (or, in the absence of a name, the string "Window#").
Thus, if window 3 was called "foobar", the logfile would be called
"irc.log.foobar". If it didn't have a name, the file would be
"irc.log.Window3".
See Also:
set(4) log, logfile; window(4) logfile

View File

@@ -0,0 +1,10 @@
Synopsis:
window logfile <filename>
Description:
This sets the name of the logfile to use for the current window. When
WINDOW LOG is on, data is appended to this file.
See Also:
set(4) log, logfile; window(4) log

View File

@@ -0,0 +1,10 @@
Synopsis:
window menu <menu name>
Description:
Attaches the menu specified to the top of the current window
or the window specified.
See Also:
window_font(4) window_setwindowpos(4)

View File

@@ -0,0 +1,12 @@
Synopsis:
window move <number>
Description:
This moves the current window the specified number of positions down
the screen. If the specified number would move the window off the
screen, it is "wrapped" back to the top.
For example, assume there are 3 windows on the screen, and the current
one is the topmost window. Moving it by 1 would place it in the middle,
swapping position with the window that was in the middle.

View File

@@ -0,0 +1,10 @@
Synopsis:
window name <name>
Description:
This assigns the current window the specified name. The name may now be
used in place of the window's reference number in most cases.
See Also:
window(4) number

View File

@@ -0,0 +1,14 @@
Synopsis:
window new
Description:
This creates a new ircII window. This splits in half (vertically) either
current window, or the largest. This differs from WINDOW CREATE in that
the client need not be running in any special environment to utilize it.
By default, the new window will be created with the NOTIFY_LEVEL and
HOLD_MODE settings.
See Also:
set(4) always_split_biggest, hold_mode, notify_level; window(4) create,
delete, kill

View File

@@ -0,0 +1,15 @@
Synopsis:
window next
Description:
This sets the current window to the next numbered window. Windows are
numbers sequentially, so if the current window is 2, this command will
set window 3 as the current. If the window happens to be the last in
the list, the first becomes the current. If the next window is hidden,
it becomes the current window by swapping itself with the old current
window.
See Also:
bind(4) next_window, swap_next_window; window(4) back, goto, last, previous,
refnum, swap

View File

@@ -0,0 +1,11 @@
Synopsis:
window noserv [on|off]
Description:
When this is ON, the current window is flagged as not being bound to any
server, and therefore will not get any output from server events unless
specified with an /xecho -window or the such.
See Also:
window(4) echo; xecho(5)

View File

@@ -0,0 +1,15 @@
Synopsis:
window notify
Description:
This turns on notification for the current window. This means that,
should the current window ever be hidden, a message will be displayed
in the new current window indicating activity in hidden window.
The notification can be limited to certain types of messages; see
WINDOW NOTIFY_LEVEL. Contrary to the name, this command has nothing
to do with the NOTIFY command.
See Also:
window(4) notify_level

View File

@@ -0,0 +1,20 @@
Synopsis:
window notify_level [<levels>]
Description:
This works similarly to WINDOW LEVEL, except the levels specified
determine what types of messages the client will report activity in
that window for if WINDOW NOTIFY is on. If no level is specified,
the current level is displayed.
The list of levels to use may be any of those allowed for WINDOW
LEVEL. A comma-delimited list may be used to specify more than one
level at once.
Examples:
To only show activity for private messages and notices:
/window lastlog_level msg,notice
See Also:
set(4) lastlog_level; window(4) level, notify

View File

@@ -0,0 +1,11 @@
Synopsis:
window number <number>
Description:
This changes the current window's reference number to the specified
number. If another window already has that refnum, the windows swap
refnums.
See Also:
window(4) name

View File

@@ -0,0 +1,12 @@
Synopsis:
window pop
Description:
This pops the top window off the window stack and makes it the current
window. If that window is hidden, it is made visible. If it no longer
exists, the next window on the stack is tried until an existing one is
found. If the stack is empty, the current window is left unchanged.
See Also:
window(4) push, stack

View File

@@ -0,0 +1,15 @@
Synopsis:
window previous
Description:
This sets the current window to the previous numbered window. Windows
are numbered sequentially, so if the current window is 3, this command
will set window 2 as the current. If the window happens to be the
first in the list, the last becomes the current. If the previous
window is hidden, it becomes the current window by swapping itself
with the old current window.
See Also:
bind(4) previous_window, swap_previous_window; window(4) back, goto, last,
next, refnum, swap

View File

@@ -0,0 +1,12 @@
Synopsis:
window prompt <text>
Description:
This sets the current input prompt to the given text. It will replace
the $T expando as the window target when it is used in INPUT_PROMPT
variable. The window prompt is set automatically anytime the client
detects an EXECed process waiting for input.
See Also:
Special_Vars(7); set(4) input_prompt

View File

@@ -0,0 +1,10 @@
Synopsis:
window push [<refnum>]
Description:
This pushes the current (or specified) window onto the window stack.
The same window may be pushed onto the stack more than once.
See Also:
window(4) pop, stack

View File

@@ -0,0 +1,11 @@
Synopsis:
window query <nick>
Description:
This sets which nick the current window is in a query with. If <nick> is
not in a query, a query is started. If the window already owns a query,
that query will be closed in favor of <nick>.
See Also:
query(1)

View File

@@ -0,0 +1,14 @@
Synopsis:
window refnum <refnum>
Description:
This changes the current window to the specified window. If that window
is hidden, it will be swapped with the current window.
See Also:
window(4) back, goto, last, next, previous, swap
Other Notes:
This command does not work for hidden windows. Use window(4) swap
instead.

View File

@@ -0,0 +1,17 @@
Synopsis:
window remove <name>
Description:
This stops further messages from the specified name from being sent to
the current window. This only applies to names that have been
specifically ADDed to the window list. The name can be a nickname or
a channel, and multiple names may be specified at once by delimiting
then with commas.
Examples:
To remove channel #blah and joebob from the current window list:
/window add #blah,joebob
See Also:
window(4) add

View File

@@ -0,0 +1,24 @@
Synopsis:
window scratch <on|off>
Description:
When a window is defined as being a scratch window, it is accessed very
differently. Scratch windows do not scroll, and allow direct line-by-line
accessing. To allow this, a new flag has been added to xecho: -line.
Examples:
To create a scratch window, and add some text to it:
/window new scratch on fixed on discon
/* creates a non-movable, non-serverable scratch window */
/xecho -window <refnum> -line 1 This is in the scratch window.
See Also:
xecho(5)
Other Notes:
Scratch windows don't deal with being resized very gracefully. It is
suggested that you do /WINDOW NEW SCRATCH ON FIXED ON so that it can't be
resized on you. Scratch windows are best not bound to a server, always use
window(4) discon. Scratch windows have no scrollback, due to their
direct accessing.

View File

@@ -0,0 +1,22 @@
Synopsis:
window scroll on|off|toggle
Description:
This control the scroll mode of the current window. If it is off, the
window scrolls normally. If it is on, the window will pause after a
windowful of text has been displayed with no interaction from the
user; pressing the return key will resume scrolling (which may stop
again if the scroll buffer has more lines than can be displayed in the
window).
The scroll mode of new windows defaults to the current setting of
HOLD_MODE.
See Also:
set(4) hold_mode
Other Notes:
This command is fairly obsolete. The equivalent SET command performs
the same action. This command will still work, of course, but the
client will inform the user that it has been deprecated.

View File

@@ -0,0 +1,22 @@
Synopsis:
window server [-ssl] <server>[:[<port>][:[<password>][:[<nickname>]]]]
Description:
This command works in a similar manner as the SERVER command, except
the new server only applies to the current window. This provides a
convenient mechanism for being on multiple servers at once.
The server name is the only required argument. Any or all of the other
may be specified as desired, however a colon must separate each
argument, even if one is missing (see the examples below).
Examples:
To connect to server irc.foo.com on port 6665:
/window server irc.foo.com:6665
To connect to server irc.foo.com with the nickname JoeBob:
/window server irc.foo.com:::JoeBob
See Also:
server

View File

@@ -0,0 +1,22 @@
Synopsis:
window setwindowpos <options> <x pos> <y pos> <width> <height>
Description:
Sets the position/size/state of the current window or the window
specified. Possible options:
s = size
p = position
m = minimize
M = maximize
r = restore
a = activate
T = bring to top of Z order
B = bring to bottom of Z order
If you are not using the size option the width and height params
are ignored but must still be present. If you are not using the
postion option the x pos and y pos params are ignored but must
still be present.
See Also:
window_menu(4) window_font(4)

View File

@@ -0,0 +1,10 @@
Synopsis:
window show <refnum>
Description:
This makes the specified hidden window visible again. If the specified
window is already visible, the command has no effect.
See Also:
window(4) hide, hide_others

View File

@@ -0,0 +1,11 @@
Synopsis:
window shrink <lines>
Description:
This makes the current window decrease in size by the specified number
of lines. Any other visible windows are increased in size accordingly
to accommodate the current window.
See Also:
window(4) balance, grow, size

View File

@@ -0,0 +1,12 @@
Synopsis:
window size [<lines>]
Description:
This changes the current window's size to the specified number of lines.
All other visible windows are resized accordingly to accommodate the
current window's new size. Note that a size of 0 sets the window to
nothing but a status bar.
See Also:
window(4) balance, grow, shrink

View File

@@ -0,0 +1,12 @@
Synopsis:
window skip [on|off]
Description:
This determines wether the current window is skipped or not. A skipped
window is ignored in bind(4) next_window and bind(4) previous_window.
The only way to switch to a window with this status is with a window(4)
goto or window(4) refnum.
See Also:
window(4) goto, refnum, swap

View File

@@ -0,0 +1,10 @@
Synopsis:
window stack
Description:
This just displays the current window stack. Window descriptions are
added to the stack with WINDOW PUSH.
See Also:
window(4) pop, push

View File

@@ -0,0 +1,10 @@
Synopsis:
window status_special <text>
Description:
This changes the status bar %. expando. It could be used to set some
window-specific information.
See Also:
set(4) status_format

View File

@@ -0,0 +1,12 @@
Synopsis:
window swap <hidden refnum>
Description:
This swaps the current window with the specified hidden window. The
proportions of the current window are maintained. This command only
works with hidden windows.
See Also:
bind(4) swap_last_window, swap_next_window, swap_previous_window;
window(4) back, goto, next, previous, refnum

View File

@@ -0,0 +1,11 @@
Synopsis:
window unbind [<channel>]
Description:
This unbinds a channel from the current window, assuming it had been
previously bound to it. If a channel is not specified, then the
channel(s) currently bound to the window (if any) are unbound.
See Also:
window(4) bind, channel

View File

@@ -0,0 +1,33 @@
Synopsis:
window [<refnum>] [<command> [<arguments> ...]]
Description:
The WINDOW command allows the client to display multiple "windows" of
irc activity at once. Some common uses for this include using
separate windows for different channels, or for connecting to several
servers at the same time.
There are two different types of windows. The first, and the more
widely used of the two, are ircII windows. These work by splitting
the screen vertically, such that there are multiple panes stacked on
top of one another. Each window has its own status bar, which is
what separates them.
The second variety is less common, and depends largely on the
environment in which the client is launched. The client is able to
interface with the X Window System, and with the terminal SCREEN
program. Under X, the client can spawn a new xterm with a client
running in it. Under SCREEN, a new screen is created with similar
properties.
In practice, the first type are the only windows used. Most of the
various WINDOW commands deal with them. They are also considerably
more stable than the second type.
Other Notes:
On some systems, support for the second type of window (X/SCREEN) is
not even compiled into the client. It's use is discouraged except
for debugging purposes, as it may well crash the client, or worse.
It is not expected to be supported in future versions. If <refnum>
is given, all <commands> will be executed on that window.