kelvin-van-vuuren / st

My fork of st, a simple terminal emulator for the X Window System.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

st logo
Custom build of st, a simple terminal emulator for X.

2023-03-20-212325_3840x2160_scrot

About

st is a simple terminal emulator for X from suckless. The base distribution of this software adheres to the suckless philosophy and as a result comes with a very minimal set of features. This fork extends the functionality and appearance of the program through the use of patches and other changes to the codebase.

Features

  • Scrollback: scroll back / forward through terminal output with MOD k / j.
  • Column and row reflow: allow column and rows to reflow so output is not cut off after resizing.
  • Mousewheel scrollback: scroll back / forward through terminal output with mousewheel.
  • Alpha: change opacity of terminal background.
  • Anysize: allows st to resize to any pixel size, makes the inner border size dynamic, and centers the content of the terminal so that the left/right and top/bottom borders are balanced. With this patch, st on a tiling WM will always fill the entire space allocated to it.
  • Blinking cursor: change cursor style (currently set to blinking underline).
  • Bold is not bright: by default, bold text is rendered with a bold font in the bright variant of the current color. This patch makes bold text rendered simply as bold, leaving the color unaffected.
  • External pipe: read and write to st's screen with an external pipe. Can be used with the entire terminal history.
  • Copy command output: using dmenu to list and select previous commands, copy output to clipboard using MOD o.
  • Copy url: using dmenu to list and select urls in terminal history, copy url using MOD y.
  • Open url: using dmenu to list and select urls in terminal history, open url using MOD l.
  • Xresources: configure st via Xresources. Pass a USR1 signal to all st processes after updating Xresources to reload the settings on the fly: pidof st | xargs kill -s USR1.
  • Ligatures: correct drawing of ligatures.
  • Icon: set NET_WM_ICON with a png image. This can then be read in from another program such as a window manager. The icon used is st.png.
  • Right click paste: pressing right click will paste to terminal.
  • Undercurl: support for special underline styles.

Install

Clone this repo and install with rm -rf config.h && sudo make clean install. Configuration is done via config.def.h so any changes will require the program to be recompiled and installed to take effect.

Screenshots

2023-03-21-092233_3840x2160_scrot 2023-03-21-091026_3840x2160_scrot 2023-03-21-091003_3840x2160_scrot

Keybindings

These are set in config.def.h. The MOD key is set to Mod1, which I have as alt on my system.

Keys Function
MOD k Scroll up
MOD j Scroll down
MOD u Scroll up x10
MOD d Scroll down x10
MOD l Open URL
MOD y Copy URL
MOD o Copy command output
Control Shift c Copy to clipboard
Control Shift v Paste from clipboard
Control Shift y Paste selected
Control Shift k Zoom in
Control Shift j Zoom out

About

My fork of st, a simple terminal emulator for the X Window System.

License:MIT License


Languages

Language:C 95.4%Language:Roff 2.0%Language:Makefile 1.6%Language:Shell 0.9%