Skip to content

Building from Source

TaintedAngel edited this page Mar 16, 2026 · 1 revision

Building from Source

Clone

git clone https://github.com/TaintedAngel/linuxshot.git
cd linuxshot

Editable Install (for development)

pip install -e .

This lets you edit the source and see changes immediately without reinstalling.

Build a Wheel

pip install build
python -m build

Output goes to dist/.

Project Structure

linuxshot/
├── linuxshot/
│   ├── __init__.py        # version info
│   ├── __main__.py        # CLI entry point and command routing
│   ├── app.py             # main app logic (capture + upload pipeline)
│   ├── capture.py         # screenshot capture backends (spectacle, grim, maim)
│   ├── config.py          # config management (JSON)
│   ├── history.py         # capture history tracking
│   ├── imgur_auth.py      # Imgur OAuth2 PKCE authentication
│   ├── shortcuts.py       # KDE global shortcut registration via DBus
│   ├── tray.py            # PySide6 system tray + settings dialog
│   ├── upload.py          # upload to catbox/0x0/imgur
│   ├── utils.py           # helpers (display server detection, paths, deps)
│   └── ui/
│       └── main_window.py # GTK3 main window (legacy GUI)
├── resources/
│   ├── linuxshot.desktop
│   └── icons/
│       └── linuxshot.svg
├── aur/
│   ├── PKGBUILD
│   └── .SRCINFO
├── setup.sh               # automated installer
├── uninstall.sh
├── pyproject.toml
└── README.md

Running Tests

No test suite yet. Contributions welcome.

Contributing

  1. Fork the repo
  2. Create a branch (git checkout -b my-feature)
  3. Make your changes
  4. Test locally with linuxshot tray and linuxshot check
  5. Open a PR

Clone this wiki locally