aboutsummaryrefslogtreecommitdiff
path: root/xdeadzone.rst
blob: ff12bd7fa5f69d34f08952922cdbf8961c0bdb6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
.. RST source for xdeadzone(1) man page. Convert with:
..   rst2man.py xdeadzone.rst > xdeadzone.1

.. include:: version.rst
.. |date| date::

=========
xdeadzone
=========

------------------------------------------------------------------------------
keep the mouse pointer out of the dead zone, on mismatched multihead displays.
------------------------------------------------------------------------------

:Manual section: 1
:Manual group: Urchlay's Misc Stuff
:Date: |date|
:Version: |version|

SYNOPSIS
========

xdeadzone [**-nw** | **-ne** | **-sw** | **-se** | **-abs** *x-position* *y-position*] *width* *height*

xdeadzone **--help** | **--version**

DESCRIPTION
===========

xdeadzone's job is to create a window of a specified size, and prevent
the mouse pointer from entering it.

The intended use for it is to keep the mouse out of the "dead zone"
of a multi-head X display where the monitors don't all have the same
resolution.

It could also be useful for covering annoying parts of the screen,
e.g. advertisements in ad-driven software like the Opera browser, or
Adobe Reader.

OPTIONS
=======

--help
  Print built-in help message and exit.

--version
  Print the application name and version number, and exit.

**-nw**
  Place window at northwest (top left) corner of display.

**-ne**
  Place window at northeast (top right) corner of display.

**-sw**
  Place window at southwest (bottom left) corner of display.

**-se**
  Place window at southeast (bottom right) corner of display.

**-abs** *x-position* *y-position*
  Place window at the given coordinates. Negative numbers will be
  treated as offsets from the right/bottom of the display.

**width**
  Width of the dead zone. Required; must be a positive integer.

**height**
  Height of the dead zone. Required; must be a positive integer.

ENVIRONMENT
===========

**DISPLAY**
  As usual for X applications: the X server to connect to.

EXIT STATUS
===========

With **--help** or **--version**, exit status is 0 (success).

If there's an error in the arguments, exit status is non-zero (failure).

In normal operation, **xdeadzone** never exits.

EXAMPLES
========

You have a 1920x1080 LCD monitor on the left, and a 1280x1024
one on the right. This gives you a nice 3200x1080 X display... but the
mouse can "vanish", because X pretends the right-hand monitor has
1080 vertical pixels. So there's a 1280x56 horizontal strip "below" the
bottom of the right-hand monitor that doesn't get displayed. If the
mouse moves into this area, the pointer disappears, and it's not
obvious what happened to it.

To avoid losing the pointer, you can run this::

  xdeadzone -se 1280 56 &

...from your ~/.xinitrc (or whatever you use to run commands at X startup).

If you instead have the same two monitors in a vertical arrangement,
with the 1280x1024 one on top, you'll have a 640x1024 vertical strip
of 'dead zone' beyond the right edge of the top monitor. To avoid
losing the mouse there::

  xdeadzone -ne 640 1024 &

If the dead zone were on the left of the top monitor, you'd use **-nw** instead
of **-ne**.

BUGS
====

There isn't much error-checking for the numeric arguments. Anything
non-numeric will be read as zero. If you include a decimal point,
that should be an error, but instead it's silently ignored (the value
is truncated).

Maybe it should background (daemonize) itself. However, it works
fine with & to background it, and this is pretty common practice for
starting X software from ~/.xinitrc.

COPYRIGHT
=========

WTFPL. Do WTF you want to with this.

See http://www.wtfpl.net/txt/copying/ for details.

AUTHORS
=======

**xdeadzone** was written by B. Watson (urchlay@slackware.uk).