Version 0.2.0 (2013-08-04)
- Layout support.
The basic infrastructure for tiling windows with layouts is now in place. At this time, however, we only have one layout, viz., the full layout, which shows one window at a time, resizing all the windows it manages to occupy the entire area available to it.
- Full support for multiple monitors.
Minx can now seamlessly and gracefully handle multihead setups with or without Xinerama.
- Fixed sporadic recognition of key bindings.
Until now, there was a bug in the way passive keyboard grabs were setup that made Minx's recognition of key bindings somewhat spotty. The problem was that we needed to setup additional grabs for various combinations of the lock modifiers. With this version on, Minx key bindings should work flawlessly...
- Designed a logo.
Minx now has a logo, which is generated by a small Asymptote program.
Version 0.1.9 (2013-04-14)
- Support for nuking windows.
Some applications advertise support for the WM_DELETE_WINDOW protocol but ignore the graceful kill request without good cause. With this fix, Minx now has a way of getting rid of such windows.
Version 0.1.8 (2013-04-14)
- Support for launching windows.
Minx can now run arbitrary commands that are bound to keys, which gives it the ability to launch GUI applications.
Version 0.1.7 (2013-04-13)
- Support for killing windows.
We can now use a key binding to kill a window. If the window supports the WM_DELETE_WINDOW protocol, Minx will use that; otherwise, it will kill the window and its client application by brute force.
Version 0.1.6 (2013-02-10)
- Support for key bindings.
F1 is no longer hard-coded as the key to effect focus cycling. Instead, Minx now uses ALT + Tab and ALT + SHIFT + Tab to switch input focus forwards and backwards through its list of top-level windows. Additionally, end-users can change these key bindings to whatever they prefer using an easy naming convention similar to the one employed by Emacs for its key bindings.
- Documentation updates.
In addition to a Key Bindings HOWTO, various other documents have been updated. The important updates include the design notes, building and testing HOWTO, hooks list, and FAQ.
Version 0.1.5 (2013-02-02)
- Preliminary support for end-user hooks.
Until now, Minx was using hooks internally for responding to X events. This version marks the beginning of more general support for hooks, i.e., as a means of customizing Minx.
At this time, only one end-user hook is available, viz., the manage_hook, which is triggered whenever a new window is created. Nonetheless, this is a good start and the hooks infrastructure put in place with this release should prove to be very useful...
Version 0.1.4 (2013-01-19)
- On start-up, take over management of existing top-level windows.
So far, we had to always start Minx first and then start programs for it to be able to manage their top-level windows. Now, however, we can start X applications and then start Minx; it will query the X server for the extant top-level windows when it starts up and manage them.
Version 0.1.3 (2013-01-13)
- Logging support.
All the Minx classes now emit appropriate log messages to help with debugging. Logging is off by default but is easy to turn on and configure.
- Bug fixes.
The problems of [focus reverting to root] and [terminal border flashing] have been fixed.
Version 0.1.2 (2013-01-01)
- Basic customization support.
Minx now allows end-users to customize the color and size of the borders of active and inactive windows.
Version 0.1.1 (2012-12-27)
- Borders around top-level windows.
For visual feedback, we now have borders around top-level windows. The window with the input focus has a red border, other windows get a white border.
- Fixes and updates to the documentation.
Updated the design notes to reflect the latest changes. Also, fixed the API documentation (previous release was missing a few things).
Version 0.1.0 (2012-12-24)
- Clean focus switching with keyboard.
This is the first milestone. Minx does not do a whole lot at this time. The main goal of this release, apart from gaining a basic understanding of how to go about writing an X window manager, is to put in place the necessary infrastructure for further development.