The are a couple of issues with the way focusing is implemented (or
rather, neglected):
- Focusing on a different client does not change the keyboard focus
- The keyboard focus does not follow the pointer
- The keyboard focus does not change when clicking on a window
- The pointer does not follow the focus
This commit fixes the above issues by making the following changes:
- Focus on a client when the pointer enters it
- When focusing on a client, also move the keyboard focus
- When focusing on a client, move the pointer over the client