 Hey everybody welcome back to the channel. Today we're going to talk a little bit about my transition from being an I3WM fanboy to a DWM fanboy. I've debated a little while on how to talk about this and I've made some notes but the gist of it comes down to is the reason why people use DWM isn't the reason why I use DWM so that's the reason why I'm making this video. When I first decided that I wanted to try the Dynamic Window Manager or whatever I think that's what's called or stands for DWM. I created a video maybe a month ago a month and a half ago now and if you watch that you can just tell I'm completely lost as to what DWM actually is. Not actually was but how to use it, how to theme it, how to get around in it, how to change key bindings, any of that stuff it was completely lost and that situation carried on for quite some time and it took me two or three weeks to really get my head around how to theme really do anything in DWM. I spent most of my time still in I3 and just kept coming back to DWM because I wanted to try it out and see if I could be okay at it and during that time I was still a big proponent of using I3. It wasn't until I really kind of wrapped my head around what DWM is that I figured out that I decided that it was better than what I was using before which is I3. So there are a few reasons why I've decided that I3 and I've now been using DWM full-time now for close to a month and I've just come to love it. Today I'm going to talk a little bit about why I transitioned from DWM but also why I think it's better than I3 for some people. Not all people, but some people and I'll talk a little bit more about that at the end. So let me show you what my DWM looks like. We'll just transition over to the wrong scene. That was from my gaming channel that I never update. Anyways this is what my I3 looks like. This is a brand new one dark rice that I just did today. I like ricing things as you can tell from some of my videos. But this is what my DWM looks at after hours and hours of learning how to do things. I've themed things differently a few times. Now I've gotten my head wrapped around it. So one of the things I like best about DWM is the direct editing of the source code. So if I CD into my DWM file here, these are all the files that make up DWM. There are any more located anywhere else. Anything you want to change you can change here. And it's not like I3 if we do that if we get out of this and go into my this is my I3 config. And you can tell you can tell one is more complicated than the other for sure. And that's not necessarily a good or bad thing on either way. But I've learned to prefer the way DWM does things mostly because I know exactly what I'm creating when I add something here. There's a translation layer between me and the actual short source code that I don't see and I don't understand. So I don't even know what language I3 is written in. I know what I3 what DWM is written and it's written in C. And I can understand I don't know anything about C. But I can learn it right. I don't because I'm not sure what I3 is I3 has this configuration felt which is basically just plain text. And it's not it's not a bash script like BS PWM has it's it's just really weird. And this is great for new users because it's really easy to understand there's not a once you get around the little bit of syntax that you have to learn. It's great. There's no weird places where you have to you know if you don't put a semicolon or a comma somewhere you're not going to break your config file. I mean usually whereas when you're writing in C you have to have semicolons in certain places you have to have brackets in certain places for I mean really seriously what are these brackets here for I don't understand that I don't know anything about C. I mean this is defining a variable so I'm not understanding what the brackets for I still don't know and it doesn't bother me that I don't know. But I at least I can understand that if I learn those things I'm directly manipulating the source code and that's kind of reassuring. It's also provided a challenge something that I didn't really get with I3. I enjoy learning new things so I eventually I'll learn what those brackets are for you know I'm not sure whether breakfast there so eventually I'll learn those things. So directly editing the source code is is great. But it's not for everybody and I'll like I said I'll talk about that a little bit in a little bit. So another thing that I really do prefer is that the status bar up here is actually included with the WM I don't have to go through and try to figure out how to get poly bar to work. I could use poly bar I suppose there is a patch for that. But this just is here now this extraneous stuff up here this the status bar that's not there and it's not included. There's another program that you have to use to do that but it's all kind of a it's more of a I would call a plug in than an actual program. So basically that's just running a whole bunch of scripts and printing them out. That's all it does. And that's great. It took me a while to get my head around it but I enjoy the fact that if I want to make edits to this bar I can do pretty much anything right from the standard config file in DWM. Now you can do that kind of an I3 because I3 has its own bar as well I3 bar. But the limitations are a little bit more. It's a little bit more weird and it's not as extensible as what I know this is really. So that's another one. Now if you listen to people who use DWM you'll hear them say that the patching is a pain in the ass and I agree with that. But I also think it's fun. I'm one of those people who like I said I enjoy a challenge. I enjoy learning new things. I'm not I'm never gonna be an expert in anything but I do enjoy going through and learning things that I don't know. So going through and learning how to patch how to patch manually when something when the automatic patching thing fails has been really enjoyable for me because not necessarily because it's not frustrating when something goes wrong but because I can go through and learn how to fix it and it allows me to tinker. So that I think of all the window managers window managers that I've tried DWM is the one that is the one that is best for me because because I'm a tinkerer. A tinkerer? Tinkerer? Hard word to say. So the next thing I want to talk about is the difference between I3 and DWM. I3 is a manual tiling window manager. Basically what that means is that you decide where you want the next window to spawn. So if you want to spawn vertically or horizontally or over there or you know over here over there you decide that. And there's a lot of key bindings and complexity and determining a lot of complexity in between you and the window manager of how you tell I3 where things go. You know there's five or six key bindings. Each one does several different things and it can be really it can be kind of complicated. And I used to like that. I used to like that. I would argue that I want to be the one to decide where my windows go not the window manager and that's a perfectly valid argument. I think that that control that it gives you to put the window the next window you spawn where you want to spawn it is a good thing. But DWM is a little bit different. It's a dynamic tiling window manager which means that pretty much depending on what you know format you have install or patches and stuff all your windows are going to spawn in a predictable manner. You don't get to decide where things are going. They just spawn you know in a certain order. And now I believe that this is the best way to do it. Not necessarily because it gives you more control because it doesn't it's actually less control but it's also more predictable. Half the time I would enter a mode like I enter vertical mode or horizontal mode in I3 and spawn a window where I didn't really want to because there's no indicator of what you know mode you are in and especially after you've themed something because in stock I3 there is like a weird way they manipulate the borders around windows that will indicate where your next window is going to be spawned. But if you've themed that away it's harder to know where your window is going to be because there's so many different possibilities where it could go. Now if I spawn another window it's just there you know so that I like that. Now there are patches and stuff that will allow you to change to different layouts and I have some of those installed but I don't usually use them I just use this master and stack I guess is what they call it now layout and it's really good. It's just completely changed the way I would argue about it. So the next thing I want to talk about a little bit before I move on to some of the downsides of DWM is that I've had more fun racing DWM than I ever had with I3 mainly because mainly because it's complex and it's things go wrong. So like I said I'm a tinkerer and I enjoy getting into this orc's code and changing things changing the color changing the backgrounds. Like today I figured out how to make these finally learned how to make all these scripts up here different colors. I mean there's a patch for that but before I couldn't get the patch to work so I had to figure out how to get the patch to work and that took me almost a week in order to figure out how to do and figure out what was going wrong and that was it was frustrating but it was also fun. I like to race things and the more complicated things get as long as I'm not getting don't get too frustrated the more fun I have and that's really that's really the I think that's where I'm at with DWM is that I'm not necessarily more productive but I enjoy using it more. So what who is DWM for DWM is not for beginners because of the source code because of the patching. I3 is by far the better window manager if you're just getting into window managers. That's my opinion I think most Linux YouTubers Linux evangelists or whatever would agree that if you're going to try a window manager and you were choosing between I3 and DWM at least. I3 would be the better choice mainly because of the more the way the configuration files laid out and it's easier to understand stuff but if you're a Linux user who's moved past the point where you're no longer a noob and you're more interested in learning things and learning new things and tinkering around DWM is amazing and I think that because it allows you to tinker a little bit more and you're interacting directly with you know the code that makes up DWM it allows you to break things more often and then fix them and I mean that's a typical guy thing I suppose but it's true I mean it's just the more interaction you have with the actual code it just makes it you know better. So I guess in conclusion I would just say that I like DWM better than I3 now but there's nothing really wrong with I3 I just I enjoy the predictability of where the windows go and the fun that I have theming. Now the question I have for myself is will my love affair with DWM continue? Now as you know if you've watched the channel for any amount of time I've been having an affair with Xmonad because of Distortube and it's not it's an abusive affair because so far I've not been successful in actually using Xmonad mostly because I've been averse to watching tutorial videos on how to set it up. I've been trying to do it on my own and I've failed spectacularly but if I get that up and running the question I have is did I move over to Xmonad because Xmonad is a dynamic tiling window manager as well and so it has those things going for it but it's also written in a completely different language so that might make up a new challenge I'm not sure. The question I have is do I really want to learn Haskell? I mean I've seen some of the code I played around in a little bit. Haskell looks really complicated and I thought C was complicated it's a new adventure and we'll see. As for now I believe I'm going to be sticking on DWM for quite a while I am going to be playing around with more SpectreWM in the future in our video we'll see how that goes. That one's another one that has a config file that's not written in the programming language that the window manager itself is you know coded in. So that'll be an interesting way because that's a dynamic tiling window manager as well but it's written more kind of like I3 is so that'll be interesting to kind of play around with that a little bit more. Anyways if you enjoyed this kind of rambly nonsense video that I recorded at 12.30 in the morning give it a thumbs up if you didn't give it a thumbs down if you want to support the channel you can do so at patreon.com slash linuxcast we're really looking forward to our first patreon if that ever happens. If you want to support the channel for free hit the subscribe button we really do appreciate it. We do linux type videos, false related videos almost every day of the week. We also do a podcast every sunday and that'll be coming back in early january with me and martin so we'll see you then thanks for watching.