Giter Club home page Giter Club logo

superb-st's Introduction

SuperB ST

ST-base terminal with enough patches

License: MIT ST version: 0.8.4

๐Ÿ’ก About

SuperB ST is a SuperB ST-base terminal using ST-flexipatch to add enough patches so it can be compared with other modern terminal like Alacritty and Kitty:

  • Goal:
    • Patch features that only the terminal can do
  • Non goal:
    • Patch features that conflict with the terminal multiplexer or some windows manager's features
    • Patch features that can be integrate using other tools/programs

โœจ Features

  • Resize to any pixel size and centers the content
  • Configurable background's opacity
  • Wide-character support
  • Fonts ligatures support
  • True colors support
  • Color emoji support
  • Graphics rendering support (SIXEL and W3M)
  • Even more escape sequences support
  • XIM support
  • Beginner friendly features:
    • Scrollback support and clipboard handling:

      Although these basic and important features can be achieved using other programs, there aren't many programs that just only these features.
      Currently they are only be supported properly by some terminal multiplexer (like Tmux which come with many bloated features conflict with the windows manager).
      Looking forward to scroll.

    • Xresources support:

      Although terminal configuration can be approached using escape sequences with tool like bui-terminal, some aspect of the terminal can't be change using escape sequences (e.g: font, background's opacity...).
      Font and bg's opacity can be config with startup flags using bt, still it isn't cover every options.

๐Ÿฉน Patches

  • Window:
    • anysize: allows the terminal to resize to any pixel size and centers the content of the terminal.
    • relativeborder: allows users to specify a border that is relative in size to the width of a cell in the terminal.
    • themed_cursor: use the xterm cursor from your cursor theme.
    • alpha: allows users to only change the opacity of the background (unlike using the composite manager to change the opacity of the whole windows).
  • Font:
  • Drawing:
    • bold-is-not-bright: makes bold text rendered simply as bold, leaving the color unaffected.
    • sync: better draw timing to reduce flicker/tearing and improve animation smoothness.
    • sixel: support SIXEL graphics.
    • w3m: support W3M graphics.
  • Escape sequences:
  • Beginner friendly:

Note The Xresources config will reload when a SIGUSR1 signal is received: killall -USR1 st

๐Ÿš€ Setup

๐Ÿงพ Dependencies

Make dependencies only needed when compile.

๐Ÿ“ฅ Installation

๐Ÿ”ง Manually

Option 1: download

Downloads

and move it to ~/.local/bin/. Or using curl:

curl -L https://github.com/NNBnh/superb-st/releases/download/1.0.0/st > ~/.local/bin/st

make sure to make the file executable:

chmod +x ~/.local/bin/st

Option 2: compile

git clone https://github.com/NNBnh/superb-st
git clone https://github.com/bakkeby/st-flexipatch

cd superb-st
cp -f patches.h config.h config.mk ../st-flexipatch/

cd ../st-flexipatch/
sudo make install

๐Ÿ“ฆ Package manager

For nix user:

#TODO

For arch user:

#TODO

If you can and want to port SuperB ST to other package managers, feel free to do so.

โŒจ๏ธ Keybinds

  • Font size:
    • Ctrl + MouseWheel up : increase font size
    • Ctrl + MouseWheel down : decrease font size
    • Ctrl + MouseWheel button : reset font size
    • Ctrl + = : increase font size
    • Ctrl + - : decrease font size
    • Ctrl + ' : reset font size
  • Scrollback:
    • MouseWheel up : scroll up
    • MouseWheel down : scroll down
  • Clipboard handling:
    • Ctrl + Shift + c : copy selected texts to clipboard
    • Ctrl + Shift + v : paste texts from clipboard to ther terminal

โš™๏ธ Configuration

You can config SuperB ST with outside tools like bui-terminal or with Xresources:

! ~/.config/X11/xresources

*.font:         <STRING>:pixelsize=<FLOAT>:antialias=<BOOLEAN>:autohint=<BOOLEAN>
*.color0:       #<HEX>
*.color1:       #<HEX>
*.color2:       #<HEX>
*.color3:       #<HEX>
*.color4:       #<HEX>
*.color5:       #<HEX>
*.color6:       #<HEX>
*.color7:       #<HEX>
*.color8:       #<HEX>
*.color9:       #<HEX>
*.color10:      #<HEX>
*.color11:      #<HEX>
*.color12:      #<HEX>
*.color13:      #<HEX>
*.color14:      #<HEX>
*.color15:      #<HEX>
*.background:   #<HEX>
*.foreground:   #<HEX>
*.cursorColor:  #<HEX>
*.alpha:        <FLOAT>
*.borderperc:   <INTEGER>
*.termname:     <STRING>
*.shell:        <STRING>
*.minlatency:   <INTEGER>
*.maxlatency:   <INTEGER>
*.blinktimeout: <INTEGER>
*.bellvolume:   <INTEGER>
*.tabspaces:    <INTEGER>
xrdb -load ~/.config/X11/xresources
killall -USR1 'st'

๐Ÿ’Œ Credits

Special thanks to:






Made with โค๏ธ by NNB

Buy Me a Coffee

superb-st's People

Contributors

nnbnh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

superb-st's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.