Skip to content

Latest commit

 

History

History
44 lines (33 loc) · 1.61 KB

File metadata and controls

44 lines (33 loc) · 1.61 KB

Contributing

Thanks for taking a look. Screen Mask is a small, focused tool, and it stays that way on purpose, but bug reports, fixes, and well-scoped features are all welcome.

Before you start

  • The tool is Windows-only. Every source file carries //go:build windows. You can still develop and cross-compile from Linux or macOS; you just can't run the result there.
  • There are no external dependencies. It talks to Win32 through the standard syscall package. Please keep it that way unless there's a strong reason not to.

Building and checking

make build   # GOOS=windows cross-compile to screenmask.exe
make vet      # go vet for the windows target
gofmt -l .    # should print nothing

Run gofmt -w . before committing. CI runs go vet and a gofmt check on the Windows target, so a formatted, vet-clean tree is the bar for a merge.

Pull requests

  • Keep each PR to one idea. Small diffs get reviewed fast.
  • Match the surrounding style: the Win32 layer in win32.go is deliberately thin and typed; drawing code lives with the pane it draws.
  • If you change runtime behavior, describe how you tested it on an actual Windows machine. This project has no automated GUI tests, so a human walkthrough is the verification.
  • New public behavior should get a line in CHANGELOG.md under Unreleased.

Reporting bugs

Open an issue with your Windows version, whether you're on a single or multi-monitor setup, and the steps to reproduce. A screenshot of the control window helps a lot.

Human contributions only, please. PRs that are obviously unreviewed machine output will be closed.