the "tool" implementation. Previously, the "tool" implementation would overwrite the button bindings for the mouse. The problem with that is that if the user customizes one or more of the bindings, such as using the mouse wheel for zooming instead of panning, then the custom macro gets obliterated when the tool changes. The reimplementation creates multiple macro sets which are unique to each tool. The "enable_tools" function sets up the initial unique default bindings for each tool. The user can then customize the bindings for any tool, and the implementation no longer requires the constant changing of key bindings. Note that the new implementation is slightly less efficient because the macro tables are found by string hash based on the name of the tool or client type, not the integer client ID. The reduction in efficiency is balanced by the increased flexibility of the macros. |
||
|---|---|---|
| .. | ||
| DBWbuttons.c | ||
| DBWcommands.c | ||
| DBWdisplay.c | ||
| DBWelement.c | ||
| DBWfdback.c | ||
| DBWhlights.c | ||
| DBWprocs.c | ||
| DBWtools.c | ||
| DBWundo.c | ||
| Makefile | ||
| dbwind.h | ||
| dbwtech.h | ||