{"id":37228637,"url":"https://github.com/atman-33/desktop-ink","last_synced_at":"2026-01-15T03:28:39.167Z","repository":{"id":331605442,"uuid":"1131160771","full_name":"atman-33/desktop-ink","owner":"atman-33","description":"A lightweight Windows drawing overlay for screen annotation across multiple monitors with global hotkeys","archived":false,"fork":false,"pushed_at":"2026-01-10T15:48:21.000Z","size":5161,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-11T03:07:49.937Z","etag":null,"topics":["csharp","drawing","screen-annotation","windows","wpf"],"latest_commit_sha":null,"homepage":"https://github.com/atman-33/desktop-ink#readme","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atman-33.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-09T15:10:42.000Z","updated_at":"2026-01-10T15:48:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/atman-33/desktop-ink","commit_stats":null,"previous_names":["atman-33/desktop-ink"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/atman-33/desktop-ink","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atman-33%2Fdesktop-ink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atman-33%2Fdesktop-ink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atman-33%2Fdesktop-ink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atman-33%2Fdesktop-ink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atman-33","download_url":"https://codeload.github.com/atman-33/desktop-ink/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atman-33%2Fdesktop-ink/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28442276,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-15T00:55:22.719Z","status":"online","status_checked_at":"2026-01-15T02:00:08.019Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","drawing","screen-annotation","windows","wpf"],"created_at":"2026-01-15T03:28:38.702Z","updated_at":"2026-01-15T03:28:39.161Z","avatar_url":"https://github.com/atman-33.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Desktop Ink\n\nA lightweight, always-on-top drawing overlay application for Windows that allows you to annotate your screen with ink strokes.\n\n## Screenshot\n\n![Desktop Ink Overview](docs/images/screenshot-overview.png)\n\n## Features\n\n- **Multi-Monitor Support**: Works seamlessly across multiple displays\n- **Transparent Overlay**: Draw directly on top of any application\n- **Multiple Drawing Modes**:\n  - Permanent Draw Mode: Toggle on/off with hotkey or control palette\n  - Temporary Draw Mode: Quick annotation with Alt double-click + hold\n- **Straight Line Drawing**: Hold Shift while dragging to constrain strokes to horizontal or vertical lines\n- **Control Palette**: Always-accessible floating control panel\n- **Global Hotkeys**: Control the app from anywhere\n\n## Requirements\n\n- Windows 10/11\n- .NET 10.0\n\n## Installation\n\n1. Clone the repository\n2. Build the solution using Visual Studio or the command line:\n   ```cmd\n   scripts\\build.cmd\n   ```\n3. Run the application:\n   ```cmd\n   scripts\\run.cmd\n   ```\n\n## Usage\n\n### Starting the Application\n\nRun `Desktop Ink` and it will start with transparent overlay windows on all your monitors. The control palette will appear as a small floating window.\n\n### Drawing Modes\n\n#### Permanent Draw Mode\n\nToggle persistent drawing mode on or off:\n\n- **Keyboard**: Press `Win+Shift+D`\n- **Control Palette**: Click the \"Draw Mode\" button\n\nWhen draw mode is active, you can draw ink strokes on any overlay window. Strokes remain until you clear them manually.\n\n#### Temporary Draw Mode (Quick Annotation)\n\nFor quick, temporary annotations:\n\n1. **Double-click the Alt key** rapidly (within system double-click time)\n2. **Hold down the Alt key** while drawing\n3. **Release the Alt key** - all strokes automatically clear and you return to pass-through mode\n\nThis mode is perfect for brief annotations without needing to toggle modes or manually clear strokes.\n\n#### Straight Line Drawing\n\nTo draw perfectly horizontal or vertical lines:\n\n1. Enter draw mode (permanent or temporary)\n2. **Hold down the Shift key** while dragging\n3. The stroke will automatically snap to horizontal or vertical based on the drag direction\n4. Release Shift to return to freehand drawing (mid-stroke transitions are supported)\n\nThis feature works in both permanent and temporary draw modes.\n\n### Global Hotkeys\n\nThe following hotkeys work even when Desktop Ink is not focused:\n\n| Hotkey | Action |\n|--------|--------|\n| `Win+Shift+D` | Toggle permanent draw/pass-through mode |\n| `Win+Shift+C` | Clear all ink strokes from all monitors |\n| `Win+Shift+Q` | Quit the application |\n\n### Control Palette\n\nThe control palette provides clickable buttons for:\n\n- **Toggle Draw Mode**: Switch between draw and pass-through mode\n- **Clear All**: Remove all ink strokes\n- **Quit**: Exit the application\n\nThe palette is:\n- Always on top of other windows\n- Semi-transparent for minimal obstruction\n- Draggable - click and drag to reposition\n\n### Pass-Through Mode\n\nWhen not in draw mode, the overlay windows are completely transparent to mouse input, allowing you to interact with applications underneath as normal.\n\n## Building from Source\n\n### Debug Build\n\n```cmd\nscripts\\build.cmd\n```\n\n### Release Build\n\n```cmd\ndotnet build src\\DesktopInk\\DesktopInk.csproj -c Release\n```\n\n### Running\n\n```cmd\n# Run debug build\nscripts\\run.cmd\n\n# Run release build\nscripts\\run-release.cmd\n```\n\n## Architecture\n\nDesktop Ink is built using WPF and consists of:\n\n- **Overlay Windows**: One per monitor, full-screen transparent windows for drawing\n- **Control Window**: Draggable palette with control buttons\n- **Keyboard Hook Manager**: Low-level keyboard hook for global hotkeys and temporary mode detection\n- **Overlay Manager**: Manages multi-monitor overlay lifecycle\n\n## Development\n\nFor contributors and maintainers:\n\n- [Release Process](docs/RELEASE.md) - Version management and release workflow\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatman-33%2Fdesktop-ink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatman-33%2Fdesktop-ink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatman-33%2Fdesktop-ink/lists"}