Skip to content

veltza/st-sx

Repository files navigation

st-sx - simple terminal with sixels

st-sx is a fork of suckless' st terminal that aims to provide the best sixel support for the st users. It also includes many useful patches such as ligatures and text reflow. And it is the only st fork that supports hyperlinks (OSC 8) and branch drawing symbols as well!

Screenshots

Sixels inside a tmux session. (apps: lsix and vv)

sixels

Branch drawing symbols are supported with built-in glyphs. (app/plugin: vim-flog)

branch-symbols

Patches

  • Alpha focus highlight
  • Anysize simple
  • Blinking cursor
  • Bold is not bright
  • Boxdraw
  • Clipboard
  • CSI 22 23
  • Dynamic cursor color
  • Font2
  • Fullscreen
  • Hidecursor
  • Keyboard select
  • Ligatures
  • Netwmicon
  • Newterm
  • Openurlonclick
  • Relativeborder
  • Scrollback-reflow
  • Sixel
  • Swapmouse
  • Sync
  • Undercurl
  • Vertcenter
  • Visualbell
  • Wide glyphs
  • Workingdir
  • Xresources

Dependencies

Arch:

sudo pacman -S libx11 libxft imlib2 gd

Ubuntu:

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

You don't have to install libharfbuzz-dev, if you don't use ligatures. Edit config.h and config.mk to disable ligatures.

Installation

Clone the repo and run make:

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

Edit config.h and add your favorite fonts, colors, etc. and install:

sudo make clean install

The executable name is st.

You can also configure st-sx via Xresources. See xresources-example file.

Known issues

  • Sixels work inside tmux, but...
    • ...sixels might not be enabled if you install it from the repository. In that case, you have to compile tmux yourself with ./configure --enable-sixel
    • ...some sixels don't show up. The maximum size of sixels in tmux is 1 MB. You can increase the size limit by changing INPUT_BUF_LIMIT in tmux/input.c. Or after the commit c26d71d, you can change the limit via tmux.conf: set -g input-buffer-size 1048576
    • ...sixels may disappear or get stuck. The reason is that the sixel implementation in tmux is not robust yet.

Thanks

About

st terminal with pretty good sixel support

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •