This file is indexed.

/usr/share/doc/blt-dev/html/winop.html is in blt-dev 2.5.3+dfsg-3.

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

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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
                                                                      
                                    <!-- manual page source format generated by PolyglotMan v3.0.9, -->
<!-- available via anonymous ftp from ftp.cs.berkeley.edu:/ucb/people/phelps/tcltk/rman.tar.Z -->

<HTML>
<HEAD>
<TITLE>winop(n) manual page</TITLE><!--#include virtual="/man/maninc.html"-->
</HEAD>
<BODY bgcolor=white>
<A HREF="#toc">Table of Contents</A><P>
 
<H2><A NAME="sect0" HREF="#toc0">Name</A></H2>
winop - Perform assorted window
and image operations 
<H2><A NAME="sect1" HREF="#toc1">Synopsis</A></H2>
<P>
<B>winop changes</B> <I>window</I> <P>
<B>winop image</B> <I>subcommand</I>
... <blockquote><P>
<B>winop image colors</B> ?-alpha? <I>srcImage</I> <P>
<B>winop image convolve</B> <I>srcImage</I> <I>destImage</I>
<I>filter</I> <P>
<B>winop image gradient</B> <I>image</I> <I>leftcolor</I> <I>rightcolor</I> ?<B>lines|normal|rectangular|linear|radial|sine|halfsine|blank</B>?
?<I>skew</I>? <P>
<B>winop image merge</B> <I>srcImage1</I> <I>srcImage2</I> <I>destImage</I> ?<I>alpha</I>?  <P>
<B>winop image
mirror</B> <I>srcImage1</I> <I>destImage</I> ?<I>x|y|xy|tile</I>?  <P>
<B>winop image quantize</B> <I>srcImage</I> <I>destImage</I>
?<I>nColors</I>? <P>
<B>winop image readjpeg</B> <I>filename</I> <I>photoname</I> <P>
<B>winop image resample</B>
<I>srcImage</I> <I>destImage</I> ?<I>horizFilter</I>? ?<I>vertFilter</I>? <P>
<B>winop image rotate</B> <I>srcImage</I>
<I>destImage</I> <I>angle</I> <P>
<B>winop image subsample</B> <I>srcImage</I> <I>destImage</I> <I>x</I> <I>y</I> <I>width</I> <I>height</I>
?<I>horizFilter</I>? ?<I>vertFilter</I>? <P>
<B>winop image snap <I>window photoName</I></B> <P>
<B>winop image
transparent</B> <I>srcImage</I> <I>destImage</I> <I>color</I> </blockquote>
<P>
 <P>
<B>winop lower</B> ?<I>window</I>?... <P>
<B>winop map</B> ?<I>window</I>?...
<P>
<B>winop move <I>window x y</I></B> <P>
<B>winop query</B> <P>
<B>winop raise</B> ?<I>window</I>?... <P>
<B>winop unmap</B> ?<I>window</I>?...
<P>
<B>winop warpto</B> ?<I>window</I>? 
<H2><A NAME="sect2" HREF="#toc2">Description</A></H2>
The <B>winop</B> command performs various window
and image operations on Tk windows using low-level Xlib function calls to
work around window manager peculiarities. 
<H2><A NAME="sect3" HREF="#toc3">Introduction</A></H2>
Tk has several commands
for manipulating its windows: <B>raise</B>, <B>lower</B>, <B>wm</B>, etc.  These commands ask
the window manager to perform operations on Tk windows.  In some cases,
a particular window manager won't perform the operation as expected. <P>
For
example, if you positioned a toplevel window using <B>wm geometry</B>, the window
may not actually be at those particular coordinates.  The position of the
window may be offset by dimensions of the title bar added by the window
manager.   <P>
In situations like these, the <B>winop</B> command can be used to workaround
these difficulties.  Instead, it makes low-level Xlib (such <B>XRaiseWindow</B>
and <B>XMapWindow</B>) calls to perform these operations. <BR>
<CODE>toplevel .top<BR>
wm withdraw .top<BR>
<P>
# Set the geometry to make the window manager <BR>
# place the window.<BR>
wm geometry .top +100+100<BR>
<P>
# Move the window to the desired location<BR>
# and "update" to force the window manager<BR>
# to recognize it.<BR>
winop move .top 100 100<BR>
update <BR>
<P>
wm deiconify .top<BR>
winop move .top 100 100<BR>

<H2><A NAME="sect4" HREF="#toc4"></CODE>Operations</A></H2>
The following operations are available for the <B>winop</B> command:

<DL>

<DT><B>winop changes</B> <I>window</I> </DT>
<DD>Realize window. </DD>

<DT><B>winop image</B> <I>subcommand</I> ... </DT>
<DD>Image sub-commands.
<blockquote></DD>

<DT><B>winop image alpha </B> <I>srcImage</I> <I>destImage</I> <I>color</I> ?<I>alpha</I>? </DT>
<DD>Set image pixels of
the given color to transparent. If an alpha value is not given, it defaults
to <B>0</B> (meaning transparent).  An alpha of 255 is used for solid. The <I>srcImage</I>
and <I>destImage</I> may be the same. </DD>

<DT><B>winop image colors</B>  ?<B>-alpha</B>? ?<B>-count</B>? <I>srcImage</I>
</DT>
<DD>Return list of distinct colors.  If -alpha is given, the alpha is appended
to each color after a colon, eg <I>#FF0000:00</I>.  If <B>-count</B> is given, returns
color/count pairs. </DD>

<DT><B>winop image convolve</B> <I>srcImage</I> <I>destImage</I> <I>filter</I> </DT>
<DD>Convolve
an image: filter is a list of numbers. The <I>srcImage</I> and <I>destImage</I> may be
the same. </DD>

<DT><B>winop image gradient</B> <I>image</I> <I>leftcolor</I> <I>rightcolor</I> ... </DT>
<DD>Generate a gradient
into <I>image</I>. <blockquote></DD>

<DT>-type halfsine|sine|linear|rectangular|radial|blank </DT>
<DD>Set the type
of gradient.  The default is <B>sine</B>. </DD>

<DT>-skew N </DT>
<DD>The <I>skew</I> determines the initial
fraction of the image that the gradient occupies, after which only rightcolor
is used. The skew must be &gt; 0 and &lt;= 1.0 and has a default value of <I>1.0</I> (ie.
not skewed). </DD>

<DT>-slant N </DT>
<DD>Make the gradient slant where a value of 1.0 slants
at 45 degrees. The value must be between -100.0 and 100.0. </DD>

<DT>-curve N </DT>
<DD>Curve the
gradient by passing the <I>Y</I> position to a function (see <I>-func</I>) scaled with
the given value. The value must be between -100.0 and 100.0 (typically 1.0).
</DD>

<DT>-func X </DT>
<DD>Function to use with <I>-curve</I>. The default value is <B>sin</B>. The value
must be one of: <B>sin cos tan sinh cosh tanh asin acos atan log log10 exp
sqrt rand circle</B>. </DD>

<DT>-rand N </DT>
<DD>Add small random purturbations to gradient to
avoid striation lines. The value must be between 0.0 and 0.1. </DD>
</DL>
</blockquote>

<DL>

<DT><B>winop image merge</B>
<I>srcImage1</I> <I>srcImage2</I> <I>destImage</I> ?<I>alpha</I>?  </DT>
<DD>Merge two images with alpha blending.
 The default alpha is 128. </DD>

<DT><B>winop image mirror</B> <I>srcImage1</I> <I>destImage</I> ?<I>x|y|xy|tile</I>?
 </DT>
<DD>Flips an image on axis x, y or xy.  The <I>tile</I> option results in a double
size image with mirror copies appended to generate a tile-able image. The
<I>srcImage1</I> and <I>destImage</I>  must not be the same if using <I>tile</I>. The default
is <B>xy</B>. </DD>

<DT><B>winop image quantize</B> <I>srcImage</I> <I>destImage</I> ?<I>nColors</I>? </DT>
<DD>Limit number of
colors in image.  Default 1. The <I>srcImage</I> and <I>destImage</I> may be the same. </DD>

<DT><B>winop
image readjpeg</B> <I>filename</I> <I>photoname</I> </DT>
<DD>Read a jpeg image using libjpeg.  IMG
makes this obsolete (and thus probably not builtin). </DD>

<DT><B>winop image recolor</B>
<I>srcImage</I> <I>destImage</I> <I>oldColor</I> <I>newColor</I> ?<I>alpha</I>? </DT>
<DD>Change pixels from <I>oldColor</I>
to <I>newColor</I>. If ?<I>alpha</I>? is not given it defaults to 255 (opaque). The <I>srcImage</I>
and <I>destImage</I> may be the same. </DD>

<DT><B>winop image resample</B> <I>srcImage</I> <I>destImage</I> ?<I>horizFilter</I>?
?<I>vertFilter</I>? </DT>
<DD>Resample an image.  If <I>srcImage</I> and <I>destImage</I> are the same
size, just makes a copy.  Otherwise the image is resized to the size of
<I>destImage</I>, possibly wih filtering. Filters are one of: <B>bell bessel box bspline
catrom default dummy gauss8 gaussian gi lanczos3 mitchell none sinc triangle</B>.
The <I>destImage</I> must be greater than 1x1. </DD>

<DT><B>winop image rotate</B> <I>srcImage</I> <I>destImage</I>
<I>angle</I> </DT>
<DD>Rotate an image.  The <I>srcImage</I> and <I>destImage</I>  may be the same. </DD>

<DT><B>winop
image subsample</B> <I>srcImage</I> <I>destImage</I> <I>x</I> <I>y</I> <I>width</I> <I>height</I> ?<I>horizFilter</I>? ?<I>vertFilter</I>?
</DT>
<DD>Resample area of an image.  See resample. </DD>

<DT><B>winop image snap <I>window photoName</I></B>
</DT>
<DD>Takes a snapshot of the <I>window</I> and stores the contents in the photo image
<I>photoName</I>. <I>Window</I> is the valid path name of a Tk window which must be totally
visible (unobscured).  <I>PhotoName</I> is the name of a Tk photo image which must
already exist.  This command can fail if the window is obscured in any fashion,
such as covered by  another window or partially offscreen.  In that case,
an error message is returned. </DD>
</DL>
</blockquote>

<DL>

<DT><B>winop lower</B> ?<I>window</I>?... </DT>
<DD>Lowers <I>window</I> to the
bottom of the X window stack.  <I>Window</I> is the path name of a Tk window.  
</DD>

<DT><B>winop map</B> ?<I>window</I>?... </DT>
<DD>Maps <I>window</I> on the screen.  <I>Window</I> is the path name of
a Tk window. If <I>window</I> is already mapped, this command has no effect.   </DD>

<DT><B>winop
move <I>window x y</I></B> </DT>
<DD>Move <I>window</I> to the screen location specified by <I>x</I> and <I>y</I>.
<I>Window</I> is the path name of a Tk window, while <I>x</I> and <I>y</I> are screen coordinates.
 This command returns  the empty string. </DD>

<DT><B>winop query</B> </DT>
<DD>Query pointer position.
 Returns @X,Y. </DD>

<DT><B>winop raise</B> ?<I>window</I>?... </DT>
<DD>Raises <I>window</I> to the top of the X window
stack. <I>Window</I> must be a valid path name of a Tk window.  This command returns
the empty string. </DD>

<DT><B>winop unmap</B> ?<I>window</I>?... </DT>
<DD>Unmaps <I>window</I> from the screen. <I>Window</I>
is the path name of a Tk window.  </DD>

<DT><B>winop warpto</B> ?<I>window</I>? </DT>
<DD>Warps the pointer
to <I>window</I>. <I>Window</I> is the path name of a Tk window which must be mapped. If
<I>window</I> is in the form <I>@x,y</I>, where <I>x</I> and <I>y</I> are root screen coordinates,
the pointer is warped to that location on the screen. <P>
[<I>I've never heard a
good case for warping the pointer in an application.  It can be useful for
testing, but in applications, it's always a bad idea.  Simply stated, the
user owns the pointer, not the application.  If you have an application
that needs it, I'd like to hear about it.</I>] <P>
If no <I>window</I> argument is present
the current location of the pointer is returned. The location is returned
as a list in the form "<I>x y</I>", where <I>x</I> and <I>y</I> are the current coordinates
of the pointer. </DD>
</DL>

<H2><A NAME="sect5" HREF="#toc5">Keywords</A></H2>
window, map, raise, lower, pointer, warp <P>
 <P>

<HR><P>
<A NAME="toc"><B>Table of Contents</B></A><P>
<UL>
<LI><A NAME="toc0" HREF="#sect0">Name</A></LI>
<LI><A NAME="toc1" HREF="#sect1">Synopsis</A></LI>
<LI><A NAME="toc2" HREF="#sect2">Description</A></LI>
<LI><A NAME="toc3" HREF="#sect3">Introduction</A></LI>
<LI><A NAME="toc4" HREF="#sect4">Operations</A></LI>
<LI><A NAME="toc5" HREF="#sect5">Keywords</A></LI>
</UL>
</BODY></HTML>