aboutsummaryrefslogtreecommitdiff
path: root/blog/2022-12-17-st.org
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2023-12-02 11:23:08 -0600
committerChristian Cleberg <hello@cleberg.net>2023-12-02 11:23:08 -0600
commitcaccd81c3eb7954662d20cab10cc3afeeabca615 (patch)
tree567ed10350c1ee319c178952ab6aa48265977e58 /blog/2022-12-17-st.org
downloadcleberg.net-caccd81c3eb7954662d20cab10cc3afeeabca615.tar.gz
cleberg.net-caccd81c3eb7954662d20cab10cc3afeeabca615.tar.bz2
cleberg.net-caccd81c3eb7954662d20cab10cc3afeeabca615.zip
initial commit
Diffstat (limited to 'blog/2022-12-17-st.org')
-rw-r--r--blog/2022-12-17-st.org89
1 files changed, 89 insertions, 0 deletions
diff --git a/blog/2022-12-17-st.org b/blog/2022-12-17-st.org
new file mode 100644
index 0000000..30d46ba
--- /dev/null
+++ b/blog/2022-12-17-st.org
@@ -0,0 +1,89 @@
++++
+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 `<path>.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
+```