For those who follow my programming projects, you may be familiar with the name QuickTile. It’s my most popular project and, in short, it adds hotkeys to your existing X11 window manager to make it easy to tile windows in ways fancier than they usually offer.
Long story short, it fell into neglect for a while for a perfect storm of reasons:
- Needing to migrate from Python 2.x to Python 3.x at the same time as needing to migrate from PyGTK to PyGObject and from ePyDoc to Sphinx
- Something about QuickTile causing PyGObject’s PyGTK porting helper to segfault
- QuickTile relying on GDK stuff that got replaced with PyCairo stuff that seemed to switch from one set of bugs to another as I upgraded it
- No automated tests
- Some other problems in my life that made it hard to work on my hobby projects at all
In even fewer words, it was a mess… but not anymore.
I’d like to announce that QuickTile 0.4.0 is now out. (Those who like emjois may insert an appropriate “yay” here)
It has the following following advantages:
- Completely ported to GTK 3, and with a lot of internal reworking to make the most error-prone bits of the code easier to maintain and improve.
- A spiffy new website with the demonstration animation I always wanted to get around to making and a detailed manual. (Including explanatory illustrations for all the tiling commands.)
- A unit test suite that, while nowhere near complete, has full coverage for the rectangle-juggling code that’s most likely to hide confusing bugs. (Great for motivation.)
- Finally, proper support for dealing with panels that don’t span an entire edge of the desktop! (I had to write a ton of custom rectangle-juggling code, but I did it.)
- New Ctrl+Alt+Shift+… default hotkeys for the versions of the tiling commands which move windows without resizing them. (If you’ve got an existing
quicktile.cfg, you’ll need to add these manually.)
- Initial support for building a
.debpackage, though not yet something I publicize in the manual since it’s in such an early state.
- A few other changes to how the commands behave to make things more consistent. (See the
ChangeLogfile for details.)
So, if you’re a Linux user (or just curious), check out the new website and enjoy.
P.S. I have some other projects which need TLC just as much as QuickTile did, so I may let it go quiescent for a month or two now that it’s no longer the most urgent thing to address, but I do intend to come back and start checking off the other things on the issue tracker.