ITADN
veltza/st-sx
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

st-sx - 支持 sixel 的简易终端

st-sx 是 suckless 的 st 终端 的一个分支,旨在为 st 用户提供最佳的 sixel 支持。它还包含许多有用的补丁,例如连字和文本重排。并且它是唯一支持超链接(OSC 8)和 分支绘制符号 的 st 分支!

截图

tmux 会话中的 Sixels。(应用:lsixvv

sixels

分支绘制符号通过内置字形支持。(app/plugin: vim-flog)

branch-symbols

补丁

  • Alpha 焦点高亮
  • Anysize 简单
  • 闪烁光标
  • 粗体非亮色
  • 制表符绘制
  • 剪贴板
  • CSI 22 23
  • 动态光标颜色
  • Externalpipe
  • Font2
  • 全屏
  • 隐藏光标
  • 超链接 (OSC 8)
  • 键盘选择
  • 连字
  • Nano 快捷键支持
  • Netwmicon
  • Newterm
  • 点击打开 URL
  • 相对边框
  • 回滚重排
  • Sixel
  • 交换鼠标
  • 同步
  • 下划线波浪
  • 垂直居中
  • 视觉铃
  • 宽字形
  • 工作目录
  • Xresources

依赖项

Arch:

sudo pacman -S libx11 libxft imlib2 harfbuzz

FreeBSD / DragonFly BSD:

sudo pkg install pkgconf imlib2 harfbuzz

GhostBSD:

sudo pkg install pkgconf imlib2 harfbuzz
sudo pkg install -g 'GhostBSD*-dev'

OpenBSD:

doas pkg_add imlib2 harfbuzz

Ubuntu / Debian:

sudo apt install libx11-xcb-dev libxft-dev libimlib2-dev libharfbuzz-dev libpcre2-dev

如果你不使用连字,则无需安装 libharfbuzz-dev。编辑 config.h 和 config.mk 以禁用连字。

安装

克隆仓库并运行 make

注意:如果你在 BSD 上构建,需要在运行 make 之前编辑 config.mk。

git clone https://github.com/veltza/st-sx
cd st-sx
make

编辑 config.h 并添加你喜欢的字体、颜色等,然后安装:

sudo make clean install

可执行文件名为 st

你还可以通过 Xresources 配置 st-sx。请参阅 xresources-example 文件。

已知问题

  • Sixels 在 tmux 中可用,但是...
    • ...如果你从软件仓库安装,sixels 可能未被启用。在这种情况下,你需要自行使用 ./configure --enable-sixel 编译 tmux
    • ...某些 sixels 可能无法显示。tmux 中 sixels 的最大尺寸为 1 MB。你可以通过修改 tmux/input.c 中的 INPUT_BUF_LIMIT 来增加尺寸限制。或者在提交 c26d71d 之后,你可以通过 tmux.conf 更改限制:set -g input-buffer-size 1048576
    • ...sixels 可能会消失或卡住。原因是 tmux 中的 sixel 实现尚不稳健。

致谢