Initial checkin of ick-keys for Windows, much of which was
cloned-and-hacked from ick-proxy.


git-svn-id: svn://svn.tartarus.org/sgt@8215 cda61777-01e9-0310-a592-d414129be87e
Apparently working Unix front end for ick-keys. That was quick!


git-svn-id: svn://svn.tartarus.org/sgt@8217 cda61777-01e9-0310-a592-d414129be87e
Set of icons for Windows, without which ick-keys is represented by a
blank space in the system tray.


git-svn-id: svn://svn.tartarus.org/sgt@8219 cda61777-01e9-0310-a592-d414129be87e
Impose run time limits on scripts, so that the server as a whole
will be less likely to hang and need restarting.


git-svn-id: svn://svn.tartarus.org/sgt@8221 cda61777-01e9-0310-a592-d414129be87e
Make the state of Num Lock irrelevant to hot key detection.


git-svn-id: svn://svn.tartarus.org/sgt@8222 cda61777-01e9-0310-a592-d414129be87e
Trivial build script.


git-svn-id: svn://svn.tartarus.org/sgt@8231 cda61777-01e9-0310-a592-d414129be87e
New library function to print a diagnostic message.


git-svn-id: svn://svn.tartarus.org/sgt@8232 cda61777-01e9-0310-a592-d414129be87e
Windows conspicuously lacks a WM feature for sending a window to the
back, so let's implement it in ick-keys.


git-svn-id: svn://svn.tartarus.org/sgt@8302 cda61777-01e9-0310-a592-d414129be87e
Make a particularly odd warning go away on Debian lenny.


git-svn-id: svn://svn.tartarus.org/sgt@8769 cda61777-01e9-0310-a592-d414129be87e
I've been erroneously depending on a consequence of the Ick
implementation, which was that I thought it would use the first of
several definitions of an identical function and that therefore I
could use two config files to split my ick-keys configuration into
local and general parts. In fact, it uses the last definition,
except in cases where it swapped main() to the front and thus moved
the first definition to the last! Fix so that it does reliably use
the first definition.


git-svn-id: svn://svn.tartarus.org/sgt@8770 cda61777-01e9-0310-a592-d414129be87e
Support Alt as a hotkey modifier.


git-svn-id: svn://svn.tartarus.org/sgt@8771 cda61777-01e9-0310-a592-d414129be87e
New function to spawn an arbitrary process.


git-svn-id: svn://svn.tartarus.org/sgt@8772 cda61777-01e9-0310-a592-d414129be87e
Embed a revision number in the Windows binary, FWIW.


git-svn-id: svn://svn.tartarus.org/sgt@8776 cda61777-01e9-0310-a592-d414129be87e
Avoid depending on an external sawfish-client binary. The Sawfish
remote control protocol is pretty trivial, so it's easy enough to
speak it internally rather than spawning a new process every time.

A side effect of this is that we now compute the name of the Sawfish
client socket once at program startup: previously, each
sawfish-client instance would re-derive it, which is inconvenient in
environments where finding out simple things like your hostname or
username involves going to a network YP server which might be
annoyingly slow.


git-svn-id: svn://svn.tartarus.org/sgt@8892 cda61777-01e9-0310-a592-d414129be87e
Refactor to move the X event loop out into a subfunction so it can
be called from multiple places. Hot key events are placed on a
queue, and retrieved when the event loop function returns; so it
should now be possible to run the event loop elsewhere (e.g. to read
the X selection) and gracefully handle receipt of further hot key
events before the immediate task is dealt with.


git-svn-id: svn://svn.tartarus.org/sgt@8893 cda61777-01e9-0310-a592-d414129be87e
Incorporate chunks of xcopy, so that we can now read and write the X
clipboard ourselves instead of depending on an external program.


git-svn-id: svn://svn.tartarus.org/sgt@8894 cda61777-01e9-0310-a592-d414129be87e
Reinstate a missing 'break' which was causing any hotkey press to
delete ick-keys's internal selection data. This led to it staying in
the paste event loop forever if you tried to make it paste from
itself.


git-svn-id: svn://svn.tartarus.org/sgt@8973 cda61777-01e9-0310-a592-d414129be87e
Replicate the fix from r8977 of xcopy.


git-svn-id: svn://svn.tartarus.org/sgt@8979 cda61777-01e9-0310-a592-d414129be87e
I've been caught out once too often by ick-keys not re-reading its
configuration when sent SIGHUP, so let's make it do so.


git-svn-id: svn://svn.tartarus.org/sgt@9017 cda61777-01e9-0310-a592-d414129be87e
Mistake in previous commit: take care to read all available X events
after select returns true, otherwise one might end up stuck in the
xlib buffer and deferred until the next time a select succeeds.


git-svn-id: svn://svn.tartarus.org/sgt@9018 cda61777-01e9-0310-a592-d414129be87e