contextual xcape manager
Go to file
Nathan Dwarshuis 4ef3f2d654 REF update readme 2020-04-01 16:01:16 -04:00
app REF update readme 2020-04-01 16:01:16 -04:00
.gitignore init 2020-03-31 23:15:43 -04:00
LICENSE init 2020-03-31 23:15:43 -04:00
README.md REF update readme 2020-04-01 16:01:16 -04:00
stack.yaml init 2020-03-31 23:15:43 -04:00
xman-hs.cabal init 2020-03-31 23:15:43 -04:00

README.md

XMan

A daemon to manage xcape instances based on which app is in focus.

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).

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

xcape-hs BINDINGS REGEXP [[REGEXP] ...]

Where BINDINGS are the keys supplied to the -e argument of xcape and REGEXP is a POSIX-style regular expression matching a window title for which xcape will not be running when it is in focus. To find a window title, use the xprop program and look for the WM_NAME and _NET_WM_NAME atoms in the output.

Dependencies

  • xcape

Installation

Clone this repo and run stack install.