2 pontos por GN⁺ 20 일 전 | 1 comentários | Compartilhar no WhatsApp
  • O macOS tem uma arquitetura em que não é possível desativar a animação de troca de Spaces, o que causa uma sensação de atraso em trocas frequentes
  • Soluções existentes, como a configuração “Reduce motion” ou o gerenciador de janelas yabai, têm limitações como persistência da latência ou necessidade de desativar o SIP
  • O InstantSpaceSwitcher implementa troca instantânea sem essas restrições ao simular rapidamente o gesto de swipe do trackpad
  • Funciona como um app nativo sem desativar o SIP e também oferece movimentação por número do Space via CLI
  • Remove a complexidade de ferramentas de terceiros e é uma ferramenta prática para possibilitar trocas rápidas de Spaces no ambiente padrão do macOS

O problema da troca de Spaces no macOS e as soluções existentes

  • O macOS tem uma estrutura em que não é possível desligar a animação ao trocar de Space, o que traz o inconveniente de uma sensação de lentidão acumulada em trocas frequentes
    • A Apple continua sem atender aos pedidos para desativar a animação
    • Mesmo que o tempo de transição seja curto, em trocas frequentes há perda perceptível de velocidade
  • A solução geralmente sugerida é a configuração “Reduce motion”, mas ela apenas substitui por uma animação de fade-in, então a latência continua existindo
    • Além disso, essa configuração ativa a media query prefers-reduced-motion no navegador, causando o efeito colateral de desativar animações na web
  • A função de instant switcher do gerenciador de janelas em mosaico yabai exige patch em binários do sistema operacional, então é necessário desativar o System Integrity Protection (SIP)
    • Ao usar o yabai, é preciso substituir o gerenciador de janelas padrão, e ele não é compatível com PaperWM.spoon e afins
  • Gerenciadores de espaços virtuais de terceiros, como FlashSpace e AeroSpace virtual workspaces, são implementações não nativas que simulam a troca escondendo e exibindo janelas
  • Também existe a opção de usar o recurso pago “Move Right/Left Space (Without Animation)” do BetterTouchTool, mas isso traz a limitação de exigir licença paga

InstantSpaceSwitcher — ferramenta nativa de troca instantânea de Spaces

  • O InstantSpaceSwitcher, desenvolvido por jurplel no GitHub, elimina todas as limitações acima e oferece troca instantânea de Spaces
    • Disponível no formato de aplicativo de barra de menu e funciona sem desativar o SIP

      • Implementa troca sem latência ao simular rapidamente o gesto de swipe do trackpad
      • Também oferece movimentação direta para um número de Space e uma interface de linha de comando (CLI)
      • Exemplo de uso da CLI:
      .build/release/ISSCli [left|right|index <n>]
      
      • O procedimento de instalação é o seguinte
      • git clone https://github.com/jurplel/InstantSpaceSwitcher
      • cd InstantSpaceSwitcher
      • ./build.sh
      • Após o build, pode ser executado como um aplicativo nativo
      • No momento, o repositório no GitHub tem apenas 1 estrela (do próprio autor), e há a expectativa de que mais usuários descubram e aproveitem a ferramenta

Referência adicional

  • instantspaces era uma tentativa de separar o instant switcher do yabai, mas não funciona no macOS Tahoe
    • Mesmo após várias tentativas, não houve sucesso, e o InstantSpaceSwitcher funciona de forma mais estável
    • Se outro usuário tiver conseguido fazê-lo funcionar, o autor pede feedback

1 comentários

 
GN⁺ 20 일 전
Comentários do Hacker News
  • Desde pequeno eu já estava acostumado com essa animação de troca de Spaces, então nunca achei incômodo
    Mas, depois de comprar um MacBook novo, percebi que os atalhos de teclado eram mais rápidos do que a troca de foco do sistema, e isso vivia causando confusão
    Pesquisando, descobri que não era só a minha memória muscular falhando: nos Macs mais novos com tela de 120Hz, a animação realmente ficou mais lenta
    Se eu mudar a tela para 60Hz, volta à velocidade antiga
    Fico me perguntando por que essa mudança aconteceu e por que, mesmo depois de 5 anos, uma empresa de valor de mercado de US$ 3,82 trilhões ainda não corrigiu isso
    Também dá para ver discussões relacionadas no fórum da Apple e em vídeos no YouTube

    • É inacreditável que um bug tão antigo ainda continue aí
      Fico pensando se os engenheiros da Apple realmente usam macOS no dia a dia
    • Não entendo muito de customização no Mac, mas no Android e no Linux eu já desativei animações e nunca senti falta de nada
      No fim, fora o efeito “uau” inicial, elas não serviam para muita coisa
    • Notei isso imediatamente quando usei um MacBook de 120Hz pela primeira vez em 2021
      É surpreendente que uma função tão básica da UI ainda não tenha sido corrigida
    • Eu também estava passando pelo mesmo problema
      Estava frustrado porque, durante a troca de Spaces, a digitação ia para a janela errada, e só agora descobri que era por causa do MacBook novo
      Que alívio
    • Meu palpite é que isso acontece por causa da forma de calcular a animação de desaceleração
      Deve ser parecido com jogos sem limite de frames, em que o movimento muda de acordo com a taxa de quadros
  • Acho que a Apple está cometendo um erro fatal
    A Microsoft também
    Você deve projetar boas interfaces e padrões razoáveis, mas não pode prender os usuários avançados
    Usuários avançados são minoria, mas são essenciais para evoluir a linguagem de design, encontrar bugs e liderar a comunidade
    Só que Apple e Microsoft estão fechando seus ecossistemas em nome de aumentar o controle
    Como resultado, os usuários estão ficando cada vez mais desconfortáveis
    Por isso a popularidade do Linux está até aumentando — porque ele oferece controle total e, ao mesmo tempo, a barreira de entrada ficou menor
    A Apple de antigamente equilibrava bem isso, mas agora parece apenas obsessão por controle

    • O problema é que elas agora nem sequer oferecem bons padrões
      Design ruim não desaparece facilmente, então fica por décadas
      O tempo desperdiçado com animações prejudica não só usuários avançados, mas todo mundo
  • Já que falaram do yabai, recomendo muito experimentar o Aerospace
    Já usei vários WMs, e esse foi o mais estável
    Aerospace GitHub

    • Eu também uso o Aerospace, e ele funciona muito bem com quase nenhuma configuração
      As configurações padrão são tão boas que há anos quase não mexo em nada
      Mas eu não sou exatamente um power user de WM em mosaico
    • Aerospace é realmente uma ferramenta impressionante
    • Eu usava bastante os Spaces do macOS, mas, depois que me recomendaram o Aerospace e eu migrei para ele, fiquei totalmente satisfeito
      Também considerei o Yabai, mas desisti porque algumas funções exigiam desativar o SIP (System Integrity Protection)
    • Antes funcionava bem, mas hoje em dia ele vive perdendo janelas, então preciso ficar resetando o tempo todo
  • Recentemente mudei para o macOS por causa do trabalho, mas isso definitivamente não é o ápice da engenharia
    Talvez porque eu estivesse acostumado com um desktop Linux ajustado por mim mesmo, mas o macOS parece lento, difícil de configurar e pouco amigável para teclado

  • Até agora há pouco eu não sabia, mas só agora percebi como a animação de troca de Spaces do macOS é irritante

    • Além disso, em monitores de 120Hz ela fica ainda mais lenta, e o foco de entrada continua no Space anterior até a animação terminar
    • Agora você vai começar a notar outros problemas também, então, pelo bem da sua saúde mental, é melhor esquecer isso
  • Troquei para o Fedora Asahi Remix por causa desse bug do macOS
    O Asahi Remix é baseado em Gnome e o gerenciamento de janelas é muito mais sensato
    O vídeo do bug está aqui

    • Eu também mudei para o Asahi Linux pelo mesmo motivo
      Sou usuário de Mac desde a época do System 6, no começo dos anos 90, mas agora nem sei se vou comprar meu próximo hardware da Apple
    • Eu uso Asahi Alarm (baseado em Arch) com Sway
      Migrei imediatamente depois que o macOS forçou uma atualização contra a minha vontade
  • A ideia de sintetizar swipes rápidos para eliminar a animação de transição é simplesmente genial

  • É meio relacionado, mas quando o Finder restaura várias abas depois de reiniciar
    ao clicar numa aba, às vezes a janela salta de repente para outro Space
    Parece que ele acha que as abas da mesma janela pertencem a Spaces diferentes
    Os bugs do software da Apple hoje em dia já não parecem simples casos extremos, mas sim resultado de uma estrutura de modelagem errada

  • Esse hack de troca de Spaces também é legal, mas eu adoraria se houvesse um jeito de trazer de volta a grade 2D de Spaces do antigo OS X 10.5/10.6
    O design linear adotado desde o 10.7 é simplista demais

    • Eu também sentia muita falta disso
      Depois de sair do macOS para o KDE, recuperei uma grade 3x3 de desktops virtuais, e é muito confortável
      Posso fixar cada desktop por finalidade, e também configurar livremente as animações de transição com fade, slide e ajuste de velocidade
      Essa flexibilidade de configuração é realmente um grande atrativo do KDE
  • Depois de me acostumar no Linux com opções como Hyperland e Niri, recentemente comecei a testar o OmniWM

    • Ainda está nos estágios iniciais de desenvolvimento, mas a velocidade de correção de bugs é muito alta
      Quando preciso usar macOS, o OmniWM faz com que fique tolerável
    • Eu não uso Spaces nem gerenciadores de janelas, então fico me perguntando o que estou perdendo usando só a troca com Cmd+Tab
      Será que pode ser uma experiência que muda a vida?
    • Eu pensava a mesma coisa, mas o OmniWM parece bom demais, então vou testar agora mesmo