Generic Monitor XFce4 panel plugin (GenMon) =========================================== 1 - Description ----------- The GenMon plugin cyclically spawns the indicated script/program, captures its output and displays the result into the panel. 2 - Installation ------------ Do the usual stuff: - gunzip - tar xf - ./configure --prefix=<XFce4InstallationDir> (e.g. /usr/local) - make - make install (as root) You should then end up with: libgenmon.so libgenmon.la installed in <XFce4InstallationDir>/lib/xfce4/panel/plugins/ and genmon.desktop installed in <XFce4InstallationDir>/share/xfce4/panel/plugins/ xfce4-genmon-plugin.mo installed in <XFce4InstallationDir>/share/locale/XX/LC_MESSAGES/ where XX represents the languages supported by genmon plugin You are encouraged to delete the installed libgenmon.la 3 - Testing ------- Use GenMon for invoking the provided "datetime" shell script. Then the current date/time should be continuously updated in your panel. If the plugin displays XXX it means that the spawn of the command has failed. 4 - Extra ----- A simple Perl script, disktemp, that retrieves the temperature of a disk using the smartmontools is provided. To install it, as root you may do: - cp disktemp /usr/local/bin - cd /usr/local/bin - chown root:root disktemp - chmod a+rx disktemp - chmod u+s disktemp Then run (you need to have smartd/smarctl installed on your system) - disktemp <disk> (e.g. /dev/hda) If this works, you should be able to use GenMon for continually monitoring your disk temperature. 5 - New Features ----------- The new version of genmon plugin can also display an icon (which can be a clickable icon), a tooltip, a text and a bar. To display these items, the script called by genmon should return a simple XML string. The XML tags which can be used are : <txt>Text to display</txt> <img>Path to the image to display</img> <tool>Tooltip text</tool> <bar>Pourcentage to display in the bar</bar> <click>The command to be executed when clicking on the image</click> If None of the tags are detected in the result of the command, the plugin returns to its original behaviour (displaying the result of the command). No tag is mandatory: for instance, you can display a tooltip without and image... The text between the <txt> and </txt> tag can use pango markup for style and color. Here's a simple example of a plugin displaying the Temp of the CPU in the panel (with an icon) and the Freq in a Tooltip: #!/bin/bash echo "<img>/usr/share/icons/Bluecurve/16x16/apps/gnome-monitor.png</img>" declare -i cpuFreq cpuFreq=$(cat /proc/cpuinfo | grep "cpu MHz" | sed 's/\ \ */ /g' | cut -f3 -d" " | cut -f1 -d".") if [ $cpuFreq -ge 1000 ] then cpu=$(echo $cpuFreq | cut -c1).$(echo $cpuFreq | cut -c2)GHz else cpu=${cpuFreq}MHz fi echo "<txt>"$(cat /proc/acpi/thermal_zone/THM/temperature | sed 's/\ \ */ /g' | cut -f2 -d" ")" C</txt>" echo "<tool>Freq: "$cpu"</tool>" PS: Depending on your configuration, you should change the image path. You can find more scripts in scripts/mon*. The xfce4-genmon-plugin now supports xfce4-panel plugin-event functionality. Currently it only supports the "refresh" action which resets the timer and causes the associated command to execute again. You can use this command remotely or at the end of a script to force the panel plugin to refresh. To refresh the plugin, issue the command: xfce4-panel --plugin-event=genmon-X:refresh:bool:true where "genmon-X" is the widget name of the particular genmon instance. To get this name, go to the panel properties screen and on the Items tab, hover your mouse over the genmon plugin to get it's internal name. 6 - Bugs ---- If you find a bug, fix it, then tell me how you did it :-) Enjoy! Roger Seguin roger_seguin@msn.com Julien Devemy <jujucece@gmail.com>