GNU.WIKI: The GNU/Linux Knowledge Base

  [HOME] [PHP Manual] [HowTo] [ABS] [MAN1] [MAN2] [MAN3] [MAN4] [MAN5] [MAN6] [MAN7] [MAN8] [MAN9]

  [0-9] [Aa] [Bb] [Cc] [Dd] [Ee] [Ff] [Gg] [Hh] [Ii] [Jj] [Kk] [Ll] [Mm] [Nn] [Oo] [Pp] [Qq] [Rr] [Ss] [Tt] [Uu] [Vv] [Ww] [Xx] [Yy] [Zz]


NAME

       wily, win, awd - interactive text windows

SYNOPSIS

       wily [ -f varfont ] [ -F fixfont ] [ -c ncol ]

       win [ command ]

       awd [ label ]

NOTE

       This  manual  page  is  out  of date.  The original documentation is in
       /usr/share/doc/wily

DESCRIPTION

       Wily manages windows of text that may be  edited  interactively  or  by
       external   programs.    The  interactive  interface  uses  a  different
       interface.

       Any named files are read into wily windows before wily  accepts  input.
       Plain files display as text; directories display as columnated lists of
       the names of their components, as in ls -p directory|mc except that the
       names of subdirectories have a slash appended.

       The  -f (-F) option sets the default variable-pitch (fixed-pitch) font;
       the       default        is        /lib/font/bit/lucidasans/euro.8.font
       (.../lucm/unicode.9.font).   Tab intervals are set to the width of 4(8)
       numeral zeros in the variable-pitch font.

   Windows
       Wily windows are in two parts: a short tag  above  a  multi-line  body.
       The  body  typically  contains an image of a file, as in sam(1), or the
       of  blank-separated  words,  followed  by  a  vertical  bar  character,
       followed by anything.  The first  word  is  the  name  of  the  window,
       typically  the  name of the associated file or directory, and the other
       words are commands available in that window.  Any  text  may  be  added
       after  the  bar;  examples  are  strings  to  search for or commands to
       execute in that window.

       If a window holds a directory, the name (first word of  the  tag)  will
       end with a slash.

   Scrolling
       Each  window  has a scroll bar to the left of the body.  The scroll bar
       the  button  is pressed, rather than released, and continues as long as
       the mouse button is held down in  the  scroll  bar.   For  example,  to
       scroll  slowly  through  a file, hold button 3 down near the top of the
       scroll bar.  Moving the mouse down the scroll bar speeds up the rate of
       scrolling.

   Layout
       Wily  windows  are  arranged  in  columns.   By default, it creates two
       columns when starting; this can  be  overridden  with  the  -c  option.
       Placement  is automatic but may be adjusted using the layout box in the
       upper left corner of each window and column.  Pressing and holding  any
       mouse  button  in  the  box drags the associated window or column.  For
       windows, just clicking in the layout box grows  the  window  in  place:
       button  1 grows it a little, button 2 grows it as much as it can, still
       leaving all other tags in that column visible, and button 3 takes  over
       the  column completely, temporarily hiding other windows in the column.
       (They will return en masse if any of them needs attention.)  The layout
       box  in  a window is normally white; when it is black in the center, it
       records that the file is `dirty': Wily believes it is modified from its
       original contents.

       Tags  exist  at  the  top  of each column and across the whole display.
       Wily pre-loads them with useful commands.  Also, the tag across the top
       maintains a list of executing long-running commands.

   Typing
       characters are delivered to the tag or body under the mouse;  there  is
       no  `click  to  type'.  The usual backspacing conventions apply.  As in
       mouse action, a feature particularly useful when executing commands.  A
       side effect is that typing ESC with text already selected is  identical
       to a Cut command (q.v.).

       All text, including the names of windows, may be edited uniformly.

   Directory context
       Each  window's  tag names a directory: explicitly if the window holds a
       directory; implicitly if it holds a regular file  (e.g.  the  directory
       /adm  if  the  window  holds  /adm/users).   This  directory provides a
       context for interpreting file names in that window.  For  example,  the
       string users in a window labeled /adm/ or /adm/keys will be interpreted
       as  the  file  name  /adm/users.   The  directory  is  defined   purely
       textually,  so  it  can be a non-existent directory or a real directory
       associated with a  non-existent  file  (e.g.   /adm/not-a-file).   File
       names beginning with a slash are assumed to be absolute file names.

   Errors
       Windows  whose  names begin with - or + conventionally hold diagnostics
       and other data not directly associated with files.   A  window  labeled
       +Errors  receives all diagnostics produced by wily itself.  Diagnostics
       from commands run by wily appear in a  window  named  directory/+Errors
       where  directory  is  identified  by the context of the command.  These
       error windows are created when needed.

   Mouse button 1
       usual double-clicking conventions.

   Mouse button 2
       By  an  action  similar  to  selecting  text  with  button  1, button 2
       indicates text to execute as a command.   If  the  indicated  text  has
       multiple white-space-separated words, the first is the command name and
       the  second  and  subsequent  are  its  arguments.   If  button  2   is
       `clicked'—indicates  a  null  string—wily expands the indicated text to
       find a command to run: if the click is within  button-1-selected  text,
       wily  takes  that  selection  as  the  command;  otherwise it takes the
       largest string of valid file  name  characters  containing  the  click.
       Valid  file  name  characters  are  alphanumerics and _ .  - + /.  This
       behavior is similar to double-clicking with button  1  but,  because  a
       null command is meaningless, only a single click is required.

       Some  commands,  all  by convention starting with a capital letter, are
       built-ins that are executed directly by wily:

       Cut    Delete most recently selected text and place in snarf buffer.

       Del    Delete window.  If window is dirty, saves a backup of the file.

       Delcol Delete column and all its windows, after checking  that  windows
              are not dirty.

       Quit   Exit wily after checking that windows are not dirty.

       Font   With  no  arguments, change the font of the associated window or
              column from fixed-spaced to proportional-spaced or  vice  versa.
              Given a font name argument, change the font of the window to the
              named font.  Other existing windows are unaffected.

       Get    Load  file  into  window,  replacing  previous  contents  (after
              checking  for  dirtiness  as in Del).  With no argument, use the
              existing file name of the window.  Given an argument,  use  that
              file but do not change the window's file name.

       Kill   Send a kill note to wily-initiated commands named as arguments.

       Look   Search  in  body for occurrence of literal text indicated by the
              argument or, if none is given, by the selected text in the body.

       New    Make new window.  With arguments,  load  the  named  files  into
              windows.

       Newcol Make new column.

       Paste  Replace  most  recently  selected  text  with  contents of snarf
              buffer.

       Put    Write window to the named file.  With no argument, write to  the
              file named in the tag of the window.

       Putall Write  all  dirty  windows whose names indicate existing regular
              files.

       Redo   Complement of Undo.

       Send   Append selected text or snarf buffer to end of body; used mainly
              with win.

       Snarf  Place selected text in snarf buffer.

       Sort   Arrange  the  windows  in  the  column  from  top  to  bottom in
              lexicographical order based on their names.

       Split  Create a copy of the window containing  most  recently  selected
              text.

       Undo   Undo last textual change or set of changes.

       A  common  place to store text for commands is in the tag; in fact wily
       maintains a set of commands appropriate to the state of the  window  to
       the left of the bar in the tag.

       If the text indicated with button 2 is not a recognized built-in, it is
       executed as a shell command.  For example, indicating date with  button
       2 runs date(1).  The standard and error outputs of commands are sent to
       the error window associated with the directory from which  the  command
       was  run, which will be created if necessary.  For example, in a window
       /adm/users executing pwd will produce the output /adm  in  a  (possibly
       newly-created)  window  labeled  /adm/+Errors;  in  a window containing
       /sys/src/cmd/sam/sam.c   executing   make   will   run    make(1)    in
       /sys/src/cmd/sam,    producing    output    in    a    window   labeled
       /sys/src/cmd/sam/+Errors.

   Mouse button 3
       Pointing at text with button 3 instructs wily to locate or acquire  the
       file,  string,  etc.  described  by the indicated text and its context.
       This description follows the actions taken when button  3  is  released
       after  sweeping  out some text.  In the description, text refers to the
       text of the original sweep or, if it was null, the result  of  applying
       similar expansion rules that apply to button 2 actions.

       If  the  text  names an existing window, wily moves the mouse cursor to
       the selected text in the body of that window.  If  the  text  names  an
       existing file with no associated window, wily loads the file into a new
       window and moves the mouse there.

       If the text begins with a colon, it is taken to be an address,  in  the
       style  of  sam(1),  within  the body of the window containing the text.
       The address is evaluated, the resulting text highlighted, and the mouse
       moved  to  it.   Thus, in wily, one must type :/regexp or :127 not just
       /regexp or 127.  (There is an easier way to locate  literal  text;  see
       below.)

       If  the  text  is  a file name followed by a colon and an address, wily
       loads the file and evaluates the address.  For example, clicking button
       3  anywhere in the text file.c:27 will open file.c, select line 27, and
       put the mouse at the beginning of the  line.   The  rules  about  Error
       files, directories, and so on all combine to make this an efficient way
       to investigate errors from compilers, etc.

       If the text is not an address or file, it is taken to be literal  text,
       which  is then searched for in the body of the window in which button 3
       was clicked.  If a match is found, it is  selected  and  the  mouse  is
       moved there.  Thus, to search for occurrences of a word in a file, just
       click button 3 on the word.  Because of the rule of using the selection
       as  the  button  3  action,  subsequent  clicks  will  find  subsequent
       occurrences without moving the mouse.

       In all these actions, the mouse motion is not done if  the  text  is  a
       null  string within a non-null selected string in the tag, so that (for
       example) complex  regular  expressions  may  be  selected  and  applied
       repeatedly to the body by just clicking button 3 over them.

   Chords of mouse buttons
       Several   operations  are  bound  to  multiple-button  actions.   After
       selecting text, with button 1 still down, pressing  button  2  executes
       Cut  and button 3 executes Paste.  After clicking one button, the other
       undoes the first; thus (while holding down button 1) 2 followed by 3 is
       a  Snarf  that  leaves  the file undirtied; 3 followed by 2 is a no-op.
       These actions also apply to text selected  by  double-clicking  because
       the  double-click  expansion  is made when the second click starts, not
       when it ends.

       Commands may be given extra arguments by a mouse chord with  buttons  2
       and  1.   While  holding  down  button  2  on  text to be executed as a
       command, clicking button 1 appends the text last pointed to by button 1
       as  a distinct final argument.  For example, to search for literal text
       one may execute Look text with button 2 or instead point at  text  with
       button  1  in any window, release button 1, then execute Look, clicking
       button 1 while 2 is held down.

       When an external command (e.g.  echo(1))  is  executed  this  way,  the
       extra  argument  is  passed  as  expected  and  an environment variable
       $wilyaddr is created that holds, in the form interpreted by  button  3,
       the fully-qualified address of the extra argument.

   Support programs
       Win  creates  a  new wily window and runs a command (default $SHELL) in
       Executing text in a win window with button 2 is similar to using Send.

       Awd  loads  the tag line of its window with the directory in which it's
       running, suffixed -label (default rc); it is intended to be executed by
       a cd function for use in win windows.  An example definition is
            fn cd { builtin cd $1 && awd $sysname }

FILES

       $home/.wilybak
              default directory for backup files.

SEE ALSO

       wily(4)
       Rob Pike, Acme: A User Interface for Programmers.

BUGS

                                                                      WILY(1x)



  All copyrights belong to their respective owners. Other content (c) 2014-2018, GNU.WIKI. Please report site errors to webmaster@gnu.wiki.
Page load time: 0.110 seconds. Last modified: November 04 2018 12:49:43.