+++ date = 2022-12-17 title = "Simple Terminal" description = "An easy guide on how to build st on Fedora Workstation." +++ ## st [st](https://st.suckless.org) standards for Simple Terminal, a simple terminal implementation for X made by the [suckless](https://suckless.org) team. This post walks through the dependencies needed and process to build and install `st` on Fedora Workstation. ### Obtain Files To start, obtain the source files for `st` via `git clone`. ```sh mkdir ~/suckless && cd ~/suckless git clone https://git.suckless.org/st && cd st ``` ### Dependencies Once you have the files and are in the `st` directory, ensure the following packages are installed. ```sh sudo dnf update && sudo dnf upgrade sudo dnf install gcc patch libX11-devel libXft-devel ``` ### Building Before building, ensure that you read the README file. ```sh cat README ``` Once you've read the instructions, open the `config.mk` file and ensure it matches your setup. If you're not sure, leave the default options within the file. Finally, you can build `st` with the following command. Ensure you run as root (e.g., `sudo`) or else you may not end up with a usable application file. ```sh sudo make clean install ``` ### Customization (Patches) Note that customizing `st` requires you to modify the source files or to download one of the [available patches](https://st.suckless.org/patches/) for suckless.org. If you've already installed `st` and want to customize or install a patch, start by uninstalling the current program. ```sh cd ~/suckless/st sudo make uninstall ``` Next, grab the `.diff` file from the page of the patch you chose. For example, I will be using the [defaultfontsize](https://st.suckless.org/patches/defaultfontsize/) patch in the below example. ```sh wget https://st.suckless.org/patches/defaultfontsize/st-defaultfontsize-20210225-4ef0cbd.diff ``` Once the file is downloaded inside the `st` folder, apply the patch and re-install the program. You may need to install the `patch` command if you don't have it installed already (you should have installed it above). ```sh patch -i st-defaultfontsize-20210225-4ef0cbd.diff sudo make clean install ``` Once installed, you can use the default font size patch to launch `st` with any font size you wish: ```sh st -z 16 ```