NST(1)
πΈ NST(1) β nst, the (not so) simple terminal πΈ
Bestie, welcome to the nst page π
β it's the NST(1) manual, and I'm gonna walk you through it like we're texting at 2am.
β¨ NAME β¨
nst β not (so) simple terminal π₯οΈπ¦
β¨ SYNOPSIS β¨
nst [-l <path-to-tty>] [-w <window-id>] [-o <iofile>] [-f <fontconfig
font name>] [-g <X11 gemeoetry>] [-t <title>] [-n <name>] [-c <class>]
[-e] [-i] [-a] [--config <path-to-config>] [--] [--version] [-h]
[command [arguments...]]
okay yes, it literally says gemeoetry up there π that's the original's typo, not mine, I'm just the messenger, no cap
β¨ DESCRIPTION β¨
nst is a (not so) simple terminal emulator π
It's a C++ port and a fork of the suckless.org ST simple terminal emulator. So it's giving "ST but make it C++" and honestly? We're obsessed π«Ά
β¨ OPTIONS β¨
-a,--no-alt-screenβ turns off the alternative screen buffer in the terminal. no alt screen, no drama π-c,--window-classβ sets the window class. defaults to$TERMβ¨-f,--fontβ the font nst uses when it runs. it's a fontconfig string, like"LiberationMono:pixelsize=18:antialias=true:autohint=true"β very specific, very icon behavior π-g,--geometryβ geometry stuff. peepXParseGeometry(3)for the full tea π-i,--fixed-geometryβ locks the window position in place, together with the-goption π-n,--window-nameβ sets the window instance name (that's theWM_CLASSproperty, iykyk). defaults to$TERMπ-o,--iofileβ writes all the raw I/O to the file you give it, for recording."-"means stdout π-t,--window-titleβ sets the window title. defaults to"nst"π-w,--embed-windowβ embeds nst inside the window identified by window-id πͺ-l,--ttyβ uses a tty line instead of a pseudo terminal. the remaining parameters get passed as flags tostty(1). path-to-tty should be a (pseudo-)serial device (e.g./dev/ttyS0on Linux for serial port 0) π§
By default nst initializes the serial line to 8 bits, no parity, 1 stop bit and a 38400 baud rate. the speed is set by appending it as the last argument (e.g. "nst -l /dev/ttyS0 115200"). arguments before the last one are stty(1) flags. wanna set odd parity on 115200 baud? use for example "nst -l /dev/ttyS0 parenb parodd 115200". set the number of bits by using for example "nst -l /dev/ttyS0 cs7 115200". see stty(1) for more arguments and cases π¦
--versionβ prints version information and exits. that's it, that's the whole vibe βοΈ-eβ executes the remaining parameters instead of the shell. lowkey this switch is not actually needed, it's only there for backwards compatibility. the remaining parameters get used even without it β except if-lis given π--configβ specify the path to a customnst.conf(5)configuration file to parse. this overrides settings from the system wide and per-user configuration file. if it can't open the file you get a warning, but nst still starts successfully, so like... it's fine, it's fine, everything's fine π
heads up bestie: -h shows up in the synopsis but the OPTIONS list doesn't say anything about it. I'm not making stuff up, so that's all we know π
β¨ ENVIRONMENT VARIABLES β¨
NST_IPC_ADDRβ contains the name of an abstract UNIX domain socket that's connected to the active nst terminal. it's used bynst-msg(1)πNST_CONFIGβ if you set it, it's interpreted as a path to a custom nst configuration file that gets parsed during startup. it overrides settings from all other configuration files found implicitly or specified via--config. it's the main character of config files, periodt π
β¨ SHORTCUTS β¨
- Break β sends a break in the serial line. you get the break key on PC keyboards by pressing control and pause at the same time β¨οΈ
- Ctrl+Print Screen β toggles whether nst prints to the iofile π¨οΈ
- Shift+Print Screen β prints the full screen to the iofile πΈ
- Print Screen β prints the selection to the iofile βοΈ
- Ctrl+Scroll Wheel Up β increases font size π
- Ctrl+Scroll Wheel Down β decreases font size π
- Shift+Mod1+Home β resets to the default font size π
- Ctrl+Shift+Home β jumps to the end of history (oldest) position π°οΈ
- Ctrl+Shift+End β jumps to the current screen βοΈ
- Shift+Page Up β scrolls history up by 10 lines β¬οΈ
- Shift+Page Down β scrolls history down by 10 lines β¬οΈ
- Ctrl+Shift+Page Up β scrolls history up by half a screen π
- Ctrl+Shift+Page Down β scrolls history down by half a screen π
- Ctrl+Shift+y β pastes from the primary selection (that's the middle mouse button one) π±οΈ
- Ctrl+Shift+c β copies the selected text to the clipboard selection π
- Ctrl+Shift+v β pastes from the clipboard selection π₯
- Ctrl+Shift+Keypad Div β inverts the color scheme π¨ (yes, a whole aesthetic flip)
- Ctrl+Shift+B β invokes an external program and pipes the current history buffer to it (
gvimby default) π§ - F11 β toggles fullscreen mode of the nst window π₯οΈβ¨
β¨ CUSTOMIZATION β¨
nst gets customized by adjusting the nst_config.hxx and/or nst_config.cxx files and then (re)compiling the source code. it keeps things fast, secure and simple β the holy trinity, we love to see it ππ
β¨ AUTHORS β¨
See the LICENSE file for the authors π«Ά
β¨ LICENSE β¨
See the LICENSE file for the terms of redistribution π
and that's the whole page bestie!! this was the NST(1) manual, dated 09/10/2025 β go forth and terminal your heart out π
β¨ππ¦πΈπ
π¦ where this page comes from
- opensuse-leap 16.0: nst 1.1-bp160.1.12 Β· MIT
- opensuse-leap 16.0: nst 1.1-bp160.1.12 Β· MIT
- opensuse-leap 16.0: nst 1.1-bp160.1.12 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms