如何制作自定义终端光标形状?

不是我

我想在各种(模拟)终端中更改光标的形状。

我想要的形状是⼕(对不起,如果它不呈现)。这是一个向右打开的三边形框。这样,我可以看到插入位置,还可以看到光标在“哪个”字符上。我在U + 2F15找到了Unicode中的那个字符。

我绝对希望能够在Linux的内核虚拟终端(即使用Control+ Alt+获得的东西)和GUI终端仿真器(例如XTerm和RXVT)中做到这一点。如果可能,即使在网络终端(例如PuTTY和KiTTY)中,我也想这样做。如果我不能得到那个准确的字符,我至少要那个三行形状FN

我知道这将涉及“ ANSI”转义码或终端仿真器中的(也许)设置(尽管考虑到这不适用于Linux内置终端仿真器,所以这不是可取的)。请提供不依赖于使用任何特定外壳的答案。在不更改内核代码的情况下,这是否有可能?

JdeBP

虚拟终端和实际终端中可用的光标形状受到限制。通常,它们仅启用与旧的显示硬件相匹配的设置形状,通常只允许指定闪烁周期以及在打开门光标时的开始和结束扫描线,有时仅是开始和结束组合的非常有限的子集(例如下划线,上划线,半高,阻止)。

为此,两个主要的控制序列是DECSCUSR和LINUXSCUSR。DECSCUSR是DEC在其后来的终端范围内支持的控制序列的名称。像其他真正终端制造商一样,DEC在其doco中给其卖方专用控制序列名称以“ DEC”开头。(为了比较,Tektronix在其doco中使用了“ TEK”前缀来命名其供应商-私有控制序列。)Linux doco与往常一样非常差,并且没有命名。因此,“ LINUXCUSR”是我的造词,以此类推,前缀为“ LINUX”。

DECSCUSR和LINUXSCUSR均未标准化。它们彼此不同,但是它们是在大约同一时间发明的(仅在1990年代出现在DEC VT 5xx中),因此没有DEC现有技术的通常年份。☺埃格蒙特·科布林格(Egmont Koblinger)在其他地方评论说,两者的模型令人难以置信,因为它可以使眨眼间的形状融为一体。还进行了一些讨论,以更改DECSCUSR 0的含义以启用用户指定的形状。并且Microsoft Terminal强调了DECSCUSR模型与Win32控制台机制中使用的模型之间的不匹配,该模型允许任意启动行使用了三十年(如果在OS / 2 1.x的VIO子系统中占了其前身的话,则为四十年)。以及PC / AT视频固件)。

结果是,没有一个通用的控制序列可以运行,当前的世界分为DECSCUSR和LINUXSCUSR阵营,因为几乎没有终端仿真器都支持这两种。此外,有了这两个功能,您将无法获得所需的灵活性。与开始+结束扫描线模型唯一的广泛偏差是竖线,并且只能通过一些GUI终端仿真器(例如XTerm)获得,它们添加其他形状,如DECSCUSR 5和DECSCUSR 6。

是的,您可以修改FreeBSD内核,NetBSD内核,OpenBSD内核和Linux内置终端仿真器以及各种应用程序模式终端仿真器(帧缓冲区和X11 GUI)的代码,以实现更多的游标形状。但是,要使其通用化将非常困难。

我已经在这样做了我的终端模拟器。DECSCUSR 7/8是大纲框。DECSCUSR 9/10是一颗星。DECSCUSR 11/12是下划线+上划线。DECSCUSR 13/14为倒“ L”形。在阅读1970年代的一些旧文献的基础上,我一直在考虑添加方括号和仅上划线两个方向。但是,DECSCUSR并不容易将其用于您所寻找的实际Unicode字符的任意规范。LINUXSCUSR不匹配的想法在所有,而且。

进一步阅读

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Flutter中制作自定义按钮形状

来自分类Dev

如何制作自定义形状div或操作div

来自分类Dev

使用CSS制作自定义形状

来自分类Dev

使用CSS制作自定义形状

来自分类Dev

在Ubuntu 12.04中制作自定义鼠标光标

来自分类Dev

在Ubuntu 12.04中制作自定义鼠标光标

来自分类Dev

如何使用自定义光标?

来自分类Dev

如何自定义“抓手”光标?

来自分类Dev

如何在终端命令提示符的开头添加自定义形状?

来自分类Dev

如何使用CSS制作自定义可点击形状以覆盖所需的确切区域?

来自分类Dev

如何制作具有多个几何形状的自定义ggplot2几何图形

来自分类Dev

如何在Swift 2中制作按钮自定义形状的框架

来自分类Dev

使用CSS形状:如何使用纯HTML和CSS制作自定义图标

来自分类Dev

如何在Dreamweaver CS6中制作自定义形状

来自分类Dev

如何为使用核心图形制作的形状添加自定义颜色?

来自分类Dev

如何在html / css中制作自定义形状的按钮?

来自分类Dev

如何在 wpf 中制作自定义形状的进度条?

来自分类Dev

如何在运行时使用其他形状制作自定义圆形?

来自分类Dev

以编程方式制作自定义饼图形状

来自分类Dev

在Android中制作自定义可绘制形状

来自分类Dev

在Android中制作自定义可绘制形状

来自分类Dev

想要使用CSS制作自定义形状

来自分类Dev

Clippath 在容器上制作自定义形状

来自分类Dev

如何创建自定义形状-CSS

来自分类Dev

如何自定义形状的开关按钮?

来自分类Dev

如何自定义形状的开关按钮?

来自分类Dev

如何自定义终端提示颜色?

来自分类Dev

如何在C ++中使用自定义形状的光标检测图像上的鼠标单击位置

来自分类Dev

Java如何制作自定义异常?

Related 相关文章

热门标签

归档