/xoop

Loop your X cursor around the screen 👉😎👉

Primary LanguageCMIT LicenseMIT

██╗       ██╗   ████████╗     ████████╗   ██╗ ██████╗
╚═██╗   ██╔═╝ ██╔═══════██╗ ██╔═══════██╗ ████╔═════██╗
  ╚═████╔═╝   ██║       ██║ ██║       ██║ ██╔═╝     ██║
    ████║     ██║       ██║ ██║       ██║ ██║       ██║
  ██╔═══██╗   ██║       ██║ ██║       ██║ ██║       ██║
██╔═╝   ╚═██╗ ╚═████████╔═╝ ╚═████████╔═╝ ██████████╔═╝
╚═╝       ╚═╝   ╚═══════╝     ╚═══════╝   ██╔═══════╝
                                          ██║
                                          ██║
                                          ╚═╝

Loop your X cursor around the edges of the screen

👉😎👉

xoop turns your desktop into a flat torus, so that when the cursor hits one
side it continues and reappears out from the opposite side.

Here is a video demonstration: https://mcol.xyz/static/xoop.mp4


Arguments
---------

-x  x axis only
-y  y axis only
-f  fork
-d  debug mode
-h  help


Required libraries
------------------

On Ubuntu 23.10, the following packages are required:

$ sudo apt install \
    libxcb-randr0-dev \
    libxcb-util0-dev \
    libxcb-xfixes0-dev \
    libxcb-xinput-dev


To install
----------

$ make
$ sudo make install


To uninstall
------------

$ sudo make uninstall


Multimonitor
------------

xoop assumes that a multiple monitor setup creates a large rectangle with 4
edges, for example if you have two monitors of the same height side-by-side. If
your multi-monitor setup does not produce a large rectangle then the mouse will
only teleport on the far outside edges. This is because it is not always clear
where the mouse should teleport to. Contributions are welcome if you have a
solution!


Contact
-------
Email me @ mcol@posteo.net for questions or contributions.