Eu tenho meus Emacs execução em um tag worker
com server-start
lançada. Eu tenho um gerenciador de arquivos aberto em outro lugar (outro monitor, por exemplo) e quando eu abro um arquivo de texto com emacsclient
ele é aberto com êxito no emacs, mas não muda para ele e não aumenta.
O que estou procurando é um sinal específico do cliente no rc.lua
. Algo como:
client.add_signal("focus", function(c) c:raise() end)
Eu quero que seja apenas específico do Emacs. E mude para a worker
tag ao mesmo tempo. Como alternativa, posso fazer isso a partir do retorno de chamada da regra do Emacs?
Alguma ideia? :)
emacs
awesome-wm
lua
platforma
fonte
fonte
Respostas:
Eu queria a mesma coisa, e sua idéia de um retorno de chamada do emacs é o que finalmente funcionou. Eu não testei no awesome, mas estou usando o dwm, e suponho que eles sejam semelhantes o suficiente para que isso funcione.
Esta é a função de retorno de chamada no emacs:
Existem várias maneiras de chamar o retorno de chamada. Por simplicidade e flexibilidade, optei por um alias de shell que chama o retorno de chamada e, em seguida, o emacsclient regular:
Espero que ainda seja útil;)
Para obter mais referências sobre o tipo de mensagem e valores, consulte Dicas do Gerenciador de Janelas .
Quanto ao manuseio impressionante dessa mensagem, parece que esse evento foi tratado. O código fonte está aqui .
fonte