This file is indexed.

/usr/share/blt2.4/demos/tabset4.tcl is in blt-demo 2.4z-7ubuntu2.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
#!/usr/bin/wish

package require BLT
# --------------------------------------------------------------------------
# Starting with Tcl 8.x, the BLT commands are stored in their own 
# namespace called "blt".  The idea is to prevent name clashes with
# Tcl commands and variables from other packages, such as a "table"
# command in two different packages.  
#
# You can access the BLT commands in a couple of ways.  You can prefix
# all the BLT commands with the namespace qualifier "blt::"
#  
#    blt::graph .g
#    blt::table . .g -resize both
# 
# or you can import all the command into the global namespace.
#
#    namespace import blt::*
#    graph .g
#    table . .g -resize both
#
# --------------------------------------------------------------------------
if { $tcl_version >= 8.0 } {
    namespace import blt::*
    namespace import -force blt::tile::*
}
source scripts/demo.tcl
#bltdebug 100

source scripts/stipples.tcl

tabset .t \
    -samewidth yes \
    -side left \
    -textside bottom \
    -textside top \
    -bg red \
    -tiers 1 \
    -scrollincrement 10 \
    -scrollcommand { .s set } \
    -rotate 0 \
    -selectcommand {  MakePhoto %W %n } 


scrollbar .s -command { .t view } -orient horizontal
 
option clear
option add *Tabset.Tab.font -*-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*

set files [glob ./images/*.gif]
set files [lsort $files]
#set vertFilter sinc
#set horzFilter sinc
set vertFilter none
set horzFilter none


proc ResizePhoto { src dest maxSize } {
    set maxSize [winfo fpixels . $maxSize]
    set w [image width $src]
    set h [image height $src]
    set sw [expr double($maxSize) / $w]
    set sh [expr double($maxSize) / $h]
    set s [expr min($sw, $sh)]
    set w [expr round($s * $w)]
    set h [expr round($s * $h)]
    $dest configure -width $w -height $h
    
    global horzFilter vertFilter
    winop resample $src $dest $horzFilter $vertFilter
}

image create photo src
image create photo dest

label .t.label -image dest -bg purple

proc MakePhoto { w name } {
    set file ./images/$name.gif
    src configure -file $file

    set width [$w tab pagewidth]
    set height [$w tab pageheight]
    if { $width < $height } {
	ResizePhoto src dest $width
    } else {
	ResizePhoto src dest $height
    }
    .t tab dockall
    .t tab configure $name -window .t.label -padx 4m -pady 4m -fill both
}

table . \
    .t 0,0 -fill both \
    .s 1,0 -fill x 

table configure . r1 -resize none
focus .t

foreach f $files {
    src configure -file $f
    set f [file tail [file root $f]]
    set thumb [image create photo]
    ResizePhoto src $thumb 0.5i
    .t insert end $f -image $thumb -fill both
}

.t focus 0
.t invoke 0