{"id":15021572,"url":"https://github.com/sorok-dva/screenme","last_synced_at":"2025-10-29T08:33:50.791Z","repository":{"id":248710644,"uuid":"828685958","full_name":"Sorok-Dva/ScreenMe","owner":"Sorok-Dva","description":"ScreenMe is a versatile screenshot tool that allows you to capture, edit, and upload your screenshots online effortlessly. Enhance your productivity with its intuitive editing features and seamless online sharing.","archived":false,"fork":false,"pushed_at":"2024-12-08T14:11:41.000Z","size":35117,"stargazers_count":5,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-10T11:58:21.137Z","etag":null,"topics":["cpp","free-image-gallery","image-editing","image-hosting","lightshot-alternative","qt","screenshot","screenshot-utility"],"latest_commit_sha":null,"homepage":"https://screen-me.cloud/","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/Sorok-Dva.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","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},"funding":{"github":["sorok-dva"],"patreon":"sorokdva","custom":["https://www.paypal.me/sorokdva42","sorok-dva.com"]}},"created_at":"2024-07-14T22:26:50.000Z","updated_at":"2024-12-08T14:11:44.000Z","dependencies_parsed_at":"2024-07-28T20:24:31.155Z","dependency_job_id":"7bc4b6e0-c91a-4a3f-93e2-c0a2fb5360d9","html_url":"https://github.com/Sorok-Dva/ScreenMe","commit_stats":{"total_commits":52,"total_committers":2,"mean_commits":26.0,"dds":0.05769230769230771,"last_synced_commit":"f522a90bc06370446fc1c94e28e7024a61ecd836"},"previous_names":["sorok-dva/screenme"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sorok-Dva%2FScreenMe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sorok-Dva%2FScreenMe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sorok-Dva%2FScreenMe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sorok-Dva%2FScreenMe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sorok-Dva","download_url":"https://codeload.github.com/Sorok-Dva/ScreenMe/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238795451,"owners_count":19531744,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cpp","free-image-gallery","image-editing","image-hosting","lightshot-alternative","qt","screenshot","screenshot-utility"],"created_at":"2024-09-24T19:56:43.978Z","updated_at":"2025-10-29T08:33:50.767Z","avatar_url":"https://github.com/Sorok-Dva.png","language":"C++","readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/Sorok-Dva/ScreenMe/main/resources/icon.png\" alt=\"ScreenMe Logo\"\u003e\n  \u003ch1\u003eScreenMe\u003c/h1\u003e\n  \u003cblockquote\u003eYour Ultimate Tool for Effortless Screenshots.\u003c/blockquote\u003e\n  \u003cimg src=\"https://hits.dwyl.com/Sorok-Dva/ScreenMe.svg?style=flat-square\" alt=\"Views\"\u003e\u003cbr /\u003e\n  \u003ca href=\"https://github.com/Sorok-Dva/ScreenMe/releases/latest\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/Sorok-Dva/ScreenMe?style=for-the-badge\" alt=\"Licence MIT\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/Sorok-Dva/ScreenMe/releases\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/downloads/Sorok-Dva/ScreenMe/total.svg?style=for-the-badge\" alt=\"Total downloads\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/Sorok-Dva/ScreenMe/pulse\" alt=\"Activity\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/commit-activity/m/Sorok-Dva/ScreenMe.svg?style=for-the-badge\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/Sorok-Dva/ScreenMe/releases/latest\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/release/Sorok-Dva/ScreenMe.svg?style=for-the-badge\" alt=\"Latest Release\"\u003e\n  \u003c/a\u003e\n  \u003cbr /\u003e\n  \u003ca href=\"https://github.com/sponsors/Sorok-Dva\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/sponsor-30363D?style=for-the-badge\u0026logo=GitHub-Sponsors\u0026logoColor=#EA4AAA\" alt=\"Sponsor Me\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://patreon.com/sorokdva\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Patreon-F96854?style=for-the-badge\u0026logo=patreon\u0026logoColor=white\" alt=\"Support Me on Patreon\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n# ScreenMe – Build \u0026 Deploy Guide\n\nScreenMe is a Qt-based screenshot tool with a floating annotation editor, multi-monitor selection, and optional cloud sync.\n\n---\n\n## 1. Develop \u0026 Build\n\n### 1.1 Clone\n```bash\ngit clone https://github.com/Sorok-Dva/ScreenMe.git\ncd ScreenMe\n```\n\n### 1.2 Qt Requirements\n- Qt 5.15+ or Qt 6.5+ (Widgets, Network, WebSockets)\n- C++17-capable compiler\n- Optional but recommended: Qt Creator\n\n#### Windows\nInstall Qt (MinGW or MSVC) with the Qt Maintenance Tool. Add CMake/Ninja if you prefer a CMake workflow.\n\n#### macOS\nInstall via Homebrew:\n```bash\nbrew install qt\n```\nSet `QT_HOME=/usr/local/opt/qt` (or `/opt/homebrew/opt/qt` on Apple Silicon) and ensure `qmake`/`cmake` are on `PATH`.\n\n### 1.3 Build with qmake (default project)\n```bash\nqmake ScreenMe.pro\nmake          # or `nmake` on MSVC, `jom` on Windows with Qt tools\n```\nOutputs land in `./release` (MSVC) or the local directory (Unix).\n\n### 1.4 Build with CMake (optional)\n```bash\ncmake -S . -B build -DCMAKE_PREFIX_PATH=\"${QT_HOME}\"\ncmake --build build --config Release\n```\n\u003e If Qt was installed via the official installer, point `CMAKE_PREFIX_PATH` to `\u003cQt\u003e/5.15.2/msvc2019_64` (or equivalent).\n\n---\n\n## 2. Platform Notes\n\n### 2.1 macOS\n- `ScreenMe.pro` now sets `CONFIG += app_bundle` and links Carbon/ApplicationServices. Running `make` produces `ScreenMe.app`.\n- Screenshots use the macOS capture API via Qt’s `QScreen::grabWindow`. Hotkeys rely on Qt’s event filters (no Carbon shortcut capture yet).\n- Auto-start is disabled by default. To enable login launch: copy `ScreenMe.app` to `/Applications`, run `osx/set-login-item.sh` (to be delivered) or use `launchctl` manually.\n\n### 2.2 Windows\n- System tray integration, global hotkeys, and auto-start run natively.\n- `config.json` lives in `%APPDATA%/ScreenMe/` by default (Qt `AppDataLocation`).\n- Build generates `ScreenMe.exe`; use `windeployqt ScreenMe.exe` (from the Qt bin folder) to gather dependent Qt DLLs.\n\n---\n\n## 3. Packaging \u0026 Deployment\n\n### 3.1 Windows Installer (MSI/EXE)\n1. Build Release (`nmake release` or Visual Studio).\n2. Deploy Qt DLLs: `windeployqt --release ScreenMe.exe`.\n3. Bundle resources: ensure `resources/` and `icons/` are copied next to the EXE. If using an installer (NSIS/InnoSetup/WiX), include:\n   - `ScreenMe.exe`\n   - `Qt5Core.dll`, `Qt5Gui.dll`, `Qt5Widgets.dll`, `Qt5Network.dll`, `Qt5WebSockets.dll`\n   - `platforms/qwindows.dll`\n   - `imageformats/` plug-ins if PNG/JPEG support is missing (usually automatic)\n\n4. Optional: Sign the executable, build an MSI via WiX Toolset.\n\n### 3.2 macOS Bundle (.app)\n1. Build Release (`qmake`, `make`).\n2. Run `macdeployqt ScreenMe.app` to embedded frameworks/plugins.\n3. Sign and notarize (optional but recommended for Gatekeeper).\n4. Zip the `.app` or create a `.dmg` (e.g., `hdiutil create ScreenMe.dmg -srcfolder ScreenMe.app`).\n\n---\n\n## 4. Configuration \u0026 Assets\n\n- `resources/config.json`: default settings for save path, image quality, etc.\n- `icons.qrc` bundl es toolbar icons and the app icon.\n- Login info persists in `login_info.json` (Qt `AppDataLocation`).\n\n---\n\n## 5. Key Features Recap\n- Multi-screen aware area selection \u0026 editor overlay\n- Tailwind-inspired floating editor with tooltip-only action buttons\n- Windows global hotkeys (macOS uses inline key capture)\n- Uploads to `https://screen.sorokdva.eu`\n\n---\n\n## 6. Troubleshooting\n\n| Issue | Fix |\n|-------|-----|\n| `Qt5*.dll` missing at runtime (Win) | Run `windeployqt ScreenMe.exe` |\n| Bundle won’t launch on macOS | Ensure `macdeployqt ScreenMe.app` ran; check Gatekeeper logs |\n| Hotkeys don’t fire on macOS | Hotkeys fall back to Qt key events. Ensure the options dialog has focus when recording |\n| Multi-monitor capture off-by-one | Qt 5.9 or lower may lack detected scaling. Upgrade to Qt 5.12+ |\n\n---\n\n## 7. Contributing \u0026 Support\n\nContributions welcome! Fork, branch, PR as usual. Bug reports via [GitHub Issues](https://github.com/Sorok-Dva/ScreenMe/issues). For commercial support, open a ticket or reach out to the maintainer.\n\nHappy capturing ✨\n","funding_links":["https://github.com/sponsors/sorok-dva","https://patreon.com/sorokdva","https://www.paypal.me/sorokdva42","sorok-dva.com","https://github.com/sponsors/Sorok-Dva"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsorok-dva%2Fscreenme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsorok-dva%2Fscreenme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsorok-dva%2Fscreenme/lists"}