 Okay, this is epic. DWM, Succes Dynamic Window Manager. Let's read some of the good stuff about it. Because DWM is customized through editing its source code, it's pointless to make binary packages of it. This keeps the user base small and elitist. No novices asking stupid questions. Now, I don't know how you guys feel about that, but I am sold. Sign me up. And in fact, at the end of this video, you too can be small and elitist because DWM, it's a little different if you're familiar with other window managers, or especially I3. But once you wrap your head around it, it isn't too hard to understand. But once you understand the logic behind it, it all just clicks. People have been trying to meme me into using DWM since I started my YouTube channel. Now I'm using it. I'm probably going to continue to use it because I finally figured it out. It finally makes sense to me. So I'm going to explain it to you. I'm going to get rid of this. I'm going to move that to another workspace. Actually, I should say DWM doesn't actually have workspaces. I shouldn't even say that. It really has tags. We'll talk about the difference between them. But of course, you can move between them in the same way. You move between them in I3. Alt plus a number or something like that. That's the default binding. Of course, I change alt to super. So here's the idea behind DWM. There are a bunch of different layouts. There's a default layout, a default tiling layout that looks something like this. There are other layouts that you can get on the website if you go to patches. There's a Fibonacci layout. I'll show you that one. There's the centered master layout. I'll show you that one. But behind every layout, there is one kind of logic. And here's the logic. It is a stack. So if you have one window, you have one window in the stack. When you create a new window, that new window goes on top of that other window. It is now the most prominent. When you create a window after that, actually, let me actually put stuff in these windows so you can tell them apart. When you create another window on top of that, it goes on top of the other ones. It is now most prominent. So I can type something else in here. And then as you can keep creating them, and the windows will be on top of the stack. Now, what does that mean? Now, obviously, visually, right now, it is not on top of the other ones. But I'll just say it's an abstract logic behind not just this layout, but all the other layouts. So here's the idea behind it. Here's, I guess, the mindset behind it. Your most recent window is the one that you're probably working in, that you're doing stuff in. And of course, I can promote. I mean, it's not like this is constant. I can go to my webcam and make me the most prominent window. And now it is moved from the bottom to the top, moving everything else down a layer. Or I can move this to the top. But the idea behind the stack, as a kind of abstract reasoning system, is that the window you spawned most recently, or you're most recently dealing with, that is most important. And it should be most prominent. And then windows lower on the stack, they're usually less prominent. And they should be in a less prominent location. You still want to see them. You still want to do stuff with them. But they're less important. Okay. So this is what the default tiling layout looks like. You have one master window on the left, which is the one that's on the top of the stack. And you have a bunch of slave windows on the right. Okay, that's the default layout. But you can install other layouts, as I said, so that, for example, there is, we'll start with centered master. So the idea behind centered master, I have this installed. But when you press the binding for it, it does this. Now the master is in the middle. And if I create, you know, new windows, they will become the new master, right? So I can do whatever I want in here, you know, I can say, you know, new master. Okay. So, and of course, when I, you know, let's say I want to make this the most prominent window when I press the binding to make put it on top of the stack, it is now in the middle of it. Now the thing is, compare this to the tiling layout. They look very differently, but abstractly, they are the same. The windows are in the same order. When you scroll through them, you can scroll through windows with alt k and j. And choose whichever one you want to move up to the front with alt enter. But when you scroll through them on this layout, they are exactly the same in terms of order as they are in this layout. Or, you know, additionally, there for example, is the Fibonacci layout that looks something like this. So let's say, you know, let's say the Fibonacci layout, well, if as you make more windows, basically, your older windows, you can see my face disappearing, but your older windows will get smaller and smaller, right? Or of course, you can go back and you know, make any of these, you know, the most prominent window you want if you want to get them up. But the idea behind all of the layouts is they're all organized in a kind of stack format, where the most prominent window again is the one that's most visible. Okay. Now in addition, there's other stuff you can modify these layouts with. Oh, geez, I have so many of them. So as an example, actually, so this again is the default tiling layout that usually it just has one master on one side and a bunch of slaves. You can actually change this a little bit. Let's say I want two masters. Well, you can press alt and I to create, you know, make it so you have one more master than you did before. So when you spawn more windows, you'll see that of course these newly spawned windows will still be the two master windows and everything else will be demoted. But you still have two master windows, right? That's the point. So now there are two spaces for that. And when we promote an older window, you'll see that they take prominence in these two master positions again, pushing everything else down. So that again is alt I or you can undo that with alt D, I think. Yeah, I changed some of the bindings, but so you can move actually multiple windows back and forth. I mean, if you want to oops, I didn't mean to make all those. But you can move multiple windows into the master position or you know, move everything into the slave position or whatever. But that's the idea behind it. But the order behind the windows is always the same until you specifically tell one to be promoted. Okay, that's hopefully that makes sense. Okay, so let's do a little more. Let's do show you some more layouts just as an example. So I showed you. So there are a couple of other layouts. Again, most of these you have to get patches for. There, for example, is a grid layout, which looks something like oops, I did not mean to start GIMP. I pressed the wrong keyboard shortcut. But they have a grid layout that looks something like this. And keep in mind that all the elements in this grid are still organized as a stack. So it's like, you know, one, two, so this is master second, you know, and you can scroll through these because they're still ordered. And you know, I can order, you know, if I say, you know, echo first, I'll use figlet second, figlet third, you can change the layout and they will still be in that order. Or additionally, there's a centered master layout that's sort of similar to the one, you know, so there's the one I showed you earlier. And then there's this one. And notice, again, there's still two masters, I can demote one of those by pressing D, or alt D. But anyway, so that's the stack. That is the idea behind spawning windows in DWM. That's the logic behind it. And again, you can get all the layouts you want, you can make them how you want. But that's, that's the idea behind it. Now, that's not, of course, all there is to say about DWM. There's a lot more. This won't be my only video on it. But the other thing that separates DWM from something like I3 is that it does not have workspaces. It has tags. Now for an I3 user using DWM, it looks exactly the same. So you have all these workspaces, things that look like workspaces, they're not workspaces, but you have all these things that look like them up here. So you can press alt plus any of the number keys to go to them. Or you can press alt shift and one of the number keys to move any of your windows to them. So let's say I want to move this to five. Now it's at five, I can go to five and look at it. But tags are a little different, because you can look at multiple tags at the same time. So let me give you an example. Let's say I'm doing some intense development work over here. You know, I have all this important stuff pulled up. Now I could, let's say I needed to go to my browser. I could go over here to this tag and just look at the browser. Another thing you could do is you can look at multiple tags at the same time. So I can press what is it alt, alt control and then you know the number of another tag. And now that browser that is in nine has appeared here. Now you might say, to be clear, we didn't move the browser to the first workspace or tag. We're now looking at the first tag and the ninth tag simultaneously. And as you can see the one that we had our windows on and the nine that we had our browser on, they are both highlighted. Now if I decide to go again to one of them by going to alt one, you'll see that the browser disappears. Of course it's still on alt nine. We can go to see it. It's still there. But you can look at multiple of these tags at the same time. Additionally, let's say I just wanted to move this window. In the same way you can move windows to other tags, you know alt shift and then the number. You can press alt shift and control in the number. Let's say I want to move this to nine. And if I hold down control, it is now tagged for one as it was before. And it is tagged for nine now. So I can go, I press the wrong binding. I'll shift control. Sorry, yeah, my bindings again are different on my machine. But you can now see that it is on nine and it is on one. Great. So you might wonder, so you'll see that there are actually nine tags here that are there by default. There is no zero with tag. There's no like 10th tag or something. In i3 there's a 10th workspace. But there's no 10th tag here. That's because if you press alt zero, what happens is you activate all the tags simultaneously. So now you'll see everything is blue. We're looking at all the tags, all the stuff on all the workspaces, quote unquote workspaces. Again, they're really just tags. And by the same logic, let's say hypothetically, if I go to one of these other, you know, workspace or tags, and see I'm saying it, if I go to one of these other tags, oh, my poor face isn't here. I want my webcam to follow me everywhere. Well, one thing I can do is I can mark that workspace as being tagged for everything. So I can hold down alt and then shift and then press zero to mean all tags. So now that is on every single tag automatically. So I wherever I go that face is going to be on it. Okay. Now, of course, this doesn't mean it's not like it's running nine times or something silly like that. It's just one instance tagged for all of these. And of course, if I get rid of on one of them, it disappears or if I close out of it on one of them, it closes out on all the other ones. Although you can, let's say hypothetically, I could send it to all tags. Okay. So now it's everywhere again. If I wanted to just get rid of it on this tag, you can. So I'm on, I'm on eight right now. So I can hold down alt, control, shift and eight. I think is that it? No, maybe just there's some binding that gets rid of it on only this tag. Oh, I forget what it is. But you know, there's some binding that does that. But closing out the window will just close it everywhere to be clear. Hold on. I'm pressing. I got to figure this out. I'm on five. Okay. Yeah, that's what it is. Alt shift control. Yeah, I was pressing the wrong buttons. Yeah. So now it's on everything except for five. All right. So anyway, this has not been an exhaustive video. So this is the idea behind DWM. Okay, so two things. There's the tag system, and there's the stack system for ordering windows. So if you want more ways to order, I mean, there's only one way to order your windows. But if you want different ways to find out how to display them, go on Suclis's website. Again, there's the center mass centered master one that I had. And the Fibonacci layout, I installed those on the grid one as well. Grid mode, there it is there. So you can get different kind of, you know, different ways of looking at your windows. But behind it all is the logic of the stack. And again, the logic is the thing that you are working on most recently, it should be most prominent. So anyway, that's sort of a whirlwind course. I'll talk more in other videos about modifying DWM as I do more modifications to it. But hopefully that'll be clear enough to, you know, get the biggest brain concepts about DWM out there. So I will see you guys next time.