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

util/cdity/edgesnap.lha

Mirror:Random
Showing: generic icon
No screenshot available
Short:Tile windows by dragging them to an edge
Author:"Michele Dipace" michele.dipace at kaffeine.net
Uploader:michele dipace kaffeine net (Michele Dipace)
Type:util/cdity
Version:0.31
Architecture:ppc-amigaos >= 4.0.0; ppc-morphos
Date:2026-09-09
Replaces:util/cdity/edgesnap.lha
Download:util/cdity/edgesnap.lha - View contents
Readme:util/cdity/edgesnap.readme
Downloads:214

WHAT IS NEW IN 0.31

0.31 corrects the installer: it was offering to copy the commented settings
template into ENVARC:, with the answer set to yes by default, so an update
could replace the settings the user had saved. A file already in ENVARC: is
now left alone and never asked about. Reported by a distribution maintainer
reading the 0.3 archive.

I have added AROS x86_64 ABIv11, with a native shared library, Zune
preferences and PNG icons. It has its own archive; the AmigaOS 4 and MorphOS
builds still travel together.

Library API 2.5 adds window enumeration, change tracking and placement of
individual windows or complete layouts in arbitrary rectangles. API 2.6 adds
window serials and lookup, so a client need not use a reused window address
as its identity.

On MorphOS as delivered a window may not leave the screen, and the pointer
stayed pinned to it short of the edge: snapping by drag now works there too,
without holding Control, because the library (2.7) is told how far the mouse
itself travelled.

Drag detection remembers where the title-bar press began and accepts outline
drags and tablet motion. Pair fill and seam resizing respect each window's
size limits, and layout changes shrink before growing. The PPC hotkey path
lets the window change finish before finding the seam.

On AROS, the preview works with outline dragging, Wanderer receives fresh
damage after resizing, and hiding the seam preserves repainted pixels. The
installer retires the first AROS preview in C: before installing the current
commodity and its icon in SYS:WBStartup.

WHAT IT IS

EdgeSnap gives AmigaOS 4.x, MorphOS and AROS x86_64 the window snapping that
Windows and macOS users reach for without thinking. Drag a window against a
screen edge or corner and it fills that half or quarter of the screen. A
frame shows where it will land before you let go.

Two windows that end up side by side share a seam, and that seam can be
dragged: both windows are resized together, so half and half becomes sixty
and forty. Docks and panels are detected and never covered.

It installs as a commodity that starts with the system, so the behaviour is
simply there. Nobody has to launch anything.

THIS IS A BETA

Version 0.31 is still a beta. I checked this build under emulation on
AmigaOS 4.1, MorphOS 3.20 and a fresh AROS One 1.3 x86_64 installation. The
AROS test passed 40 snaps with DualPNG icons, overlapping drawers and off-
screen starts, but that does not resolve the report of black drawer areas on
real hardware. On AmigaOS 4 and MorphOS the narrow seam handle can retain
old pixels after another window covers it and goes away; this also
reproduces with the original 0.2. On AROS drivers where the screen cannot be
read back reliably the preview frame is drawn as a plain inversion; a tester
on NVIDIA Nouveau saw thin traces of it stay on the desktop, which this
build addresses, awaiting his confirmation. All of it remains worth
reporting.

The interface below 1.0 is not frozen. If EdgeSnap covers your dock, misses
your seam or draws something odd, please include the system, version banner,
steps and a screenshot in your report.

Report it here, or to the address at the top of this file:

https://github.com/kaffeine1/edgesnap/issues

INSTALLING

Unpack the archive and double-click Install. It recognises the system,
proposes the matching build, and asks before doing anything: the library
goes to LIBS: and the preferences window to SYS:Prefs/. On AmigaOS 4 and
MorphOS the commodity goes to C: with a line in S:User-Startup. On AROS it
goes to SYS:WBStartup with its icon, and the first preview's copy in C: is
stopped and removed. Updating is just installing again: the running copy is
stopped and replaced, with no reboot.

USING IT

  - Drag a window's title bar until the POINTER touches an edge or a
    corner, then release.
  - Grab the seam between two tiled windows - the pointer becomes a
    double arrow - and drag it to re-balance them.
  - ctrl alt cursor left/right/up snap the active window,
    ctrl alt cursor down puts it back where it was.
  - Settings live in SYS:Prefs/EdgeSnap, native on each system: ReAction
    on AmigaOS 4, MUI on MorphOS, Zune on AROS. EdgeSnap follows changes
    at once, without being restarted.
  - Exchange enables, disables or removes it, as with any commodity.
  - EdgeSnap QUIT stops it from a Shell or a script.

FOR PROGRAMMERS

The behaviour lives in edgesnap.library, not in the commodity: the commodity
is a client of it like any other program can be. Another program can ask for
a window to be placed, ask where a zone is, or find and move the seam
between two tiled windows.

The API also enumerates windows, tracks changes, places whole layouts and
supplies serials for window identity. The included esnaptest client
exercises the 2.5 and 2.6 calls on both PPC systems.

The library says 2.7 while EdgeSnap says 0.31, and that is not a mistake: a
library's version is its interface, not its product. While EdgeSnap is below
1.0 treat that interface as not frozen - methods are only ever appended,
never moved or removed, but names and arguments may still change.

THANKS

The icons are by Carlo Spadoni, who drew them for EdgeSnap and let me ship
them with it. The testers on the AROSWorld forum found the black areas in
Wanderer's drawers, the colour left along the seam and the traces of the
preview frame on one graphics driver, each with a video or a log that made
the cause findable.

LICENCE AND SOURCE

MIT. The full text is in the LICENSE file inside the archive.

Source, issues and the design notes: https://github.com/kaffeine1/edgesnap


Contents of util/cdity/edgesnap.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
drwxr-xr-x   501/20          0       0 ****** -lhd- 0000 Sep  8 19:10 EdgeSnap/
-rw-r--r--   501/20       4653   11522  40.4% -lh5- 4e64 Sep  8 19:10 EdgeSnap/EdgeSnap.guide
-rwx------   501/20       2676    6096  43.9% -lh5- 722a Sep  8 19:10 EdgeSnap/EdgeSnap.guide.info
-rw-r--r--   501/20        655    1095  59.8% -lh5- f057 Sep  8 19:10 EdgeSnap/EdgeSnap.prefs
-rw-r--r--   501/20        915    1692  54.1% -lh5- 565f Sep  8 19:10 EdgeSnap/EdgeSnap.readme
-rwx------   501/20       1337    2174  61.5% -lh5- dc5d Sep  8 19:10 EdgeSnap/EdgeSnap.readme.info
-rw-r--r--   501/20       5238   16548  31.7% -lh5- fa56 Sep  8 19:10 EdgeSnap/Install
-rw-r--r--   501/20       1747    2597  67.3% -lh5- d96e Sep  8 19:10 EdgeSnap/Install.info
-rw-r--r--   501/20        653    1101  59.3% -lh5- 70c8 Sep  8 19:10 EdgeSnap/LICENSE
drwxr-xr-x   501/20          0       0 ****** -lhd- 0000 Sep  8 19:10 EdgeSnap/mos/
-rwxr-xr-x   501/20      40215   88440  45.5% -lh5- c27d Sep  8 19:10 EdgeSnap/mos/EdgeSnap
-rw-r--r--   501/20        325     911  35.7% -lh5- 10d9 Sep  8 19:10 EdgeSnap/mos/EdgeSnap.info
-rwxr-xr-x   501/20      19513   40952  47.6% -lh5- 3ff7 Sep  8 19:10 EdgeSnap/mos/EdgeSnapPrefs
-rw-r--r--   501/20        134     596  22.5% -lh5- dd70 Sep  8 19:10 EdgeSnap/mos/EdgeSnapPrefs.info
-rwxr-xr-x   501/20      24983   50524  49.4% -lh5- 05d7 Sep  8 19:10 EdgeSnap/mos/edgesnap.library
-rwxr-xr-x   501/20      21892   51616  42.4% -lh5- 71b4 Sep  8 19:10 EdgeSnap/mos/esnaptest
drwxr-xr-x   501/20          0       0 ****** -lhd- 0000 Sep  8 19:10 EdgeSnap/os4/
-rwxr-xr-x   501/20      22391   80424  27.8% -lh5- 8960 Sep  8 19:10 EdgeSnap/os4/EdgeSnap
-rw-r--r--   501/20        325     911  35.7% -lh5- 10d9 Sep  8 19:10 EdgeSnap/os4/EdgeSnap.info
-rwxr-xr-x   501/20      15805   75824  20.8% -lh5- 8e02 Sep  8 19:10 EdgeSnap/os4/EdgeSnapPrefs
-rw-r--r--   501/20        134     596  22.5% -lh5- dd70 Sep  8 19:10 EdgeSnap/os4/EdgeSnapPrefs.info
-rwxr-xr-x   501/20      23235   79016  29.4% -lh5- d51e Sep  8 19:10 EdgeSnap/os4/edgesnap.library
-rwxr-xr-x   501/20       5303   71032   7.5% -lh5- bb90 Sep  8 19:10 EdgeSnap/os4/esnaptest
-rw-r--r--   501/20        143     627  22.8% -lh5- 0f58 Sep  8 19:10 EdgeSnap.info
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total        24 files  192272  584294  32.9%            Sep  9 03:02
Page generated in 0.02 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>