Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Crossinger - Crosshair CLI Overlay (Multiplataforma)

Uma aplicação CLI minimalista escrita em C puro para Linux e Windows que exibe um cursor (crosshair) overlay customizável e transparente que sobrepõe todas as janelas do sistema.

Recursos

  • Suporte Multiplataforma Nativo: Utiliza APIs de sistema nativas de alta performance (X11/Xinerama no Linux, Win32/GDI no Windows) sem dependências gráficas externas pesadas (como SDL ou OpenGL), mantendo o executável ultra-leve e autônomo.
  • Sobreposição total (Overlay): Exibe a mira acima de qualquer aplicação ou jogo (tanto em modo janela quanto tela cheia sem bordas).
  • Entrada Click-Through: Cliques do mouse passam direto pela janela da mira para que não haja interferência no seu jogo ou workflow.
  • Suporte a Múltiplos Monitores: Detecta automaticamente todas as telas do sistema (via Xinerama no Linux e EnumDisplayMonitors no Windows), permitindo alternar a mira entre os monitores com uma única tecla.
  • Conexão X11 Robusta (Linux - Sudo / TMUX): Autodetecta se a aplicação foi executada com sudo ou dentro de uma sessão tmux, encontrando automaticamente as credenciais .Xauthority e variáveis de ambiente DISPLAY do usuário logado na interface gráfica para evitar erros de permissão.
  • 4 Tipos de Cursores Comuns:
    1. Cruz Clássica (Classic Cross)
    2. Ponto de Precisão (Dot)
    3. Círculo Reticular (Circle)
    4. Retículo em T (T-Shape)
  • Interface CLI Dinâmica: Atualiza o terminal em tempo real conforme você interage com o teclado (usando leitura em modo raw assíncrona com select no Linux e _kbhit no Windows).

Como Compilar e Executar

🐧 No Linux (Nativo)

1. Instalar dependências

Em distribuições baseadas no Ubuntu/Debian:

sudo apt update
sudo apt install build-essential libx11-dev libxext-dev libxfixes-dev libxinerama-dev

2. Compilar

Rode o comando make no diretório raiz:

make

3. Executar

./crossinger

Note

TMUX / SUDO: Se você estiver rodando em sessões do TMUX ou se precisar rodar com privilégios elevados (sudo), a aplicação tenta autodetectar o arquivo .Xauthority do seu usuário original e configurar o display. Se necessário, libere conexões locais com xhost +local: antes de iniciar, ou preserve variáveis com sudo -E ./crossinger.


🪟 No Windows (Nativo)

A aplicação no Windows usa a API Win32 nativa e GDI para desenho de alta performance e transparência perfeita (via janelas layered).

Opção A: Compilar no Windows com GCC (MinGW / MSYS2)

Se você tiver o GCC instalado via MSYS2 ou MinGW no Windows, execute:

gcc -Wall -Wextra -O2 main.c -o crossinger.exe -lgdi32 -luser32

Opção B: Compilar no Windows com MSVC (Visual Studio)

Abra o prompt de comando do desenvolvedor do Visual Studio (Developer Command Prompt) e execute:

cl.exe /O2 main.c /link gdi32.lib user32.lib /out:crossinger.exe

Opção C: Cross-compilação a partir do Linux

Se você estiver no Linux e quiser gerar o executável do Windows (crossinger.exe), instale o cross-compilador MinGW:

# No Ubuntu/Debian:
sudo apt install mingw-w64

Em seguida, compile utilizando o Makefile:

make windows

Atalhos e Controles

Quando o programa estiver rodando no terminal, você poderá controlar a mira instantaneamente pressionando as seguintes teclas:

Tecla Ação
1 Alterna para o tipo de cursor Cruz Clássica
2 Alterna para o tipo de cursor Ponto de Precisão (Dot)
3 Alterna para o tipo de cursor Círculo Reticular
4 Alterna para o tipo de cursor Retículo em T (T-Shape)
c ou C Cicla entre as cores disponíveis
+ ou = Aumenta o tamanho do cursor
- Diminui o tamanho do cursor
G Aumenta o gap central (abertura das linhas da cruz)
g Diminui o gap central
T Aumenta a espessura da linha
t Diminui a espessura da linha
d ou D Ativa/Desativa o ponto central nos tipos 1, 3 e 4
b ou B Configura o atalho para ocultar a mira via clique direto do mouse (detecta modificadores Shift/Ctrl/Alt)
o ou O Alterna o modo de atalho entre Hold (oculta enquanto pressionado) e Toggle (clique alterna)
m ou M Move o cursor para o centro do próximo monitor (se houver múltiplos)
Setas Ajuste fino da posição na tela (move a mira 1 pixel por vez)
r ou R Reseta a posição da mira de volta para o centro do monitor ativo
q ou Q Fecha a janela do overlay e encerra a aplicação com segurança

About

🎯 Um overlay de mira (crosshair) minimalista, transparente e click-through para Windows e Linux. Feito em C puro, sem dependências externas.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages