Skip to content

Releases: kaffeine1/edgesnap

EdgeSnap 0.31 beta

EdgeSnap 0.31 beta Pre-release
Pre-release

Choose a tag to compare

@kaffeine1 kaffeine1 released this 08 Sep 19:11

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 Pre-release
Pre-release

Choose a tag to compare

@kaffeine1 kaffeine1 released this 08 Sep 11:25

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

EdgeSnap 0.2 beta Pre-release
Pre-release

Choose a tag to compare

@kaffeine1 kaffeine1 released this 02 Sep 06:03

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

EdgeSnap 0.1 beta Pre-release
Pre-release

Choose a tag to compare

@kaffeine1 kaffeine1 released this 29 Aug 13:58

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/up snap the active window,
    ctrl alt cursor down puts 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.