xman/README.md

34 lines
1.1 KiB
Markdown
Raw Permalink Normal View History

2020-03-31 23:27:28 -04:00
# XMan
2020-03-31 23:32:04 -04:00
A daemon to manage [xcape](https://github.com/alols/xcape) instances based on
2020-03-31 23:27:28 -04:00
which app is in focus.
2020-04-01 16:01:16 -04:00
Xcape allows one to configure any key to send an arbitrary key upon release (for
instance, the Control key can function as itself on keypress and an Escape key
on key release).
2020-03-31 23:27:28 -04:00
This works beautifully except when one tries to switch to a virtual machine
(VM), particularly a windows machine with an Autohotkey script to replicate the
keymap in the host machine. In this case, any xcape'd keys will be sent twice.
The obvious (and somewhat crude solution) is to start and stop xcape depending
on which apps have focus.
# Usage
```
2020-04-01 16:51:28 -04:00
xcape-hs [-t TIMEOUT] BINDINGS REGEXP [[REGEXP] ...]
2020-03-31 23:27:28 -04:00
```
2020-04-01 16:51:28 -04:00
Where `TIMEOUT` and `BINDINGS` are the timeout argument and the key bindings to
be passed to the `-t` and `-b` flags respectively in `xcape` and `REGEXP` is a
POSIX-style regular expression matching a window app name for which xcape will
not be running when it is in focus. To find the app name for a window, use the
`xprop` program and look for the first member of the `WM_CLASS` atom.
2020-03-31 23:27:28 -04:00
# Dependencies
* xcape
# Installation
Clone this repo and run `stack install`.