 Hi, I'm Denshi, and in today's video, I'm gonna talk once again about a bit of a meme program, and that's DWM, or Succes's Dynamic Window Manager. Now I'm using it right now, and I have been using it for the last few weeks to just test things out. And the way Dynamic Window Manager works is that instead of having all the windows, you know, just floating like you would have in a desktop environment like KDE, instead of doing that with DWM, as soon as you spawn a window, they begin tiling, and they have a specific tiling lance that redirects you to the newest window as soon as you spawn it. So what does that actually mean? Let's take a look. I'm gonna open up a terminal window, which I can do by opening up my D menu over here, and have it launch a program. So I'm gonna do st, that's my terminal, and I'm gonna press enter. And as you can see, it opens up over here. And the way I have it configured is that on the left, new window shows up. The other one goes to half of the size of the screen. And now I'm working over here. I can type whatever I want in here. I'm gonna just put the music player on. You can work in here, you know, just scroll through my music, I want to play a song or something. And then as soon as you're done, oh, well, I can just move my mouse over here or use Vim keys to go back to the other window. That's an interesting thing about DWM is that focusing between windows is as easy as moving your mouse. So if I move my mouse over here, well, now I'm working in here. But if I move my mouse over here, while I'm scrolling and doing everything here, it's the same as if you were clicking in a floating window manager is normally in KDE or something. If there was a window in front of me, like I open new floating one like this, I'd have to go over there and click on it. And then it would let me do stuff in it. With DWM, you just hover over something and boom, it works. Now, there are a few other things you can do with DWM. Like for example, while in the tiling layout, which is this little symbol over here at the top, you click that and then it's just to the floating layout. So now, oh, you can spawn new windows. And as you can see, they're floating. If you hold down your modifier key, which I've set to the super key in the left button, you can move them out, right click and resize them, whatever. And that applies to every single window. Then click this again and go, they go back. You can open a new window, then just drag it out and make it floating even though you're in the tiling layout. So you can have maybe one floating window here, and then you're still working with the tiling ones. So they sort of live on two separate planes, like I said. But the most interesting thing about DWM is how it's configured. So let's take a look at that. I'm going to go over here in the terminal and go to the directory where I have the local source code for DWM. This one over here, as you can see, it's very minimal software. I think it's less than 2000 single lines of code, which is very, very, very small. In fact, this has a very small memory footprint and runs very efficiently. And I definitely recommend it if you're into window managers, you need something that's very, very minimal. But anyways, how do I customize it? Well, in something like Openbox or i3 or whatever, you normally have configuration files, not with DWM. You do have a configuration file, it's config.h, this one over here, but it's located in the source code. So essentially, you have to make your own build of DWM to use it. Now, this is very inconvenient for anyone who just wants to slap a window manager on and be done with their day. However, if you back up your config.h and specifically the patches you applied to it, which we'll talk about later, then you can essentially have your own custom version of DWM without really having to do anything. Just keeping the config backed up and the patches. So I'm going to show how to do those separate things. The first thing I want to show off is the patches. On the Succes website, you click on patches over here, there's a bunch of them for different things like, for example, you're got a system tray, and I got the patch that adds functionality like auto starts. So I got certain programs to start automatically, that kind of thing. There's a lot of these, as you can see, you just download these are just single files like this, for example, actual full screen, that kind of thing. This is a single file. It download this, I put them all in a folder called patches or directory. And the way you apply them is you run patch dash P one. So patches just a Unix utility and you send over the patch, the patch itself. So let's say I want to activate, yeah, there you go, the auto start one over here. If I were to run this program, then it would essentially apply all of the conditions stated in here on all of these files over here, at least the ones specified in the patch. So anything that this patches modify will be applied when I run this command. I'm not going to run it because it's already applied. Now the important thing to note is that this does not at all metal with that previously aforementioned config.h. Regardless of what you do, this always stays the same, config.h. What changes is config.def.h. That's the default config. Now patches change this to add any variables they expect to the change. So for example, if I had this alpha patch, then it's going to add the new alpha functionality that lets you have transparent D menu at the top, which I currently don't have. And if I were to apply that, then it would not only modify the code itself, so modify a few C files and stuff, but it would add some options regarding to, hey, how transparent I want it to be, what sort of colors I want for the transparency, and that kind of, it adds different rules that you then have to copy over to the aforementioned config.h, the regular config. So that's just something to note. Okay, one last thing about DWM. The text over here at the top, that can be customized. So if you go to the regular DWM, as you can see, there's custom text up here. If you launch DWM by default, however, up here in the top, it only ever shows DWM and the version of it. So like 6.2 or something. Now the cool thing is you can get a program called DWM blocks. And I got over here, DWM blocks right here. And this program over here runs and modifies the contents of this. So it essentially modifies the variable that changes this text, every, however intervals you want. So in my case, I got a few things that I got a little price indicator over there balance or something. I got the date in seconds. And I have that set to update every one second, as you can see, while the balance updates every 240 seconds. And I have the battery capacity, which is just this class power supply about zero capacity, whatever. And I have that update every 10 seconds. So I can see all these three separate pieces of data with a divider, which in my case is a little UNIX pipe icon, right here at the top, just in case, you know, if I want to see it. So I just wanted to note that because this is quite a cool feature of DWM having that little customizable text at the top. Pretty sure you've seen that with Luke Smith and his DWM blocks build. And he does all the cool stuff where you can click stuff. I don't have that, but I do have just this generic text. I don't really need to be able to click anything. But anyways, I hope you enjoyed this video on DWM. If you really want to try it out, then the website is linked in the description. I've been Denshi. Goodbye.