AminetAminet
Search:
84498 packages online
About
Recent
Browse
Search
Upload
Setup
Services

util/misc/IconifyGadget.lha

Mirror:Random
Showing:m68k-amigaosppc-amigaosppc-morphosi386-arosi386-amithlonppc-warpupppc-powerupgeneric
No screenshot available
Short:Adds iconify gadget to windows. BETA version.
Author:Håkon Enger (henger at fys.uio.no)
Uploader:henger fys uio no
Type:util/misc
Version:0.8 beta
Architecture:m68k-amigaos
Date:1996-04-17
Download:http://aminet.net/util/misc/IconifyGadget.lha - View contents
Readme:http://aminet.net/util/misc/IconifyGadget.readme
Downloads:787

NOTE: This is a beta version. If you use this program, it WILL cause
your computer to crash, sooner or later. If you still want to try it,
I would be grateful if you tell me when you find a bug.

CHANGES SINCE VERISON 0.7:
  · The WIDTH option, which was totally unusable was fixed.
  · The gadget now assumes the correct width automatically, also on
    gfx boards (I hope)
  · App-icon handling is now done by the IconifyGadget process itself,
    so the MCP bug is gone. Don't expect MCP AppChange to be useful
    anyway, though.
  · The WBWINDOWS option was moved to the config file
  · Slightly new format of config file, including an option to specify the
    file name of the config-file.
  · Now has an option to save the contents of windows, especially useful
    for SMART_REFRESH windows.
  · Supports StartMenu version 2.0! This is still somewhat experimental,
    since all I have is a beta version of StartMenu 2.0. Expect Iconify-
    Gadget to hang frequently! (Think this is a StartMenu bug...)


Commodities/IconifyGadget                          Commodities/IconifyGadget


    NAME
        IconifyGadget - add iconify gadget to windows


    USAGE
        IconifyGadget [Screens {WORKBENCH|PUBLIC|ALL}] [IKey <keyseq>]
                      [3DLook] [Width <width>] [MoveRight] [SaveSmart]
                      [CX_Priority <pri>] [Config <configfile>]


    REQUIREMENTS

        Any Amiga computer with Workbench 2.0 or higher.


    FUNCTION

        If you run a lot of programs that open windows on the Workbench
        screen, the screen easily gets overcrowded. IconifyGadget helps
        with this problem by adding an option to iconify windows. Windows
        that are iconified are temporarily removed from view and replaced
        by an icon. When the icon is double-clicked on, the window appears
        again and the icon disappears. Iconifying windows with Iconify-
        Gadget is done by clicking on a new gadget appearing to the left
        of the "Zoom" gadget in the upper right corner of the window, or
        by pressing a user-selectable key defined by the IKEY parameter.
        Not all windows are iconifiable, see the DISCUSSION section below
        for details. Also read the WARNING and BUGS sections below.

        IconifyGadget is a commodity, so it can be controlled by the
        Commodities Exchange utility. Removing IconifyGadget is
        dangerous if other programs have patched the library functions
        that are patched by IconifyGadget. Se DISCUSSION.

        The gadget used is visually similar to the iconify gadget used by
        MUI, which is also used by KCON. An alternate image is provided
        and may be selected with the 3DLOOK switch. This image may be
        preferred if you use "SysIHack".

        A config file is used to specify several options to IconifyGadget.
        This file is described in the section CONFIG FILE OPTIONS, below.

        IconifyGadget also supports the StartMenu application, a
        Windows 95 "TaskBar" clone program which adds a menu bar
        to the bottom of the screen. With appropriate options in
        the config file, windows may show up in this bar instead of
        as icons when they are iconified.


    PARAMETERS

        All parameters can be used as tooltypes when started from WB or
        as command line parameters when started from the Shell.


        SCREENS     Define which screen(s) the programs will affect.
                    Specifying WORKBENCH will only affect windows on the
                    Workbench screen, PUBLIC will affect windows on all
                    public screens, and ALL will affect windows on all
                    screens. Since the icons appear only on the WB screen,
                    iconifying windows on other screens seems a little
                    weird, but if you want it, there it is. Default is
                    WORKBENCH

        IKEY        Specify a key sequence that will iconify the active
                    window. Default is none.

        3DLOOK      For those who like to fool around with sysihack, this
                    switch gives an alternate image for the gadget.

        WIDTH       Width of the iconify gadget. If not specified, the
                    standard width will be used, based on the resolution
                    of the screen.

        MOVERIGHT   Move the gadget right if there is no zoom gadget.
                    This might be confusing since the iconify gadget might
                    be mistaken for the zoom gadget, so it's an option.

        SAVESMART   Use this switch to remember the contents of all
                    SMART_REFRESH windows. Also see the SAVE option in
                    the config file.

        CX_PRIORITY Priority for the commodities exchange broker.

        CONFIG      Specify the name of the config file. The default name
                    is "ENV:IconifyGadget.config".


    CONFIG FILE OPTIONS

        The config file is by default called "ENV:IconifyGadget.config"
        but this can be changed with the CONFIG option. Each line
        is this file specifies what IconifyGadget should do with a
        certain window, or a certain class of windows.

        The lines in should contain the following:

         · ONE of the following three keywords to specify which class of
           windows the options on this line is for:
           - A standard AmigaDOS wildcard pattern, to be matched
             with the title of the window.
           - The keyword WBWINDOWS, specifying windows created by
             the Workbench process.
           - The keyword DEFAULT, specifying windows not matched by
             any of the above.

         · Optionally the keyword IGNORE, meaning that this window
           should be conpletely overlooked by IconifyGadget.

         · Optionally the keyword NOGADGET, meaning that IconifyGadget
           should not add a gadget to this windows border, but that
           it should still be possible to iconify the window with
           the hot key.

         · Optionally a file name for the icon to use for this window,
           without the ".info"-part.

         · Optionally the keyword CLOSE, meaning that the window should
           function excactly like the close gadget of the window.
           This is useful e.g. for Workbench windows, which already
           have icons. It is also useful for programs that iconify
           themselves when you press the close gadget.

         · Optionally the keyword SAVE, which indicates that the
           contents of this window should be remembered when the window
           is iconified. This takes some extra memory, and at the
           moment the window must be brought to front before it is
           iconified to reveal any part of the window that is hidden.
           This option is useful for windows that do not refresh
           correctly when un-iconified, such as many SMART_REFRESH
           windows. Also see the SAVESMART option.

         · Optionally the keyword BARIFY, which indicates that the
           window should appear in the StartMenu bar when iconified,
           if StartMenu version 2.0 or later is running.

        Here is an example of a config file:

        -------------------------------------------------------------
        Default ENV:sys/def_Iconify
        WBWindows CLOSE
        Exchange#? sys:Tools/Commodities/Exchange
        DeliTracker#? CLOSE
        AmigaShell sys:System/CLI
        -------------------------------------------------------------


    DISCUSSION

        This program is one I have wanted to write ever since I got hold
        of Ewout Walraven's "Iconify". That program made it possible to
        iconify most windows by pressing ctrl and double-clicking in
        them, but I wanted a gadget to click on! So here it is, finally
        in beta version. Comments and bugreports are welcomed!

        I owe a lot to Ewout Walraven for this program, even if he
        doesn't know it himself. The method used for iconifying the
        windows was inspired by "Iconify", and also the icon was stolen
        from there.

        The program works by adding a gadget to all windows that are
        iconifyable. That means that they are refreshable and not gimme-
        zerozero or borderless. If the window already has a gadget in the
        position where IconifyGadget adds it's gadget, the window is
        considered not iconifyable by IconifyGadget. This is usually
        because the program that uses the window has provided a way
        to iconify thw window. The windows are iconified by resizing and
        moving the layer of the window to the bottom left corner of the
        screen. (Clicking in this corner may give strange results for
        some windows!) The window is never really removed from the screen,
        so the screen can not be closed if there are any iconified windows
        left.

        When the windows are iconified, they will be represented by an
        AppIcon on the Workbench screen. Double-clicking on this icon will
        bring back to full sized window to the front of the screen.

        IconifyGadget patches the following intuition.library functions:
        OpenWindow, OpenWindowTagList, CloseWindow, AddGadget and
        WindowToFront. If a program that patches any of these is started
        after IconifyGadget, it should be removed before IconifyGadget is
        removed. Alternatively, you can use a utility such as PatchControl
        to handle the patches.


    WARNING

        Fooling around with other programs' windows is NOT a nice thing to
        do. If you don't like to take chances, don't use this program.


    BUGS

        This is a beta version, so there are probably lots of unknown bugs.

        Since this program seriously hacks the system, it's probably not
        possible to eliminate all 'bugs' (cf the warning above). I'll try
        to do my best, however.

        There is a that makes CPR crash if you try to add an iconify gadget
        to it's windows. I have not been able to find out why this happens.

        The following bugs were reported by people trying ealrier versions:
        · MUI3 windows get two iconify gadgets (mine and theirs).
          Solution: Turn of iconifying for either MUI or IG (using the
          config file). (First reported by Carl Seward)
        · Workbench windows like Execute and Info can be iconified, but
          since workbench is frozen while these windows show (not Info in
          OS3.0+), the icons never show up and hence they cannot be un-
          iconified. Solution: Use the config file to ban these windows
          from iconifying. (First reported by John Gardi) 
        · Adding an iconify gadget to the CPUsage meter of SuperDashBoard
          causes a crash. Solution: Same as above (for now...)
          (Also reported by John Gardi)

        Some windows mysteriously un-iconifies themselves if you click in
        the lower right corner of the screen.

        Some windows don't refresh correctly when they are un-iconified.
        Soultion: Use the SAVE option in the config file or the
        SAVESMART option on the command line or in the tooltypes.

        When you find a bug, please inform me on how it occured. If you
        have the source code to the program that was making IconifyGadget
        crash, it would be of great help to me if you could send that too.
        My address (email and otherwise) is at the end of this document.


    THANKS

        Thanks to Ewout Walraven for making the Iconify program.

        Thanks to everybody who reported bugs and had suggestions to the
        first release of IconifyGadget.


    COPYRIGHT

        IconifyGadget is Copyright © 1995 Håkon Enger

        This beta version may not be distributed without explicit
        permission from the author. Such permission is given to the AmiNet
        collection of Amiga software FTP sites.


    AUTHOR

        Håkon Enger

        Email addresses: henger at fys.uio.no, haakone at ifi.uio.no. If one of
        them bounces, try the other one.

        Regular mail should be addressed to:
            Håkon Enger
            Rikard Nordraaksveg 12
            N-2400 Elverum
            Norway


Contents of util/misc/IconifyGadget.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO     CRC       STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[generic]                11341   20732  54.7% -lh5- 1dc5 Apr 15  1996 IconifyGadget
[generic]                  112     132  84.8% -lh5- 37cb Apr 15  1996 IconifyGadget.config
[generic]                  345     653  52.8% -lh5- 682d Apr 15  1996 IconifyGadget.info
[generic]                 4672   12524  37.3% -lh5- 2d02 Apr 15  1996 IconifyGadget.readme
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total         4 files   16470   34041  48.4%            Apr 17  1996

Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>