aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2022-12-17-st.org
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2024-03-29 01:42:38 -0500
committerChristian Cleberg <hello@cleberg.net>2024-03-29 01:42:38 -0500
commit00b2726e0561f174393ae600f0f11adb8afebaab (patch)
treea4733d553ce68f64277ffa3a52f800dc58ff72de /content/blog/2022-12-17-st.org
parent8ba3d90a0f3db7e5ed29e25ff6d0c1b557ed3ca0 (diff)
parent41bd0ad58e44244fe67cb36e066d4bb68738516f (diff)
downloadcleberg.net-00b2726e0561f174393ae600f0f11adb8afebaab.tar.gz
cleberg.net-00b2726e0561f174393ae600f0f11adb8afebaab.tar.bz2
cleberg.net-00b2726e0561f174393ae600f0f11adb8afebaab.zip
merge org branch into main
Diffstat (limited to 'content/blog/2022-12-17-st.org')
-rw-r--r--content/blog/2022-12-17-st.org87
1 files changed, 87 insertions, 0 deletions
diff --git a/content/blog/2022-12-17-st.org b/content/blog/2022-12-17-st.org
new file mode 100644
index 0000000..c3724fb
--- /dev/null
+++ b/content/blog/2022-12-17-st.org
@@ -0,0 +1,87 @@
+#+title: Simple Terminal
+#+date: 2022-12-17
+#+description: Instructions for building simple terminal on Fedora.
+#+filetags: :linux:
+
+* st
+[[https://st.suckless.org][st]] standards for Simple Terminal, a simple
+terminal implementation for X made by the
+[[https://suckless.org][suckless]] 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=.
+
+#+begin_src sh
+mkdir ~/suckless && cd ~/suckless
+git clone https://git.suckless.org/st && cd st
+#+end_src
+
+** Dependencies
+Once you have the files and are in the =st= directory, ensure the
+following packages are installed.
+
+#+begin_src sh
+sudo dnf update && sudo dnf upgrade
+sudo dnf install gcc patch libX11-devel libXft-devel
+#+end_src
+
+** Building
+Before building, ensure that you read the README file.
+
+#+begin_src sh
+cat README
+#+end_src
+
+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.
+
+#+begin_src sh
+sudo make clean install
+#+end_src
+
+** Customization (Patches)
+Note that customizing =st= requires you to modify the source files or to
+download one of the [[https://st.suckless.org/patches/][available
+patches]] for suckless.org.
+
+If you've already installed =st= and want to customize or install a
+patch, start by uninstalling the current program.
+
+#+begin_src sh
+cd ~/suckless/st
+sudo make uninstall
+#+end_src
+
+Next, grab the =<path>.diff= file from the page of the patch you chose.
+For example, I will be using the
+[[https://st.suckless.org/patches/defaultfontsize/][defaultfontsize]]
+patch in the below example.
+
+#+begin_src sh
+wget https://st.suckless.org/patches/defaultfontsize/st-defaultfontsize-20210225-4ef0cbd.diff
+#+end_src
+
+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).
+
+#+begin_src sh
+patch -i st-defaultfontsize-20210225-4ef0cbd.diff
+sudo make clean install
+#+end_src
+
+Once installed, you can use the default font size patch to launch =st=
+with any font size you wish:
+
+#+begin_src sh
+st -z 16
+#+end_src