name: EdgeSnap description: Tile windows by dragging them to an edge version: 0.31 author: Michele Dipace submitter: Michele Dipace email: michele dipace/kaffeine net url: https://github.com/kaffeine1/edgesnap category: utility/workbench replaces: utility/workbench/edgesnap.x86_64-aros-v11.lha requirements: AROS x86_64 ABIv11 (AROS One x64) license: Other distribute: yes fileid: 3393 hend: This is the AROS x86_64 build (ABIv11, as on AROS One x64); it does not run on i386 AROS. AmigaOS 4 and MorphOS have their own archive, on Aminet, OS4Depot and MorphOS-Storage. 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