---
name: "xpointer"
section: "3bobcat"
platform: "linux"
package: "libbobcat-dev"
version: "6.07.01-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/xpointer"
---

# xpointer(3bobcat)

Sets the location of the X-windows pointer

## NAME

FBB::Xpointer - Sets the location of the X-windows pointer

## SYNOPSIS

**#include \<bobcat/xpointer\>**\

Linking option: *-lbobcat -lX11*

## DESCRIPTION

This class allows programs running within the X-graphical environment to set and retrieve the X-windows pointer location.

## NAMESPACE

**FBB**\
 All constructors, members, operators and manipulators, mentioned in this man-page, are defined in the namespace **FBB**.

## INHERITS FROM

\-

## CONSTRUCTORS

- o

  **Xpointer()**:\
   The default constructor. Connects to the Display. throws an **Exception** exception if the display cannot be opened. With multiple **Xpointer** objects, the connection to the display is opened only once.

-

  This constructor throws an *Exception* exception if it could not connect to the Display.

Copy and move constructors (and assignment operators) are available.

## MEMBER FUNCTIONS

- o

  **bool get(int \*x, int \*y) const**:\
   Returns in its arguments the currnet pointer coordinates relative to the root-window. On success *true* is returned; *false* is returned if the pointer could not be moved.

- o

  **bool set(int x, int y) const**:\
   Sets the pointer to a location whose pixel coordinates are given with respect to the root-window.  A negative x-coordinate is measured from the right screen-margin of the root window (going left), a negative y-coordinate is measured from the bottom screen-margin of the root window (going up). On success *true* is returned; *false* is returned if the pointer could not be moved.

## EXAMPLE

```
#include <iostream>
#include <string>
#include <bobcat/xpointer>
using namespace FBB;
int main()
try
{
    Xpointer xpointer;
    xpointer.verify();
    if (!xpointer.set(100, 200))
        throw string("Set pointer failed");
    int x;
    int y;
    if (!xpointer.get(&x, &y))
        throw string("Get pointer failed");
    cout << "Pointer now at " << x << ", " << y << ’\n’;
}
catch (string msg)
{
    cout << msg << ’\n’;
    return 1;
}
```

## FILES

*bobcat/xpointer* - defines the class interface

## SEE ALSO

[**bobcat**(7)](/bobcat/7.md)

## BUGS

Note that *-lX11* must be specified as well.

## BOBCAT PROJECT FILES

- o

  *https://fbb-git.gitlab.io/bobcat/*: gitlab project page;

Debian Bobcat project files:

- o

  *libbobcat6*: debian package containing the shared library, changelog and copyright note;

- o

  *libbobcat-dev*: debian package containing the static library, headers, manual pages, and developer info;

## BOBCAT

Bobcat is an acronym of \`Brokken’s Own Base Classes And Templates’.

## COPYRIGHT

This is free software, distributed under the terms of the GNU General Public License (GPL).

## AUTHOR

Frank B. Brokken (**f.b.brokken@rug.nl**).
