Skip to content

Contributing

Aditya Krishnan edited this page Oct 25, 2026 · 2 revisions

Contributing

Contributions are warmly welcome — open-source tools for the Linux desktop live on community collaboration, testing and feedback.

Full details, including the code of conduct, live in the repository:


Ways to help

Report a bug. The most valuable contribution. Please attach a screenshot or a short recording, name your desktop environment and version, and say whether you are on Wayland or X11. X11 issues in particular are close to impossible to reproduce without proof.

Test a beta. Install the latest beta, use it as your daily driver for a week, and report what breaks. Beta users are the reason the project works on more than one desktop.

Help with packaging. Flathub, Snap and Gentoo packages are all wanted — see Packaging and Releases for how the existing ones are built.

Translate. The interface is not yet localised; if you speak a language ScreenGuard should ship in, that is a real gap you could close.

Improve the documentation. This wiki is maintained by hand and is always a little behind the code. If something here is wrong or unclear, please fix it or tell me.

Send feedback. Even "this feels slow on my machine" is useful. See Feedback.


Sending a pull request

  1. Fork the repository.
  2. Create a branch: git checkout -b feature/amazing-feature.
  3. Make your change — keep it focused, and keep the existing style.
  4. Commit with a conventional message: feat(scope): description, fix(scope): description, docs(scope): description.
  5. Run flutter analyze and flutter test before you push.
  6. Push the branch and open a pull request against beta for feature work, or main for documentation and stable-only fixes.

Working with the code

  • Development — build, test and install from source.
  • Architecture — how the GUI, the daemon and the platform bridge fit together.

Two things that will save you time:

The daemon and the GUI share one SQLite database. There is no socket between them. When you change something in the GUI, it writes to the settings table and the daemon picks it up on its next poll.

X11 behaviour is hard to verify by reasoning. If your change affects window tracking or minimisation, please test on a real X11 session and include a recording in the pull request.


Good first issues

Anything on the Roadmap marked Planned is open for picking up — but please open a discussion first so two people do not build the same thing and so the design can be agreed before you write the code.


Code of conduct

This project follows a Code of Conduct. Participation in the project means abiding by it.


Related: Feedback · Development · Roadmap

Clone this wiki locally