# TigerLily: A client for the lily CMC, written in Perl. # Copyright (C) 1999-2011 The TigerLily Team, <tigerlily@tlily.org> # http://www.tlily.org/tigerlily/ # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License version 2, as published # by the Free Software Foundation; see the included file COPYING. ("`-/")_.-'"``-._ . . `; -._ )-;-,_`) TigerLily 2.x (v_,)' _ )`-. ``-' "Feel Free" _.- _..-_/ / ((.' ((,.-' ((,/ =============================================================================== Installing ---------- TigerLily requires Perl 5.6.1 or greater. You will also need Curses.pm or Term::Readline::Gnu. (from CPAN) You can run tlily directly from the source directory, by running "perl tlily.PL". To create an assortment of single file versions of tlily, run: perl Makefile.PL make Pick the .plx you want to use (depends on the UI you wish to use, it's part of the file name), and copy it wherever you wish. To do a standard installation: perl Makefile.PL make make install And "tlily" will be installed in the directory you specify during the first step. Colors ------ Color preferences are specified in the config files(See 'Configuration' below). To change a color, set that color preference in your site or user configuration files. Color preferences are in %color_attrs, and monochrome preferences are in %mono_attrs. Example: To make the header on private messages red on white instead of green on black, add the following to your config file: %color_attrs = ('public_header' => [qw(red white normal)]); /-command Overrides ------------------- Tigerlily includes several client-side fixes/enhancements for existing lily commmands, implemented by intercepting the command before it is sent to the server: /info Enhanced so that /info set and /info edit bring up your editor for you to change your info. /memo Enhanced so that /memo set and /memo edit bring up your editor for you to change your memos. /blurb Enhanced so that /blurb will squeeze your requested blurb into the space available. /oops Fixed so as to reset your sendlist correctly for ;-expansion /also Fixed so as to append the /also'ed people to your sendlist for ;-expansion. To allow any of these overrides, put the command without the / in the @slash variable in your site or user configuration files. Example: To enable the /info override, add the following to your user or site config files: @slash = ('info'); To disallow an override, put the command without the / and with a leading '-' in the @slash variable in your site or user configuration files. Example: To disable the /also override, add the following to your user or site config files: @slash = ('-also'); Being concious not to override the existing behavior of lily commands, the current default is to not override any /-commands. There are those among the developers that want to change this default, though, and so this default may change. Configuration (Needs expanding) ------------- TigerLily now has 4 levels of customization: Level Default File Location Description ----- --------------------- Global /usr/local/lib/tlily/tlily.cf Default settings for all features; please no not edit except when developing to add defaults for new settings. Site /usr/local/etc/tlily.cf Site-specific settings to augment or override the global settings. System Administrators wishing to change the default settings for their users should edit this file. User ~/.lily/tlily/tlily.cf User-specific settings to override the global and site settings. Command <no file> Many(not all) configuration options can be overridden at the command line. The format for these .cf files is [$@%]<config_var> = <value> ; So, to set your browser to lynx, you'd add the following lines to ~/.lily/tlily/tlily.cf: $browser=lynx; $browser_textmode=1; Note that in an interactive session, this would be accomplished with: %set browser lynx Here is a summary of some common configuration file (CF) options: @load Setting this variable in a CF will change the list of extensions to load. An extension preceeded by a - will cause that extension to not be loaded. # Example: @load = ('a', 'b', '-c', 'd', '-e'); # In addition to the current extension list, extensions a, b, # and d will be loaded, and extensions c and e will not be loaded. The default extension list is in the global CF, and can be changed using this method in the site and/or user CFs. %color_attrs %mono_attrs Setting elements of these hashes in a cf will change the color settings for the color and monochrome mode of an element. @slash Setting this variable will change the list of /-commands that are allowed to be intercepted by tlily and other extensions in order to add functionality to an existing command. Any extension wanting to intercept a /-command must honor their desired command's existence/non-existence in this list. Adding a /-command to this list will not necessarily enable interception of the /-command; the extension that wants to intercept it must be loaded also. # Example: @slash = ('-info', 'also', 'oops'); # In addition to the slash list from previous CF levels, # allow /also and /oops to be intercepted, but do not # allow /info to be overridden. By default, no slash commands will be allowed to be intercepted. This can be overridden in the site and/or user CFs using this method. $emote_oops If set, this specifies an oops string to use for emote discussions. The standard lily /oops will still be used for connect discs. Note that this only effects %oops -- you will need to add oops to @slash to change /oops. @prefer This variable contains a list of destinations to "prefer" when doing autoexpansion. If a partial destination is a prefix to an element in this list, it will always be expanded to it. Examples: @prefer = ('-security'); The "security" discussion exists, as does the user "Secret Agent". "sec" will expand to "-security". @prefer = ('damien_clone'); The users "damien" and "damien clone" both exist. "dam" will expand to "damien_clone". "damien" exactly matches a user, and will not expand. %bindings Set %bindings to install global key bindings. For example: %bindings = { 'M-g' => 'look' }; or $bindings{'M-g'} = 'look'; will both set the M-g key to do the "look" function, which provides a simple lookup mechanism to the Unix "words" file. (Note that the look function is bound to C-g by default, and %bindings does not change that.) Bindings set this way will be available before you are even connected to the server, which can't be accomplished by using %bind in a Startup file/memo. Extensions can each have options to configure them; see the documentation for the specific module to see what options can be set. git access ----------------- The TigerLily sources are stored on github, at https://github.com/coke/tigerlily For more information on git and github, see: http://help.github.com/.