Вы пробовали то, что подробно описано в этом ответе на похожий вопрос? /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 вычитает половину размера изображения, которое должно скоро отобразиться, из каждого из значений $X
and $Y
и, или, если любое из значений меньше 25
, устанавливает их в 0
.
xwd
создает дамп корневого окна по каналу xv
, который обрезает область расположения мыши до размера изображения 50x50
и отображает негатив изображения под текущим курсором мыши в небольшом окне без каких-либо украшений оконного менеджера.
Конечный результат примерно такой:
... хотя я думаю, что мой курсор мыши не появляется на снимках экрана. Будьте уверены, однако, это было прямо над белой коробкой, когда я сделал снимок.
Вы можете видеть на изображении, как я также написал это как функцию оболочки и задал ее фон. Это в основном по той причине, что там вообще sleep
есть - нажатие клавиши RETURN прокручивает терминал, если вы уже внизу, и xwd
был достаточно быстрым, чтобы захватить его изображение экрана перед прокруткой терминала - что сместило бы моего негатива в изображении немного и мне это не понравилось.
Во всяком случае, так как xv
выполняется с обоими -viewonly
и -quit
коммутаторами, она исчезнет , как только кнопка мыши нажата или клавиша клавиатуры нажата - но будет оставаться до тех пор , пока сделать что- либо.
Несомненно, вы могли бы делать намного более сложные вещи с одним ImageMagick
или даже в xv
одиночку - но я просто сделал небольшой отрицательный блок под курсором мыши. Вы можете найти здесь документы xv и документы для xwd
in man xwd
.