 Hey everybody, welcome back to the channel today. I'm going to be talking about BSPWM Now this is going to be one of those videos where I don't know what the hell I'm doing But I hope that somewhere along the line both you and I learn something What I want my goal for today is to install BSPWM from scratch on an arch based system This is our code Linux is what I'm gonna be doing it on but it should work on arch or any of the arch distros and go through a minimal setup where I get a bar and set a wallpaper and that kind of stuff now Whether or not I'll be successful at all on any of this stuff as per usual. I don't know I'm not above admitting that I'm Winging it and I am winging I've done a little bit of research and I think I can do this fairly easily What the outcome will be we're gonna find out so let's go ahead and jump in Okay, so Right now I'm in DWM, which is my main daily driver thing Question whether or not I want to build this from scratch or if I want to go through and install it from the arch Repositories is a pretty easy question because I think I'm just gonna install from the arch repositories and see what happens The building of it I'm not sure how it would work because I'm not sure The instructions for BSPWM and actually installing it are Non-existent. I think there's actually an install.md file here somewhere Maybe I'm wrong If you're using arch clinics install BSPWM dash get from the AUR or the latest version or BSPWM for the stable version I have a 6hkd install already Oh, it does actually have full on from scratch Hmm, okay I don't need sxhkd Hmm Well, you want to let's build this thing from scratch. Shall we? why not let's uh Go to a different Tag here open up a terminal zoom in so we can see oh, I forgot I'm on this st There we go. Now we can zoom in clear all right So what it said to do? Was gets get our dependencies here. I don't know I'll need actually need these but we're gonna try to install them anyways all right And then I once again can't type my own password. Uh, looks like they're all here good We can clear out that so we don't need those oops wrong one You've seen it assity the horror. Okay, so we need to um Just this first one here now I'm gonna try to do this in my get things repos my get things repos our city downloads get things get clone All right cd bs pwm All right, so there's some stuff here. Well, let's see if we can We should be able to just suit it We just do make and then pseudo make install it should work, right? We're gonna find out so make Okay, that seemed to have made just fine. So pseudo make install And that did just fine as well. Okay now Let's go ahead and cd I'll tell home directory and then I'm gonna cd into slash user us usr slash share slash x sessions Now according to this make thing it actually made The bs pwm desktop, which is awesome. Oops. Let's see here. It did not Where did it put it? You put it in local slash share the x sessions So I'm gonna actually do is copy this into the right folder. So what I'm gonna do is do cp pseudo cp That I don't know why I need dash p, but I'm not gonna do s p. I don't think I need to do that So slash Let's see. I think it's gonna be till the slash downloads Get things Bsp. Bsp wm Contrib Free desktop Bsp wm desktop and then We're gonna copy that into bsp wm desktop Okay, so now if we do an ls It should be a bsp wm desktop and let me look actually look and make sure that that's the thing that I need So we're gonna vim into bsp wm desktop Yeah, that should work All right, so this is where I'm going to pause the video log out and see if we log back in and see if it works um Hopefully actually before I do that I'm gonna cd into dot config and see if there's a bsp wm thing here There's not Wonder where put the bsp wm configuration files by default Maybe it's in the home directory. Uh, nope All right, so we're gonna before we do that because I want to know where the bsp wm configuration files are So let's go back here to this Oh, here we go We want to make sure that we have So if we cd into dot config again I'm doing ls and What I'm going to do is make directory bsp wm cd bsp wm and make directory sx hkd Okay, so we do an ls. Yeah, and we do cd dot dot just to get back into the configuration folder And what we want to do here is this one here You can copy that Okay, and then we want to do oops This one Here only we're going to need to change that the location so Do you want to make that bsp wm slash sx hkd? Okay and That's done there and then it says we need to change the ownership. So We need to cd into bsp wm ls So ch own. I think that's what it said, right? Uh ch mod u plus x. So we need to make it executable. That's because it's a bash script. I knew that mod u plus x bsp wm rc Okay Why am I only doing it for the user? Well, I'm wondering if that's going to work or not, but we're going to find out. All right, so now I'm going to go through and Restart or log out of dwm and try to get back into bsp wm and see if it works now if it works There shouldn't be a wallpaper and there shouldn't be a bar But we'll see so I'm gonna pause here and I'll come back in just a second. Okay, so You'll notice that I have a wallpaper. So I've actually been messing around with this now for about 20 minutes. I had to do it off camera. Well, I didn't do it off camera I actually did it on camera. And then I mistyped something in the bsp wm rc file and that crashes Bsp wm and I lost the files. So it was a whole mess I'm having a good day So let me walk you through what I've done so far So first thing I've done is I've cd'd into this file here and then I changed The bsp them bsp wm rc file to Look for the sx hkd configuration file in the place where I've put it So I've put it in slash bsp wm slash s sx hkd slash sx hkd rc that is um So that I can have multiple sx hkd rc files on my system and point each window manager to a specific file that way It's kind of cleaner. I think it's cleaner anyways instead of having one gigantic file for all of them um On camera, I also did nitrogen dash dash restore and that basically just sets my wallpaper I wish I had been able to record all this stuff for you. But again That's just the way things work sometimes just Remember check your spelling before you hit save and hit the restart now I've also gone through and Vimmed into the ss sx hkd rc file and made some changes here So what I've done in this Is I've changed the Terminal to termite I've changed this key binding to super plus d to get d money by default. It's super space That's really weird. I've also gone through and changed Those closed command here to super q by default. It's super shift w which is really odd So I should be able to hit super q and this was close. So those are the only two the only things I've changed so far. So At this point you have a working BSP wm thing uh window manager it's working but We need a bar of some kind now whether this is going to be you could use poly bar. You could use bumblebee status probably Actually, sure how you'd use bumblebee status because that that kind of relies on the whole syntax for i3 um I'm going to try out lemon bar. So We'll see if I can get that website back up Okay, so I did manage to find it again. So I believe unfortunately this again, we might have to look at the wiki and see if they have a Way to install it here. So it has um Keep in mind that lemon bar formerly known as bar is a lightweight bar entirely based on xcb. Therefore you may have to install some libraries Uh, I think I've already got both of those So we're going to go ahead and open up terminal here zoom in so you can see cd and to our get folder Get things And we're going to get clone this Okay And we're going to cd into bar Because it used to be called bar and then we're going to do make pseudo make install Enter our password. Hopefully correctly the first time I did and it made just fine. Okay, so we can close that Now we need to actually know how to use it. So how do we put it in? So what if we went through let's see here, what's the Apparently, I didn't have a one here. So we just cd into bs.config bspwm And then them into our bsp. We do I'm in a hard time talking bspwm rc And what we want to do here is do lemon bar and I think Before I close that I'm going to go find out and make sure I was right um lemon bar options The question is really going to be So this puts at the bottom for stocking without asking the window manager Place a font. So this is going to be fairly similar to Bumblebee status in that it's all configured within the startup script Okay, so We're going to see if this works. This should just give us a regular bar And so to restart bspwm super alt r Okay, I have no bar So I wonder if I just do this lemon bar It says it started but I don't see a bar. Does anybody else see a bar? No So there has to be some other Some other information we have to pass to that Um, so let's see here. I wish I'd give you like an uh They really want you to put the options in brackets I'm going to try I don't think that that's the way it works though All right, let's let's go through this width by the height so width by height so set the window geometry if the parameter is omitted is filled by the default value The y parameter is specified along with the the dash b switch Then the position is relative to the to the bottom of the screen. So this is very weird Uh Because by default you don't actually get anything I wish they had would have Some examples. I would love to see some examples of somebody else's You using lemon bar Let's go find out if we can find somebody else's examples when in doubt. Oh, the arch wiki has installation We'll zoom in here so people can see Let's see here Installation which we've installed configuration of lemon bar is now completely done via screen rc If Like format strings and comment line options as opposed to older versions where configuration took place in At compile time see the man page for short overview of those configuration options. So Lemon bar prints no information on its own to get any text into lemon bar. You have to pipe text into it If you want the text to update through a script, you need to add the dash p option This prevents lemon bar from exiting after s t d i n is closed So this is kind of like exit route Kinda It doesn't show how to run it. Can you just? Oh, it's gonna be here Arch wiki you're failing me I don't know what screen rc means I think it just means that it's passed through the command line With options. Yeah All right, somebody somebody will have lemon buddy It aims to help users Amos to help users build beautiful highly customized little stats bar on their desktop environment Getting started So this is just completely something completely different. Okay Well, this is definitely what we should be doing right now looking at these lemon bars. Oh, those look good I have to go make those now Probably more successful than Those still look good. Yeah. All right um I think This one here will help those guys actually went through and written something and this is what I was missing So, um What I think I can do now is look at these options and see how to do like write align stuff um So this so backslash aligns the following text to the left side of the screen What should we give it? I wish we would give an example This documentation is kind of trash because first of all All these are italics. That means that's like an l not a slash Their only example is this up here And that's not even a that's not an example Um, so we're gonna have to We're gonna have to play around with it. So if we do have Echo hello world Pipe into lemon bar dash p We actually do get a bar up here at the top. So winning So if I wanted that to be on the right side I wonder It's a we'll see at home and do What did it say capital r No, it said Small r Lemon bar provides a screen rc inspired formatting syntax to allow full customization at runtime Every formatting block is optioned with percent It's curly brackets enclosed by curly brackets and accept the following commands the parser tries its best to handle malformed input use Okay, so that's kind of like uh That's all status. So that's easy enough Let's look down here. It says, um, there was like a percent So like the the letter goes in in the curly brackets That doesn't make any sense, but we're gonna try out all right, so if we do percent curly bracket r There's no way that that's true Yeah, I didn't think that that would so the r has to go outside of it has to That didn't work either Okay, so maybe r percent r percent sign Nope still don't work Uh Really weird. Okay, so go back and look at this again This is scintillating television. I'm sure Uh percent curly bracket So it's through the r part And just do percent curly bracket. Let's just see what that works. That still doesn't work Obviously doing something really stupid wrong Let me why can't you provide an example provide an example. It's all I'm asking I'm about this close to saying screw it and using poly bar Because I know poly bar works Huh Someone has to have an example other than this guy. This guy doesn't actually have a Uh, let's see here Column bar auto start Etc Okay, so this just does a What is the citrus that sh look like does he have a? No Okay, well true echo percent Bracken mark c percent So this is like calling a color While that syntax is not Not great Okay, so we're gonna have to write a script in order to do this. So let's go back to four five No bar is messing around with my I I don't know what workspace. I'm on I'm freaking out. Okay, so we're gonna go into, um We're just gonna touch stripped The spwm stripped actually we just call it bar script script dot sh ch mod plus a plus x bar script s h Okay, then bar script s h zoom in a little bit Okay, so we need we need our shebang. So we need insert mode Dollars pound sign exclamation point slash bin slash sh okay Now How was he doing this here? He's made This is way more work than I was expecting it to be This is definitely not as good as bumblebee A bar ended up using ended up being See the problem is I already have scripts that I want to use I don't want to have to rewrite them in one single script All right lemon bar is proving to be More work than I what I want to put into it. So Here's what I'm going to do we're gonna Use poly bar. That's what we're gonna do is we're gonna use poly bar uh So let's see here We'll quit this out. We don't need that we can delete this And what we'll need to do is My poly bar config You need to Uh, let's see here github com slash mtbv 47 mt wv 47 and config Uh, it's not on the front page anymore it's uh Did I delete it? Oh dot file is done done. Here we go right here So we need to copy and paste this is going to take actually forever because this is a big file CD downloads Get things get oops Get clone. Yeah, this is going to take a bit Okay, that finally did the thing it needed to do dot files lscd.config bspwm Poly bar maybe Yeah, it has it's on poly bar there let's Do an ls here. So first we'll vim into this bspwm rc And what we want to do is Now this One here on the right started out as an arco linux bspwm rc file So what I want to actually do here Is change is cut while I'm here. I might as well. Let's go ahead and get the monitors up and running So delete this And do insert bspc monitor This Playport dash one dash d oops dash one D One two three four five Okay, and make sure actually spell that wrong bsp bspc okay bspc monitor hdmi dash a dash one dash d six seven eight nine Ten oops. What the hell There's something wrong Oops not 19 good lord can't type for the damn We'll save this and do super alt r So if I do went go to Yeah, all right. That should work. All right. Good. Good. Good. All right Now I need to do Find out where the auto start things are I think should be up at the top Yes cd vim in the auto start file And I'm actually going to do this right from here. So I'm going to do um dollar sign home slash dot config Slash bspwm Make sure I can type poly bar Slash launch dot sh Okay, we'll save that now. We need to get out of this here and I'm gonna let us make sure I'm in the right place. So I need to cp dash r Slash Kill the slash dot config bspwm. Okay This is destination folder. Oh, that's I'm really dumb There we go. I actually got to tell what I want to copy, you know, instead of being a dumb person There we go. Now we can close this and do super mod So mod alt r And we have a poly bar up there, but it's not that is Very weird Uh, why would I do that? Why is it? I'm so confused because I don't I don't know if you know if you can see this. There's like a there is a poly bar up there You can actually click on stuff. It's just not showing it That's really weird Okay, let's um cd into cd.config poly bar Oops, um bspwm poly bar ls Vim config Okay Bspwm is showing up on both monitors With a hundred percent height 22 I'm wondering if it has you want to I know exactly what this is. I don't have whatever font I'm using here I don't have it installed I have no I have nerd fonts installed though pseudo Hackman dash s tt f font awesome I know this is already installed Yeah, it's already installed. So font awesome is there nerd fonts are already installed. So it can't be the font Okay, well Bag of trouble shooting Let me get rid of this poly bar appearing mostly Off string no No, that's not right poly bar Not fully Visible my poly bar is often completely invisible as seen here Yes, that's exactly what mine is doing This is from 2017. So we know it's probably been fixed. So I've used piet poly bar since then It does look like it's a font problem This is going to be the dumbest video I've ever posted I told you at the beginning I warned you at the beginning that I had no clue what I'm doing So This is just me along for the ride. This is actually would have been a really good livestream um All right, you want to want fine We'll find the default arco install So So we can close this we got we know it's working. Oops. Damn close the wrong one. It doesn't matter the cd slash um CD slash etsy No Okay cd dot dot Dash that up we're going to the we're going to root and what we're going to do is we're going to do locate poly bar Okay, so what I'm looking for is the default arco linux one That's what we're going to look for Oh, it's in scale. I always I I should know that it's in scale. All right, so CD slash Etsy scale ls Okay, cd.com fig less So here's here's poly bar right here somewhere Yeah, right. So what we're going to do is say screw this and say cp pseudo cp. I actually shouldn't need pseudo cp dash r poly bar till the slash Dot config vs pwm And then yes Yes, yes, doll Okay, so that did some things like you can see a little bit more of it now um I'm gonna try restarting bspwm No, that's uh, that's weird All right, I've had enough of this Um, hold on a second We're not doing with this. Yes. Okay. That's still that work, but it was worth a try Why I If anybody knows why this is happening Let me know because the icons are appearing. You can see them. It's just like It's like it's the wrong resolution and I'm zoomed in or zoom in or something Um, all right, so what I'm gonna do before I shut this off I'm gonna log out and log back in and see if that fixes the problem Then I'll sign up because I've had enough of this I've gotten to the point where I'm frustrated. So give me a second. You're starting worked Okay, why it worked. I don't know But it definitely worked. So Yeah I have a bar And I have a wallpaper and I have bspwm installed So I would say today was overall a successful day at times frustrating and definitely This was the longest video in the history of videos not not really, but I mean Definitely history of my videos I'll probably edit out some of the silences, but whatever So I like bspwm. I'm gonna play around with it for a little while just to give me some Changes in terms of window managers because I like hopping every once in a while And it's easy to hop window managers then hop distro because you can have them both installed at the same time It's kind of awesome I hope you I hope you enjoyed this because this was definitely frustrating for me So I hope it was less I hope that you've taken something from this video in terms of you know, what to do and what not to do And if you even got one thing from it, I truly appreciate in Everything so please follow us on twitter twitter.com slash linux cast You can also follow us on facebook at facebook.com slash the linux cast I don't actually use those accounts all that much Twitter more than facebook. I don't I have the I don't think I've been to the facebook page in ages So whatever I'll probably stop even trying to use facebook You can also support us on patreon at patreon.com slash linux cast Starting in mid-march would be doing all of our videos a day early for tier two and tier three patrons Yeah, and speaking of patrons. Let's thank our patrons. So We I'd like to thank Devon see Marcus B and mark M. We should we have a new patron welcome mark I'm not sure if I'm saying your name right maric mark I apologize I can't pronounce my own name half the time. So That's just the way things are. So thanks everybody for watching. I'll see you next time