 Hey everybody welcome back to the channel. I forgot to hit the damn start record button again in OBS but this time I remembered it after only like a minute. I didn't get through the whole video like I did yesterday. This is getting ridiculous. I'm gonna have to put a sticky note to my forehead or something. It's dumb. Anyway, so on this channel I do some tutorials and I label them as tutorials because usually when I do a tutorial I know what I'm doing. It's a pretty well established assumption that if you're going to teach somebody how to do something the teacher knows how to do it. Other times I do these learn along with me style videos where I set myself a task and I have no idea how to accomplish the task and I just do the video in hopes that you learned from my mistakes. That's what today's video is going to be. Today we're going to get started with X-Monad. Now X-Monad is a dynamic tiling window manager. I think maybe that's what you call it. It's a tiling window manager for sure. I'm just not sure if it's dynamic or not. I think it's like DWM and Spectre WM or whatever in terms of how it tiles. I've only been using it for about five minutes. I've got so far as to install it. I've got it running on bare metal in Arco. I've found the configuration files and I've changed the configuration file so that the mod key is the windows key and not the alt key. I've also changed it so that the binding to quit the windows is a little bit different. It's like mod shift C or something is the default. I just want mod Q. I also got mod shift Q to quit Q tile and mod shift. I think my shift Q is to restart. I don't know. I've changed it. That's that's all I've done. I have found that the I did try to change the default terminal. I have not succeeded in doing that yet. So that's going to be one of the things. So here are the things that I want to do today. I want to so let's actually just jump into the so you can see what's what I'm doing here. This is Xmonad. This is that's literally all you get. There's no bar. There's nothing that this wallpaper here is just the default Arco Linux wallpaper. I'm not sure why it's there because usually you just get a black screen. So I don't know how that's being pulled up or where it's being pulled up from. But I don't have even a wallpaper really set yet. I don't have a bar. But the things I want to do today I want to get a bar. I want to get it so that when it has hit mod enter I actually get a terminal which right now I do not. I do want to make sure that I'm actually recording because I'm going to be one of those people that's stupid and have to check three times. My OCD just is not you know. Anyway so I'm going to bar terminal. I also would like to do some coloring you know because right now if we do mod P which is D menu which I'm going to have to change that to and open up terminal you know the long way this border right here is red. I want to get rid of that and probably match my Dracula thing right now. And I also want to if I have time on this video transfer some of the key bindings over to an SXHKD file which means I'm going to have to figure out how Xmonad does auto start files. So we've got a little bit of road ahead of us. I don't know how much of it I will get done in this video. I'm assuming that this is probably going to be part one of me messing around with Xmonad. So just make sure you subscribe and hit the notification icon if you want to see part two if this doesn't turn out to be a complete farce which it may very well be. So Xmonad stores its configuration files in dot Xmonad in the home directory. Okay. And this is what the file looks like it has some things here. Now my Xmonad config is Xmonad dot HS. And this is just the bog standard default configuration files which I believe comes from this folder here. I actually found it on the internet because I didn't know that folder was there. I just found that out right now. So that's how like I said that's how smart I am. So it will make this bigger. I think that should be big enough. Yeah. Okay. So for those of you who don't know Xmonad is written in Haskell I know absolutely jack shite about Haskell. Now for some reason the first let's first see if we can troubleshoot why the terminal thing is not working because because termite should work. I think that's the class. So it might maybe the maybe the class is different. So let's open up X prop. So let's do control P terminal termite. Okay. X prop. All right. So let's see if we do this with a capital T. If that works change letter. Okay. And write right quick. I'm just quick and do Xmonad recompile. Okay. So it didn't succeed which is good. Okay. So if we do mod shift and queue that should do now if I do mod enter. No. My enter did nothing. Oh you want to I bet you there's conflicting key binding. I think I did see that because you notice when I press mod enter the windows switched around. I bet you I bet you. Okay. So what if I do my shift enter. No. Okay. So the. Okay. What the hell. Where'd my config file go. Oh it's because I'm in the wrong. Close that. Okay. All right. So the. Okay. And then let's go down here to the key bindings. I bet you I have a duplicate. So I have right now I have my shift return should start a terminal. My shift return does not do that. Why my shift return should terminal.com. I'm I don't know anything about Haskell. This doesn't make any sense because my term. They define up here. They define defined the terminal as my terminal. But down here where we have the launch the terminal thing they don't use that variable. They just use terminal weird. All right. But still right now I have mod enter. My enter swaps the master around. So what if we just comment that out for right now and we'll come back to you. We'll just come we'll eventually we'll find a different this mod enter for to swap the master around. It's just really weird. Why don't you use modern them key or something. Anyway so why don't we just you want to run it. We'll just do this. We will whoops. We will we'll leave this and do comma. So these are two parentheses mod m. Okay. Comma. There's some spaces here. X K underscore return parentheses comma spawn termite. I mean what's it going to hurt. We'll see if that works. Okay. We'll right quit this here and we'll recompile that that you want to it would help if I if I actually you know. Oops typos are the dickens. I actually got to spell things right. Who knew. That's actually really cool. When you make an error it shows you exactly where it is. It doesn't do that in DWM or even Q tile doesn't do that. Now I three will do that. That's if you have it set up properly. Okay. So actually see look at this. I spelled spawn with an M change letter and like a moron Q and now we can recompile and now we and now my shift Q and my enter has a now that's only for temp temporarily because eventually that can be deleted and move to S X H K D which I'm going to use. Okay. So quit out of that and back into our config file. So the next thing we have to do is go to a different workspace. So we'll just go to six here and open up mod P and Firefox. All right. And we're in Firefox. Now we need to learn how to use XMO bar or do we want to use? Let's see how to use auto start in X modad. I'll start programs in X modad. I want to start some programs in X modad. I've read that you have to write them in a dot X session file. The problem is that they will all be auto started in my other window managers too. That's dumb. There's no way that's true. If that is true, that's dumb. I'm currently configuring testing next moment and so I don't want to affect the startup programs my other window managers I have. Is there another way use that and excellent RC. You can have a look at the X session of the group. For example, you really have to use that X and R C. There's no other way to do auto start files in because excellent RC is going to be used for every window manager. If you use slim with the focus slim, then it will send us in the sense of people can read it. If you lose use some that it will send a session name as an argument to the excellent because I know you can use different X and R C files maybe. I think I saw that on a video somewhere but still that's not what I want. The other option would be to use the startup hook in your X monitor HS. I'm using the first method though. So best as someone. Okay, so startup hook. You want to search Google for startup hook X moment zooming in. Okay, let's see do do do do so do start up hook over here. Easy enough. Modifying the okay to run a desktop the desktop startup hook plus add further actions to be running each time X one and starts or restarts use the plus. I don't know what that means to combine actions as in the log with something like this. I'm gonna start up. Alright, so let's go ahead and go to one here and search for startup hook. That's the only okay let you want to let's go look at DT's. I mean when in doubt look at DT's config file so we'll do this one here tonight. I happen to have his dot files CD downloads, get things DT dots LS CD dot files. Okay, so CD dot X won't add LS. Okay, so then X won't add HS. Okay, so start up hook. That's the only startup key is he has autos. Hey, look at that. I learned how to make video make windows bigger. Cool. Okay, I don't know any of these things mean. That's a lot of stuff DT. That's a lot of stuff. Holy hell. Okay, I don't know the true selection is going to be for that menu that he did. Um, it doesn't do me any good. My startup hook do okay this is what I want to do. Um, what if I okay, that's good. Alright, so let's do this. Okay, my startup hook equals do okay. So I'm going to change that at the dollar sign. Let's see here. So do. Okay, I'm not going to add this line here. But I'm probably going to have to because mine doesn't have that by default. But let's just see. Alright, so we want to do on once. And we do want to quotation marks nitrogen dash, just restore for amper stand. Okay, spawn once pi com and the ampers stand. Okay. Do I spell that right? No, see, look at this. That's better. Do there doesn't need to be a space after the ampersand. No, okay, spawn. I don't know what's it again, once. And we want, hmm, S X H K D. I can't remember. I think I'm going to hold on off on SSHKD because I'm going to have to go look and see what the flag is in order to, to, to, it's either going to be dash C or dash dash config. I can't remember which one it is. I think that's good right there. Okay, so let's go. We may end up having to do this line here. I'm not sure yet. Okay, and then X monad recap pile that did not work. Variable not in scope spawn months. So I bet you, hmm, okay, well, you want to, we'll try and start up hook. Okay, and we will do this my startup hook. Yep, two colons. X. And this here. Okay. And see if that will allow to compile. No, still won't. Okay. Variable not in scope. What does that mean? Don't know Haskell. My limitations in Haskell are proving to be my downfall. So let's go back to see this is one. I think I was on six for the browser without a bar telling me where my damn that works the same way as other ones. All right. You got some little artifacting over here. This is the way it start up hook do. It isn't called my startup. It just calls it startup hook. Do do do. Well, let's go see if this works instead, because I'm using I'm not using DT's config volume using the default one. So it makes sense to do because this one doesn't have spawn once it just says startup hook desktop config spawn. Okay, let's go back to one and get rid of these. Okay, we can get rid of DT's because his obviously don't his thing doesn't actually work. Okay, my startup. Okay, so we will delete this line here and just call this startup hook. Okay. And I think that's what it was a startup hook equal to with a capital H. Yep. Weird syntax. I can't believe I've already been recording for 20 minutes. Crazy stuff. Okay, so if I wanted to do I'm assuming desktop config is a program and this is how you do a script. But I bet you if you spawn, I bet you spawn is done for the same way as program. Okay, so we just use spawn. Okay, go back to one. Okay, I'm going to leave the ampersand and see if that work. I'm going to take the ampersand out. I was going to say, I don't probably gonna need to put the ampersand back in. I'm exploring ad recompile. Still no. Okay, ambiguous recurrence. Can we further to start up hook? I'm so confused. So if we let's go in here and call it my startup hook then that worked. Okay, so if we quit this out here and do my shift Q. That worked. And my preview for for OBS died. So I'm hoping that my recording is still going. But that worked because I know it worked because Huzzah here's my wallpaper. Okay, and turn my end pi commas working because I have transparency. We're so good. Okay, so now I need to go check and see so CD dot DWM SS, SSHKD, then SSHKD RC. I wanted to see. Well, that's not what I needed to do. That's the wrong one. So CD them auto start. Here we go. This is what I want to need to check for SSHKD. It's dash. It's a dash C flag. Okay, so we want to do here is go to want to quit this. Actually, we're just going to spawn another one. And and make this bigger. So CD into X more and make directory SSHKD. Okay, and CD into that directory and we're going to touch SSHKD RC. Okay, and we're going to then we're going to quit this. Okay, and we're going to them SSHKD RC, and we're going to open a vertical split of let's see here. It doesn't really matter there because the top ones are going to be the same anyways. So if we do total slash dot DWM SSHKD SSHKD RC. Okay, and we and go into visual mode here. And while that transparency really makes it hard for. So we're going to do is all the way down here to the none. Yeah, we can leave those there. I think we want the volume ones. And honestly, I'm pretty sure all this stuff can actually go right here. It doesn't matter. So technically, I could just use this file, but we'll do yank. And we'll do okay, and we'll do oops. Oh, no. I was in the wrong one apparently. That isn't undo. Okay, so visual mode, capital G, yank. Okay, and we need to go into the other buffer, which this one here, I think, and paste. There we go. Okay, and then we just right quit that. And right quit that. We can just quit that. Okay. All right. And then we want to do CD up a level, and then into oops, x, oops, x moda.hs, and do my startup hook. Okay. And we want to do this one. I got a quotation marks sxhkd dash c till the slash dot x monad slash sxhkd martin like that. Okay. And slash sxhkd RC. Why does it do that time? Humbug. Okay. Now, we need to do some removing of key bindings here. So we want to get out of insert mode, we want to remove this one here. So DD, we want to remove the menu. We definitely want to keep this open so I can undo these changes just in case. When we're going to remove that one, we want to remove. I'm going to keep the kill one, because I don't I think that's good. This is going to be different one. I don't think we want to remove to do do we want to remove. None of these restaurants out there. I don't think I'd remove any of these other ones. Nope. I think we can just leave all that for now. Because I don't think that I'm going to be and do be able to do any x monad specific key bindings like this recompile thing. You know, with sxhkd, I just don't think that that's going to be possible. So we should be able to do this W when we're right because we're going to stay in this and open up a new one here and do x monad dash and recompile. And that worked. Okay, so we do mod shift and queue. And now we should we should be able to still do mod enter for yes, yes, sxhkd success. This is a successful video so far. As long as I remember to repress the record button. All right, so we can quit out of that and we want to keep we can keep that open. We want to. Okay, so the last thing we want to do before maybe maybe mess around because we're at 28 minutes so far in this video. Wow. I want to see if I can do get a bar running. So the question I have is do I use xmo bar? So if we go here to our things here and search for xmo bar. So xmo bar continues to we have a tutorial here. Well, okay, cool. Well, this looks like the cutile config file or documentation. Here's what's inside my xmo bar over RC. Okay, so blah, okay, I don't know any of those things mean you just run weather. I mean, it's a little weird. Okay, that's a lot of options. Let's break it down here. So border color this defines border colors black. Tell this person is British. There's an extra letter in the word color border is throughout the border. Background colors define the background color. That's really easy, but it doesn't say where to put this. Do, do, do, do, do, do. So you're like, I can download xmo not xmo bar from the what I'm thinking about doing is just using polybore. Why can't I just use polybore? Why do I have to make myself, you know, why must I hurt myself so badly trying to learn something new? I mean, why why push myself to learn xmo bar when I could just use what I know? I think for now, that's exactly what I'm going to do. So we'll go back here and we'll because we're going to need two terminals. So we want to go to my startup hook. I wonder what the key binding is to switch focus right now. I don't really want to use my freaking mouse every time. I suppose we could mod k is focus sync. So that's going to change mod. It's my jk, my jk. Oh, there we go. Haha. Hey, look at this. I'm learning stuff. All right. So slash my startup hook. Okay, and we want to do this spawn. Oh, man, I can't remember. I think it's I think you just have to use I you just have to do the launch.sh command. So what I want to do here is, I don't know if that's going to work. Do I still have xmonet? I think I do. So if I do cd.config polybar, and then config slash xxmonet, I do good. Okay, so what I should should be able to do is get out of this and just do ls. If we just go over here and do launch tilde slash dot config slash polybar slash launch dot sh. Okay, and do colon w. And go over here and cd here, xmonet dash dash recompile. I think actually when I think if I just do, I think I looked and saw just now that if I just do my shift q that actually recompiles automatically, that didn't work. Spawn. Okay. I bet you if okay, we can close this, go to six and go backwards right here, though, that should xmonet sh won't let you do so won't let you do a very confused. So you can't use spawn. I don't want to move this to path. I really don't want to because I have multiple I use polybar and in BSPWM as well. And I have that as its own configuration file. So I don't want I mean, I could theoretically I can move it to path, but call it something differently. I don't want to do that. So the startup here, this would be calling a this is going to be a script as well. These are all I bet you both of these are going to be in this person's path. What does this mean? I don't know what that means. Okay. All right. So we're going to stop there for now. This video is gone on for 35 minutes. We were not successful with a bar, but overall, pretty successful. We've got a lot of key bindings changed. We can close this and go back to one. We got some auto start with things working, which is more bueno. So good. I haven't got that, you know, working yet, but the poly bar, but I will. The next time I do a video on xmonet, we'll work on the bar. We'll work on the coloring inducing right doing some ricing. That'll probably be in January. When I get to that because I got a whole list of videos, I'm going to be doing, but that's still overly very successful. So if you enjoyed this long meandering video on how to do things that I didn't know how to do, give us a thumbs up or give us a thumbs down if you really hated it for some odd reason. Thumbs downs are so not nice. I mean, just be nice and give us a thumbs up. Make sure you subscribe for when the eventual part two of this video comes out and we continue to do my explorations of xmonet and also the notification icon notification bell icon thing. Well, I'll alert you to videos that I upload because I do upload new videos every single day. Some of them are tutorials. Some of them are rant. Some of them we do a weekly podcast and I'm still working on increasing production value. I hope I've, if you watched the first few videos that I did this, these are definitely better. Not that much better, but they're better. And they're even better when I remember to press the record button, which I did do this time. I checked four or five times now. Okay. So anyways, hopefully, hopefully, yep, Audacity is still recording. I would have been so mad. Anyways, thank you for watching. We'll see you next time.