                    _       _            _                     _
  __  ___ __   ___ (_)_ __ | |_ ___ _ __| |__   __ _ _ __ _ __(_) ___ _ __
  \ \/ / '_ \ / _ \| | '_ \| __/ _ \ '__| '_ \ / _` | '__| '__| |/ _ \ '__|
   >  <| |_) | (_) | | | | | ||  __/ |  | |_) | (_| | |  | |  | |  __/ |
  /_/\_\ .__/ \___/|_|_| |_|\__\___|_|  |_.__/ \__,_|_|  |_|  |_|\___|_|
       |_|
  https://movq.de/git/xpointerbarrier
  https://movq.de/bugs.html


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


This program creates four pointer barriers around each XRandR screen,
thus effectively jailing your mouse pointer to one physical screen.

Pointer barriers are mostly useful when there is more than one physical
screen connected to your computer. Properly placed barriers can then
make you feel like you're sitting in front of only one screen: When you
throw your mouse in the upper right corner, it does not suddenly switch
to another monitor.

See also:

http://who-t.blogspot.de/2012/12/whats-new-in-xi-23-pointer-barrier.html


Installation
------------

The following C libraries are required:

    - libx11
    - libxfixes
    - libxrandr

The XFIXES extension must be available on your X server.

xpointerbarrier was written on GNU (Arch Linux). No portability tests
are run by the author, but the code tries to stick to POSIX and will
probably work on other systems as well.

To build the program and install it to /usr/local:

    $ make
    # make install


Running
-------

Simply run the program in your ~/.xinitrc:

    $ xpointerbarrier 47 7 7 27

It's probably best to first configure your screens, then run the
program.


License
-------

Copyright (c) 2013, 2015-2018, 2020, 2023, 2025-2026 movq

Distributed under the terms listed in the LICENSE file.
