EdgeSnap gives AmigaOS 3.1 and later the window snapping of Windows and
macOS. Drag a window by its title bar until the POINTER touches a
screen edge or corner: a frame shows where it will land, and letting go
fills that half or quarter of the screen.
- docks and panels are detected and never covered;
- two windows side by side share their edge: press the seam and drag
it, and both are resized;
- a snapped window dragged away from the edges gets its old size
back, under the pointer;
- hotkeys, each of which you can change: ctrl alt cursor keys, ctrl
alt c for the middle of the screen, ctrl alt z for a selector under
the pointer;
- an ARexx port, EDGESNAP, for scripts, dock buttons and file
managers;
- it is a commodity: it starts with the system from SYS:WBStartup,
and Exchange enables, disables or removes it like any other.
The behaviour lives in edgesnap.library, not in the commodity, so any
program can ask for the same things: the commodity is a client like any
other. esnaptest, in the package, is a worked example. The library has
the same calls on AmigaOS 4, MorphOS and AROS, where EdgeSnap is
edgesnap.lha and its AROS siblings.
This build is for the 68000 and later, on AmigaOS 2.04 or later, with
or without a graphics card. I tested it on AmigaOS 3.2.3 and 3.1, and
earlier versions on an A1200, a Vampire and a PiStorm; 3.1.4 should be
fine, and I would like to hear how it does. It is a beta: please write
to me about anything that looks wrong, with the machine, the system
version and what you did.
Since 0.51: closing one of two windows side by side with its close
gadget, which sits beside the seam, could have EdgeSnap ask Intuition
to put the seam's handle in front of a window that was just going. It
no longer does. The seam lights up only where a press takes hold of
it: it used to light up three pixels to each side as well, where the
press went to the window underneath. A window that stands partly off
the screen is moved back onto it before it is resized
(edgesnap.library 2.29). On AmiKit, EdgeSnap now leaves MCP's solid
window moving on and snaps the windows MCP moves; it used to turn it
off while it ran, which KEEPMCP=NO still does.
TO INSTALL: double-click the Install icon. It recognises the system,
proposes the matching build, and puts everything where it belongs: the
library in LIBS:, the commodity and its icon in SYS:WBStartup, the
preferences in SYS:Prefs, the manual where you say. Nothing is written
to S:User-Startup. Updating is installing again: no reboot needed.
AFTER THE FIRST INSTALLATION ON AMIGAOS 3.2, RESTART THE SYSTEM. The
installer turns on one setting of AmigaOS, "Can Move Off-screen" of the
IControl preferences, which AmigaOS takes up when it starts: with it a
dragged window goes on past the edge, and the pointer reaches the edge.
The installer says so, and EdgeSnap's preferences turn the setting
back.
On AmiKit, and wherever MCP is installed, the installer leaves that
setting off: there a DOpus lister moved past the edge comes back with
noise where it was off the screen. The push below snaps instead.
Without that setting a dragged window stops at the edge and holds the
pointer back: until the restart, if you turn the setting off, and on
AmigaOS 3.1 and earlier, which do not have it. There push the mouse on
a little further against the edge and the frame comes up. How far is
"Push against an edge" in the preferences (PUSHPX, 24 pixels as it
comes); 0 turns the push off.
A window jumps into its zone. It can glide there instead, and that is
off as installed: 68k machines differ widely in speed, and without a
graphics card a glide can be slow. Turn on "Glide into place" in the
preferences if yours is quick enough.
On AmiKit, MCP can move windows itself, whole. EdgeSnap snaps those
windows too and leaves MCP's settings alone.
The icons are by Carlo Spadoni, who drew them for EdgeSnap.
Full documentation is in EdgeSnap.guide. EdgeSnap is MIT licensed; the
source is at https://github.com/kaffeine1/edgesnap-classic
Support my work on Patreon. Contributions are voluntary; no
subscription is required to use this software.
https://www.patreon.com/c/kaffeine1
If you prefer a one-time contribution, you can support my work on
Ko-fi.
https://ko-fi.com/kaffeine1
|