# Slim template files generated by Cutter will have a first line
# of (commented) text that tells the ::Slim::RegisterLazyTemplates
# procedure in which menu the template should be placed. A typical
# first line might be,
# # menuInfo fundza,MyColor#0 color MyColor utility
# This line of text has the effect of telling Slim that a template
# named "MyColor" implements a color node. As a menu item it
# should be labelled "MyColor" and should appear in the "Utility"
# sub-menu of the "Colors" menu that is displayed by Slim.
#
# Author: Malcolm Kesson October 21 2007
#
set userdir FULL_PATH_TO_YOUR_SLIM_DIR/slim
if { [file exists $userdir] } {
set slimfiles [glob -nocomplain -directory $userdir *slim]
foreach item $slimfiles {
set slimName [file tail $item]
set fileID [open $userdir/$slimName r]
# Read the first line of text
gets $fileID info
close $fileID
# Remove the comment character and any leading white
# space
set info [string trimleft $info "\# "]
# Does the line begin with the "menuInfo" tag?
if { [string equal -nocase -length 8 $info "menuInfo"] == 0} {
continue
}
set info [string trimleft $info]
# Remove the tag
set info [string range $info 8 end]
set info [string trimleft $info]
set rltStr "::Slim::RegisterLazyTemplates \{\n"
append rltStr " $userdir/$slimName \{\n"
append rltStr " \{ $info \}\n"
append rltStr " \}\n"
append rltStr "\}"
eval $rltStr
}
}