Skip to content
/ st-undx Public

My fork and patches for simple terminal (st)

License

Notifications You must be signed in to change notification settings

undx/st-undx

Repository files navigation

st - simple terminal

st is a simple terminal emulator for X which sucks less.

./assets/st.png

Requirements

In order to build st you need the Xlib header files. Have a look at config.mk for details.

Installation

Edit config.mk to match your local setup (st is installed into the /usr/local by default).

Afterwards enter the following command to build and install st (if necessary as root):

make clean install

Running st

If you did not install st with make clean install, you must compile the st terminfo entry with the following command:

tic -sx st.info

See the man page for additional details.

Keybinds

For other keybindings see manual page.

Scripts

plumb
universal launcher (plumber)
st-editscreen
edit st scrollback buffer into $EDITOR (externalpipe).
st-urlhandler
handle (copy/launch) urls in scrollback buffer (externalpipe).

Customization

st can be customized by creating a custom config.h and (re)compiling the source code. This keeps it fast, secure and simple.

With the xresources patch you can customize the following elements in your ~/.Xresources :

  • fonts (font, font0, font1, fontN)
  • colors (color0..color15, background, foreground, cursorColor)
  • termname
  • shell
  • minlatency
  • maxlatency
  • blinktimeout
  • bellvolume
  • tabspaces
  • borderpx
  • cwscale
  • chscale

Small example taken from my configuration:

st.font0: JetBrainsMono Nerd Font:pixelsize=20:antialias=true:autohint=true
st.font1: FantasqueSansMono Nerd Font:pixelsize=20:antialias=true:autohint=true

Fork and patches specifications

Based on 0.9 suckless release.

Applied patches

  • csi 22 23
  • cycle fonts
  • blinking cursor
  • xresources
  • scrollback
  • simple plumb
  • external pipe (w/ eternal external pipe)
  • keyboard-select
  • default font size
  • font2
  • themed-cursor
  • anysize
  • vertcenter
  • glyph wide support
  • double-click to plumb
  • workingdir with personal fix of PWD environment variable
  • swapmouse

Changelog

  • <2022-10-14 Fri> rebase to master 0.9
  • <2022-08-19 Fri> using guix
  • base on 0.8.5 release

Stuff TODO

guix
create a manifest.scm file for building st-undx
  • patches to validate/experiment:
    • line_snap_delimiter (st-line_snap_delimiter-3bd7e43.diff)

Credits

Based on Aurélien APTEL <aurelien dot aptel at gmail dot com> bt source code.

Big thanks to suckless team and all contributors!

About

My fork and patches for simple terminal (st)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published