G15Highlighter

This is a small project by Gareth Latty (Lattyware).

Other projects.

About:

G15Highlighter is a python script by Lattyware for the Logitech G15 Keyboard and xChat. It displays any messages that highlights you in xChat on the G15's screen. The script is highly customisable, licenced under the GPL V3 and easy to use. The script will work as distributed, but you can customise the way it works via the configuration file (see further down the page for example configurations and explanations of each option).

Some images of what it looks like in-use:

A view of the start up splash.

A view of a highlight.

Comments:

If you have any comments on the script, feel free to e-mail me. I'm always happy to hear about bugs, suggestions, praise, or even flames - whatever floats your boat. Please contact me if you have a custom configuration that you wish to share, or a modification you have made to the script.

Mandriva Issue:

I have been informed the script does not work with Mandriva 2008 spring edition's packages of g15tools (along with other scripts), but works when you compile from source.

I was also having problems with g15macro, and after messing around a bit I found my Thunderbird script was failing too. The only difference between my old setup and my new setup when upgrading to 2008 spring edition was that 2008 spring had the g15daemon stuff in it's RPM repository so I didn't have to build it from source. I uninstalled the RPMs and rebuilt the entire suite from source using the ./configure options I used to use, and everything works fine now. I'm guessing Mandriva didn't build their RPMs with --enable-ttf. I honestly don't know why that would cause relatively simple scripts that don't use ttf on composer to fail though.

Thanks to Frozen for the heads-up.

Get it:

The latest version is 2.6 - [name:G15H.tar.gz] - [size:19.151KB] - [md5sum:5e37c146057f6e1c8945c799800247fa]. You will need xChat, Python and G15Tools To install, extract into your xChat home directory (usually '~/.xchat2'). More in the readme.

Or you can check out the project on github.

Commands:

/clearlcd - Clear the screen (see options for more.)

/reloadg15prefs - Reload your preferences.

Config:

See the two example configs, defaults.txt and altconfig.txt.

The config is formatted as so:
Comments: #comment
Options: option: value
option and value can be anything as listed below.

Option Possible Value Value Meaning Notes
Formatting
string Text to send to G15Composer This text will be parsed and sent to G15Composer for output on your screen. For more on how to format this, see 'man g15composer'. Variables for string (CASE SENSITIVE):
  • %newline% - inserts newline, use after each command,
  • %textsize% - Refers to size, %nick% - the senders nickname,
  • %channel - the channel,
  • %time% - the time in Hours:Minutes:Seconds,
  • %hours% -- Just what hour it is,
  • %minutes% - How many minutes past the hour it is,
  • %seconds% - How many seconds past the minute it is,
  • %message% - inserts the message,
  • %messagewrapped% - inserts the message wrapped to fit the screen,
  • %textheight% - refers to height.
size S The text on screen will be small. N/A
M The text on screen will be medium.
L The text on screen will be large.
screenwidth Any Whole Number Width of screen in charachters. You probably want 40 for small, 31 for medium, 20 for large text sizes.
height Any Whole Number Height of a chrachter in pixels. You probably want 5 for small, 6 for medium, 8 for large text sizes.
Reaction To Highlights
query True When you are queried (PMed), this will be displayed on your G15's screen. If you have a channel name (like: '#channel') in your 'others words to highlight upon' option in your xChat preferences, anything posted in that channel will highlight. You can use this to make all messages in the channel(s) you add to the option in your preferences display on your g15 screen.
False Queries will not be displayed.
lights 0 All the 'M' key lights will flash upon highlight. N/A
1 The first 'M' key light will flash upon highlight.
2 The second 'M' key light will flash upon highlight.
3 The third 'M' key light will flash upon highlight.
4 No 'M' key lights will flash upon highlight.
lightstime Any Number How long to light up the 'M' keys for when lights (see above) is not 4. N/A
Clearing The Screen
clearafterhighlight True When you are highlighted, the screen will be cleared after clearafterhighlighttime (see below) to clearmode (see below). Use this if you don't want messages to stay on-screen for long periods of time. Mainly for if you don't go AFK much.
False Highlights will stay on screen till another comes, or you clear it manually.
clearafterhighlighttime Any Number When you are highlighted, and if clearafterhighlight (see above) the screen will be cleared after the length of time set here to clearmode (see below). N/A
clearmode animation When the screen is cleared, an animation will be shown. N/A
text When the screen is cleared, the version text will be shown.
image When the screen is cleared, an image will be shown.
blank When the screen is cleared, nothing will be shown.
clearanimation currentversion When the screen is cleared, and clearmode (see above) is set to animation, then this version's default animation is displayed. N/A
Comma-separated list of frames. When the screen is cleared, and clearmode (see above) is set to animation, then each item in the list is loaded as a frame from [xchat directory]/G15H/[item].wbmp - and then this animation is displayed.
clearimage currentversion When the screen is cleared, and clearmode (see above) is set to image, then this version's default image is displayed. N/A
image When the screen is cleared, and clearmode (see above) is set to image, then the image is loaded from [xchat directory]/G15H/[image].wbmp - and then this image is displayed.
clearanimationspeed Any Number When the screen is cleared, and clearmode (see above) is set to animation, then this is the delay between each frame of the animation. N/A
Backlight
backlight True When you are highlighted, the G15's screen will flash. N/A
False The screen will not flash.
backlightnumber Any Whole Number How many times the backlight will flash. N/A
backlightwait Any Number How long to wait between each flash. N/A
backlightlevel1 0 The first part of the flash will mean changing to off. backlightlevel1 being 0 and backlightlevel2 being 2 will mean the backlight will go off then turn on full for each 'flash'. You should use that if you have the backlight on full normally, if you keep it off normally, swap it.
1 The first part of the flash will mean changing to on, but dim.
2 The first part of the flash will mean changing to on full.
backlightlevel2 0 The second part of the flash will mean changing to off. backlightlevel1 being 0 and backlightlevel2 being 2 will mean the backlight will go off then turn on full for each 'flash'. You should use that if you have the backlight on full normally, if you keep it off normally, swap it.
1 The second part of the flash will mean changing to on, but dim.
2 The second part of the flash will mean changing to on full.
G15Composer (Probably more advanced. Not for regular users.)
path Path To FIFO The path where the FIFO will be made, G15Composer should be listening here. N/A
start True When you start the script, G15Composer will be started. N/A
False When you start the script, G15Composer will not be started.
end True When you end the script, G15Composer will be killed. N/A
False When you end the script, G15Composer will not be killed.