The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

tknewsbiff (1)
  • >> tknewsbiff (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • tknewsbiff (1) ( Linux man: Команды и прикладные программы пользовательского уровня )
  • 
    NAME
         tknewsbiff - pop up a window when news appears
    
    SYNOPSIS
         tknewsbiff [ server or config-file ]
    
    INTRODUCTION
         tknewsbiff pops up a window when there  is  unread  news  in
         your favorite newsgroups and removes the window after you've
         read the news.  tknewsbiff  can  optionally  play  a  sound,
         start your newsreader, etc.
    
    
    SELECTING NEWSGROUPS
         By default, the configuration file  ~/.tknewsbiff  describes
         how  tknewsbiff  behaves.  The syntax observes the usual Tcl
         rules - however, even if you don't know  Tcl,  all  but  the
         most esoteric configurations will be obvious.
    
         Each newsgroup (or set  of  newsgroups)  to  be  watched  is
         described by using the "watch" command.  For example:
    
    
         watch dc.dining
         watch nist.*
         watch comp.unix.wizard  -threshold 3
         watch *.sources.*       -threshold 20
    
    
         For each newsgroup pattern, any newsgroup  that  matches  it
         and  which  you  are subscribed to (according to your newsrc
         file) is eligible for  reporting.   By  default,  tknewsbiff
         reports  on  the  newsgroup  if there is at least one unread
         article.  The "-threshold" flag changes the threshold to the
         following  number.   For example, "-threshold 3" means there
         must be at least three  articles  unread  before  tknewsbiff
         will report the newsgroup.
    
         If no watch commands are given  (or  no  configuration  file
         exists), all groups which are subscribed to are watched.
    
         To suppress newsgroups that would otherwise be reported, use
         the  "ignore"  command.   For example, the following matches
         all comp.* and nist.* newgroups except for nist.posix or  .d
         (discussion) groups:
    
    
         watch comp.*
         watch nist.*
         ignore nist.posix.*
         ignore *.d
    
         The flag "-new" describes a command to be executed when  the
         newsgroup  is  first  reported  as  having unread news.  For
         example, the following lines invoke the UNIX command  "play"
         to play a sound.
    
    
         watch dc.dining -new "exec play /usr/local/sounds/yumyum.au"
         watch rec.auto* -new "exec play /usr/local/sounds/vroom.au"
    
    
         You can cut down on the verbosity  of  actions  by  defining
         procedures.   For  example, if you have many -new flags that
         all play sound files, you could define  a  sound  procedure.
         This would allow the -new specification to be much shorter.
    
    
         proc play {sound} {
              exec play /usr/local/sounds/$sound.au
         }
    
         watch dc.dining -new "play yumyum"
         watch rec.auto* -new "play vroom"
    
    
         As an aside, you can put an "&" at the end of an "exec" com-
         mand  to  get  commands to execute asynchronously.  However,
         it's probably not a good idea to do this when playing  sound
         files anyway.
    
         "newsgroup" is a read-only variable which contains the  name
         of  the  newsgroup  that  is being reported.  This is useful
         when the action is triggered by a pattern.  For example, the
         following line could run the newsgroup name through a speech
         synthesizer:
    
    
         watch * -new {
              exec play herald.au
              exec speak "New news has arrived in $newsgroup."
         }
    
    
         The flag "-display" describes a command to be executed every
         time  the  newsgroup is reported as having unread news.  The
         special  command  "display"  is  the  default  command.   It
         schedules  $newsgroup  to be written to tknewsbiff's display
         when it is rewritten.  For example, by explicitly  providing
         a -display flag that omits the display command, you can dis-
         able the display of newsgroups that are already reported via
         -new.
    
    
         watch dc.dining -new {exec play yumyum.au} -display {}
    
    
         If you want  to  execute  an  action  repeatedly  and  still
         display  the  newsgroup  in  the  default manner, explicitly
         invoke the display command via the -display flag.  For exam-
         ple:
    
    
         watch *security* -display {
              exec play red-alert.au
              display
         }
    
    
         Actions associated with the -new and -display flags are exe-
         cuted  only  once  for each matching newsgroup.  The command
         executed is the one associated with the first pattern in the
         configuration  file  that  matches  and  observes  the given
         threshold.
    
         Any command that is simply listed in the configuration  file
         is  executed each time before the update loop in tknewsbiff.
         The reserved (but  user-defined)  procedure  "user"  is  run
         immediately after the newsgroups are scheduled to be written
         to the display and before they are actually written.
    
         For example,  suppose  unread  articles  appear  in  several
         rec.auto  groups  and  you play the same sound for each one.
         To prevent playing the sound several times in  a  row,  make
         the  -new command simply set a flag.  In the user procedure,
         play the sound if the flag is set (and then reset the flag).
    
         The user procedure could also be used to start a newsreader.
         This  would avoid the possibility of starting multiple news-
         readers just because multiple  newsgroups  contained  unread
         articles.   (A check should, of course, be made to make sure
         that a newsreader is not already running.)
    
    
    MORE VARIABLES
         The following example lines show variables that  can  affect
         the behavior of tknewsbiff
    
    
         set delay          120
         set server         news.nist.gov
         set server_timeout 60
         set newsrc         ~/.newsrc
         set width          40
         set height         20
         set active_file    /usr/news/lib/active
         tknewsbiff alternates between checking for unread  news  and
         sleeping  (kind  of  like many undergraduates).  The "delay"
         variable describes how many seconds to sleep.
    
         The  "server"  variable  names  an  NNTP  news-server.   The
         default  is  "news".   The "server" variable is only used if
         the "active_file" variable is not set.
    
         The "server_timeout" variable describes how how many seconds
         to wait for a response from the server before giving up.  -1
         means wait forever or until the  server  itself  times  out.
         The default is 60 seconds.
    
         The "newsrc" variable describes the  name  of  your  .newsrc
         file.   By  default, tknewsbiff looks in your home directory
         for a newsrc file.  A  server-specific  newsrc  is  used  if
         found.    For   example,   if   you   have   set  server  to
         "cubit.nist.gov",  then  tknewsbiff  looks  for   ~/.newsrc-
         cubit.nist.gov.   (This is the Emacs gnus convention - which
         is  very  convenient  when  you  read  news  from   multiple
         servers.)  If there is no server-specific newsrc, tknewsbiff
         uses ~/.newsrc.
    
         The "width" variable describes  the  width  that  tknewsbiff
         will use to display information.  If any newsgroup names are
         long enough, they will be  truncated  so  that  the  article
         counts can still be shown.  You can manually resize the win-
         dow to see what was truncated.  However, if your  configura-
         tion  file  sets  the  width  variable,  the  window will be
         restored to that size the next time that  tknewsbiff  checks
         for unread news and updates its display.
    
         The "height" variable  describes  the  maximum  height  that
         tknewsbiff  will use to display information.  If fewer news-
         groups are  reported,  tknewsbiff  will  shrink  the  window
         appropriately.   You  can  manually resize the window but if
         your configuration file sets the height variable, the window
         will  be restored to that size the next time that tknewsbiff
         checks for unread news and updates its display.
    
         The "active_file" variable describes the name  of  the  news
         active  file.   If  set, the active file is read directly in
         preference to using NNTP (even if the "server"  variable  is
         set).   This is particularly useful for testing out new con-
         figuration files since you can edit a fake active  file  and
         then  click  button  2  to  immediately  see  how tknewsbiff
         responds (see BUTTONS below).
    
         If the environment variable DOTDIR is set, then its value is
         used as a directory in which to find all dotfiles instead of
         from the home directory.  In particular,  this  affects  the
         tknewsbiff configuration file and the .newsrc file (assuming
         the newsrc variable is not set explicitly).
    
    
    WATCHING DIFFERENT NEWS SERVERS
         To watch multiple servers, run  tknewsbiff  multiple  times.
         (Since you need different .newsrc files and the servers have
         different newsgroups and article numbers anyway, there is no
         point in trying to do this in a single process.)
    
         You can point tknewsbiff  at  a  different  server  with  an
         appropriate  argument.  The argument is tried both as a con-
         figuration  file  name  and  as  a  suffix  to  the   string
         "~/.tknewsbiff-".   So if you want to watch the server "kid-
         ney", store  the  tknewsbiff  configuration  information  in
         ~/.tknewsbiff-kidney".  The following two commands will both
         use that configuration file.
    
    
              tknewsbiff kidney
              tknewsbiff ~/.tknewsbiff-kidney
    
    
         In both cases, the actual server to contact is  set  by  the
         value of the server variable in the configuration file.
    
         If no configuration file is found, the argument is  used  as
         the  server  to  contact.   This allows tknewsbiff to be run
         with no preparation whatsoever.
    
         If the argument is the special keyword "active" (or ends  in
         "/active"),  it is used as the name of an active file.  This
         is in turn used to initialize the variable "active_file"  so
         that  tknewsbiff  reads from the active file directly rather
         than using NNTP.
    
         Creating your own active file is a convenient way of testing
         your  configuration  file.   For  example, after running the
         following command, you can repeatedly edit your active  file
         and  trigger the update-now command (either by pressing but-
         ton 2 or setting the delay variable very  low)  to  see  how
         tknewsbiff responds.
    
         The active file must follow the  format  of  a  real  active
         file.   The  format  is  one  newsgroup per line.  After the
         newsgroup name is the number of  the  highest  article,  the
         lowest  article.   Lastly is the letter y or m.  m means the
         newsgroup is moderated.  y means posting is allowed.
    
    
    WINDOW
         When unread news is found, a window is popped up.  The  win-
         dow  lists  the  names  of  the newsgroups and the number of
         unread articles in each (unless suppressed by  the  -display
         flag).   When there is no longer any unread news, the window
         disappears (although the process continues to run).
    
    
    BUTTONS
         Button or key bindings may be  assigned  by  bind  commands.
         Feel free to change them.  The default bind commands are:
    
    
         bind .list <1> help
         bind .list <2> update-now
         bind .list <3> unmapwindow
    
    
         By default button 1 (left) is bound  to  "help".   The  help
         command causes tknewsbiff to pop up a help window.
    
         By default, button 2 (middle) is bound to "update-now".  The
         update-now  command  causes  tknewsbiff to immediately check
         for unread news.  If your news server is slow or maintains a
         very  large number of newsgroups, or you have a large number
         of patterns in your configuration file, tknewsbiff can  take
         considerable time before actually updating the window.
    
         By default, button 3 (right) is bound to "unmapwindow".  The
         unmapwindow  command  causes tknewsbiff to remove the window
         from the display until the next time it finds  unread  news.
         (The mapwindow command causes tknewsbiff to restore the win-
         dow.)
    
         As an example, here is a binding to pop up an xterm and  run
         rn  when  you  hold down the shift key and press button 1 in
         the listing window.
    
    
         bind .list <Shift-1> {
              exec xterm -e rn &
         }
    
    
         Here is a similar binding.  However it tells rn to look only
         at  the  newsgroup  that is under the mouse when you pressed
         it.  (The "display_list" variable is described later in this
         man page.)
    
    
         bind .list <Shift-1> {
              exec xterm -e rn [lindex $display_list [.list nearest %y]] &
         }
    
    
    OTHER COMMANDS AND VARIABLES
         Built-in commands  already  mentioned  are:  watch,  ignore,
         display, help, update-now, unmapwindow, and mapwindow.
    
         Any Tcl and Tk command can also be  given.   In  particular,
         the list of newsgroups is stored in the list widget ".list",
         and the  scroll  bar  is  stored  in  the  scrollbar  widget
         ".scroll".   So for example, if you want to change the fore-
         ground and background colors of the newsgroup list, you  can
         say:
    
    
              .list config -bg honeydew1 -fg orchid2
    
    
         These can also be controlled by the X resource  database  as
         well.   However,  the  configuration file allows arbitrarily
         complex commands to be evaluated rather than simple  assign-
         ments.
    
         Certain Tcl/Tk  commands  can  disrupt  proper  function  of
         tknewsbiff.   These  will  probably be obvious to anyone who
         knows enough to give these commands in the first place.   As
         a  simple  example, the program assumes the font in the list
         box is of fixed width.  The newsgroups will likely not align
         if you use a variable-width font.
    
         The following variables are accessible and can be  used  for
         esoteric  uses.   All  other variables are private.  Private
         variables and commands begin with "_" so you don't  need  to
         worry about accidental collisions.
    
         The array "db" is a  database  which  maintains  information
         about  read  and  unread  news.   db($newsgroup,hi)  is  the
         highest article that  exists.   db($newsgroup,seen)  is  the
         highest article that you have read.
    
         A  number  of  lists   maintain   interesting   information.
         "active_list" is a list of known newsgroups.  "seen_list" is
         a list of newsgroups that have been seen so far as the  -new
         and      -display     flags     are     being     processed.
         "previous_seen_list" is "seen_list" from the previous cycle.
         "ignore_list"  is  the list of newsgroup patterns to ignore.
         "watch_list" is the list of  newsgroup  patterns  to  watch.
         "display_list" is the list of newsgroup will be displayed at
         the next opportunity.
    
    
    UPDATING YOUR FILES
         tknewsbiff automatically  rereads  your  configuration  file
         each  time  it  wakes up to check for unread news.  To force
         tknewsbiff to reread the file immediately (such  as  if  you
         are  testing  a new configuration or have just modified your
         newsrc file), press button 2 in  the  display  (see  BUTTONS
         above).
    
    
    CAVEATS
         tknewsbiff defines the number  of  unread  articles  as  the
         highest  existing  article  minus  the  highest article that
         you've read.  So if you've read  the  last  article  in  the
         newsgroup  but  no  others,  tknewsbiff  thinks there are no
         unread articles.  (It's impossible to do any better by read-
         ing  the  active file and it would be very time consuming to
         do this more accurately via NNTP since  servers  provide  no
         efficient  way  of  reporting  their  own holes in the news-
         groups.)   Fortunately,  this  definition  is  considered  a
         feature  by most people.  It allows you to read articles and
         then mark them "unread" but  not  have  tknewsbiff  continue
         telling you that they are unread.
    
    
    UNWARRANTED CONCERNS
         Your news administrator may  wonder  if  many  people  using
         tknewsbiff  severely  impact  an  NNTP server.  In fact, the
         impact is negligible even when the delay is  very  low.   To
         gather  all the information it needs, tknewsbiff uses a sin-
         gle NNTP query - it just asks for the active file.  The NNTP
         server  does  no computation, formatting, etc, it just sends
         the file.  All the interesting processing happens locally in
         the tknewsbiff program itself.
    
    
    BUGS
         The man page is longer than the program.
    
    
    SEE ALSO
         "Exploring  Expect:  A  Tcl-Based  Toolkit  for   Automating
         Interactive Programs" by Don Libes, O'Reilly and Associates,
         January 1995.
    
    AUTHOR
         Don Libes, National Institute of Standards and Technology
    
    
    
    


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру