Cheap web site hosting service by Active-Venture.com
  

 Back to Index

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 ] [ --wm-icons ] [ --frontpage [where] ] [ --proxy|-p host:port ] [ --buggyproxy|-b ] [ --file [file] ] [ --fake [file] ]

DESCRIPTION

A perl script which builds an fvwm menu definition for headlines of popular news web sites: FreshMeat, Slashdot, LinuxToday, Segfault and more.

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, --title, --icon - define menu name, menu title and menu icon accordingly given in the following argument. Default is name "MenuHeadlinesFreshmeat", title "Freshmeat Headlines" and no mini-icon (equivalent to an empty icon argument).

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

Format specifiers for a headline entry: %h - headline %u - url %d - date in native format %[strftime-argument-string] - date, see strftime(3) %{name} - site-specific-named-value %(text) - arbitrary text

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.

--command 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-item, --icon-home - define menu icon for title, regular item and home item respectively given in the following argument. 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.

--frontpage [where] - show site fronpage item in the menu too. 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

--buggyproxy - try this if your proxy requires non standard end-of-line.

--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 segfault.in (downloaded http://segfault.org/stories.txt) and saves output to segfault.menu (both files are in WORK_HOME): fvwm-menu-headlines --site segfault --fake --file

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

Option parameters can be specified both using '=' and 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-menu-headlines/$0.menu"

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

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.

In this case your fvwm configuration lines could be:

 
  DestroyFunc FuncFvwmMenuHeadlines
  AddToFunc   FuncFvwmMenuHeadlines
  + I PipeRead "fvwm-menu-headlines --site $0"

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

In the end 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 segfault --name MenuHeadlinesSegfault"
  # after several seconds
  Popup MenuHeadlinesSegfault  

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:

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

  sub processMySlashdot () {
    return processXml(
      '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

Report bugs to fvwm-bug@fvwm.org.

 

  

 

Cheap domain name:
Domain name services from just
$8.95/year only
 

Register domain name search -
Buy domain name registration and cheap domain transfer at low, affordable price.

2002-2004 Active-Venture.com Web Site Hosting Service

 

[ Usenet is like a herd of performing elephants with diarrhea; massive, difficult to redirect, awe-inspiring, entertaining, and a source of mind-boggling amounts of excrement when you least expect it.   ]

 

 
 

Disclaimer: This documentation is provided only for the benefits of our web hosting customers.
For authoritative source of the documentation, please refer to http://www.perldoc.com