1 pontos por hellowkim 2 시간 전 | Ainda não há comentários. | Compartilhar no WhatsApp

Costumo conectar meu iPad ao MacBook via Sidecar e usá-lo com frequência como monitor duplo.
Mas, dependendo do espaço na mesa ou da situação, preciso mover o iPad do lado esquerdo do MacBook para o direito, ou vice-versa, com certa frequência. E, toda vez, achei muito incômodo ter que entrar em [Ajustes do Sistema -> Monitores -> Organizar] e arrastar manualmente os ícones das telas com o mouse.
Parecia algo que a Apple poderia muito bem oferecer como recurso nativo, mas como não oferece, resolvi criar eu mesmo este utilitário ultraleve em Swift, que roda em segundo plano.

💡 Como funciona?

  • Se você posicionar o cursor do mouse na extremidade esquerda ou direita da tela e mantê-lo ali por 0,5 segundo, o app detecta a posição do iPad no arranjo de monitores e o move automaticamente para aquele lado.
  • Ao empurrar o mouse até a borda da tela, aparece um gráfico de bolha preta (Blob) que se estica de forma elástica na área da borda, mostrando visualmente de maneira intuitiva o tempo de espera (timer).
Publicidade

🛠️ Características técnicas e implementação

  • Uso de API: funciona com segurança usando apenas APIs públicas oficiais do macOS (NSEvent.addGlobalMonitorForEvents e CGConfigureDisplayOrigin do CoreGraphics), sem frameworks não oficiais, gambiarras ou extensões de kernel.
  • Privacidade e segurança: não há qualquer comunicação externa (Analytics, envio para servidor etc.); o app roda apenas no ambiente local do Mac.
  • Assinatura de código (Code Sign): por ser um projeto open source gratuito, ele não possui assinatura paga de desenvolvedor Apple, e houve um problema em que a primeira distribuição do build era colocada em quarentena como “arquivo danificado”. Para resolver isso, foi aplicada uma assinatura Ad-hoc (temporária) e o arquivo de distribuição (.dmg) foi atualizado. Se a execução for bloqueada após o download, vá em [Ajustes do Sistema -> Privacidade e Segurança -> Segurança] e clique em [Abrir Mesmo Assim] para permitir uma única vez; depois disso, ele funcionará normalmente sem avisos.

⚙️ Configurações disponíveis

  • Ativar/desativar a detecção do mouse nas bordas da tela e o alinhamento automático
  • Ajuste do tempo de detecção de atraso (0,3 s / 0,5 s / 1,0 s)
  • Alinhamento manual por atalhos de teclado ([ e ])
  • Desativação do ícone na barra de menus superior (modo oculto)
  • Execução automática ao iniciar sessão
    É um pequeno projeto pessoal que começou para resolver um incômodo meu, mas espero que também seja útil para quem sempre achou chato ter que mudar a posição do Sidecar. Feedback sobre o código ou sugestões de melhoria são sempre bem-vindos!

Ainda não há comentários.

Ainda não há comentários.