Provided by: fvwm_2.6.8-1build1_amd64 bug

NAME

       fvwm-menu-headlines - builds headlines menu definition for fvwm

SYNOPSIS

       fvwm-menu-headlines [ --help|-h|-? ] [ --version|-V ] [ --info [site] ] [ --site|-s site ] [ --name|-n
       name ] [ --title|-t title ] [ --item item ] [ --exec|-e exec-command ] [ --command|-e fvwm-command ] [
       --icon-title icon ] [ --icon-item icon ] [ --icon-home icon ] [ --icon-error icon ] [ --wm-icons ] [
       --frontpage [where] ] [ --proxy|-p host:port ] [ --file [file] ] [ --fake [file] ] [ --timeout seconds ]

DESCRIPTION

       This configurable perl script builds an fvwm menu definition for headlines of popular news web sites:
       FreshMeat, Slashdot, LinuxToday, DaemonNews, GNOME-News, KDE-News, RootPrompt, LinuxFr, ThinkGeek, CNN,
       BBC and more.

       It is possible to specify a customized menu item format, change a command (usually launching a browser)
       and add menu icons (there is a support for the wm-icons package).

OPTIONS

       --help
           show the help and exit

       --version
           show the version and exit

       --info [site]
           if site name is given print the site specific info, otherwise print all site names

       --site site
           defile  a  web site, headlines of which to show, this option also can be used together with --help to
           get new defaults. Default site: freshmeat.

       --name name
           define menu name (default is "MenuHeadlinesFreshmeat")

       --title title
           define menu title (default is "Freshmeat Headlines").

       --item label-format
       --exec command-format
           define format for menu item or command (what is shown and what is executed when the item is  chosen).
           Default  label is '%h\t%[(%Y-%m-%d %H:%M)]'. TAB can be specified as '\t', but in .fvwm2rc you should
           specify a double backslash or a real TAB.

           Format specifiers for a headline format:

             %h - headline
             %u - url
             %d - date in the native format (that site backend supplied)
             %[strftime-argument-string] - date/time, see strftime(3)
               the date/time is represented according to the local time;
               date and/or time fields that can't be guessed are stripped
               Example: %[|%d %B %Y| %H:%M %S]
                 If site supplied only date - this becomes %[|%d %B %Y|],
                 if site supplied no date - this becomes an empty string.
             %{name} - site specific named value, like %{comments}
             %(text) - arbitrary text, good for escaping or aligning

           These specifiers can receive an optional integer size, positive for right adjusted string or negative
           for left adjusted, example: %8x; and optional *num or *-num, which means to leave only the  first  or
           last (if minus) num of chars, the num must be greater than 3, since the striped part is replaced with
           "...",  example:  %*30x.  Both  can  be  combined:  %-10*-20x, this instructs to get only the 20 last
           characters, but if the length is less then 10 - to fill with up to 10 spaces on the right.

           Example:

             --exec "iceweasel -remote 'openURL(%u, new-window)' || iceweasel '%u'"

       --command command-format
           like --exec above, but enables to specify any fvwm command, for  example,  "Function  FuncFvwmShowURL
           '%u'" not only Exec.

           In fact, --exec="mozilla '%u'" is equivalent to --command="Exec mozilla '%u'"

       --icon-title icon
       --icon-item icon
       --icon-home icon
       --icon-error icon
           define  menu  icon for title, regular item, frontpage item and error item respectively. Default is no
           menu icons (equivalent to an empty icon argument).

       --wm-icons
           define icon names  suitable  for  use  with  wm-icons  package.  Currently  this  is  equivalent  to:
           --icon-title    ''    --icon-item   menu/information.xpm   --icon-home   menu/home.xpm   --icon-error
           menu/choice-no.xpm.

       --frontpage [where]
           add the site frontpage item to the menu. Optional value can be used to specify where this  item  will
           be placed in the menu - 'top' or 't', 'bottom' or 'b'.

       --proxy host[:port]
           define a proxy to use. Example: --proxy proxy.inter.net:3128

       --file [file]
           write  the  menu  output  to  specified  file.  If  no  filename  is given with this option (or empty
           filename), the default filename  WORK_HOME/SITE.menu  is  used.  Without  this  option  or  with  '-'
           filename, the menu output is written to standard output.

       --fake [file]
           don't  connect  to  the  host  using  HTTP  protocol,  instead, read from WORK_HOME/SITE.in file. The
           following reads input from freshmeat.in (downloaded http://freshmeat.net/backend/recentnews.txt)  and
           saves  output  to  segfault.menu  (both files are in WORK_HOME): fvwm-menu-headlines --site freshmeat
           --fake --file

       --timeout seconds
           limit a line reading from a socket to this timeout, the default timeout is 20 seconds.

       WORK_HOME of this script is ~/.fvwm/.fvwm-menu-headlines. It is created if needed.

       Option parameters can be specified either using '=' or in the next argument. Short options are ok if  not
       ambiguous:  "-h",  "-t"; but be careful with short options, what is now unambiguous, can become ambiguous
       in the next versions.

USAGE

       1. One of the ways to use this script is to define a crontab entry to run the script every hour or so for
       every monitored site:

         0,30 * * * * fvwm-menu-headlines --file --site freshmeat
         1,31 * * * * fvwm-menu-headlines --file --site linuxtoday
         2,32 * * * * fvwm-menu-headlines --file --site slashdot

       Then add these lines to your fvwm configuration file:

         DestroyFunc FuncFvwmMenuHeadlines
         AddToFunc   FuncFvwmMenuHeadlines
         + I Read "$HOME/.fvwm/.fvwm-menu-headlines/$0.menu"

         DestroyMenu MenuHeadlines
         AddToMenu   MenuHeadlines "Headlines" Title
         + MissingSubmenuFunction FuncFvwmMenuHeadlines
         + "FreshMeat"  Popup freshmeat
         + "LinuxToday" Popup linuxtoday
         + "Slashdot"   Popup slashdot

       2. Another way to use this script (only if you have fast network/proxy) is to run it every time you  want
       to  open  your  Headlines  submenus.  (Note, the submenu that is once created is not reloaded, use "Reset
       all".)

       In this case your fvwm configuration lines could be:

         DestroyFunc FuncFvwmMenuHeadlines
         AddToFunc   FuncFvwmMenuHeadlines
         + I PipeRead "fvwm-menu-headlines --site $0"
         #+ I Schedule 900000 DestroyMenu $0  # reset generated menu in 15 minutes

         DestroyMenu MenuHeadlines
         AddToMenu   MenuHeadlines "Headlines" Title
         + MissingSubmenuFunction FuncFvwmMenuHeadlines
         + "FreshMeat"  Popup freshmeat
         + "Slashdot"   Popup slashdot
         + "LinuxToday" Popup linuxtoday
         + "GNOME News" Popup gnome-news
         + "KDE News"   Popup kde-news
         + "" Nop
         + "Reset all"  FuncResetHeadlines

         DestroyFunc FuncResetHeadlines
         AddToFunc   FuncResetHeadlines
         + I DestroyMenu freshmeat
         + I DestroyMenu linuxtoday
         + I DestroyMenu slashdot
         + I DestroyMenu gnome-news
         + I DestroyMenu kde-news

       And finally, add "Popup MenuHeadlines" somewhere.

       3. Here is a usual usage. Use FvwmConsole or FvwmCommand to run fvwm commands from a shell script.  Every
       time you want headlines from some site, execute (give any additional options if you want):

         PipeRead "fvwm-menu-headlines --site newsforge --name MenuHeadlinesNewsForge"
         # this may take several seconds, you may use: BusyCursor Read true
         Popup MenuHeadlinesNewsForge

HOW TO ADD SITE HEADLINES

       It  is  possible  to  add  user  defined site headlines without touching the script itself. Put your perl
       extensions to the file WORK_HOME/extension.pl. For each site add something similar to:

         $site_info->{'myslashdot'} = {
           'name' => "MySlashdot",
           'host' => "myslashdot.org",
           'path' => "/myslashdot.xml",
           'func' => \&process_my_slashdot,
           # the following string is only used in --info
           'flds' => 'time, title, department, topic, author, url',
         };

         sub process_my_slashdot () {
           return process_xml(
             'story',
             # mandatory 'h', 'u' and 'd' aliases or undef
             { 'h' => 'title', 'u' => 'url', 'd' => 'time' },
             sub ($) {  # convert 'd' string to (y, m, d, H, M, S)
               $_[0] =~ /(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)/;
               ($1, ($2 || 0) - 1, $3, $4, $5, $6);
             }, +0,  # timezone offset; already in UTC
           );
         }

         1;

AUTHORS

       This script is inspired by WMHeadlines v1.3 by:

         Jeff Meininger <jeffm@boxybutgood.com>
         (http://rive.boxybutgood.com/WMHeadlines/).

       Reimplemented for fvwm and heavily enhanced by:

         Mikhael Goikhman <migo@homemail.com>, 16 Dec 1999.

COPYING

       The script is distributed by the same terms as fvwm itself. See GNU General Public License for details.

BUGS

       I try to keep all supported site info up to date, but sites often go down, change their backend  formats,
       change  their httpd responses, just stop to post news and so on; the script in the latest cvs may be more
       up to date.

       The headline times may be off by one hour or more, since the time is displayed for your local time  zone,
       and  the  time  zone  of  the  original  time  in  the  site  backend  output is often guessed (sometimes
       incorrectly); similarly it is guessed whether to apply the daylight saving correction.

       Report bugs to fvwm-bug@fvwm.org.

2.5.28 (from cvs)                                  2009-03-22                             fvwm-menu-headlines(1)