IMAP & POP
|University of Michigan
||IT Central Services
iHook - Changelog
- Leopard support, allowing iHook to be run over Leopard's loginwindow.
- Added new %INPUT directive.
- Universal binary.
- Xcode 2 native project.
- Fixed crash occurring when messages were sent rapidly between threads.
- Added new directive: %LOG <OPEN/APPEND/CLOSE> /path/to/logfile
- Fixed bug causing progress bar to be removed when sending a
progress directive following a %100.
- Fixed Setup-iHook-Logout.shook to run all scripts.
- Added self-repair to allow drag and drop installation.
- Extended %BACKGROUND directive to recognize IHOOKDEFAULT.
- Fixed Setup-iHook-Logout.shook to pass parameters to LO scripts.
- Updated documentation.
- Added %UIMODE directive and extended %0-100 directive.
- Drawer always opens on bottom of window.
- Built with gcc 3.3.
- Updated documentation.
- Fixed creation of arguments to pass to script: no longer passing
scriptpath as one of the arguments.
- Improved parsing of --script argument, expanding ~ if there is one.
- Added default check to determine whether to display the iHook window
with a title bar.
- Fixed excessive CPU usage problem.
- All command-line arguments are now passed to the script properly.
- Fixed broken --script switch.
- iHook window has a miniaturize button and title bar if run from
- Added %WINDOWMINIATURIZE and %WINDOWDEMINIATURIZE, which
miniaturize and deminiaturize the iHook window, respectively.
- Files with the .shook extension require an administrator name and
password to be executed, and are run with an effective uid of 0.
- Added directives: %BACKGROUNDSCALING, %BEEP, %SOUND, %TEXTCOLOR,
and %WINDOWZOOM. (see lexicon.)
- Progress bar is now properly placed in the window after a the window
has been resized or repositioned.
- Before execution, iHook changes the current working directory to the
- Improved directive handling.
- Added four new directives: %WINDOWPOSITION, %CANCEL, %TITLE, and %DEBUG.
- Extended %WINDOWSIZE directive to accept two special parameters,
MAX and MIN.
- Drawer resizes to fit on screen.
- Further revisions to directive parsing code for greater speed.
- Added new directive:
%WINDOWSIZE <WIDTH> <HEIGHT>. %WINDOWSIZE
sets the iHook window size to WIDTHxHEIGHT, recentering the window
as it resizes.
- Restored timer, which had gone missing in 0.8.5.
- Better error handling, preventing malformed directive parameters from
crashing iHook. Errors raised by such directive parameters are logged
to the drawer.
- Minor enhancements to directive parsing code.
- Added three new directives: %BECOMEKEY, %RESIGNKEY and
%WINDOWLEVEL . %BECOMEKEY makes iHook the active
application, disregarding other open applications; it also steals
keyboard and mouse focus immediately following the call, although
users can deactivate it by clicking outside of the iHook window.
%RESIGNKEY causes iHook to give up active application status.
%WINDOWLEVEL HIGH sets the iHook window at
(NSScreenSaverWindowLevel - 1), which places it above all windows
with the exception of screensavers; %WINDOWLEVEL NORMAL sets the
iHook window at NSNormalWindowLevel, which allows the user to
put it in the background.
- Rewrote portions of directive parsing code for faster comparisons.
- Don't show default UI if item we try to execute exits in first
- If run when no one is logged in, actually center the iHook window
instead of calling -center on the window, which only centers
the window horizontally. This change will cause iHook to cover the
loginwindow, if it is visible.
- Pass arguments to iHook not beginning with --script to the executable.
This passes the user name to the executable in cases where iHook is
run as the LogoutHook, so scripts needing that parameter can function
- If execve fails, as in the case when the item selected iHook is
told to run is not an executable, report an error in the window,
and add the error returned by execve to the log drawer.
- Rearranged UI elements to resemble more closely the Mac OS X
boot progress window.
- If we do not receive any directive for 3 seconds following launch,
show the default interface, barberpole and iHook background. A script
will generally want to call %BEGINPOLE or %0 and %BACKGROUND /path/to
/an/image when it starts, but is not required to.
- Stripped Type/Creator code from source.
- If iHook is run while a user is logged in, set the window level to
NSNormalWindowLevel so we don't interfere with other open windows. If
no user is logged in, display at ( NSScreenSaverWindowLevel - 1 )
- iHook icon accepts drops, and attempts to run the dropped files.
- Added %OPENDRAWER and %CLOSEDRAWER directives.
- Changed default background image.
- If the script iHook is running doesn't call for any sort of progress
bar within three seconds of the script's launch, iHook displays
a barberpole until the script calls for a determinate progress bar
or the script finishes, whichever comes first.
- If there's no console user, iHook tries to execute /etc/logout.hook.
- When doubleclicked in the Finder or launched from the Dock, iHook
prompts the user to choose an executable to run.
- ".hook" files now receive an iHook document icon. Doubleclicking
".hook" files runs that file through iHook.