突出显示鼠标以进行截屏,而不会干扰工作流程


14

为了制作文档/教程视频,我需要突出显示鼠标,例如鼠标周围带有黄色的半透明电晕:

在此处输入图片说明

单击和移动时,标记应处于活动状态,但是如果一直处于启用状态,那就没问题了。

它可以在某种程度上掩盖其背后的视图,但它可能无法禁用单击其背后的内容或将焦点从窗口移开的功能。

Compiz似乎已成为过去,find光标不受任何动作(单击/移动)的约束,并且阻止了交互(在绘制时,您无法单击“通过”它)并且key-mon不绘制正确地,也将禁用交互,并且至少在使用平铺窗口管理器时,鼠标荧光笔通常存在问题。

我正在使用Arch Linux和很棒的wm。

谢谢!


作为记录,我在非平铺wm(openbox)上也遇到过与key-mon相似的问题。
gandalf3 '16

安装自定义鼠标主题。一直有效。我在下面的答案中有更多详细信息。
clearkimura

Answers:


6

使用符合XDG规范的自定义鼠标主题。

这可能是引入标记的最简单方法。我想这只是向光标或更简单的对象添加了一个半透明的圆形图层。更好的是,此方法很可能同时适用于X11和Wayland光标主题,如该ArchWiki中所述

如何创建鼠标主题

我们必须创建自定义鼠标主题吗?是的,如果用户希望自己创建一个。这可能很耗时,并且大多数用户将需要阅读一些内容。

关于“创建图标主题”的最新讨论大约在2015年,可以在Linux.org上的该线程中找到。它仅覆盖游标的一点点,并慷慨地提供了更多链接以供进一步阅读。

大约在2010年,一些较旧的教程提到用于创建X11鼠标光标(XMC)的GIMP插件。另一种方法是使用Xcursorgen程序,本文在ehow.com上对此进行了说明。

还是不创建主题

再说一次,我们需要创建一个吗?否,因为有些用户已经创建了这样的主题。大多数用户只需要搜索,下载和安装它。

我发现MBOSSG的DMZ-Highlight是一个简单而优雅的解决方案。

这是Ubuntu / Linux的自定义鼠标主题,其光标下方有半透明的黄色圆圈,几乎完全是问题描述的内容。顾名思义,DMZ-Highlight(左)基于DMZ光标主题中的DMZ白色变体。

DMZ-Highlight和DMZ白色的比较

DMZ-Hightlight可以工作吗?

  • 高亮标记:是
  • 半透明黄色:是
  • 活动标记:是,单击并移动^ 1时
  • 禁用点击:否^ 2
  • 抢焦点:不^ 2

^ 1:大多数UI元素始终可见,但文本输入将显示通常的I光标

DMZ-Highlight对鼠标垫

^ 2:鼠标主题既不会阻碍窗口,也不会将焦点从窗口移开,只是普通光标在其下方突出显示

针对UI元素和桌面的DMZ-Highlight

免责声明:此答案旨在建议在光标上引入标记的最简单方法。因此,这个答案应该上“如何安装鼠标主题为”(这应该由一个独立的问题和答案覆盖)解释。

DMZ-Highlight的作者提供了安装和卸载脚本,这些脚本对于Ubuntu用户很方便。就我而言,游标是通过sudo update-alternative命令手动安装和配置的,就像我更喜欢这种方式。

在Xubuntu 14.04(Xfce 4.10)中测试了DMZ-Highlight。

TL; DR安装自定义鼠标主题,它将突出显示光标。零脚本,始终有效。


奇怪的是,该主题不会为我显示透明的黄色圆圈,但会更改鼠标光标。不知道发生了什么。这看起来很完美,但是我担心一些不支持捕获光标的屏幕记录程序不会捕获它(我正在寻找它的主要原因之一)。
gandalf3 '16

我已经确认DMZ-Highlight可以在合成/非合成Xfce 4.10中使用;使用vokoscreen 1.9.0(使用libav-tools),Xubuntu 14.04 进行截屏时,高光是半透明的并且可见。
clearkimura

4

尽管上面建议的DMZ-Highlight主题适用于基本箭头指针,但其他光标都不会突出显示。

对此感到沮丧的是,我编写了一个简短的程序,该程序将给定主题的所有光标都应用类似的突出显示。

对于那些不想编译和运行它的人,我还提供了针对DMZ-White光标运行程序的结果,可以说是DMZ-Highlight主题的更新版本,其中所有光标都突出显示了。

高亮光标


感谢您的分享。首先未经您的许可,我采用了您提供的主题,以使其更易于安装在github.com/iPAS/DMZ-White-Highlighted
iPAS

@iPAS很高兴看到我的工作启发了您!
DhatGuy


-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

这取决于三个工具xvxwdxdotool。前两个是非常常见的X实用程序,第三个我可以肯定地说您已经拥有了。

睡眠一秒钟后,xdotool将鼠标的当前坐标以评估友好的-shell格式写入其标准输出,例如:

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

eval套壳变量相应,并且来自每个的for循环中减去一半即将待显示的图像的大小的$X$Y的值,或者,如果有一个值小于25,套他们0

xwd将根窗口转储到管道上xv,该管道在鼠标位置附近裁剪为图像大小,50x50并在没有任何窗口管理器修饰的情况下在小窗口中的当前鼠标光标下显示图像负片。

最终结果是这样的:

在此处输入图片说明

...虽然我猜我的鼠标光标没有出现在屏幕截图中。不过请放心,当我拍照时,它就在那边的白盒子上。

您可以在图像中看到我也是如何将其编写为Shell函数并使其成为背景的。主要是因为这个原因,里面根本没有一个sleep-如果您已经在底部,按RETURN键将滚动终端,并且xwd在终端滚动之前足够快地抓取其屏幕图片-这会抵消我的图片中的底片有点,我不喜欢它。

无论如何,由于xv同时与-viewonly-quit开关一起运行,因此一旦单击鼠标按钮或按下键盘键,它便会消失-但将一直保留到您执行任一个为止。

毫无疑问,您ImageMagick甚至可以xv单独进行甚至更复杂的操作-但我只是在鼠标光标下做了一个小否定框。您可以在这里XV文档 和文档为xwdman xwd


1
有趣,但似乎不符合OP的要求。该窗口将阻止块单击,并且在移动时不会跟随光标。
gandalf3'3

该脚本可能必须与适当的“睡眠”一起放入循环中。当然,由于它现在只打印单个图像,所以。
bobafetthotmail

至于阻塞点击,我认为您需要使用中的-root选项xv,因为这会迫使它不要在内容顶部打开自己的x窗口。但是这样它就无法感知点击(这里的重点),因此您需要让脚本终止它并手动循环重新启动它。查看structbio.vanderbilt.edu/chazin/wisdom/xv-3.10a/…
bobafetthotmail,2016年

1
我无法想象将整个脚本转储到一个循环中时性能会非常好。即使没有睡眠,窗口也将花费近半秒的时间出现在我的机器上。
gandalf3 '16

绘制到根窗口不允许在其他窗口AFAIK之上绘制。至少经过快速测试后,情况似乎如此。
gandalf3 '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.