 One of my favorite tiling window managers of all time is DWM that succluses dynamic window manager And the problem a lot of people have with DWM is you have to manually patch DWM to add Functionality to it because out of the box DWM is only about 2,000 lines of code less than 2,000 lines of code I think so you have to add all of these patches to turn DWM into a proper desktop environment for my custom build of DWM I think I patch it for like eight or ten different things and the patching is kind of time-consuming. It's tedious It's a little bit of a hassle and I really think that Really prevents a lot of people from giving DWM a chance. Well, I've got a really cool little build of DWM that I came across the other day This is Back of bees over on GitHub and this is called DWM dash flexi patch And what this is is he's got all the patches for DWM in this repository here So he's got every single DWM patch known to man now They are not enabled out of the box what you do is when you clone this repository you go grab this repository here There is a patches dot def dot h file and these lines here were defined in this case bar awesome patch And then zero what this is is if it's set to a zero the patch is disabled if it's set to a one The patch is enabled. So that is a really easy way to add and remove patches to your build of DWM So what I'm gonna do today is I'm gonna actually test this out. So I'm gonna fire up a VM here I've got a VM of manjaro Linux and I'm going to do a quick get clone of the DWM flexi patch Repository and we're gonna quickly build DWM with some of the patches that I like So what I'm gonna do is I'm gonna pull up my get lab repository for my build of DWM DWM dash distro tube And because I know on this page I've list a nine different patches that I like to add to my personal build of DWM So I'm gonna add these same patches with DWM flexi patch So let me get over to this virtual machine here of manjaro And I'm gonna open up a terminal and let's go ahead and make it full screen And let's zoom in if we can here so you guys can see the commands So let me go ahead and grab the source code for DWM flexi patch So I'm gonna do this with get clone and then the URL which is Https colon slash slash and then of course github dot com slash The guy's name was back a beat and his repository was called DWM dash flexi patch Dot get at the end and now that we've cloned to that if I did an LS to verify you can see we have a new Folder here in our home directory DWM dash flexi patch Let's cd into that directory and then I'm gonna do an LS and the file that we really need to play with here Is patches dot def dot h. So what I'm gonna do is I'm gonna open that nvm and Then what you need to do is go through here and just find the patches that you want to enable So anything that has a zero and you want to enable it just turn that to a one and I don't really know much about that patch So I'm gonna set that back to zero some of the ones that I often set include things like alpha for Transparency attach a side is one I typically add because I like new clients when I open them to Appear in the stack rather than in the master pane. So there is the attach a side patch I'm gonna go ahead and enable that. I also like cycle layouts. Let's see in the cycle layout patch is right there I'm gonna go ahead and enable several of the various layout So I go all the way to the bottom of this document This is where all the layout patches or monocle is already gonna be there tile is already gonna be there I think that's the default master in stack. So I think it by default in DWM You have the master in stack the monocle layout and a floating layout But I also sometimes like having a grid layout. So we'll add that we have the Fibonacci Spiral layout. I'm gonna go ahead and add that that's not something I typically use But I want to test this out, right? I'm going to add several patches to see if this thing actually builds correctly when we're done Typically, I add the rotate stack patch to my builds. So if let me do a search for rotate stack There's the rotate stack patch. We'll turn that on and I've added I don't know eight or ten patches here rather quickly to patches dot def dot h So let me clear the screen now once you have patches dot def dot h set with all the patches that you want All you need to do is actually do a sudo make install. So I'm gonna sudo make install and Hopefully it builds correctly. No errors were returned. So it actually did build this correctly So let's go ahead and try to log in to our new DWM So let me go. How do we log out of XFCE? I don't use XFCE that that often Let's get back to our login manager and in the login manager somewhere down here We have XFCE session The one thing that DWM doesn't do is it doesn't create a dot desktop file I'll log back in to XFCE. We need to create a dot desktop file for DWM and just to make this easier for me And it also would be easier for you guys I actually have a desktop file for my own build of DWM over on my git lab So let me go over to my git lab at git lab comm slash DWT one and I'm gonna go to my DWM dash distro tube Repository and then my repository here. I have a DWM dot desktop file So this just saves us from having to do any typing. I'm just gonna do a quick copy and paste job here And now that I've got that I need to actually get into a terminal And let's make the terminal full screen I'll zoom in a little bit one more time and what you need to do is you need to place this and slash user slash share slash X session and I don't think by default on Manjaro because it only has the one desktop environment XFC here I don't think that directory actually exists I'm gonna actually do a sudo and we're gonna go ahead and make that directory these slash user slash share slash X session directory And ask for root privileges and now I'm gonna do a sudo Vium and I want to go to user share X session slash DWM desktop will be the name of the file We're gonna create here and then I'm gonna do that copy and paste. It says unsafe paste Let's see why it's unsafe paste is because it doesn't respect our Line breaks, so I'm actually gonna have to go in here and manually Do the line break so give me just a second and now that I've got the format correct once again Let me do a colon WQ to write and quit out of Vium and then I believe we could just log out of X FCE and log in to DWM now and now in the login manager when I go down here and click on the sessions Let me move my head out of the way. I have X FCE and I have DWM Let me click on DWM and let me log in to DWM just to verify that this works and it did We are actually using DWM and let me open a terminal. I believe it's a alt shift Enter by default open a terminal here in DWM So it's using the default key bindings. So I'm not using my config, but let me open H top what I'm gonna do is I'm gonna open Yeah, I just wanted to verify that the patching did work that the attach a side patch is working because the new windows Are actually appearing here in the stacks. So I'll shift C will close and Alt shift s. Let me do a quick X Rander dash s 1920 by 1080 to get a proper screen resolution. Yeah, so DWM flexi patch. It definitely works I Think that is a really interesting project like I can really understand why This project exists so many projects out there. I mean, I won't say that many projects have no reason to exist I mean a lot of people just want to practice coding a lot of people are just out there having fun But this solves a real-world problem here flexi patch is one of those things that I can really see helping Potentially hundreds maybe thousands of people discover DWM that otherwise would avoid it because of the manual patching Now before I go I want to thank a few special people I want to thank the producers of this episode Apsey Dallas gay blue Mitchell Allen a commie Archvitar 30 choke David the other David Dylan Gregory Louis Paul Polytech Scott Steven Smith and Willie. They're the producers of this episode Without these guys this quick look at DWM flexi patch It wouldn't have been possible The show is also brought to you by each and every one of these ladies and gentlemen as well All these names you're seeing on the screen right now These are all my supporters over on patreon because the distro tube channel is sponsored by the community I don't have any corporate sponsors and I would like to ask you guys for your support Please consider it look for distro tube over on patreon. All right guys Peace Now we just need a ex-motinid flexi patch