# Install xcursorgen with Homebrew, apk, dnf, MacPorts, Nix, zypper

Create an X cursor file from a collection of PNG images. Version 1.0.9 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:xcursorgen
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install xcursorgen
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install xcursorgen
```

  Evidence: MacPorts ports tree: x11/xcursorgen/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add xcursorgen
```

  Evidence: Alpine Linux edge package indexes: xcursorgen from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- dnf (92%):

```sh
sudo dnf install xcursorgen
```

  Evidence: Fedora Rawhide package metadata: xcursorgen from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#xcursorgen
```

  Evidence: nixpkgs package indexes: pkgs/by-name/xc/xcursorgen/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- zypper (92%):

```sh
sudo zypper install xcursorgen
```

  Evidence: openSUSE Tumbleweed package metadata: xcursorgen from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:xcursorgen
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/xcursorgen>
- **Version:** 1.0.9
- **Source summary:** Create an X cursor file from a collection of PNG images
- **Homepage:** <https://gitlab.freedesktop.org/xorg/app/xcursorgen>
- **Repository:** <https://gitlab.freedesktop.org/xorg/app/xcursorgen>
- **Upstream docs:** <https://gitlab.freedesktop.org/xorg/app/xcursorgen/-/blob/master/man/xcursorgen.man>
- **License:** MIT
- **Source archive:** <https://gitlab.freedesktop.org/xorg/app/xcursorgen/-/archive/xcursorgen-1.0.9/xcursorgen-xcursorgen-1.0.9.tar.bz2>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- xcursorgen (cli)
- xcursorgen (alias)

## Dependencies

- libpng
- libx11
- libxcursor

## Build dependencies

- meson
- ninja
- pkgconf

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.0.9
- Local data: ok
- Upstream repository: https://gitlab.freedesktop.org/xorg/app/xcursorgen
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

xcursorgen is the X.Org utility for compiling PNG cursor artwork and a small cursor manifest into the binary Xcursor file format used by libXcursor and X11 cursor themes.

### Project history

The xcursorgen man page is credited to Keith Packard in 2002, matching the early Xcursor work that added ARGB cursor files, nominal sizes, hotspots, and animated cursor frames to the X11 desktop stack.

The repository history reflects the larger XFree86-to-X.Org transition. It contains imported XFree86-era history in 2003 and 2004, then gains its modular app build system and a 1.0 version in July 2005 as X.Org split formerly monolithic tree components into separately released modules.

### Adoption history

xcursorgen spread as part of the X.Org application set rather than as a standalone trend-driven tool. It is the small build-time utility cursor theme authors need when converting source PNG assets into files that libXcursor can discover through theme directories.

Package-manager adoption follows the X.Org stack: the input package facts list it across Homebrew, Linux distributions, MacPorts, Nix, and related systems, which is typical for small X11 compatibility utilities that are still needed outside Linux desktops too.

### How it is used

Users write a config file whose lines name cursor size, hotspot coordinates, image filename, and optional frame delay. xcursorgen reads that file and writes an Xcursor output file; multiple images with the same size become an animated cursor sequence.

In practice, it is most often used by cursor theme maintainers and packaging scripts, not by everyday shell users. It turns editable PNG sources into the format expected under an Xcursor theme cursors directory.

### Why package nerds care

xcursorgen is classic package-nerd material: tiny, old, easy to overlook, but part of the toolchain that lets themed desktops exist. Its separate Homebrew formula is useful on macOS for people building or inspecting X11 cursor themes without pulling in a whole desktop environment.

### Timeline

- 2002: xcursorgen man page copyright date, during Keith Packard Xcursor work.
- 2003-11-14: First imported revision in the current X.Org app repository history.
- 2005-07-06: Modular xcursorgen build system added and version set to 1.0.
- 2005-12-15: XORG-7_0 tag in the modular X.Org era.
- 2025-05-18: xcursorgen-1.0.9 tag.

### Related projects

- libXcursor: runtime library that locates and loads Xcursor files.
- X.Org modular app releases: release family that distributes xcursorgen as a small standalone utility.
- Cursor theme packages: downstream consumers that compile PNG cursor assets into Xcursor files.

### Sources

- Git history and tags: https://gitlab.freedesktop.org/xorg/app/xcursorgen
- Xcursor man page: https://gitlab.freedesktop.org/xorg/lib/libxcursor/-/blob/master/man/Xcursor.man
- xcursorgen README: https://gitlab.freedesktop.org/xorg/app/xcursorgen
- xcursorgen man page: https://gitlab.freedesktop.org/xorg/app/xcursorgen/-/blob/master/man/xcursorgen.man


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** xcursorgen
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - xcursorgen: normalized package name match | nixpkgs package indexes: pkgs/by-name/xc/xcursorgen/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - xcursorgen - 1.0.9-r0: normalized package name match | Alpine Linux edge package indexes: xcursorgen from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Create and X cursor file from PNG images | https://xorg.freedesktop.org/archive/individual/app/
- apk - xcursorgen-doc - 1.0.9-r0: normalized package name match | Alpine Linux edge package indexes: xcursorgen-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Create and X cursor file from PNG images (documentation) | https://xorg.freedesktop.org/archive/individual/app/
- dnf - xcursorgen - 1.0.9-3.fc44: normalized package name match | Fedora Rawhide package metadata: xcursorgen from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Prepare X11 cursor sets for use with libXcursor | https://www.x.org
- zypper - xcursorgen - 1.0.9-1.4: normalized package name match | openSUSE Tumbleweed package metadata: xcursorgen from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Utility to create an X cursor file from a collection of PNG images | https://xorg.freedesktop.org/
- MacPorts - xcursorgen: normalized package name match | MacPorts ports tree: x11/xcursorgen/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Media and graphics packages](https://www.automicvault.com/pkg/media-graphics-tools/) - Matched media, image, audio, video, or graphics metadata.
- [libpng](https://www.automicvault.com/pkg/brew/libpng/) - Runtime dependency declared by Homebrew.
- [meson](https://www.automicvault.com/pkg/brew/meson/) - Build dependency declared by Homebrew.
- [ninja](https://www.automicvault.com/pkg/brew/ninja/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [libxcvt](https://www.automicvault.com/pkg/brew/libxcvt/) - Shares av.db curated category or tags: cli, system, x11, xorg.
- [libxpm](https://www.automicvault.com/pkg/brew/libxpm/) - Shares av.db curated category or tags: cli, system, x11, xorg.
- [mkfontscale](https://www.automicvault.com/pkg/brew/mkfontscale/) - Shares av.db curated category or tags: cli, system, x11, xorg.
- [twm](https://www.automicvault.com/pkg/brew/twm/) - Shares av.db curated category or tags: cli, desktop, system, x11, xorg.
- [xauth](https://www.automicvault.com/pkg/brew/xauth/) - Shares av.db curated category or tags: cli, system, x11, xorg.
- [xdpyinfo](https://www.automicvault.com/pkg/brew/xdpyinfo/) - Shares av.db curated category or tags: cli, system, x11, xorg.
- [xeyes](https://www.automicvault.com/pkg/brew/xeyes/) - Shares av.db curated category or tags: cli, system, x11, xorg.
- [xinit](https://www.automicvault.com/pkg/brew/xinit/) - Shares av.db curated category or tags: cli, system, x11, xorg.

## Combined YAML source

View the package source record on GitHub. [combined/xcursorgen.yml](https://github.com/automic-vault/db/blob/main/combined/xcursorgen.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
