 This video is going to be a brief crash course and all the things that I've built into my build of the simple terminal ST First off, I should say I know there are a lot of you guys who actually use my terminal build or something pretty close to it Just in case you don't know if you're an arch user or using any other arch based distribution You are actually able to get my build of ST from the AUR. It's just ST-Luke-Git. It's out there If you're not an arch user, you can just get it from my github. It's going to be in the video description But I want to show you some of the basic Binds of it for those of you who are you hard who are already using it But also some of the extra features I've built in and other just nice little things I guess so at a very basic level, let's say you're minding your own business. You're running commands in your terminal I don't know what what are your favorite commands? Who knows? There are a couple of binds that you you basically you're gonna want in any kind of terminal and I like having them on The home row I like having VIM bindings So for example if I scroll up a lot of people will use the mouse for something like that That's annoying. I like having alt K and alt J That is for scrolling up and scrolling down nice VIM bindings or if you want to scroll up a little higher You can use What is it alt U for up and alt D for down those are just those are VIM bindings originally So that's what I have to scroll up and down Additionally, you'll notice that the text in my terminal is actually a little big That's because you can change the font size of this terminal by holding down alt shift And then same buttons as scrolling up and down J and K the only difference is you're holding down shift now So if I want to make this smaller press J if I want to make it bigger press K I'm sorry coronavirus. It's all over the place here So in addition to that what what other kind of bindings do we have so again? Let's rerun some commands one thing that I actually worked into my build around a year ago This was actually a suggestion of a subscriber. We worked on it one night I don't know probably a year ago if you let's say you want to copy the output of one of your commands Let's say it's a really big command or a command that you can't just rerun or easily highlight Well, one thing I've built into my terminal with again the help of this subscriber is if I press alt Oh, what it does is it actually gives me a list of all my previous commands And if I select one of those, let's say this most recent Pac-Man hyphen Q What I can do is I can go somewhere else it has copied that to my clipboard So I can copy in the output of that command and you'll see it has the entire command from the original line To all the stuff that have printed out So that's a pretty nice feature if you need to copy the output of something that you can't do You know, let's say it's a command you can't rerun and pipe into x-clip or something That's a nice little feature to have Additionally, let's talk about one other thing you occasionally need on your terminal is the ability to copy or follow links url links so as an example, I'm going to cat out Let's see local source website. I'm gonna cat out the HTML page of my website. Okay, there it all is and this is just an example. You might have some kind of link to something on You know on the command line and you need to copy it now some terminals You'll click on them some terminals you have to highlight in them copy them I like having a nice little D menu prompt. So here's what I do I hold down alt press L and it gives me a list what it does is it looks through all your terminal output It gives you a list of all those URLs and you could just select one of them type one in whatever Let's say I want to follow the github link So I'm gonna start typing that in press enter to follow and it's gonna bring that up So you will see in just a second my internet is terrible, but here it is Here's the link we followed actually let's go to my ST build because why not because that's what we're talking about in This video so that again is That again is control L Additionally actually let me go back Oh let's go back to and cat out the Website page again in addition to following output You can also just press alt y and that will just give you a list of URLs that you might want to copy So let's say we'll copy this link and I can go over somewhere else and paste it in just to verify If you don't want to actually follow it. You just want to put it in something else That's something that works as well. Okay, so we talked about font size We've talked about going up and down scrolling another thing is If you actually do have to copy some specific thing Let's say we just want to copy that you press alt C that is now copied I can go somewhere else Let's say my browser and I can pot paste that in all that stuff which that we just copied Now of course for those of you who are new to the command line on a Unix based operating system No terminal is going to have Control V and control C for like copying and pasting and stuff like that because those bindings are already used by other functions Right control C is always going to be stop a command. It's never going to be copied. So that's why I have alt C Bound here if you want to paste You press alt V to paste that in or also shift insert. I have that bound as well That's a sometimes a little more common a lot of other people use control alt something I just like alt C alt V that works for me. So That yeah, that's fine with me. So those are the basic bindings of my build. So I should say what are the other features? That I've put in it now again I should say for a lot of these features I've put in One of the big ones that I'm gonna show in just a second is X resources So X resources is the ability for you to set Set it let's say you want to change your colors or change some other data of or Variables used by your terminal X resources is a nice way to do that But if you want to go to the suckless site, you can have a full list of all the patches You can add in yourself if you're you know, if you don't want to use my build It's usually advised to make your own build if you really want to figure out what's going on Of course, if you really want to abide by the suckless philosophy, but you know Anyway, so what I mean by extra sources is I have an extra sources file and I list out some variables here Let's say for example transparency. Okay? So right now my transparency is set at point eight that is 80 percent Non-trigger opaque so 20 percent transparency just to be clear if I replace that with a hundred percent Which is of course one and I run the XRDB command I have it run automatically in Vim when I save this file, but you got to run this command To update it now I pull up a terminal and you'll notice that this one is transparent But this one on the right or on the left. Excuse me has no transparency whatsoever. Okay? That's because I changed alpha to one. Let's say I change it to zero now all the terminals I'll bring up will be totally transparent. Okay, so these two term terminals. I just brought up totally transparent Sort of hard to see but it's an option But anyway extra sources the reason this is nice is by default ST has no config file config files in general They sort of they're against the suckless mindset They don't like having them for different reasons, but the nice thing about extra sources is you can set settings But you can also set them for multiple programs. So let's say you want to have a color scheme in common with you know ST and DWM here's my window manager It actually uses extra sources as well or D menu or just other programs in general You can set them in extra sources and that's a nice thing. It's not as bloated as having a separate config file for each one It's a nice thing to have Additionally, you know got some obvious stuff here if I want to change my font size I can but also I keep commented in here a bunch of different color schemes Let's say I wanted to change to grow about grow box light, okay? Well, I just uncomment this color scheme and again run XRDB on this file and when I pull up my next terminal Well, look at that. Now it is grow box light nice Okay, so I have a couple color schemes in here like that just in case I wanted to you know, change the one of these I'll say I'll change to this one right Oops, then I get rid of that transparency. Yeah Okay, so I'll change to that one. You'll see we'll have what is it Dracula? Whatever that was. Yeah Dracula, okay? In addition to that, so if you don't know extra sources is also used by a pie wall Which if you don't know what pie wall is it's basically this program where it auto generates a color scheme based on a Any kind of image you give it? Okay, so I'm gonna give it my current background so here's my current background if I Give that to wall What you what it is going to do is it's gonna auto generate a color scheme based on that and it's gonna use that in X resources and since my ST build is built in to read extra sources It can now read that so now if I pull up a new new terminal You're going to see that it has this color scheme that is similar to my background, right? So and a lot of people will change they'll use pie wall to go through You know to generate color schemes all the time So it's nice having a build of ST or your terminal build in general that can easily read this But I'm going to re-save this so it overrides the wall color scheme All right, so let's see. I think that's about it But I will talk about let's talk about the more hardcore well actually no There's one more thing I need to say that's important and then maybe we'll talk about more hardcore stuff Okay, so first off. I did a video a couple weeks ago on getting Emojis colored emojis in ST now you might say well, what's the point of that? I mean, what's the big deal about that? Well, the issue was a lot of suckless philosophy or software a while ago Was dealing with a problem that was in a font configuration library and they were they are unable to render color emojis So there's a little fix for that and what it is is Well for right now, it's I mean hopefully it's eventually going to be fixed in the upstream But right now the thing you want to do is install this package lib XFT Bg ra from the a you are and if you install that you will be able to see color emojis So I am just going to verify that I can do that by pulling this up. Okay, so one thing that you will Want to do if you well first off you'll want to install that so you ST doesn't crash when it sees color emojis because that would be what it did otherwise But in addition one thing that I've built into my build for the time being and that is until this is totally fixed Is I actually have multiple font set so I have but a fault my Font is a mono space font of size 14 14 point font But additionally I have a fallback font and that is my joy pixels font Which is the emoji font of size 10? And that is you want to have the emojis a lot smaller than your characters because some emojis and ST Let's say if I have a really big Well, it doesn't let's say I make this really big you'll see that eventually the emojis will sort of bleed into the next Emoji next to it. You'll see how it's sort of cut off right here. Okay So that's why you want to have the emojis just a little bit smaller now Again, this problem will hopefully be fixed on the upstream, but for those of you who are dealing with this I know I mentioned having this problem a week or so ago if you want to avoid it for the time being you can just do that Let's see what else is in here now if you want to reconfigure Anything in this in the build of a suckless program, of course, you know that you want to modify the config dot H file that's what I'm in right now And it's typical to put all your settings in here now as I said before a lot of these can actually be read by X resources colors and stuff like that even a lot of the like for example You know the the scale of font, you know, let's say you have you want Characters a little wider, but you can change the CW scale of them So they'll take up. They'll be a little further spaced or a little closer in depending on what you want There are a lot of settings you can of course change in the actual source code of ST But once you do that you have to make it and then pseudo make install it That's the important thing Anyway, so I think this is about I I've taken up a little more time than I wanted to in this video But I overviewed the basic binds of ST I might talk about my configuration in a little more depth than another video But this is just to get it out there for those of you who who use my build and want to know the thinking behind some of it So hope you learned something or hope this follow You know encourage you to learn something and I will see you guys next time