Acompanhar o preço do Bitcoin ou sua criptomoeda favorita em tempo real pode ser importante para quem faz trading ativo ou simplesmente deseja observar movimentos do mercado ao longo do dia. Porém, manter uma aba de navegador aberta ou ficar alternando entre janelas pode ser pouco prático. Pensando nisso, o projeto crypto-float-monitor oferece uma solução simples, elegante e eficiente para usuários de Linux que desejam monitorar o par BTC/USDT diretamente na área de trabalho, através de um pequeno widget flutuante que permanece sempre visível.
O crypto-float-monitor é um aplicativo que desenvolvi em Python 3.10+ utilizando a biblioteca PyQt6, que cria uma janela flutuante exibindo o preço atual do Bitcoin em tempo real. Ele se conecta diretamente ao stream oficial da Binance, garantindo atualização contínua do valor sem a necessidade de recarregar páginas ou interfaces web.
A interface é mínima e discreta, ocupando pouco espaço na tela e permanecendo sempre no topo das outras janelas. Isso permite que o usuário acompanhe o preço enquanto trabalha, joga, estuda ou realiza outras atividades.
Controles rápidos
Arrastar com o mouse: reposiciona o widget na tela.
Pressionar `q`: fecha o aplicativo imediatamente.
Simples e direto.
Como instalar e executar
O primeiro passo é clonar o repositório do projeto:
git clone https://github.com/fberbert/crypto-float-monitor.git cd crypto-float-monitor
Para rodar o aplicativo, basta criar um ambiente virtual e instalar o projeto em modo editável:
python -m venv .venv source .venv/bin/activate
Instale as dependências definidas no pyproject.toml:
pip install -e .
Execute o aplicativo com:
crypto-float-monitor
Ao ser iniciado pela primeira vez, o programa cria automaticamente um arquivo de configuração em: ${XDG_CONFIG_HOME:-$HOME/.config}/crypto-float-monitor/config.json
O conteúdo padrão é:
{
"symbol": "BTCUSDT"
}
Você pode editar esse arquivo para monitorar qualquer outro par disponível na Binance, como ETHUSDT, BNBUSDT, entre outros.
Arquivo AppImage
Ao invés de clonar e instalar o projeto manualmente, você pode baixar a versão pré-compilada em AppImage diretamente da página de releases do GitHub:
Também é aconselhável mover o arquivo AppImage para um diretório presente no PATH, como /usr/local/bin ou $HOME/.local/bin, para facilitar a execução. Exemplo:
Para facilitar o lançamento do aplicativo a partir do menu do sistema, você pode criar um arquivo .desktop. Crie o arquivo $HOME/.local/share/applications/crypto-float-monitor.desktop com o seguinte conteúdo:
Obs.: estou considerando que você baixou o AppImage para $HOME/.local/bin/crypto-float-monitor. Se você clonou o repositório e instalou via pip, ajuste o campo Exec para apontar para o script instalado no ambiente virtual ou diretamente no PATH.
Em seguida, para atualizar a lista de aplicativos, execute:
Distribuições Linux com ambiente gráfico (X11 ou Wayland)
Suporte a PyQt6 instalado no sistema
Geração e distribuição como AppImage
Estrutura principal do projeto
pyproject.toml: define metadados e dependências.
src/crypto_float_monitor/binance_client.py: cliente WebSocket que assina o stream da Binance.
src/crypto_float_monitor/widget.py: responsável pela interface flutuante.
src/crypto_float_monitor/main.py: ponto de entrada (`crypto-float-monitor`).
Conclusão
O crypto-float-monitor é uma ferramenta leve e prática para quem deseja acompanhar o preço do Bitcoin diretamente na área de trabalho, sem distrações e com atualização contínua. Sua configuração simples e a possibilidade de ajustar o par monitorado o tornam útil tanto para traders quanto para curiosos que acompanham o mercado cripto.
Se você utiliza Linux e quer uma forma rápida e eficiente de acompanhar o mercado, vale experimentar.
Contribuições, sugestões e feedbacks são bem-vindos no repositório do projeto no GitHub.
[1] Comentário enviado por Buckminster em 10/11/2025 - 08:58h
Aqui no Debian 13, após rodar "python3 -m venv .venv", tive de executar os comandos:
sudo chown -R $USER:$USER /home/seu_usuario/crypto-float-monitor/.venv
sudo chmod -R u+w /home/seu_usuario/crypto-float-monitor/.venv
para então rodar "source .venv/bin/activate".
E, ao rodar "crypto-float-monitor", ficou dando essa mensagem, mesmo tendo instalado os pacotes que pede ali:
"(.venv) kluster@cservidor:~/crypto-float-monitor$ crypto-float-monitor
[Main] Inicializando QApplication...
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Apaguei o .venv, recriei e refiz "pip install -e ." e a mensagem persistiu.
Então rodei:
sudo apt install python3-pyqt6 python3-pyqt6.qtwebengine
E a mensagem desapareceu, mas ao rodar "crypto-float-monitor" ficou a mensagem de "Carregando..." e não saiu disso.
No terminal fica assim:
":~/crypto-float-monitor$ crypto-float-monitor
[Main] Inicializando QApplication...
[BinancePriceStreamer] Inicializando streamer para BTCUSDT
[BinancePriceStreamer] Iniciando thread de stream...
[BinancePriceStreamer] Conectando em wss://stream.binance.com:9443/ws/btcusdt@trade
[FloatingPriceWidget] Widget inicializado e stream iniciado.
[Main] Widget exibido, iniciando loop de eventos.
[FloatingPriceWidget] Status de conexão atualizado: Connecting…
[FloatingPriceWidget] Widget posicionado inicialmente em PyQt6.QtCore.QPoint(1599, 20)
[BinancePriceStreamer] Erro recebido: [Errno 110] Tempo esgotado para conexão
[BinancePriceStreamer] WebSocket fechado.
[BinancePriceStreamer] Aguardando 3.0s para reconectar...
[FloatingPriceWidget] Status de conexão atualizado: Erro: [Errno 110] Tempo esgotado para conexão
[FloatingPriceWidget] Status de conexão atualizado: Desconectado
[FloatingPriceWidget] Status de conexão atualizado: Reconectando…
[BinancePriceStreamer] Conectando em wss://stream.binance.com:9443/ws/btcusdt@trade
[FloatingPriceWidget] Status de conexão atualizado: Connecting…"
Com o AppImage não testei.
[b]_________________________________________________________[/b]
[i]Rule number one: Always listen 'to' Buck![/i]
Enquanto o cursor estiver pulsando, há vida!