aboutsummaryrefslogtreecommitdiff
path: root/jsmond.html
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2020-05-18 19:50:10 -0400
committerB. Watson <yalhcru@gmail.com>2020-05-18 19:50:10 -0400
commit71280fcd79497f4c9731c89b33ddc300bb14ae82 (patch)
treed537ebbacf4a25f61c582005a80afe570702b19a /jsmond.html
parent7c9e476867bc4271919dfc367514be0033426344 (diff)
downloadunsaver-71280fcd79497f4c9731c89b33ddc300bb14ae82.tar.gz
add command execution mode, -c and -x
Diffstat (limited to 'jsmond.html')
-rw-r--r--jsmond.html57
1 files changed, 42 insertions, 15 deletions
diff --git a/jsmond.html b/jsmond.html
index 20608d9..9c4f31b 100644
--- a/jsmond.html
+++ b/jsmond.html
@@ -5,7 +5,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.14: http://docutils.sourceforge.net/" />
<title>jsmond</title>
-<meta name="date" content="2020-05-17" />
+<meta name="date" content="2020-05-18" />
<style type="text/css">
/*
@@ -373,7 +373,7 @@ ul.auto-toc {
<tr class="manual-group field"><th class="docinfo-name">Manual group:</th><td class="field-body">Urchlay</td>
</tr>
<tr><th class="docinfo-name">Date:</th>
-<td>2020-05-17</td></tr>
+<td>2020-05-18</td></tr>
<tr><th class="docinfo-name">Version:</th>
<td>0.2.0</td></tr>
</tbody>
@@ -382,7 +382,7 @@ ul.auto-toc {
<!-- rst2man.py jsmond.rst > jsmond.1 -->
<div class="section" id="synopsis">
<h1>SYNOPSIS</h1>
-<p>jsmond [<strong>-i interval</strong>] [<strong>-k keycode</strong> | <strong>-b button</strong>] [<strong>-d dir</strong>] [<strong>-j name</strong>] [<strong>-D</strong>] [<strong>joydev [joydev ...]</strong>]</p>
+<p>jsmond [<strong>-i interval[s|ms]</strong>] [<strong>-m</strong> | <strong>-k keycode</strong> | <strong>-b button</strong>] [<strong>-d dir</strong>] [<strong>-j name</strong>] [<strong>-D</strong>] [<strong>joydev [joydev ...]</strong>]</p>
</div>
<div class="section" id="description">
<h1>DESCRIPTION</h1>
@@ -394,7 +394,7 @@ These devices don't have to actually exist: they can come and go
as joysticks are plugged in and unplugged.</p>
<p>Every <em>interval</em> milliseconds (250, or whatever <strong>-i</strong> is set to), jsmond
checks to see if there's been any activity on any of the devices it's
-monitoring. If so, it sends a fake keystroke or mouse button click, which
+monitoring. If so, it sends a fake mouse movement, keystroke, or mouse button click, which
the screen saver will see as activity.</p>
<p>It's recommended to let jsmond find the joysticks itself. However,
you can pass one or more device names (or just numbers) if the default
@@ -415,9 +415,12 @@ if you need to kill the daemon.</p>
<kbd><span class="option">--help</span></kbd></td>
<td>Print usage summary</td></tr>
<tr><td class="option-group">
-<kbd><span class="option">-i <var>&lt;millis&gt;</var></span></kbd></td>
-<td>Interval to check for activity, in milliseconds.
-Default: 250.</td></tr>
+<kbd><span class="option">-i <var>&lt;interval&gt;</var></span></kbd></td>
+<td>Interval to check for activity. Can be given in seconds
+with <em>s</em> suffix (e.g. <strong>1s</strong>), or milliseconds with <em>m</em>
+(e.g. <strong>200m</strong>). If just a number is given, it's assumed
+to be in seconds if it's under 100, otherwise it's treated
+as milliseconds. Default: 250m.</td></tr>
<tr><td class="option-group">
<kbd><span class="option">-k <var>&lt;keycode&gt;</var></span></kbd></td>
<td>Send this keycode when activity is detected. Default
@@ -428,7 +431,24 @@ in your usual keymapping (use &quot;xmodmap -pk&quot; to find one).</td></tr>
<kbd><span class="option">-b <var>&lt;button&gt;</var></span></kbd></td>
<td>Send a click of this button when activity is detected,
rather than a keystroke. Should be a button that
-applications don't normally respond to (6 or higher).</td></tr>
+applications don't normally respond to (6 or higher),
+but in some environments, the window manager responds to
+all the 'extra' buttons as though they were button 1.</td></tr>
+<tr><td class="option-group">
+<kbd><span class="option">-m</span></kbd></td>
+<td>Send mouse movements rather than a keystroke. This will
+move the pointer 10 pixels to the right and down, then
+10 pixels to the left and up, then warp the pointer back
+to its starting point.</td></tr>
+<tr><td class="option-group">
+<kbd><span class="option">-c <var>&lt;command&gt;</var></span></kbd></td>
+<td>Run a command when activity is detected, rather than
+sending a fake keystroke/click/motion. It's recommended
+to set <em>interval</em> to at least 1 second, when using this
+option.</td></tr>
+<tr><td class="option-group">
+<kbd><span class="option">-x</span></kbd></td>
+<td>Same as <strong>-c &quot;xscreensaver-command -exit&quot; -i 1s</strong>.</td></tr>
</tbody>
</table>
<p>These options are intended for developers and <em>really</em> shouldn't be
@@ -455,11 +475,13 @@ above. Use e.g. <strong>-i 300</strong>, not <strong>-i300</strong>.</p>
</div>
<div class="section" id="notes">
<h1>NOTES</h1>
-<p>By default, jsmond searches for and monitors all the joysticks it can
-find, up to MAX_STICKS (normally 16; see the <strong>--help</strong> output to find
-the compiled-in default). You can override the search on the command
-line by providing one or more <strong>joydev</strong> arguments, in which case only
-those devices will be monitored.</p>
+<p>jsmond was tested with xlock(1) and xscreensaver(1). All 3 modes
+(keycode, mouse click, and mouse motion) work with xscreensaver.
+xlock doesn't respond to mouse motion, so use the keycode or click
+modes with it.</p>
+<p>jsmond can monitor up to MAX_STICKS joysticks. This is a compile time
+constant, normally set to 16. See the <strong>--help</strong> output to find out
+the compiled-in default.</p>
<p><strong>joydev</strong> arguments can be either a path to a device node (e.g.
<em>/dev/input/js0</em> or similar), or a number, which will have the default
device basename prepended to it. This is normally &quot;/dev/input/js&quot;, but
@@ -470,8 +492,11 @@ to detect hotplug events!</p>
jsmond will wait for devices to come into existence (e.g. as created
by <strong>udev</strong>).</p>
<p>If the screensaver is configured to lock the screen, and it has already
-activated, pressing a joystick button/direction will just bring up the
+done so, pressing a joystick button/direction will just bring up the
password dialog, same as pressing a key or mouse button would.</p>
+<p>jsmond depends on the XTest extension being present in the X server. If
+you get a &quot;X server doesn't support XTest extension&quot; error, see your X
+server documentation to find out how to enable XTest.</p>
</div>
<div class="section" id="exit-status">
<h1>EXIT STATUS</h1>
@@ -489,7 +514,9 @@ been plugged in yet. Try to avoid typos, if you really have to use device
names (better to autodetect).</p>
<p>Normally once daemonized, jsmond is very robust. However, if something
does go wrong, there's no way to find out what. Probably there should
-be a log file, or use syslog.</p>
+be a log file, or use syslog (or is that overkill?).</p>
+<p>It should be (but currently isn't) possible to at least work in
+mouse-motion mode even without the XTest extension, via XWarpPointer().</p>
<p>jsmond isn't portable. It only works on Linux, at least for now, for
three reasons:</p>
<ul class="simple">