Installation

Installation

Quick Install from Package Managers

pip (Python Package Index) - Recommended:

# One-line install - completely silent!
pip install draggg

# After installation, desktop notifications will appear asking:
#   1. Would you like to add draggg to PATH? (Yes/No)
#   2. Would you like to open GUI to configure settings? (Yes/No)

# Or install from source (latest version)
pip install git+https://github.com/j031nich0145/draggg.git

# If notifications didn't appear or you want to configure manually:
draggg-setup  # Interactive setup script
draggg-gui    # GUI configuration tool

snap (Snap Store):

# Install from Snap Store
sudo snap install draggg

# Connect Required Interfaces
# These are required for draggg to access your touchpad and display

# Connect hardware access (required for touchpad detection)
sudo snap connect draggg:hardware-observer

# Connect X11 display (required for GUI and drag functionality)
sudo snap connect draggg:x11

# Connect input devices (required for touchpad input)
sudo snap connect draggg:input-devices

# Launch Applications
snap run draggg          # Run draggg service
snap run draggg-gui      # Launch GUI configuration tool
snap run draggg-service  # Run as background service

# Note: If draggg doesn't detect your touchpad, ensure all interfaces are connected

apt (Debian/Ubuntu) - once published:

# Add repository (instructions will be provided when published)
# sudo add-apt-repository ppa:draggg/stable
sudo apt update
sudo apt install draggg

# Or install from .deb file:
# wget https://github.com/j031nich0145/draggg/releases/latest/download/draggg.deb
# sudo apt install ./draggg.deb

# After installation:
draggg-gui

conda:

# Install from conda-forge (when available)
conda install -c conda-forge draggg

# Or build from source:
conda build conda/
conda install --use-local draggg

# After installation:
draggg-gui

Note: After installing from pip, desktop notifications will appear asking about: 1. Adding draggg commands to PATH (recommended) 2. Opening the GUI to configure settings

The installation is completely silent - just run pip install draggg and wait for notifications!

If notifications didn’t appear or you want to configure manually: - Run draggg-setup for interactive setup - Run draggg-gui to open the GUI configuration tool - Configure permissions (udev rules and input group) - Optionally set up the systemd service for background operation

From Source

Clone or download this repository and run the setup script (see Quick Start below).

Prerequisites

System Requirements

  • Linux distribution: Ubuntu, Debian, Fedora, Arch Linux, or compatible
  • Python 3.9+: Python 3.9 or higher required
  • Display server: X11 recommended (Wayland supported but may have limitations)
  • Touchpad: Multi-touch capable touchpad (Apple trackpad, Synaptics, or libinput)

Required System Packages

The installation script will help you install these, but here’s what’s needed:

Ubuntu/Debian:

sudo apt install python3-evdev python3-uinput xdotool python3-xlib

Fedora:

sudo dnf install python3-evdev python3-uinput xdotool python3-xlib

Arch Linux:

sudo pacman -S python-evdev python-uinput xdotool python-xlib

Permissions

The tool requires access to input devices. You have two options:

  1. Run with sudo (quick but less secure)
  2. Add user to input group and configure udev rules (recommended, handled by setup script)