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

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

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

在此输入图像描述

单击和移动时标记应该处于活动状态,但如果它始终处于打开状态,那也没关系。

它可以在某种程度上模糊其后面的视图,但它可能不会禁用单击其后面的内容或将焦点从窗口移开。

康皮兹似乎已经是过去式了查找光标不与任何操作(单击/移动)绑定并阻止交互(在绘制时,您无法单击“通过”它)并且关键蒙无法正确绘制,也会禁用交互,并且在涉及鼠标荧光笔时通常会出现错误,至少对于平铺窗口管理器而言是如此。

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

谢谢!

答案1

对我来说,没有一个解决方案是令人满意的。原因之一是我想使用 vlc 屏幕投射,而在 GNU/Linux 上它根本不显示鼠标指针。对我来说非常有效的是:突出显示指针

https://github.com/swillner/highlight-pointer

优点:

  • 当您需要时将其打开(您不必在光标主题之间切换)
  • 可调整(半径、颜色……)

答案2

编辑2021-05-04:我相信@johannes-titz(突出显示指针)最近添加的解决方案非常优越,因为它不使用光标主题。我将保留帖子的其余部分,因为它可能对某人仍然有用。


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

对此感到沮丧,我写了一篇短文程序它将类似的突出显示应用于给定主题的所有光标。

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

突出显示的光标

答案3

使用以下自定义鼠标主题XDG 规范

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

如何创建鼠标主题

我们必须创建自定义鼠标主题吗?是的,如果用户喜欢自己创建一个。这可能非常耗时,并且大多数用户需要进行一些阅读。

关于“创建图标主题”的最新讨论是在 2015 年左右,可以在这个线程在 Linux.org 上。它只介绍了一些关于光标的内容,并慷慨地提供了更多链接以供进一步阅读。

一些较老的教程大约2010年提到这个 GIMP 插件用于创建 X11 鼠标光标 (XMC)。另一种方法是使用Xcursorgen程序,其解释在本文在 ehow.com 上。

或者不创建主题

话又说回来,我们是否需要创建一个?不,因为一些用户已经创建了这样的主题。大多数用户只需搜索、下载并安装即可。

我找到DMZ-亮点MBOSSG 是一个简单而优雅的解决方案。

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

DMZ-Highlight 和 DMZ 白色对比

DMZ-Hightlight 有效吗?

  • 突出显示标记:是
  • 半透明黄色:是
  • 活动标记:是,当单击并移动 ^1 时
  • 禁用点击:否 ^2
  • 窃取焦点:否 ^2

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

DMZ-针对鼠标垫高亮显示

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

DMZ-针对 UI 元素和桌面进行突出显示

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

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

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

长话短说安装自定义鼠标主题,它将突出显示光标。零脚本,始终有效。

答案4

您是否尝试过类似问题的答案中详细介绍的内容?https://unix.stackexchange.com/a/183941/141220

你有 Arch 和一个不常见的 wm,所以你可能知道你必须自己做一些黑客工作。

在这里重新发布,这来自上面的链接,如果有效不要忘记感谢用户麦克塞夫也是,因为我在这里主要是一个信使。


以下内容可能适合您:

#!/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以 eval 友好的格式将鼠标的当前坐标写入其标准输出,-shell如下所示:

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

eval$X相应地设置 shell 变量,for 循环从每个和的值中减去即将显示的图像大小的一半$Y,或者,如果任一值小于25,则将它们设置为0

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

最终结果是这样的:

在此输入图像描述

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

您可以在图中看到我如何将其编写为 shell 函数并将其设置为后台。主要是因为这个原因,sleep那里有一个 - 如果你已经在底部,按 RETURN 键将滚动终端,并且xwd在终端滚动之前足够快地抓取屏幕图片 - 这会偏移我的图像有点负片,我不喜欢它。

无论如何,因为xv同时使用-viewonly-quit开关运行,所以一旦单击鼠标按钮或按下键盘键,它就会消失 - 但会一直保留,直到您执行其中任何一个操作。

ImageMagick毫无疑问,你可以用甚至单独做更复杂的事情xv- 但我只是在鼠标光标下做了一个小负框。您可以找到xv 文档在这里xwd以及in 的 文档man xwd

相关内容