Usenet News
  Mail Routing
  Text Paging

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 the Finder.
  • 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 script's directory.
  • 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 three seconds.
  • 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 properly.
  • 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.

  • Initial Public Release