Repository navigation
Instalacao
English · Português (Brasil)
O Screen Diff Watcher roda em Windows (x64) e Linux Debian/Ubuntu (amd64, X11). Há duas formas de instalar: pelos binários (instaladores) ou pelo código-fonte.
| Plataforma | Formato | Observações |
|---|---|---|
| Windows x64 |
screen-diff-watcher_<versão>_windows_x64_setup.exe (Inno Setup) |
requer admin (per-machine); Tesseract baixado automaticamente (opcional) |
| Linux Debian/Ubuntu amd64 | screen-watch_<versão>_amd64.deb |
requer X11; Wayland não captura |
| macOS | — | sem instalador e não validado (o código tem caminhos básicos) |
Os instaladores são publicados no GitHub Releases.
- Baixe e execute
screen-diff-watcher_<versão>_windows_x64_setup.exe. - O instalador é per-machine (instala em
Program Files) e requer admin — por causa do Tesseract instalado por máquina. Cria atalho no Menu Iniciar e, opcionalmente (desmarcados), atalho na Área de Trabalho e início automático com o Windows. -
SmartScreen: como o
.exenão é assinado, o Windows vai avisar — use "Mais informações" → "Executar assim mesmo". O antivírus pode fazer o mesmo. Assinatura de código está fora do escopo. -
Tesseract automático: se o Tesseract não estiver instalado, o instalador baixa o release
fixado do UB-Mannheim, verifica o SHA256, instala em silêncio e garante o
por.traineddata(o pacote já trazeng). Precisa de rede e admin; se o download/verificação falhar, ele avisa e continua — os modoslight/defaultfuncionam e oadvancedacusa a falta com mensagem clara.-
Offline: instale o Tesseract manualmente
(https://github.com/UB-Mannheim/tesseract/wiki) com os traineddata
poreeng; o instalador detecta o binário e não baixa nada.
-
Offline: instale o Tesseract manualmente
(https://github.com/UB-Mannheim/tesseract/wiki) com os traineddata
- Desinstalar remove só o app e preserva o Tesseract e os dados do usuário.
sudo apt install ./screen-watch_<versão>_amd64.deb-
Requer X11 (Wayland não é suportado na captura).
-
O
.debdeclaratesseract-ocr+tesseract-ocr-pore as libs Qt6/X11 como dependências;pulseaudio-utils/alsa-utilsvêm comoRecommends(players do caminho legado). -
Comandos instalados:
screen-watch(CLI) escreen-diff-watcher-gui(GUI, também no atalho de menu). -
Autostart: o
.debnão configura. Para iniciar com a sessão, crie~/.config/autostart/screen-diff-watcher.desktop:[Desktop Entry] Type=Application Exec=screen-diff-watcher-gui X-GNOME-Autostart-enabled=true
-
Desinstalar preserva o Tesseract e o app-data.
Requer Python 3.11+.
python -m venv .venv
.\.venv\Scripts\Activate.ps1 # Linux/macOS: source .venv/bin/activate
python -m pip install -e ".[dev]" # núcleo + ferramentas de teste (ruff/pytest)Extras opcionais:
| Extra | Para quê |
|---|---|
pip install -e ".[input]" |
ações pseudo-humanas e hotkeys globais (pynput) |
pip install -e ".[sound]" |
som via simpleaudio (sem wheel confiável no Python 3.13; opcional) |
pip install -e ".[ocr-preproc]" |
experimentos de pré-processamento de OCR (opencv-python) |
pip install -e ".[mqtt]" |
canal de alerta MQTT (paho-mqtt; não entra nos instaladores) |
pip install -e ".[build]" |
gerar instaladores (pyinstaller) |
Os canais ntfy e SMTP não precisam de extra (usam o httpx do núcleo e o smtplib da
stdlib); só o MQTT exige o extra mqtt. As credenciais de todos os canais (Telegram, ntfy,
SMTP, MQTT) vêm de variáveis de ambiente, nunca do YAML.
Depois:
python -m screen_watch --help
python -m screen_watch init-config # cria o config.yaml v2 em app-dataTudo fica em %APPDATA%\screen_watch no Windows (config.yaml, selections/, state.json,
logs/). Para apontar para outro diretório, defina SCREEN_WATCH_HOME. Veja os caminhos efetivos:
python -m screen_watch show-pathsPython da Microsoft Store (MSIX): o Windows redireciona %APPDATA% para dentro do pacote, e o
arquivo fica invisível para o Explorer/editor. Nesse caso o app passa a usar o caminho real
(...\AppData\Local\Packages\<pacote>\LocalCache\Roaming\screen_watch).
screen-watch features # versão/origem, app-data, nº de seleções, Tesseract, entrada, som, tray, monitores
screen-watch features --json # saída JSON (usada no smoke do CI)Degrada sem display (não quebra) e informa se o binário é bundle ou source. É o primeiro comando
para diagnosticar um ambiente (ex.: Tesseract ausente, pynput indisponível).
-
Wayland: a captura via
mssnão funciona; rode em X11. O app avisa e encerra orun. - Tray no GNOME: pode não aparecer sem extensão de tray; a janela continua funcional.
-
Som no Linux: o CLI/
runusa ominiaudioempacotado (WAV/MP3/OGG/FLAC); a GUI depende dos plugins do GStreamer, e M4A/AAC no CLI precisa de um player externo (ffplay); senão cai nobeep. -
Arquitetura: apenas
amd64/x86_64. ARM fora de escopo.