Git Product home page Git Product logo

st's Introduction

My Personal st Build

The suckless terminal (st) with some additional, very opinionated and personal features (mostly cosmetics):

This build is pretty much based on Luke's st build, but customized from original st git sources, rather then being a Luke's fork (I just happened to use his source as reference for applying patches).

Bindings for

  • scrollback with alt-โ†‘/โ†“ or alt-pageup/down or just mousewheel (without holding shift or any other modifier)
  • OR vim-bindings: scroll up/down in history with alt-k and alt-j. Faster with alt-u/alt-d.
  • zoom/change font size: same bindings as above, but holding down ctrl+shift or alt+mouse wheel. alt-home returns to default
  • copy/paste text is changed to Emacs-ish bindings. Copy with ctrl-w or alt-w, paste is ctrl-y or shift-insert
  • delete key will delete one character to the right. You can hold down alt/ctrl to delete form cursor to the end/beginning of the word.
  • backspace key will delete one character to the left. Holding down alt/ctrl will delete form cursor to the beginning/end of the word (yes it's delete reversed).
  • Quit st with ctrl-q.

Pretty stuff

  • No resource files parsing at startup.
  • Default (and only) theme is Solarized dark.
  • Transparency/alpha, which is also adjustable as startup flag.
  • Default font is Mark Simonsons Anonymous Pro I use same font in Emacs, so it matches my setup that way. Size is 18pt, because I am getting old. Yeah! Small terminal fonts are kind-a not my thingy any more.
  • Default cursor is set to bar (from box), again because I use same in Emacs, so it matches my setup.

Other st patches & custom changes

  • Scrollback
  • Scrollback with mouse
  • font2
  • updated to latest version 0.8.2
  • st-no-bold-colors (to get correct Solarized colors)
  • quitst - just some trivia I added for the sake of consistency with other applications.
  • compiled with speed opt flags
  • changed borderpx to 0
  • cursor shaped changed to bar
  • histsize set to 20 000
  • fps is changed to 60, bc my monitor does not support more anyway (59 to be exact).

Installation for newbs

git clone https://github.com/amno1/st
cd st
sudo make install

Obviously, make is required to build. fontconfig is required for the default build, since it asks fontconfig for your system font. It might be obvious, but libX11 and libXft are required as well. Chances are, you have all of this installed already.

On OpenBSD, be sure to edit config.mk first and remove -lrt from the $LIBS before compiling.

Be sure to have a composite manager (xcompmgr, compton, etc.) running if you want transparency.

How to configure dynamically with Xresources

You can't! :-) Xresource patch is removed in this build. I don't switch themes or care much about terminal colours honestly, so I don't find this very usefull. I would rather spare my cpu of parsing xrdb settings.

Alpha is set to be completely opaque, but you can easily change this by passing command line argument, for example: st -A 0.8, or just recompile with desired alpha. The alpha value (for transparency) goes from 0 (transparent) to 1 (opaque). By default it is 1 (completely opaque). Honestly I don't use alpha, but I left the path sit there.

Aditional notes

Custom changes are done in config.h rather than config.def.h.

It is quite easy to add back Luke's features I don't use. If you wish to use those, I have just commented out his coe (I tested it, but it wasn't for me), so you can uncomment and recompile.

If you prefer to compile st for small size (-Os), change flags in config.mk. It can shave off about 10k ~ 20k from the binary. Current flags are -Ofast -march=native -mtune=native. I am not sure it really matters, anyway, cool to test.

Colors

To be clear about the color settings:

  • This build uses Solarized dark colors only by default and by any other means :-). I use same colour scheme for ls-colors, Emacs and Rofi and never switch themes either so I prefer to hardcode my theme. For that reason Xresources patch is removed.

Contact

st's People

Contributors

aaptel avatar agonrex avatar amno1 avatar avih avatar bennofs avatar blackbit42 avatar brandoninvergo avatar colona avatar djpohly avatar electronicru avatar ericpruitt avatar esjeon avatar frign avatar garbeam avatar hiltjo avatar jceb avatar k0gamsx avatar lotheac avatar medgar123 avatar michaelforney avatar mihailzenkov avatar mvdan avatar osandov avatar pickfire avatar pilona avatar radare avatar schachmat avatar suiginsoft avatar v4hn avatar wengxt avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

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.