| Readme: | Short: Tile windows by dragging them to an edge Uploader: michele.dipace@kaffeine.net (Michele Dipace) Author: Michele Dipace <michele.dipace@kaffeine.net> Type: util/cdity Version: 0.4 Architecture: ppc-amigaos >= 4.0.0; ppc-morphos Replaces: util/cdity/edgesnap.lha
WHAT IS NEW IN 0.4
A window can now go to the middle of the screen at the size it has (ctrl alt c), and ctrl alt z opens a small selector under the pointer: nine cells that are the map of the screen, one for each place a window can go, chosen with the mouse or the cursor keys.
Windows glide into place instead of jumping. I judged the glide on real MorphOS hardware before making it the default, and it can be switched off in the preferences ("Glide into place") by anyone who prefers the jump.
Pressing the same side hotkey again gives the window two thirds of the screen, then one third, then a half again. That can be switched off too, and from this version switching it off really works.
The seam between two windows is more careful: its handle gives back what it covered, and a window laid over a snapped pair no longer shows the handle through it or lets it take the clicks meant for that window.
Carlo Spadoni drew the icons for all three systems: the program, the preferences, the drawer, the installer and the documents.
For programmers, edgesnap.library 2.17 adds what a tiling window manager needs from it: client roles, so that one program owns the drag and others own their layouts; work areas with an identity that survives a screen mode change; and layout groups that can keep other programs off their windows.
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 glides into 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.4 is still a beta. I checked it on real MorphOS hardware and under emulation on AmigaOS 4.1 and AROS One 1.3 x86_64, each time by installing the package over an earlier version. On one AROS installation Wanderer's drawers can show black areas after a snap; another program that moves windows does the same there, and the AROS developers are looking into how Wanderer redraws a drawer. 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, ctrl alt c puts it in the middle at the size it has, and ctrl alt z opens a selector under the pointer with all of that on nine cells. - 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 place a window in a zone or in any rectangle, find and move the seam between two tiled windows, list the windows with their state, follow their changes and lay out several windows in one call.
Since 2.10 the library also serves tiling window managers: one client owns the interactive drag and any number own their layouts, work areas keep an identity across a screen mode change, and a layout group can keep every other program, the commodity's drag included, off its windows. The included esnaptest client exercises the whole API on all three systems.
The library says 2.17 while EdgeSnap says 0.4, 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
|