EPIC Enhanced Programmable IRC-II Client

window create

Synopsis

/window create

Description

Create an additional physical screen in a new terminal and place a new EPIC window in it. Under GNU Screen or tmux this normally opens another multiplexer window. Under X, it can launch an xterm-compatible terminal. The new screen belongs to the same EPIC client process and can have its own terminal geometry.

The built-in operation takes no arguments or options. Further words are processed as window operations on the newly created window after success. /window -create is a no-op. Creating the screen does not itself send an IRC request.

Requirements and terminal choice

EPIC must be running in the foreground, and wserv_path must name an installed, compatible wserv helper. The terminal launcher and helper must be executable. The helper connects back to the client over two IPv4 loopback connections, so local networking must permit them. X terminal creation also requires access to the X server named by DISPLAY.

The implementation chooses the launcher from the environment:

Thus wserv_type chooses between an available multiplexer and X when both environments are present; it does not generally force an arbitrary launcher. Its default is screen.

GNU Screen options come from screen_options. The tmux launcher uses tmux_options followed by new-window. For X, the executable is chosen from the XTERM environment variable, then set xterm, then xterm; additional arguments come from xterm_options.

Output and failures

EPIC reports Opening new screen..., Opening new tmux..., or Opening new window..., followed by the local listening port. The launcher starts wserv, and EPIC waits for its data and control connections before creating the new window. A failed launch or connection can make the operation wait for a roughly ten-second connection timeout.

Missing helper configuration reports You need to /SET WSERV_PATH before using /WINDOW CREATE. An unsupported environment reports I don't know how to create new windows for this terminal. Socket, launch, timeout, or helper incompatibility errors can produce further diagnostics, and a failed operation reports Cannot create new screen!.

The current implementation is not guarded by the former WINDOW_CREATE configuration define. Successful operation still depends on the helper, process-launch facilities, environment, and terminal capabilities described above.

Example

/window create

Use window delete to close an additional screen while preserving its EPIC windows as invisible windows. window delete_kill also kills the selected window.

Source references