ScreenMe is a Qt-based screenshot tool with a floating annotation editor, multi-monitor selection, and optional cloud sync.
git clone https://github.com/Sorok-Dva/ScreenMe.git
cd ScreenMe- Qt 5.15+ or Qt 6.5+ (Widgets, Network, WebSockets)
- C++17-capable compiler
- Optional but recommended: Qt Creator
Install Qt (MinGW or MSVC) with the Qt Maintenance Tool. Add CMake/Ninja if you prefer a CMake workflow.
Install via Homebrew:
brew install qtSet QT_HOME=/usr/local/opt/qt (or /opt/homebrew/opt/qt on Apple Silicon) and ensure qmake/cmake are on PATH.
qmake ScreenMe.pro
make # or `nmake` on MSVC, `jom` on Windows with Qt toolsOutputs land in ./release (MSVC) or the local directory (Unix).
cmake -S . -B build -DCMAKE_PREFIX_PATH="${QT_HOME}"
cmake --build build --config ReleaseIf Qt was installed via the official installer, point
CMAKE_PREFIX_PATHto<Qt>/5.15.2/msvc2019_64(or equivalent).
ScreenMe.pronow setsCONFIG += app_bundleand links Carbon/ApplicationServices. RunningmakeproducesScreenMe.app.- Screenshots use the macOS capture API via Qt’s
QScreen::grabWindow. Hotkeys rely on Qt’s event filters (no Carbon shortcut capture yet). - Auto-start is disabled by default. To enable login launch: copy
ScreenMe.appto/Applications, runosx/set-login-item.sh(to be delivered) or uselaunchctlmanually.
- System tray integration, global hotkeys, and auto-start run natively.
config.jsonlives in%APPDATA%/ScreenMe/by default (QtAppDataLocation).- Build generates
ScreenMe.exe; usewindeployqt ScreenMe.exe(from the Qt bin folder) to gather dependent Qt DLLs.
-
Build Release (
nmake releaseor Visual Studio). -
Deploy Qt DLLs:
windeployqt --release ScreenMe.exe. -
Bundle resources: ensure
resources/andicons/are copied next to the EXE. If using an installer (NSIS/InnoSetup/WiX), include:ScreenMe.exeQt5Core.dll,Qt5Gui.dll,Qt5Widgets.dll,Qt5Network.dll,Qt5WebSockets.dllplatforms/qwindows.dllimageformats/plug-ins if PNG/JPEG support is missing (usually automatic)
-
Optional: Sign the executable, build an MSI via WiX Toolset.
- Build Release (
qmake,make). - Run
macdeployqt ScreenMe.appto embedded frameworks/plugins. - Sign and notarize (optional but recommended for Gatekeeper).
- Zip the
.appor create a.dmg(e.g.,hdiutil create ScreenMe.dmg -srcfolder ScreenMe.app).
resources/config.json: default settings for save path, image quality, etc.icons.qrcbundl es toolbar icons and the app icon.- Login info persists in
login_info.json(QtAppDataLocation).
- Multi-screen aware area selection & editor overlay
- Tailwind-inspired floating editor with tooltip-only action buttons
- Windows global hotkeys (macOS uses inline key capture)
- Uploads to
https://screen.sorokdva.eu
| Issue | Fix |
|---|---|
Qt5*.dll missing at runtime (Win) |
Run windeployqt ScreenMe.exe |
| Bundle won’t launch on macOS | Ensure macdeployqt ScreenMe.app ran; check Gatekeeper logs |
| Hotkeys don’t fire on macOS | Hotkeys fall back to Qt key events. Ensure the options dialog has focus when recording |
| Multi-monitor capture off-by-one | Qt 5.9 or lower may lack detected scaling. Upgrade to Qt 5.12+ |
Contributions welcome! Fork, branch, PR as usual. Bug reports via GitHub Issues. For commercial support, open a ticket or reach out to the maintainer.
Happy capturing ✨