README.md

July 20, 2026 ยท View on GitHub

Flexa

Flathub License GTK Version Python LibAdwaita

Convert cursor themes between Windows and Linux.

Flexa App

Features

  • Convert cursor themes between Windows and Linux formats
  • Convert .cur and .ani cursors to Linux format
  • Convert Linux Xcursor themes to Windows format
  • Add cursor folders manually or just drag them in
  • Configurable output directories for both modes

Installation

Installing win2xcur

Flexa requires the win2xcur Python package to convert cursor files.

win2xcur requires ImageMagick >= 7.0 for full cursor format support. Older versions may fail on some cursors.

pipx:

pipx install win2xcur

pip:

pip install --user win2xcur

Using RPM (Fedora): If you download the RPM package from the releases page, you can install it using:

sudo dnf install ./python3-win2xcur-*.rpm

Using DEB (Ubuntu/Debian): If you download the DEB package from the releases page, you can install it using:

sudo apt install ./python3-win2xcur_*.deb
sudo apt-get install -f -y

From Flathub (coming soon)

flatpak install flathub io.github.eucaue.flexa

From Release Page

Download the assets from the latest release.

Windows:

Download Flexa-Windows-Installer.exe and run it to install the application.

Flatpak:

flatpak install flexa.flatpak

RPM (Fedora):

sudo dnf install ./python3-win2xcur-*.rpm ./flexa-*.rpm

DEB (Ubuntu/Debian):

sudo apt install ./python3-win2xcur_*.deb ./flexa_*.deb

Building with Flatpak

  1. Install the GNOME SDK and Platform:
flatpak install flathub org.gnome.Sdk//50 org.gnome.Platform//50
  1. Build and run:
Using just
just build-run
Manual Build
flatpak-builder --install --force-clean _build io.github.eucaue.flexa.json
flatpak run io.github.eucaue.flexa

Requirements

# Fedora
sudo dnf install gtk4-devel libadwaita-devel gobject-introspection-devel meson ninja-build gettext python3-gobject
# Ubuntu / Debian
sudo apt install libgtk-4-dev libadwaita-1-dev libgirepository1.0-dev meson ninja-build gettext python3-gi libglib2.0-bin

Then build:

Using just
just build-run-native
Manual Build
meson setup build
meson compile -C build
sudo meson install -C build
flexa

Usage

Select the target mode (To Linux / To Windows), add cursor folders via + or drag-and-drop, then hit Convert. Output directories are configurable in Preferences.

Output

Each theme is saved as its own subfolder (named after the source folder) inside your configured output directory. By default, this is ~/.local/share/icons (when converting to Linux) and ~/Documents/Windows Cursors (when converting to Windows). Defaults adjust on Windows.

Contributing

Open an issue or PR at github.com/eucaue/flexa.

Acknowledgements

Built with:

License

GPL-3.0-or-later