State and control flow for modal mouse actions (dragging/resizing/etc) was fragmented and scattered through main.c, making code convoluted and hard to maintain. I fixed that by applying good structured programming practics: implementing sub-event-loops for those modal actions, rather than checking which modal action is currently in action at the main event-loop. That commit took me more time than i expected... abstract out all spaghettish, global-state control flow into a single, encapsulated scope for each modal action… test if i broke anything… find any dead code that is not used anymore (implementing that global state we had before)… I also put some `static` in global variables and routines, so the compile can warn whether an unused variable/function is defined (and help me on removing dead code).
amiwm
Amiga Workbench inspired window manager for Xorg.
Upstream repository
The current upstream repository for this particular fork is at https://github.com/amiwm/amiwm. Please file tickets, pull requests, etc there.
Getting started
Before compiling, make sure that you have following packages installed:
gcc make autoconf xorg xorg-xinit xorg-dev
First, run configuration script:
./configure
After that, you can either edit the Makefile, or leave it as is. After that, compile and install amiwm using
make
sudo make install
Hopefully, your compilation was succesfull - now you should have amiwm installed!
Launching amiwm
To launch amiwm, use
startx amiwm
Or add "amiwm" to your xinitrc file
Configuration
Configuration utility is not yet available; To configure amiwm, you'll need to create and edit .amiwmrc file in your home directory. To do so, read amiwm's manpage.
Authors
Originally created by Marcus Comstedt; Contributions by
- Scott Lawrence
- Nicolas Sipieter
- redsPL.
Previous repositories
Previously, amiwm was using bzr instead of git; The bzr repository can be found here
This repository started as a fork from https://github.com/sdomi/amiwm.
License
This project is published under a custom license - see LICENSE.md for details.
Amiga, AmigaOS and Workbench are registered trademarks of AMIGA International Inc.