Short: Changes window dimension and position Author: Ralph Reuchlein Uploader: Ralph Reuchlein Type: util/cli Version: 1.0 Replaces: util/cli/NewWinBox.lha Architecture: m68k-amigaos Kurz: Ändert Fenstergröße und -position NewWinBox ========= PURPOSE This small utility written in one hour only is used for changing the window box of the active window. For instance I am using it with ARexx to change the size of the CygnusEd window automatically when opened on a public screen. HISTORY v1.0: - public release INSTALL Simply unpack the archive to anywhere you want. I prefer to copy the executable to C:. REQUIREMENTS - OS 3.0 and higher - opened windows :-) USAGE The template is DELAY=D/N/K,WIDTH=W/N/K,HEIGHT=H/N/K,LEFT=X/N/K,TOP=Y/N/K,QUIET/S The parameter DELAY delayes (so what? :-) the detection of the active window. If you e.g. specify DELAY=5, you then have 5 seconds to make the window active you want to change. The WIDTH and HEIGHT parameters specify the new window dimension, LEFT and TOP were used for the window position on screen. Finally QUIET supresses some window information. The program checks whether the window can fit into the screen and whether the new size is allowed by intuition. Each window has a minimum and maximum size and if your new size exceeds the limits, you will get an error message and no change is done. EXAMPLES Using NewWinBox in a Shell without parameters like nwb prints a statistic about the shell window (or another window if you are fast as light in changing windows :-). You will get Original window dimensions: Width: 644, Height: 501, Left: 156, Top: 16 MinWidth: 80, MinHeight: 50 MaxWidth: 65535, MaxHeight: 65535 ScrWidth: 800, ScrHeight: 600 No window movement needed. Using nwb quiet is silly, because nothing is done and nothing is printed to STDOUT, eh? :)) nwb w=400 height=400 left=0 moves the window to the most left position on screen and resizes it to 400x400: Original window dimensions: Width: 644, Height: 501, Left: 156, Top: 16 MinWidth: 80, MinHeight: 50 MaxWidth: 65535, MaxHeight: 65535 ScrWidth: 800, ScrHeight: 600 Expected window dimensions: Width: 400, Height: 400, Left: 0, Top: 16 New window box is set. You will be warned when using bad parameters like nwb x=200 on a screen width of 800 and window width of 644: Original window dimensions: Width: 644, Height: 501, Left: 156, Top: 16 MinWidth: 80, MinHeight: 50 MaxWidth: 65535, MaxHeight: 65535 ScrWidth: 800, ScrHeight: 600 Expected window dimensions: Width: 644, Height: 501, Left: 200, Top: 16 Left 200 plus Width 644 is too large for screen, must be less equal 800 With the QUIET parameter you can use nwb in Shell or ARexx scripts for changing windows silently. BUGS *kough* What's that? DISCLAIMER THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. MISC Suggestions and bug reports are welcome, but I think the little program's purpose is fully accomplished. Just a technical information: This program uses LockIBase() to get the active window. The function from intuition.library will mix up intuition if used too long and during the lock no intuition action can be done which other processes may confuse. Better use it with a good task priority to avoid blocking intuition. CONTACT Ralph Reuchlein [updated 30-May-2020 because neither address nor email was valid]