Я вижу, как многие люди публикуют анимированные GIF-файлы, демонстрирующие возможности Emacs, но я не видел, как это сделать. Есть ли код, который пытается связать ключевые кадры GIF с нажатиями клавиш в Emacs? Существуют ли пакеты или функции elisp для автоматизации процесса? Мне бы хотелось иметь возможность нажать клавишу, чтобы начать запись, нажать ее еще раз, чтобы остановить, и попросить указать имя файла для сохранения GIF-файла.
Смежный вопрос, есть ли пакет для записи более длинных скринкастов из Emacs?
images
screencast
dgtized
источник
источник
Ответы:
Да, в Emacs есть пакет для записи скринкастов, он называется
camcorder.el
Я пока ничего не могу обещать, поскольку я только протестировал это на своем компьютере, но я могу сказать, что это работает для меня. :-)
M-x camcorder-record
.F12
и подождите, пока преобразование не закончится.Скринкасты могут быть получены в любом формате , понятном
imagemagick
«Sconvert
команды. Вы даже можете приостановить запись с помощьюF11
!Если вы хотите сделать запись без всплывающего окна, используйте
M-x camcorder-mode
.зависимости
Для записи
camcorder.el
используются следующие утилиты linux. Если у вас есть, это должно работать из коробки. Если вы используете что-то другое, вы все равно сможете настроить его, настроивcamcorder-recording-command
переменную.Поиск проблемы
На моей машине я заметил, что Emacs с идентификатором окна сообщает
отличался от идентификатора, который WM сообщал с
wminfo
утилитой.Я добавил переменную,
camcorder-window-id-offset
чтобы исправить это. Значением по умолчанию является-4
, но вам может потребоваться увеличить или уменьшить его, чтобы эти два числа совпадали.источник
xwininfo
чтобы определить правильный идентификатор для использования (у меня нет вwminfo
моей системе).outer-window-id
(а неwindow-id
), и смещения больше не нужны, но это изменение еще не достигло стабильности melpa.Я опубликовал аналогичный вопрос на / r / Emacs .
Для записи GIF-файлов ваши основные параметры:
Чтобы показать нажатия клавиш, вам просто нужно приложение, которое показывает нажатия клавиш. key-mon предоставляет приложение с графическим интерфейсом для этого. Конечно, есть режим Emacs для отображения нажатых клавиш: command-log-mode .
источник
Я использовал Byzanz для генерации всех моих GIF-файлов. Я записываю с одного экрана для запуска
byzanz
команды, один для записи. Некоторые примеры в моем руководстве здесь .источник
Я использовал Byzanz для записи картинок
Сначала установите его, поместите этот фрагмент в rr (область записи) в ваш $ PATH:
и это в rw (окно записи) в ваш $ PATH:
Теперь вы можете использовать rr и rw для записи региона / окна в гифки (вы можете изменить время и положение для ваших нужд.)
источник
Еще один вариант использования проигрывателя QuickTime (он работает на OSX, я не знаю, на Windows). Реквизиты:
ffmpeg
иgifsicle
ffmpeg -i yourscreen.mov -s 600x400 -pix_fmt rgb24 -r 10 -f gif - | gifsicle --optimize=3 --delay=3 > out.gif
источник