NAME
grio – customizable rio

SYNOPSIS
grio [ –x 'menu_cmd' ] [ –a 'cmd_argument' ] [ –e ] [ –c background color ] [ –t text color ] [ –u window color ] [ –y active bordercolor ] [ –z bkground bordercolor ] [ –w border width ]

DESCRIPTION
Rio with hubfs integration, command menu customization, selectable colors. Grio is a modified version of rio(1) All rio options are supported. Integration with hubfs(4) and a user–selectable command is provided via the right mouse button menu. This manpage describes only the new features.

Menu Options
Grio provides an 'exit' command in the right button menu, because it is often run nested. The –e option removes the 'exit' command from the menu. A user–selected command (or /bin/acme by default) is added to the menu via the –x option. The command must include the full path, for instance /bin/stats rather than simply 'stats'. A single argument may be passed with the –a argument option. If the argument is a set of flags, the – needs to be included. For instance, –lems as an argument to stats. The argument may not contain any spaces, and quoting does not enable the use of multi–part arguments.

Color Selection
Most of the colors used by grio are now user–selectable via 8 digit hex codes. See colors(1) to inspect sample colors and their codes. –c colorcode sets the background color. –t textcolor sets the color of text in windows. –u windowcolor sets the color the windows themselves. –y bordercolor sets the color of the border of the currently active window, and –z bordercolor sets the color of the border of the unselected windows. The width of borders is set with an integer parameter to –w borderpixels with 2 as the minimum for visible window borders. If no theming parameters are provided, the appearance defaults to standard.

Hubfs integration
Another menu option, Hub is present in the right mouse button menu. This provides integration with Hubfs(4) such that after this command is selected, the window swept out will automatically be connected to the hubfs mounted at /n/hubfs. On startup, if there is not already a mounted hubfs at /n/hubfs, grio will launch a new instance of hubfs with the srv file posted at /srv/riohubfs.username. It is often useful to import the /srv of a remote machine and mount a hubfs from it to /n/hubfs prior to starting grio

EXAMPLES
Start with no exit command in the menu, and the ability to create a subgrio with its windows set to scroll mode. (Windows of hosting grio will not be in scroll mode because the –s option is "consumed" by the –a argument.)
grio –e –x /bin/grio –a –s

Start with a tasteful light purple theme and thin black borders
grio –c 0xffaaffff –y 0 –w 2

Import and mount a hubfs already running on a remote machine for easy use from the menu
rimport –a kremvax /srv
mount –c /srv/kremhub /n/hubfs
grio

Start with a theme of bold and breathtaking beauty
grio –c 0xff0000ff –u 0x00ccff –y 0x00ff00ff –t 0xffff00ff \
–z 0xffaa00ff –w 10 –x /bin/games/catclock \
–f /lib/font/bit/times/latin1.bold.10.font

SOURCE
/sys/src/ants/grio

BUGS
It would be nice if the –a argument option could parse and separate multipart arguments.