From: Masatsugu Nagata (nagata@KURIMS.KYOTO-U.AC.JP)
Date: 10 Feb 99, 18:29 EST
From: Masatsugu Nagata <nagata@KURIMS.KYOTO-U.AC.JP>
Subject: 'zoom' in Alpha
Hi again,
In my previous mail, I wrote:
> (4)
> By the way, I still cannot download the three new files "smartPaste.sit",
> "superSearch.sit" and "VinceAdditions.sit" files under
> <ftp://ftp.ucsd.edu/pub/alpha/>. They all come up as a corrupted download.
>
This was partially wrong. VinceAdditions was packaged as
"VinceAdditions.sit.bin", and, this is downloaded fine, just as
"Alpha7.1.8.sit.bin" is. They were both successfully decoded by
"MacBinary III 1.0a1" and then "StuffIt Engine 4.0.2".
The corrupted ones are the other two: "smartPaste.tcl.sit" and
"superSearch.tcl.sit". Neither StuffItExpander 5.0 nor 4.0.1
can expand it -- Its datafork is of a format that I have never seen,
starting with a quite long header part that begins with a copyright
statement by Aladdin/StuffIt.
So, 'superSearch' remains unreachable and mysterious, to me...
>>>
Now, I have some question/suggestion, regarding the 'zoom' function of
Alpha. 'zoom' is a built-in function of Alpha's core, so this remains the
same between Alpha 6.* and Alpha 7.*.
When 'zoom' is executed, it seems that Alpha toggles the current window
position/size with the full-screen position with $tileWidth/$tileHeight.
$tileWidth is defined as {$screenWidth - 10pixels}, and
$defWidth is defined as 510 pixels (or $tileWidth if it's smaller than 510)
$defWidth is used for new windows. However, once the window is
moved/resized, there seems to be NO way to easily move it back to this
"default" position/size. 'zoom' only moves the window to fullscreen,
which is NOT the $defWidth.
Isn't this strange? On the other hand, the 'winvertically' proc uses
$defHeight (the narrower window-width) rather than $tileWidth (fullscreen).
This is definitely strange: why should two windows fill screen with
'winhorizontally', while they do NOT fill with 'winvertically' ?????
Anyway, I prefer the 'zoom' function to move/resize to the "default"
(with $defWidth, not $tileWidth), so I have been using a modified,
secondary zooming proc, for many years.
I have just confirmed: Anyone can just put the following text into
the 'prefs.tcl' file of Alpha 7.1.8
(via the menu: [Config:Preferences:Edit Prefs File])
and they work just as is. Here is the bottom chunk of text from my
'prefs.tcl':
###########
#
proc zzoom {} {
global zooming defHeight defWidth tileTop tileLeft
set fileName [lindex [winNames -f] 0]
if {[catch {set data $zooming($fileName)}]} then {
set zooming($fileName) [getGeometry]
moveWin $tileLeft $tileTop
sizeWin $defWidth $defHeight
} else {
moveWin [lindex $data 0] [lindex $data 1]
sizeWin [lindex $data 2] [lindex $data 3]
unset zooming($fileName)
}
}
Bind '/' <c> zzoom
Bind f9 <s> zoom
# Re-bind command-"/" to the above 'zzoom', which zooms the window
# to the default size.
#
# Just in case I want to zoom the window to fullscreen, I bind Pete's
# original 'zoom' to shift-F9.
# Of course, clicking the window zoombox also calls the 'zoom' function.
# In "SystemCode:win.tcl", proc winvertically should be...
# # set width $defWidth
# set width $tileWidth
# "Packages:emacs.tcl" should comment out the line...
# # Bind '1' <X> zoom
#
###########
Could someone who has Alpha source code (Jonathan?) check out what actually
the core 'zoom' function does? Does it do the same thing as the above
'zzoom' with $defWidth/$defHeight replaced with $tileWidth/$tileHeight?
I would appreciate any comments.
Thanks,
Mark
--
Mark Nagata
mailto:nagata@kurims.kyoto-u.ac.jp