Releases: kaffeine1/edgesnap
Release list
EdgeSnap 0.31 beta
EdgeSnap 0.31 beta
0.31 corrects one thing in the installer, reported by a distribution
maintainer reading the 0.3 archive: the commented settings template was
offered for ENVARC: with the answer set to yes by default, so updating
could replace the settings a user had saved. A file already in ENVARC:
is now left alone and never asked about. Nothing else changed, and the
programs are the same as 0.3 apart from their version string.
The number is 0.31 and not 0.3.1 on purpose: an Amiga version is a
version and a revision, and Version would have read 0.3.1 as 0.3.
What 0.3 brought
I have added AROS x86_64 ABIv11 alongside AmigaOS 4 and MorphOS, with a
native shared library, Zune preferences and PNG icons. The AROS build has
its own archive; the two PPC builds still travel together.
- On MorphOS as delivered a window may not leave the screen and the
pointer stayed pinned short of the edge: snapping by drag now works
there without holding Control, because the library (2.7) is told how
far the mouse itself travelled. - Library API 2.5 adds window enumeration, change tracking and arbitrary
placement of a window or a complete layout. API 2.6 adds stable window
serials and lookup for other tiling clients. - Drag detection remembers the initial title-bar press and handles
outline drags and tablet motion. Pair fill and seam resizing respect
window size limits, and layout changes shrink before growing. - AROS previews compose with outline dragging, Wanderer gets fresh
damage after a resize, and hiding the seam preserves repainted pixels. - The AROS installer removes the first preview from C: and installs the
current commodity, with its icon, in SYS:WBStartup. The PPC hotkey path
waits for the window change before finding the seam.
I checked installation, snapping, seams and live preferences under
emulation on all three systems, plus the complete 2.5 to 2.7 API client
on each of them. A fresh AROS One 1.3 installation passed 40 snaps with
DualPNG icons, overlapping drawers and off-screen starts, and the
MorphOS build was tried on the real machine.
This is still a beta, not a promise that every setup is fixed. The black
drawer report on real AROS hardware remains open. On AmigaOS 4 and
MorphOS the narrow seam handle can retain old pixels after an overlapping
window closes; the same case reproduces in 0.2. On AROS drivers where
the screen cannot be read back reliably the preview frame is a plain
inversion; traces of it left on the desktop on NVIDIA Nouveau are
addressed in this build and await confirmation there. Please include your
system, version banner, reproduction steps and a screenshot when
reporting a problem.
MIT licence. Source and issues: https://github.com/kaffeine1/edgesnap
EdgeSnap 0.3 beta
EdgeSnap 0.3 beta
I have added AROS x86_64 ABIv11 alongside AmigaOS 4 and MorphOS, with a
native shared library, Zune preferences and PNG icons. The AROS build has
its own archive; the two PPC builds still travel together.
- On MorphOS as delivered a window may not leave the screen and the
pointer stayed pinned short of the edge: snapping by drag now works
there without holding Control, because the library (2.7) is told how
far the mouse itself travelled. - Library API 2.5 adds window enumeration, change tracking and arbitrary
placement of a window or a complete layout. API 2.6 adds stable window
serials and lookup for other tiling clients. - Drag detection remembers the initial title-bar press and handles
outline drags and tablet motion. Pair fill and seam resizing respect
window size limits, and layout changes shrink before growing. - AROS previews compose with outline dragging, Wanderer gets fresh
damage after a resize, and hiding the seam preserves repainted pixels. - The AROS installer removes the first preview from C: and installs the
current commodity, with its icon, in SYS:WBStartup. The PPC hotkey path
waits for the window change before finding the seam.
I checked installation, snapping, seams and live preferences under
emulation on all three systems, plus the complete 2.5 to 2.7 API client
on each of them. A fresh AROS One 1.3 installation passed 40 snaps with
DualPNG icons, overlapping drawers and off-screen starts, and the
MorphOS build was tried on the real machine.
This is still a beta, not a promise that every setup is fixed. The black
drawer report on real AROS hardware remains open. On AmigaOS 4 and
MorphOS the narrow seam handle can retain old pixels after an overlapping
window closes; the same case reproduces in 0.2. On AROS drivers where
the screen cannot be read back reliably the preview frame is a plain
inversion; traces of it left on the desktop on NVIDIA Nouveau are
addressed in this build and await confirmation there. Please include your
system, version banner, reproduction steps and a screenshot when
reporting a problem.
MIT licence. Source and issues: https://github.com/kaffeine1/edgesnap
EdgeSnap 0.2 beta
The seam between tiled windows is a LINE, not a pair. One window filling
half the screen, faced by two stacked in the other half, shares a single
seam with both: dragging it moves all three. Four quadrants share one seam
down the middle and one across, and a split that exists on only one side
moves just the windows on that side.
The seam stays out of sight until the pointer reaches it, then lights up and
can be dragged.
The preferences windows follow the style guide now: settings are grouped
into sections, labels take a colon, and the window can be resized. The zone
checkboxes are a grid instead of one long row.
Dock detection no longer stops after the sixteenth dock, and the usable area
can never collapse to nothing however many panels are found. Press ctrl alt
d and the dump names which window reserved which edge.
EdgeSnap no longer holds the Workbench screen open, which used to stop
Intuition from changing its screenmode for as long as EdgeSnap ran. And when
it cannot start at all it now says so instead of disappearing in silence.
EdgeSnap 0.1 beta
Drag a window against a screen edge or corner and it fills that half or
quarter of the screen, the way Windows and macOS do. Two windows side by
side share a seam that can be dragged to re-balance them. Docks are
detected and never covered.
This is a first public release, and a beta. It does what it says on
two machines - one AmigaOS 4.1 FE and one MorphOS 3.20 - and nowhere
else yet. That is what the 0.1 is for.
Installing
Unpack the archive and double-click Install. It recognises the
system, puts edgesnap.library in LIBS:, the commodity in C:, the
preferences window in SYS:Prefs/, and one line in S:User-Startup so
that snapping is simply there from the next boot. Updating is just
installing again: the running copy is stopped and replaced, no reboot.
Using it
- Drag a window's title bar until the pointer touches an edge or
corner; a frame shows where it will land. Release and it snaps. - Grab the seam between two tiled windows - the pointer becomes a double
arrow - and drag: both are resized together. ctrl alt cursor left/right/upsnap the active window,
ctrl alt cursor downputs it back.- Settings are in SYS:Prefs/EdgeSnap, native on each system:
ReAction on AmigaOS 4, MUI on MorphOS. Change something and EdgeSnap
follows immediately, without being restarted. - Exchange enables, disables or removes it, as with any commodity.
Two version numbers
EdgeSnap is 0.1; edgesnap.library says 2.2. 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. If you build on it, say which version you built against.
What is verified, and what is not
Verified on both systems: install, drag and snap, hotkeys, dock
awareness, the seam and its double arrow, the preferences window
including save and live reload.
Not verified: anything on hardware other than those two machines, other
screen sizes, other MUI and ReAction themes, docks other than AmiDock
and Ambient's panel. If EdgeSnap covers your dock, misses your seam, or
draws something odd with transparency switched on, that is exactly the
report worth having.
Building it
Cross-compilers in containers, host tests in plain C89:
make -f Makefile.host test # the portable core, six suites
scripts/build-os4.sh # AmigaOS 4 commodity
scripts/build-morphos.sh # MorphOS commodity
See docs/DESIGN.md for the architecture and for what
was learned the hard way on each system.