Skip to content

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

 
 
 

Contributors