 Alright, we're going to talk today about my status bar in DWM. There are a couple things that make it different from most DWM status bars. Usually what you have is you have this script that's constantly running in the background, maybe running a bunch of subscripts every couple of seconds. I think that's usually the way that people, I mean that's the way I used to do it on DWM. But nowadays there are a couple programs you can use. The one that I use is a fork of DWM blocks. You can get it on GitHub. I'll show you what mine does. So anyway just right off the bat you can see, first off we have color characters. That's not a status bar thing, that's a DWM thing. I did a video on how to do that a bit ago. But my status bar modules are actually clickable so you can right click on them. This is actually exactly, here's one thing to note. This is not like a totally new thing. If you've been on my channel you'll know that of course I had an i3 blocks build and I took all of the scripts from that and put them in this. So you know it's not like I rewrote anything. I just sort of ported them over to a program. And there are a couple other things I've added on, right? So I can right click on them. Usually when I left click it'll bring up a corresponding program. So here's my volume control. Here's the weather report. You got precipitation chance, daily high, or daily low and daily high. Click on that it gives you a little weather report from what is it, WTTR.in. And I even added these a couple, or I guess yesterday I was a little bored. But usually what I do when I'm bored is I write like a status bar module. If I'm not doing something one day you can look at my get history and see all the days that I work on my status bar. That basically means a day I don't have anything to do. So for example here's like the price of Bitcoin. You can click on it and it will show you this sort of, this is like the past seven days of Bitcoin, stuff like that. So all of it's clickable now. This of course is something you have to patch into DWM and DWM blocks, but I'll talk about that in a second. And I also have, let's see I guess I have music as well. I don't know let's just click on something. So this should pop up. Notice that like my status bar is actually really big right now because you know I wanted to make it a little big for, or like the text is big. I wanted to make it visible for the video. But anyway so there are probably three things I guess that are notable about my DWM blocks build. The first thing is that you know each of the modules is an individual script. And as I said that's actually taken you know from the scripts that I made for my i3 blocks. So if you want to get these they're on my github you can check them out. But you got different things for you know news boat, upgrades, this thing here that 11 package thing that means there are 11 packages I can upgrade, stuff like that. This is the price module. I have two actually for cryptocurrencies. There's one I was using earlier where you just manually state all the cryptocurrencies you want and it updates them and stuff like that. But now I do this one where you can individually click on each of the ones. You have to put them all individually in your config. But one other thing I have is if I shift click on any of these it'll actually bring up the actual status bar script. So it's nice if you want to tinker with something or some of them have variables you can change. So let's say this let's say I click on the weather script. Here's my current location or approximate location. Let's say I want to change that let's say I'm in Atlanta or something like that. You know I can just say Atlanta have it rerun or something like that. Now it's going to check for that. So I don't know I sort of like it being easy to modify so I shift click on all these to change them and if I shift right click on them it actually brings up the config file for DWM blocks. This is all it looks like and notice basically what you do is you have the name of the program you're running or the script that you're running. How quickly it updates and then the update signal you send it. Now this is the important thing. This is the other thing unique about DWM blocks. This is the reason I use DWM blocks as opposed to another program because usually I think when you first start using DWM and I did the same thing here usually what you do is you have this little loop script that every couple seconds runs an exit root command and that's that can be sort of a pain because it will you know it might run the subscripts every you know let's say if you updated every two seconds it might be running those scripts every two seconds. The nice thing about DWM blocks is that instead you can have scripts let's say for example like my volume script it updates you give it zero for how frequently you want it to update that means it never updates so instead I mean obviously if I increase my volume here if I press my keybinds to change it it still is changing so what's going on here's what you do instead of the blocks command constantly updating volume like checking to see if it updates every second I just have a pkill command or a kill command signal to DWM blocks it signals you know the signal 10 it says okay I've just changed the volume so update the volume module so these modules you know volume music they only update when you know it's a relevant update it's not like it's checking every second to see manually if it's been updated so there are some you know there are some the ones with zero here for their update intervals though like volume the help icon doesn't even need updating other stuff like that those only change when I signal to them and everything else like let's say the clock the clock updates automatically every 60 seconds okay because I want it to be you know I don't need it running every five seconds I mean I really just care about minutes so okay that's that and so for each of these modules you assign it a different signal okay so you know 18 14 here's 20 21 22 and all of these for my build now that the other interesting so I said you got individual scripts that's one individual unique thing second thing that I like about DWM blocks why I use it the other unique thing is the ability to not have to you know you can signal to update these different programs the other thing is the clickable stuff as I mentioned before and one thing that the clickable modules actually need is they all need different update signals otherwise DWM blocks gets confused now I should say I actually got emailed by this guy Daniel who you know Rick you know it's like you should check this out it might work for your purposes and he was very receptive to my sort of you know figuring it out and stuff like that adding it in so that patches now on the suckless website if you want to check that out anyway so to actually signal a change to it I actually have it written here on GitHub and I have the Git lab for a pulled up and my personal get whatever I don't know I put everything up on three sites just because why not just in case I don't know GitHub gets destroyed so I don't trust them but anyway this is how it looks so let's say you know you have the volume module and you have it set to signal number 10 well you can just say this is the command you run you signal 10 to DWM blocks you could also kill 44 you just take the number and add 34 to it and this command is actually a little faster but I I don't exactly there's some wonky things that I don't really know about the command every once in a while it does something I don't expect so anyway that that's the nice thing about DWM blocks so it has so for those of you who are using i3 blocks it's nice because I mean I basically just ported over all my scripts I just put them in this config file and that was it like that's all you have to do and the nice thing is you can add in extra stuff oh I probably should say DWM specifically you do have to when you add in this little clickable module thing you do have to make some changes in your like there's a patch for DWM too specifically you also want to go down into the buttons area and basically what what's going on here is is this no these right here it basically says okay when I click the status bar with button one so left click here's what you do you signal the DWM blocks you know one or something like that or specifically it gives let's open up the scripts so you actually know how these are working so let's say I open up you know the cryptocurrency price module okay so whenever you click on it let's say you signal you know let's say button one I have it signal one okay that is going to basically set the value of block button equal to one okay so it's gonna run this command it's gonna run where I you know we'll see what happens if I click on it it brings up the chart showing bit current you know bit currency prices Bitcoin prices so basically you can say like any kind of mouse operation any kind of interaction here I have for different buttons including scrolling or I don't know yeah I guess I have scrolling it'll send a command or some kind of you know block button variable to the script and it will run and notice I do have a shift clicked right here so that's what those are for anyway so that that's generally how it works I encourage you to check it out because I feel like before I was I've been using DWM blocks for I don't know maybe six eight months or something like that and I've really enjoyed it before that I was never really happy with like DWM status bar systems or like wrapper scripts and stuff like this but this is really nice just because it doesn't have to update all the time you can signal to it it just looks good you can click on it that's that's something really unique so anyway check them out check out my build the patches or the patches on sucklist.org see you guys next time