st

Luke's fork of the suckless.org "simple terminal"
git clone git@git.lukesmith.xyz:st
Log | Files | Refs | README | LICENSE

README.md (2756B)


      1 # Luke's build of st - the simple (suckless) terminal
      2 
      3 The [suckless terminal (st)](https://st.suckless.org/) with some additional features:
      4 
      5 + Compatibility with `Xresources` and `pywal` for dynamic colors.
      6 + Default [gruvbox](https://github.com/morhetz/gruvbox) colors otherwise.
      7 + Transparency/alpha, which is also adjustable from `~/.Xresources`.
      8 + Default font is system "mono" at 16pt, meaning the font will match your system font.
      9 + Very useful keybinds including:
     10 	+ Copy is alt-c, paste is alt-v or alt-p pastes from primary selection
     11 	+ Alt-l feeds all urls on screen to dmenu, so they user can choose and
     12 	  follow one (requires xurls and dmenu installed).
     13 	+ Zoom in/out or increase font size with Alt+Shift+k/j or u/d for larger intervals.
     14 	+ Hold alt and press either ↑/↓ or the vim keys k/j to move up/down in the terminal.
     15 	+ Shift+Mouse wheel do the same.
     16 	+ Alt-u and Alt-d scroll back/forward in history a page at a time.
     17 	+ Alt-PageUp and Alt-PageDown will do the same.
     18 + Vertcenter
     19 + Scrollback
     20 + updated to latest version 0.8.1
     21 
     22 The following additional bindings were added before I forked this:
     23 
     24 + Scroll through history -- Shift+PageUp/PageDown or Shift+Mouse wheel
     25 + Increase/decrease font size -- Shift+Alt+PageUp/PageDown
     26 + Return to default font size -- Alt+Home
     27 + Paste -- Shift+Insert
     28 
     29 ## Installation for newbs
     30 
     31 ```
     32 make
     33 sudo make install
     34 ```
     35 
     36 Obviously, `make` is required to build. `fontconfig` is required for the
     37 default build, since it asks `fontconfig` for your system monospace font.  It
     38 might be obvious, but `libX11` and `libXft` are required as well. Chances are,
     39 you have all of this installed already.
     40 
     41 On OpenBSD, be sure to edit `config.mk` first and remove `-lrt` from the
     42 `$LIBS` before compiling.
     43 
     44 ## How to configure dynamically with Xresrouces
     45 
     46 For many key variables, this build of `st` will look for X settings set in
     47 either `~/.Xdefaults` or `~/.Xresources`. You must run `xrdb` on one of these
     48 files to load the settings.
     49 
     50 For example, you can define your desired fonts, transparency or colors:
     51 
     52 ```
     53 *.font:	Liberation Mono:pixelsize=12:antialias=true:autohint=true;
     54 *.alpha: 150
     55 *.color0: #111
     56 ...
     57 ```
     58 
     59 The `alpha` value (for transparency) goes from `0` (transparent) to `255`
     60 (opaque).
     61 
     62 ### Colors
     63 
     64 To be clear about the color settings:
     65 
     66 - This build will use gruvbox colors by default and as a fallback.
     67 - If there are Xresources colors defined, those will take priority.
     68 - But if `wal` has run in your session, its colors will take priority.
     69 
     70 Note that when you run `wal`, it will negate the transparency of existing
     71 windows, but new windows will continue with the previously defined
     72 transparency.
     73 
     74 ## Contact
     75 
     76 - Luke Smith <luke@lukesmith.xyz>
     77 - [https://lukesmith.xyz](https://lukesmith.xyz)