Выделите мышь для скринкастов, не нарушая рабочий процесс

14

Для создания документации / обучающих видео мне нужно выделить мышь, например, с желтой полупрозрачной короной вокруг нее:

введите описание изображения здесь

Маркер должен быть активным при нажатии и перемещении, но если он включен постоянно, это так же хорошо.

Он может в некоторой степени скрыть представление о том, что за ним стоит, но он не может отключить возможность щелкать то, что за ним, или отвлекать внимание от окон.

Compiz, похоже, ушел в прошлое, find-cursor не привязан к каким-либо действиям (щелчкам / движениям) и блокирует взаимодействие (пока он рисует, вы не можете нажать "через" его), а key-mon не рисует правильно, также отключает взаимодействие и обычно глючит, когда дело доходит до подсветки мыши, по крайней мере, с помощью оконного менеджера.

Я использую Arch Linux и удивительный WM.

Благодарность!

qubodup
источник
Для записи, у меня были похожие проблемы с key-mon на wm (openbox) без тайлинга.
gandalf3
Установите пользовательскую тему мыши. Работает все время. Более подробно в моем ответе ниже.
clearkimura

Ответы:

6

Используйте пользовательскую тему мыши, которая соответствует спецификации XDG .

Это может быть самый простой способ ввести маркер. Я предполагаю, что это просто добавляет полупрозрачный слой круга к курсору или проще. Более того, этот подход, скорее всего, будет применим как для тем курсоров X11, так и для тем Wayland, как отмечено в этом ArchWiki .

Как создать тему мыши

Нужно ли создавать собственную тему мыши? Да, если пользователь предпочитает создавать его самостоятельно. Это может занять много времени, и большинству пользователей потребуется выполнить некоторые чтения.

Самое последнее обсуждение «создания тем значков» - около 2015 года, которое можно найти в этой теме на Linux.org. Он немного рассказывает о курсорах и предоставляет больше ссылок для дальнейшего чтения.

В нескольких старых уроках примерно в 2010 году упоминался этот плагин GIMP для создания курсора мыши X11 (XMC). Другой подход заключается в использовании программы Xcursorgen , которая описана в этой статье на ehow.com.

Или без создания темы

Опять же, нам нужно создать один? Нет, потому что некоторые пользователи уже создали такие темы. Большинству пользователей придется просто искать, скачивать и устанавливать его.

Я обнаружил, что DMZ-Highlight от MBOSSG - это простое и элегантное решение.

Это пользовательская тема мыши для Ubuntu / Linux с полупрозрачным желтым кружком под курсором, что почти точно соответствует описанному вопросу. Как видно из названия, DMZ-Highlight (слева) основан на белом варианте DMZ из тем курсора DMZ.

DMZ-Highlight и DMZ белый по сравнению

DMZ-Hightlight работает?

  • выделенный маркер: да
  • полупрозрачный желтый: да
  • активный маркер: Да, при нажатии и перемещении ^ 1
  • отключить нажатие: нет ^ 2
  • украсть фокус: нет ^ 2

^ 1: видимый все время для большинства элементов пользовательского интерфейса, кроме ввода текста покажет обычный Iкурсор

DMZ-подсветка против коврика для мыши

^ 2: тема мыши не мешает и не отвлекает внимание от окон, просто обычный курсор с подсветкой под ним

DMZ-Highlight против элементов пользовательского интерфейса и рабочего стола

Отказ от ответственности : Этот ответ предназначен для того, чтобы предложить самый простой способ ввести маркер на курсор. Таким образом, этот ответ не должен объяснять «как установить тему мыши» (это должно быть охвачено отдельным вопросом и ответом).

Автор DMZ-Highlight предоставил сценарии установки и удаления, которые удобны для пользователей Ubuntu. В моем случае курсор был установлен вручную и настроен с помощью sudo update-alternativeкоманд, как я предпочитаю таким образом.

Протестировано DMZ-Highlight в Xubuntu 14.04 (Xfce 4.10).

TL; DR Установите пользовательскую тему мыши, которая будет выделять курсор. Ноль скриптов, работает все время.

оборота клиаркимура
источник
Странно, что тема не отображает прозрачный желтый круг для меня, но меняет курсор мыши. Не уверен, что там происходит .. Это выглядит идеально, но я беспокоюсь, что это не будет записано некоторыми программами записи экрана, которые не поддерживают захват курсора (одна из основных причин, по которой я это ищу).
gandalf3
Я подтвердил, что DMZ-Highlight работает как в Xfce 4.10, так и в композитингах; Выделение является полупрозрачным и видимым при просмотре экрана с использованием vokoscreen 1.9.0 (использование libav-tools), Xubuntu 14.04.
Clearkimura
4

Хотя предложенная выше тема DMZ-Highlight работает для основного указателя стрелки, другие курсоры не выделяются.

Разочарованный этим, я написал короткую программу, которая применяет подобное выделение ко всем курсорам для данной темы.

Для тех, кто не хочет компилировать и запускать его, я также включил результаты запуска программы на курсорах DMZ-White, создав, так сказать, обновленную версию темы DMZ-Highlight, в которой выделены все курсоры.

Выделенные курсоры

DhatGuy
источник
Спасибо за ваше участие. Сначала, без вашего разрешения, я принял предоставленную вами тему, чтобы упростить ее установку по адресу github.com/iPAS/DMZ-White-Highlighted .
iPAS
@iPAS рад видеть, что моя работа вдохновила вас!
DhatGuy
1

После поиска той же функциональности (из-за некоторого VNC-подобного программного обеспечения, которое не показывает курсор), я использовал решение из ответа /unix//a/228674 и добавил функциональность ( https: //github.com/arp242/find-cursor/pull/15 ).

Кирилл Булыгин
источник
-1

Вы пробовали то, что подробно описано в этом ответе на похожий вопрос? /unix//a/183941/141220

У вас есть Arch и необычный wm, так что вы, вероятно, знали, что вам нужно было взломать самостоятельно.

Перепечатка здесь, это происходит по ссылке выше, если это работает, не забудьте поблагодарить пользователя mikeserv , так как я здесь в основном мессенджер.


Следующее, вероятно, будет работать для вас:

#!/bin/sh
unset X Y; sleep 1
eval "$(xdotool getmouselocation -shell 2>/dev/null)"
for n in X Y; do  : "$(($n-=$n>25?25:$n))"; done
xwd -root -silent |
xv -    -crop "$X" "$Y" 50 50 \
        -geometry "50x50+$X+$Y" \
        -nodecor -viewonly -rv -quit

Это зависит от трех коммунальных услуг xv, xwdи xdotool. Первые две - очень распространенные утилиты X, а третья, я уверен, у вас уже есть.

Поспав одну секунду, xdotoolзаписывает текущие координаты мыши в стандартный вывод в удобном для ознакомления -shellформате, например:

X=[num]
Y=[num]
windowID=[num]

evalсоответственно устанавливает переменные оболочки, а цикл for вычитает половину размера изображения, которое должно скоро отобразиться, из каждого из значений $Xand $Yи, или, если любое из значений меньше 25, устанавливает их в 0.

xwdсоздает дамп корневого окна по каналу xv, который обрезает область расположения мыши до размера изображения 50x50и отображает негатив изображения под текущим курсором мыши в небольшом окне без каких-либо украшений оконного менеджера.

Конечный результат примерно такой:

введите описание изображения здесь

... хотя я думаю, что мой курсор мыши не появляется на снимках экрана. Будьте уверены, однако, это было прямо над белой коробкой, когда я сделал снимок.

Вы можете видеть на изображении, как я также написал это как функцию оболочки и задал ее фон. Это в основном по той причине, что там вообще sleepесть - нажатие клавиши RETURN прокручивает терминал, если вы уже внизу, и xwdбыл достаточно быстрым, чтобы захватить его изображение экрана перед прокруткой терминала - что сместило бы моего негатива в изображении немного и мне это не понравилось.

Во всяком случае, так как xvвыполняется с обоими -viewonlyи -quitкоммутаторами, она исчезнет , как только кнопка мыши нажата или клавиша клавиатуры нажата - но будет оставаться до тех пор , пока сделать что- либо.

Несомненно, вы могли бы делать намного более сложные вещи с одним ImageMagickили даже в xvодиночку - но я просто сделал небольшой отрицательный блок под курсором мыши. Вы можете найти здесь документы xv и документы для xwdin man xwd.

bobafetthotmail
источник
1
Интересно, но, похоже, не соответствует требованиям ОП. Это окно блокирует щелчки и не следует за курсором при его перемещении.
gandalf3
этот сценарий должен быть помещен в цикл с подходящим «сном», вероятно. Как сейчас, конечно, он печатает только одно изображение, да.
bobafetthotmail
Что касается блокирующих кликов, я думаю, что вам нужно поиграть с -rootопцией in xv, так как это заставляет его не открывать свое собственное окно x поверх содержимого. Но тогда он не может воспринимать щелчки (весь смысл здесь), поэтому вам потребуется, чтобы скрипт завершил его и перезапустил вручную в цикле. Изучите «Параметры корневого окна» в документации structbio.vanderbilt.edu/chazin/wisdom/xv-3.10a/…
bobafetthotmail
1
Я не могу себе представить, что производительность будет очень высокой, если просто выгрузить весь сценарий в цикл. Даже без сна окно будет отображаться на моей машине почти полсекунды.
gandalf3
Рисование в корневом окне не позволяет рисовать поверх других окон AFAIK. По крайней мере, это похоже на случай после быстрого теста.
gandalf3