The Cwind Tcl extension written by Satoshi Imai was last updated to version 1.4 in 2003. It is surprising that the original project page is still accessible.
The original extension was compatible up to windows xp. It turned out to be very easy to port to a more modern version – specifically windows 7. The compilers used were the 32- and 64-bit gcc provided by the MSYS2 project. This repository contains:
- the original (for posterity) source and binary zip files distributed by Satoshi Imai
- updated source which compiles successfully using gcc version 6.3.0
- a GNUmakefile which can be tailored for the compile
- both 32- and 64-bit binaries
New for Version 1.5 (August 2017)
- getrect: Return a four-element list with the client rectangle for the active window
- getwrect: Return a four-element list with the screen coordinates of the active window
- dragl: Simulate a mouse drag with the left-button to a screen coordinate
- dragm: Simulate a mouse drag with the middle-button to a screen coordinate
- dragr: Simulate a mouse drag with the right-button to a screen coordinate
- wdragl: Simulate a mouse drag with the left-button to a window coordinate
- wdragm: Simulate a mouse drag with the middle-button to a window coordinate
- wdragr: Simulate a mouse drag with the right-button to a window coordinate
Document previously undocumented commands:
- top: Places the window at the top of the Z order.
- bottom: Places the window at the bottom of the Z order.
- topmost: Places the window above all non-topmost windows. The window maintains its topmost position even when it is deactivated.
- notopmost: Places the window above all non-topmost windows (that is, behind all topmost windows).
New for Version 1.5.1 (September 2017)
- version: Return a version string for Cwind.
- The drag functions seemed to be unreliable at times so they now do a drag as a series of smaller moves. This seems to have fixed the problem.
This source: CWind1.5.1src.zip
Alternatively, you can click on Timeline above and select the most recent leaf. That will provide a page with download links for both a ZIP file and a Tarball.
Download and unzip the appropriate .zip.
Move the directory CWind1.5.1 to your Tcl library.