Eu vejo muitas pessoas postando GIFs animados mostrando os recursos do Emacs, mas não vi um bom caminho para criar um. Existe algum código que tente vincular os quadros-chave do gif a pressionamentos de tecla no Emacs? Existe algum pacote ou função elisp para automatizar o processo? Eu adoraria poder pressionar uma tecla para iniciar a gravação, pressione-a novamente para parar e solicite um nome de arquivo para salvar o gif.
Pergunta relacionada, existe um pacote para gravar screencasts mais longos no Emacs?
images
screencast
dgtized
fonte
fonte
Respostas:
Sim, existe um pacote para gravar screencasts no Emacs, chamado
camcorder.el
Ainda não posso prometer nada, já que o testei apenas no meu computador, mas posso dizer que funciona para mim. :-)
M-x camcorder-record
.F12
e aguarde a conclusão da conversão.Screencasts podem ser gerados em qualquer formato entendido por
imagemagick
'sconvert
comando. Você pode até pausar a gravação comF11
!Se você deseja gravar sem um quadro pop-up, use
M-x camcorder-mode
.Dependências
Para a gravação,
camcorder.el
use os seguintes utilitários linux. Se você os tiver, deve funcionar imediatamente. Se você usar outra coisa, ainda poderá fazê-lo funcionar configurando acamcorder-recording-command
variável.Solução de problemas
Na minha máquina, notei que o Emacs de id de janela relatado com
diferia do ID que o WM relatou com o
wminfo
utilitário.Eu adicionei a variável
camcorder-window-id-offset
para corrigir isso. O valor padrão é-4
, mas pode ser necessário aumentar ou diminuir o valor para que esses dois números correspondam.fonte
xwininfo
determinar o ID correto a ser usado (não tenho umwminfo
no meu sistema).outer-window-id
(em vez dewindow-id
) e não há mais necessidade de compensação, mas essa alteração ainda não está estável no melpa.Publiquei uma pergunta semelhante no / r / Emacs .
Para gravar GIFs, suas principais opções são:
Para mostrar as teclas digitadas, você só precisa de um aplicativo que mostre as teclas digitadas. O key-mon fornece um aplicativo GUI para isso. Obviamente, existe um modo Emacs para mostrar as teclas pressionadas: command-log-mode .
fonte
Eu usei o Byzanz para gerar todos os meus GIFs. Gravo com uma tela para executar o
byzanz
comando, uma para gravação. Alguns exemplos estão no meu guia aqui .fonte
Eu usei o Byzanz para gravar gifs
Instale-o primeiro, coloque este trecho em rr (região de registro) no seu $ PATH:
e isso em rw (janela de registro) em seu $ PATH:
Agora você pode usar rr e rw para gravar região / janela em gifs (você pode alterar a hora e a posição de acordo com suas necessidades).
fonte
Mais uma opção usando o QuickTime player (funciona no OSX, não sei no Windows). Os requisitos são:
ffmpeg
egifsicle
ffmpeg -i yourscreen.mov -s 600x400 -pix_fmt rgb24 -r 10 -f gif - | gifsicle --optimize=3 --delay=3 > out.gif
fonte