- home: http://sourceforge.net/projects/tclfltk
- current downloads, including a well-written 276-page PDF manual - http://pages.infinit.net/cclients/
and http://pages.videotron.com/cclients/
- Fltk Tcl binding
KJN The material below is probably of historical interest only.For those with a casually curious interest, there are some screen shots of a few applications that can be found at the following links:
- The TerraGrid Performance Monitor http://www.terrascale.com/downloads/tgmon/images/tgmon.png
(dead link) is a cluster monitor that shows the performance of an advanced I/O product for use on clusters - The Vmstat Cluster Monitor http://www.terrascale.com/downloads/tgmon/images/statmon.png
(dead link) is an application that displays the aggregated output from the vmstat application running on Linux clusters
#!/bin/sh
# \
exec fltkwish "$0" ${1+"$@"}
# Build the GUI for this application
Destroy t copyright
# Set the rendering scheme to be used
if { [catch { eval Scheme $Data(Scheme) } reason] } {
puts stderr "Scheme failed : $reason"
}
# Create a package to hold everything
set f [Package t.all -orientation vertical]
# Initialize some default behaviour for a CheckButton widget
Option add CheckButton.relief none
Option add CheckButton.selectioncolor red
Option add CheckButton.type toggle
#Option add CheckButton.state disabled
# The main header with the logo on top and the status indicators
set f1 [Package $f.logo -orientation horizontal]
set Data(Logo) [Image $f1.logo -f $Data(LogoFile) -w 160 -h 60 -tooltip "Click to freeze the display"]
set f2 [Group $f1.status -r 1 -c 4 -w 655 -h 60 -label "Status"]
CheckButton $f2.frozen -variable Data(DisplayFrozen) -label "Display Frozen" -readonly true -nocomplain true
CheckButton $f2.capture -variable Data(Capture) -label "Recording Data" -readonly true -nocomplain true
CheckButton $f2.replay -variable TapeDeck(CaptureReplay) -label "Replaying Data" -readonly true -nocomplain true
CheckButton $f2.alerts -variable Alert:Pending -label "Alerts Pending" -readonly true -nocomplain true
# If the logo is clicked the display is frozen until the next click
Bind $Data(Logo) <ButtonPress> { %W set -relief sunkenframe ; call FreezeImage %W %b }
Bind $Data(Logo) <ButtonRelease> { %W set -relief raisedframe }
# Defaults for a RadialPlot widget
Option add RadialPlot.relief raised
Option add RadialPlot.autoscale true
# Create a scrolable container which has a Frame inside that will automatically layout the radial plots
set l [Scroll $f.scroll -w 815 -h 480 -scrollbars always_vertical -ystep 240]
set g [Frame $l.plots -r 4 -c 4 -w 800 -h 960]
foreach item $Layout {
set Data($item) [RadialWidget $g.$item -Label.label "[KeyLabel $item]"]
}
# The client information and log display widgets are packed together here
set l [Package $f.clients -orientation horizontal]
set Data(ClientList) [LabeledListbox $l.clients -Label.label "Client List" \
-Listbox.command "call SelectClient %W"]
set g [Package $l.info -orientation vertical]
set Data(Log) [LabeledListbox $g.list -Listbox.h 100 -Label.label "Log Messages"]
set h [Group $g.client -r 3 -c 1 -w 615 -h 100 -label "Current Client Information"]
LabeledText $h.OS -label "Operating System" -ratio .8 -variable Data(CurrentClient,OS) -relief none -labelrelief none
LabeledText $h.VMSTAT -label "Vmstat Version" -ratio .8 -variable Data(CurrentClient,VMSTAT) -relief none -labelrelief none
LabeledText $h.USERDATA -label "User Data" -ratio .8 -variable Data(CurrentClient,USERDATA) -relief none -labelrelief none
# Display the tape recorder controls
call TapeDeck $f 815
# The action buttons along the bottom of the window
set l [Package $f.actions -orientation horizontal]
set Data(AlertButton) [Button $l.alerts -label Alerts -command "call AlertManager" \
-tooltip "Manage user alerts" ]
Button $l.renormalize -label "Renormalize Plots" -command "call RenormalizePlots" \
-tooltip "Renormalize all plots"
Button $l.clearlog -label "Clear Log" -command "$Data(Log) clear" \
-tooltip "Clear the log display window"
set Data(Disconnect) [Button $l.disconnect -label Disconnect -command "call DisconnectCurrentClient" -state disabled \
-tooltip "Disconnect the current client"]
Button $l.quit -label Quit -command Quit \
-tooltip "Terminate this application"The equivalent Tk implementation is beyond my personal abilities, but I wouldn't mind seeing it done by someone else![Stuff demonstrated: wallpaper; hurricane tracker; ...]
[IBF]All of the currently maintained distro for this package can be found at:[1]Announcement: [2]

