 Okay All right, I think I am live. Yes, I'm not on camera So I apologize for that It's just easier this way That's YouTube telling me that I'm live. I already knew that if I could get some yeas or nays on the audio I'd be appreciative I do have a fan on the background unfortunately that cannot go off. It's like 9,000 degrees in this room I do have noise suppression turned on an OBS. So hopefully it's not too bad Probably asking if you guys can hear me right now. I see greeny saying what happened It's a little bit low Linux tech geek says it's good. I can't I can add some gain if it's a little low. Let me add a little bit of gain Not a lot of gain, but a little bit of gain maybe Three or four decibels All right, does that sound a little bit better? I turned it up just a little bit Anyways, welcome to the stream if the audio going good or bad. Just let me know in the chat and I will play around with it It has been a fair minute since I've streamed on my own there wasn't a podcast today I had to go to the doctors so we had to cancel the podcast So I decided that I would stream for a little while I haven't done that a bit It really has been quite a while because I used to stream like every Sunday night and then Just nobody was watching them or like, you know, 20 people watching At any given time, which is fine because that's where we're at now, but Now it's too loud Everyone else is saying it's better, so I'm gonna go ahead and leave it for now If it really is too loud, just let me know I will back myself away for the mic a little bit because the plosives the plosives will probably You know Kill everybody's ears. So I'll try to avoid speaking directly into the microphone All right, so the plan tonight is going to be so when I was on I3 daily I had a racing script and I know that's not you're supposed to call it anymore You're that's apparently, you know, not okay to say but anyway a theming script if you will theme changer script and Basically, what I could do is I could hit super R and it would allow me to cycle through all of the themes that I had ever created and Now What I'm going to do is do that for Qtel now for those of you who know bash I'm not one of those people that knows bash So the way that I'm gonna be doing this is probably and absolutely definitely not it definitely is not the best way to do it so Yeah, it shows up every time I open up a terminal just when I'm on my main machine I've been using VM so often so you guys don't see the neo fetches often when I do videos. So Tonight I'm on my main machine so Josh can be happy that I'm still using Redcore. It is still very very stable It's astonishingly stable. Honestly. I was really expecting a challenge to be truthful But it just works now see tomorrow. I have a brand new graphics card coming in so we'll see how stable it is then I'll be putting a new GPU in and we'll see How how it does anyway, so like I said there The way I'm gonna be doing this is going to be not the best way to do to do this Not even close, but it's the way that I prefer to do it just because it's the way that I know how to do it so Those things are just the way it is. So the first thing we're going to go and clear this and we do LS so this is my cutile directory inside of my get repo and The GPU that what did I get I went with the 6750 XT Probably paid more than what I should have because I went with it new instead of trying to find a used one Which is what I usually do But I've heard so many horror stories of people getting Used mining cards that I just I don't want them. I just would rather have it new pay a little bit extra How you doing Ben? So, yeah, I I went new with a 6750 XT I've heard good things about the 6,800 XT, but I decided to just to save $50. I don't really need a top of the line GPU Like absolutely like maxed out Whatever it is this is as long as it doesn't you know Die immediately it should last me the next 10 years because I've had the 580 the RX 580 for a very long time so We'll go with the new one Yeah, yeah, the AMD are what is it the RX 6850 6750 XT is what it is. That's an AMD card anyways So what we're gonna do is we're gonna make a we have a we have a themes folder here It is not actually used for anything none of these things are actually things that are used in my configuration so they can all actually Go Because they're not used at all there They're from whoever I stole this configuration from was going to do use something with them But they never did so the thing that we're actually gonna do so we have colors Here's one of them colors and These are all the themes that I have right now and the way it works if I open up another one Oh Oops So the way that it works is it has this one line that imports all the variables from this other colors dot pi and But all the bars are exactly the same and that's fine And I don't really mind just coming in here and change like you know changes to ever for us Like so and then restarting cutile, you know, you know now this has an ever force thing even though it kind of looks Wonky because the numbers are weird And that's one of the reasons why I'm doing this is because I want to be able to change the numbers because the numbers of the color Here that are in the bar later on, you know down here Don't always match up depending on what theme that I'm using so the You know the colors in the task list or whatever sometimes those don't really Match up with the color that I'm importing so I have to change the numbers So what I've planned on doing is actually doing what I did with I3 and having a whole bunch of separate configuration files That I will then transfer or copy over via script. It's not the best way to do it, but it's better So that's the plan so the main thing that We're going to do here is change this to Hmm actually because that's not importing a file that's importing a variable from The colors file Wonder how I'm gonna do that because that's different than how I was planning and doing I wasn't At the end of the script that I was When I was done with a script well, my plan was was to have separate files for every script that it would then import instead of from a file That way I could do different bars because if it was just that one line I could just use a said command and Just change that one line or even that one word, you know, I mean Maybe that's what I'll end up doing Hmm because you can't I could pull out I could pull out all of the Bar down here and put it in a separate file and then just import that I Don't know if my Python is good enough to do it though. We'll see how to alright So, let's see here the colors are imported like so. So if we do import bar like so or just actually I Don't think you can use bar because bar is actually Bar may be a Library in and out itself. So I'm meaning to call it something else. We're gonna put for now We're gonna call it bar and then if we Let's go over to the ear and close this We'll make a it will touch a bar pie like so and Then what we should be able to do is Take out Actually, we'll close this now and do a vertical split bar pie. There we go like so we'll go down here and I'm not sure if this is going to work or not. It's probably going to kill Q tile Because there's probably another way to do this and it's just not going to work But what I want to do is we will take everything here from here all the way down all the way down to Here I Think we'll just delete this go here and paste it now, oh, you know, I know if we do a another If we go to another workspace, yeah, let's go to three open up CD.confit oops Yeah, I got conflict is fine Q tile and then the colors up high again What are the thing? Okay, so they don't have to they don't When he did this he did not import anything So Maybe you don't have to No, this is this is Envy Chad is the the new Vim that I'm using right now I don't know if I like it or not. I still haven't figured it. I've been using it for three or four days. It's fine It's pretty definitely has a whole bunch of shit that I don't need obviously because I'm not a programmer But it's been fun to use. I just want to try to see if I can make a video out of it We'll see you need to move the layout underscore theme section as well This part why would that need to be moved to it? Shouldn't matter where I mean, I know I'm not Python literate at all But seeing as how it's there shouldn't matter because it's just all I'm doing is importing. I don't know. I Wish this is where I3 is far superior because it's just you know, you want to import a file You just use include it just works See to see when you want to import something into C. It's very easy Here you got to worry about libraries and things being in the proper place and stuff. It's not quite as easy Anyways, let's see here. I'm gonna actually try this without it first cuz I just What's the worst could happen? Okay? Okay, we're gonna see if this works. So a super shift R. This is not going to work by the way configuration in that line 186 Also a thing about Qtile that always bugs me is that It has two different ways of failing so If it can still run on the old configuration file It gives you that error with a notification But if it can't still run it completely fail balls back to the default configuration file. All right, so it said 186 Which is here. Oh I wonder if that needs to go over to that's a 186 still want there's now. There's not anything on 186. I wonder if that other stuff has to go over to Like the whole kit and caboodle I Bet you I bet you're right that the like this Oops all of this stuff Oops, let's give her some of these extra spaces. All right. Let's see here still on an unexpected indent Unexpected endo line 186. I don't think there's anything on 186. We'll just delete the whole line then Configuration widget is not defined. Oh, cuz then you know, see that's where you have to import some of the things up here So in order to do this you have to we have to have This one here Oops, because this one here has to be oops. Good Lord Matt. You learn how to use them. I Don't know if I can do it this way or not. We're gonna find out colors is not defined. Oh Cuz you're gonna have to do it's all gonna have to be so we're gonna have to import Callers So as well Module object is not subscriptable there. There's where I lost it. I think This was not where I this wasn't the Hurdle that I was expecting because I thought that I just people coming here and create some files and import the files, but I Forgot that the colors aren't that way in this configuration file. So Let's see here So the error right now is Configuration error module object is not subscript module object is not subscript That's gonna have something to do with the Import and export so why don't we just do this Delete these probably not the best way Because I don't think that this is actually going to work, but we're just gonna Yank the whole thing here and just put them all right in there I don't think it hurts anything to have them Pulled in two different places, but it's also possible that it does like in X in Haskell You definitely cannot import the library into your places Yes, get the same error All right, let's uh, let me see if I can find a browser find the Object module module object is not subscriptable. Let's see what the problem is. Let's see here my stuff. Let's see here Import my stuff is is importing the module my stuff not the variable my stuff to access the variable You need to use import and then print So it has something to do with variables I'm showing my inability to do python here on on camera live. So you guys should be happy with that I'm in my defense. I'm still at the beginning of my learning I was watching this tutorial. I copied over the stuff he wrote But none of the changes the variables and other stuff then I got the error Below here's the code I don't want to go through the code Object module, let's see what is this data is not defined your JSON data is looked See, this is the problem with coding is everybody's problem is it is different despite the error being the same Let's see if there's a Type is a special keyword in python that denotes the value whose type is a data type Thank you pop-ups you piece of shit um If if you try to access a value from an object whose data type is type You'll encounter the type error type object is not subscriptual error the god this guy discusses What error means and how why you may see it walks you through an example of this error So you can learn how to fix the error whenever it comes up Python supports a range of data types these Data types are used to store values with different attributes the energy data type for instance to store stores whole numbers The string data type represents an individual or set of characters each data type has a type object This object lets you convert values to a particular data type or Create a new value with a particular data type these Type objects include int string. I learned about those. I remember those If you check the type of these variables, you'll see that They type Our type objects the result of this code is type Okay, we cannot access values from a type object because they do not Store any values. They are a reference to a particular type of data I apologize guys for ignoring the chat when I'm trying to do this. So if you guys Say something to me. I apologize for missing it You print the brand product name Problems are not actually printing. This just shows it printing out the stuff Next check to see if the user member stores loyalty call it do not if user is not a member of the loyalty card I don't know You know what? I know exactly what I can do screw this this is Way better. So just uh Get out of that and go on we're gonna Right and put right that make sure we don't have any errors Then what we're going to do is we're going to see cp Uh config dot pi into themes And then this was moon fly dot pi And then we're going to cd into themes and now Unless here so we have We move this to four We have a whole bunch of so we're going to cp. Oops wrong one cp moon fly into Dracula dot pi And we're going to them into dracula and we'll change this Oops is bypassed. I forgot to move to the top. We're going to do this dracula We'll put a comment at the top This is the dracula config Okay, and we're going to cp dracula And we're going to cp that into ever forest No sense in having to learn anything. We'll just do it the hard way See of them into ever forest like so this is the ever forest Config and we'll change this to ever forest I'm gonna cp ever forest into doom one Which I've never used. I don't think I like so Hello, Alex. Welcome to the stream. Hi guys Uh, hello, it's fish. Welcome. The next tube is here. I missed you. I think you've been here for a bit I missed you when you came in welcome I'm a streaming And doing things in ways that you're definitely not supposed to do them, but we're gonna do it anyways Okay cp doom one into Nord dot pi Like so this is the nord config so oops I think I messed that up. Nope No, I did right. Okay. Good. Uh, and then let's see here do The next one is grow box So cp nord into grove box dot pi There are definitely easier ways to do this and better ways of doing this if you if I learned Some more python, but I'm not there yet. Maybe eventually when I know what the error means I'll be able to do things the way that I wanted to do them. But as of right now, this is going to be a better workaround Okay, cp grow box into cat poo scene which nobody's actually knows how to say by the way Okay, and then we're gonna them into cat cuisine like so C a t p p u c c i n. I actually did learn to spell that but I always, you know, not remember Oops cat Okay Cp cat cuisine into All right, I didn't moon fly. So we got retro, which I'm never going to use again and whitey, which I'm never going to use again um I will create them, but they'll just be dot pi like so cp Retro into whitey Dot pi and whitey dot pi And like so, okay, so that's all the themes that I have Right now Now We can go over here and just quit out of this and now we're going to go back to my scripts folder and we're going to touch q q theme dot S h this is going to be a bash script We're going to ch mod plus x qt q theme s h we're going to them into q thing dot s h and we're going to do a shebang So insert mode pound sign exclamation point Slash bin slash bash Okay now We're going to what we're going to need to do next is Import some variables. So we're going to import Some variables What exactly is it you're doing there? I don't I don't understand Why you're doing this to me? Okay, so we're going to uh, these are all the paths that we're going to need. So the q tile config Let's see. We're just q comp equals dollar sign home slash My repo Slash q tile config dot pi Okay, and then we'll need the theme folder equals Dollar sign home my repo Q tile Themes okay Now What you need to do now is go into my cdi 3 racer thing them into racer.sh and we're going to Thoroughly copy and paste Some of this stuff. So we're going to yank this line here Actually, I don't know. I don't think that this is going to transfer over because we're not in the same buffer No, it did cool Must be this configuration this and new of them is set up to that. It's cool. So we need to close that and then We're going to need to let's see. This is uh, we need to Yank this line here. This is another one that we're going to need like so now Declare options Dash p themes, I don't know if that's going to work yet. We'll see Man, I'm needing to change some of the the stuff But so far That should work just fine and then None of this stuff here is going to be able to transfer over except for this part here so And uh, I think the rest of this stuff is all i3 specific um Actually We can do this one that'll work um Although we'll have to have wallpapers in order for that to work. Um Maybe you want dunced and I was thinking dunced and the rophy stuff could actually be copied over um and the So this stuff here will need yank this off and go over here and go back up here to actually goes Here okay, and then So the line we're actually going to need so we're in a cp And then the theme folder so theme and then choice This stores Make sure i'm doing this right Because the selection of from rophy should be stored in the variable choice, which it is so And then this should be choice dot Pi Okay I think that should work and then it should go into the Configuration file so it's going to dollar sign Q conf I think is the one the way that I named it Which it is cool now we also need To define a couple more so we need to define uh dunced actually we can just copy those over so we'll go back up here We'll copy these lines here Because we don't need the poly bar stuff So that's there so so like uh let's see here All right. Why are you doing? Yeah Just just a guy linux q-tiles fantastic. It's good. It's become my new favorite I went to i3 back to i3 which used to be my favorite a few days ago and It's not that I just like i3 now. It's just that I like q-tile better right at this moment About a hard time moving to other things All right. Anyways, let's see here. I like I said, I know that this is not the best way to do things I don't particularly care It's the way that it works for me and that's really all that matters. Okay, so removing some of these extra spaces that we don't need all right, so Theoretically now we just need to enter the choices So we gotta this and go to repo again and cd into q-tile a cd into themes, I guess less so now we need to just do this thing so Uh, were those in quite the quotation? I think those have to be in quotation marks. Damn it matt Yeah, they're in quotation marks. That's what I thought Okay, so uh cat pucine and then doom one and then Dracula oops, and I didn't put in Dracula and ever forest and grove bucks and moonfly And uh, let's see nord and retro and whitey Okay, and quit. Okay, so those are the things now if we quit this Theoretically we should be there honestly Uh, it's not going to change everything So we're going to run this from the terminal see what the errors are because they'll tell us how far we have to go So we're going to jump slash What are any I forgot I forgot what I named a q thing. Okay, like so All right, so theoretically let's change the one we know is going to be completely different. So grove box So change it did the else it did the terminal it did the wallpaper, which is just fine Uh, and then if I restart q-tile I did not Change The configuration file, okay Cannot stat group dot pie not know such file a directory grove box dot pie Give me a line there friend Um, so it's one of the cp lines. So we're going to q theme estate. Just one of these lines here a theme that choice Oh, it's because we didn't use the right variable name themes man not theme Like this. Okay now try it We'll do do one Okay. Oh wow way more That's because I don't have those. Okay, that's fine um, let's see if uh I think that changed it didn't it let's uh repo cd q-tile Then config dot pie And it did it went to the the proper Configuration file that's good. So we should be able to go back over here and do dot slash q theme again Go to grove box And then restart Uh colors have no it has no tribute grove box Oh, it's because I spelled it wrong. Uh, that's awesome. Um So this line here so we gotta gotta gotta here. So we're gonna go to CD themes This is what she you desperately have to spell things right matt. This is ridiculous Hey men talk. How you doing? Uh, let's see grove box is the one that I spelled things wrong in grove box Okay, that's better now if we do a We go back over here and run it again and choose ever forest just let's say and we'll do Restart and there's the ever forest one now run it again And change it to grove box make sure that's right and do a restart and we have the grove box thing. Okay now Yeah spelling it's really hard Okay, it's really hard when you have dyslexia, which I do That's right. Things are always mixed up in the wrong order You wouldn't think because it's supposed to be just reading right, but it affects your writing too Always has for me. Okay, so now How can you the let's see here them into um So here's the question that I have And it's it's gotta this has got to happen If this is going to work because I don't want to have to do a manual restart every time I changed the Theme with the script what I want to do is be able to have the script reload q-tile now in x-mone add As much as I hate to say it's really easy to restart x-mone add from the terminal same thing with i3 you can use i3 message to restart i3 you can do it with bspwm the question is can you do it with q-tile? Yeah, and them has spell check in it, but you actually have to pay attention when the line shows up. I have the I I don't think Yeah, the spell check does not work in python for whatever reason so Anyways, so the question I have is can you restart q-tile from the terminal? So let's go find out Okay, so as mentioned in the q-tile documentation the config can be reloaded by sending a sig user one signal to the q To q-tile so I use the following command to do the same and it works like a charm. Well We're going to find out All right did that work. So we're going to find out we're going to go back to three here I'm going to actually go back to the right ones. We're going to vim into vim into q-themed sh and then all the way down here at the bottom Uh, it doesn't really matter. It can go here. We'll put it there. So save this dot slash q theme And then uh, let's see we'll go to ever forest And we'll do it again and go to cat pristine That's great And then back to grab box When That's awesome. Okay. That's really cool. Now That we got the the script is basically done There's still a few so if we vim into q-themed sh there's still a few themes here that I don't have dunce themes for So I don't have dunce for for whitey or retro So those would need and I end doom one, which I'm actually going I think I'm going to change the name of this we're going to change just to one dark because Doom one is basically one dark. So we're going to uh Move doom one into one dark dot pie Basically the same I know there's subtle subtle differences, but I don't care. Um, and then if we go back here, we can actually save this inch Do dot slash again choose one dark and that works just fine. Good That's really cool guys. I have to admit also I don't know what the xkb common error is it has something to do with the the locale sitting on On our red core. I haven't looked into it. It doesn't seem to matter It where everything works just fine. So I just ignore it Because what could possibly go wrong? Okay, um, let's see. So we've got the script. So let's do some some theming Shall we so, um, I want to change some of these themes. So we got some themes here I like the grubbox to stay exactly the way it is, but let's change ever forest to something different So what's cool about this method is that it has it's literally copying over the whole configuration file So I could theoretically do whatever I want and then when I go to this theme everything can be different Keybindings, whatever. Obviously, I don't want the key bindings to be different, but I do want the bar to be different so Let's uh Let's make this smaller And uh, let's uh, let's let's do some theming. Shelly. So we're gonna go back up here And we're gonna change some of the stuff. So first Actually, we'll go back down here and change the bar. So we're going to change the bar from size 36 to 24 we're going to make it smaller Okay, and we're going to change the margin to zero I think that I think what that'll do is move it to the top of the screen now That slash So ever forest Yeah, that brings that takes it right up to the top of the screen. So that's the beginning Yeah, there's something that red coordinates set up quite right on the locale. I don't know why Uh, I've had some problems with the time too Like for whatever reason the ntp server doesn't run on on red core by default, which is really weird. So Um, yeah, so let's see. What else what do we want to change to make this different? So I think with this particular one we want to Uh use just the regular numbers so the biggest problem I'm going to have here with qtow is that the num the workspace names will not Change During your session. So if I if I if I have different themes that use different group names or the group labels So if I change between the the icons and the numbers I'd have to log out in order for that. Those are take up to take effect Like every every single time I've changed the group labels I've always had to log out and log back in in order from take effect. So that's not going to work with the script It's just not going to work So that has to kind of stay the same which is disappointing um So like I said, I'm not sure how I could change that. I wonder if there Is there a way to live forever? That's a great history thing. Um What was I searching for I just completely went blank. So what I need to know is there a way to live reload the group labels In qtow I can reproduce them tracked it back to picking of state between restarts Looks like here. We are re-adding groups stored in qtow state that aren't found in the new qtow instance So it looks like it's something that they do on purpose I don't know how it has to do anything with attaching a new screen The group labels don't change on different screens. You can only define group labels per The entire configuration. It doesn't change if you have multiple bars. That doesn't make any sense at all It's like somebody tried to fix it with a couple of uh push requests That's bot. That's helpful. Um, this was 2021. So I am guessing that it's not going to be fixed Push to commit that reference this issue in may Maybe someday we'll get fixed. All right. Well, we're gonna do that for now. Let's uh go back to here So, yeah, we won't be able to change the group labels. The group labels are going to have to stay the same per Different thing. That's that's unfortunate. Let's uh Remove the task list. We don't need the task list in this particular one. So we're going to Go here And we're just going to make some things that are different so Change that and uh, let's see like so And then we'll run the same thing again With ever forest like so, which is good. Which actually didn't remove it. Why did oh, because you got I got a No, I should I should have removed it. We start then No Why didn't it remove remove the task list Let's let's go do a different oops Let's do dot slash This again go to grab box, which is this and then uh This again ever forest You should remove the task list. We remove the task list. What do we say? Did we save this? Maybe we didn't save it Yeah, there we go. Oh, there's gonna be need to be a separator there. Who that looked that turned out really weird D-Nit Yeah, okay, so I want I've never actually had to deal with that problem before So we should be able to change this one here to The proper thing that we need Let's go to built-in widgets And down to the separator this one Spacer I wonder if that's just an empty space on the bar often used to length equal bar That stretch to push the bar widgets to the right or left bottom side. So that's cool. Let's do that then um Let's see go back to here and do oops Widget dot spacer And then it's going to be Let's see if we remember so open close And then end with a That like so what are the options? so There aren't actually any options. Oh wait a Example is the default. So Should be able to just leave it Completely blank. There shouldn't be any things there unless The default is none. So if we we just wanted to have the regular Background oh, we might have to change the color. We'll see All right, oops Let's see here about slash The theme we'll go to cap chain Cap puzine the rubber belt how the hobby mental pronounce it and go to ever forest um I didn't do anything. That's really weird. It didn't even use the same oops All it says is configuration error Because widget does spacers and obviously not right. Oh because you want to I bet you it's because it's the capital letter Yeah We'll try again. Okay. Do it again and then go to ever forest this time. Yeah, there we go. See cool All right, and we can delete this one here Yeah, I didn't need to do the bar that stretch part worked out just fine. I just spelled it wrong Okay, let's see here so I mean, yeah, it's not that different but we could add we could make it we could change it so that it's to the bottom Go down here and change this word here to bottom And change this one here to bottom And it's at the bottom So it's not like completely different but as I go through and create more themes And create some different things like said the biggest issue that I'm going to have is not going to be able to change those group labels because that those are the things that I'm going to want to be able to change between themes and Unfortunately, you can't do that with a lazy restart Which is disappointing I really hope they fix that because you should From that whole request that I saw or that that um Bug report or whatever It looked like they were a little working on it, but also for whatever reason the discussion had Kind of meandered into having this having something to do with why they didn't fix it was because Attaching a new screen which makes no sense to me whatsoever because the group labels are consistent no matter how many screens you have Like it doesn't make sense to me at all Why they wouldn't be able to just have that You know change, but then you know, I'm not a python guy yet. So who the hell knows maybe there's something technological there Um, so I don't know that's going to be the biggest drawback of this because I can't change those Not well, I mean I can change them that I'd have to log out and log back in and forward to take effect Which is not what I want to do. That's the purpose of having a A script that changes things on the fly because you can just automatically do it So yeah, that's going to be the biggest thing because I'm some of those I'm going to want to change and As of right now, there's no easy way to do it without the log out and log back in Good news is you will be able to change. I will be able to change the like the background of the Widgets and stuff like that. So that'll be easy And I can go through finally and making make sure that all the task lists the task list Widgets are all proper. So if I go into like a grab box The task list mod or the task list widget Has to have the proper Numbers for the background So this one here the foreground background of these have to be correct or in order for it to look right So yeah Overall very successful stream. I think I feel it actually works So the next thing I'm going to do here the last thing I'm going to do before I hop off from here Is actually put this on a key binding. So we're going to cd up a couple levels Actually at this level here, we're going to vim into sxh kd Oops wrong one The last cd into sxh kd there we go vim into sx kd rc The fuck I have a swap file for that All right, we're gonna delete that. I don't know what that is for Always when in doubt delete things that you don't know what it is It's definitely never going to come back and beat you in the ass Okay, so I think I can use super Plus r I don't think I have anything for that. So that should work. So super Plus r And then Don't go over a couple of things and we're going to we're going to name this q theme that sh Now We need to do Pseudo ln-s Slash q theme and do slash user local bin Oops, and it spells pseudo correctly. Okay. Now. I should be able to do super r. That did not work Let's see Let's do This and see if we can do super r now. Nope So super scape super r So I'm wondering then if I have super r and can hear somewhere Usually when the key binding does not work It means you have a duplicate somewhere. So We're going to find out mod Actually, this is gonna be easier to do r Not shift r, which I already have We in fact do have layout reset set to mod r. So that won't be that work Okay It changes to something different then Uh, let's say actually we'll just do alt r Plus r that'll work Alt r. There we go Uh cappuccino Alt r again One dark Alt r again Dracula Alt r again ever forest Alt r again Roblox Alt r again moonfly Alt r again Nord Alt r again Retro That one doesn't have a wallpaper or dunced or anything yet. So I'll do I'll have to do that And then whitey is the white version which is trash um I really don't like that thing all that much at all, but that's okay. We're gonna go to grab box That's gonna be the one i'm gonna stick on for now now the thing I would love to be able to do Is change the neovim configuration from outside of neovim that'd be awesome. Does anybody know how to do that? Anybody knows how to do that I will I'd say I kiss you, but you wouldn't want that but I'd be very happy with you So anybody know if there's a way to do that so change I don't think I've ever even searched for change neovim Theme from outside of neovim definitely not getting The appropriate response there changing thing according to time run commands outside of them because the way nvchad works is the it's a space and then I think it's Uh, a c maybe No space h Nope, that's the terminal Do that though, okay Exit space What I don't like about nvchad is not all of these options are listed is what they are so g maybe no space F maybe nope space R nope T Ah, there we go H there we go. So this is how it changes themes. So What I want to do is change it when I change it via script and not have to change it manually would be cool Now, I know theoretically you can have it Inherit colors from the terminal Maybe I'll just end up doing that instead of using the the nvchad themes that are built in Yeah, so I've looked at where before And thought about it It'd be really cool if you could because it's I'm not actually sure how nvchad changes the themes because it's not doing it via plugins like you'd expect So wait a minute Wonder where the nvchad stuff is. Let's uh get out of this. We don't need that again Uh, we're done with that. Let's cd into cd.com. Let's let's do some investigation And then okay Where cd into Like the lua one here And cd into core So that's where all the regular stuff is the custom one is all my stuff And in it that lua Wait a minute. I know exact hold on a second. Okay, so the Problem is I don't think that they're going to be the same name like If I change this thing here to cat pussine, let's just say this cat pussine And then save that it actually worked. So if I could change that line in this file, it would work with sed so Wait th So we have a list of all these themes here Chad drag like there's a whole bunch of different themes. I don't I like I don't have moonfly Right moonfly is not one of those things that's here But that's fine So it's not it's not going to be a hundred percent perfect, but the problem here is that if I change in my script if I change just one line to a theme that nv chat doesn't have I'll get errors at nv chat, which I'll then I have to go through and change. So I'd have to use Like an if statement or something or I'd have to figure out where These themes are And create the actual themes that I need to make sure they're all named the thing that I need to change So get out of this And do an ls again. So we know it's not here cd plugins ls the configs lazy ls to mason end them tree others Maybe there's something in here like a path that I can find for the themes Nothing for theme So nothing in there. Where are the themes? I wonder So this is the nv chat Website, let's go to their their their things here Actually, it looks like their documentation is actually on their website. So let's see your theme features Custom configuration file No, none of those things are Is right customizing colors. Here we go. Make sure you have a valid highlight group check the theme colors in base 46 theme directory Okay, but where's this stored on my system because that that directory does not exist To know which highlight groups are available. Also, if you press the tab key in hl ride When modifying the custom highlight groups, blah, blah, blah, customize themes Local themes wanting do this at your own risk because you might not be able to make nice nv champ themes like seduc. Okay, I don't know what that means Default themes can be find found in our base 46 repository here Base 46, but there was no As far as I know, there's no Not in that file directory CD into core Not there It's not there because those are the files that I created Hmm, it's not gonna be in the either the github things and spell is for spelling. So I think Yeah, that's what I thought So I bet she's going to be into your cds dot local share and them cd nv channel s cd base 46 There we go right there. Um, I suppose it'll anyways I don't see anything that has anything to do with themes though Yeah, I know it's in there. I know it's on the github page But that doesn't that's not helpful because I need to know where that's stored In the on the system because it's obviously storing them somewhere It says it was stored in their base 46 directory, but I mean I have that found it. There's no There's no themes there Updater lsp get defaults dev icons blink lines cmp Uh There's another base 46 one right there Uh, none of those things are that's There we go Ha ha ha look found it I will not be denied Okay, so that means I could create a moonfly one Which is if I wanted to and anyone's that I need to I could create so That means in my script I need to have a line So first What was that? cd.config nvim slash custom Um No, it was Slash lua custom like so and then it was uh in nit dot lua, right? It's uh, no, that's not the right one Uh vim chat rc dot lua. There we go. That's the one that we need to to do so um I think Now I should be able to Paste that yep good. So this is uh and the Chad equals Like so and then the the file name was That's not another one. Um Chad rc dot lua Okay, now The next thing is to Go back to the browser And uh, you guys aren't seeing this because I'm on the other monitor, but that's okay. Uh, how to Change a line with a sed You guys can see that now I've seen change a whole line with said there we go Uh, my skills with sed are absolutely atrocious. So, uh, also Don't give me any cookies. I don't want no cookies Suppose they had the line with a a a equals bbb and I now I'd like to replace the the line with a a a equals xxx said Now I have a file with a few lines as files. How can I replace all these lines with a equals something? Okay, so It wasn't really all this is what I used before Yeah, I think this is the one that I need to use I want to replace that home dr. M. Dub with home. Yeah, I can do that So it's all the same as the other stuff Let's do this go back here And we will go back to we're on the wrong one I think it's we're what there we go Right one. So let's see here We don't want to do it down here somewhere. Let's see here So Uh, it doesn't really matter where I do it. So we're just here copy and paste that so So I so we want to replace it place that Okay, so let's uh We can got it. I'm going to send that to a different workspace. So I don't lose it Um, and then we're going to move this to five Okay, there we go now get out of this. Okay, so okay, so We wanted to do so we're going to them into Into chat RCW so I know what to think that the line is we don't want to change Do I need I wonder if I need the the whole line do I need the whole line? I don't think I need the whole line I think you just need the beginning of the whole the line but remember, right so if we did m.ui Right and then space equals and then Slash C slash like so and then the line that we actually need to change. So we're going to want to do the the Hmm Maybe this will work. We'll see so m.ui equals brackets other brackets theme equals dollar sign choice like so And then brackets and then this so Theoretically if I'm reading this right we should Should work. Yeah, let me go up and change. Oops Change this So yeah, there we go now are into Let's see one that I know we have that is there The hell did it do there? Oops So did not change That at all We're going to run it from the terminal and see what errors we get Set expression dash e unknown command m. Okay So obviously that said command didn't work. Okay Oops wrong one so Shit. Oh, you want to I'm so dumb you got to have the file here. So this is the the nv chat Like so I think that's what I called it Yeah, you have to have the file Oh, sometimes I'm stupid Now we'll try to grow up box Still wrong expression, but we're getting closer. I think It's not actually doing anything. Okay, so we have uh So let's see though Let's see here So set equals dash I and then quotation mark slash Damn Missed one. There we go right there like that ever forest I don't think that Well, I don't know if we haven't ever forced in the thing. So we're going to go back to I know there's an order And actually did change it but it didn't change it live so if we Huh Like it did change the right word Like it did do this but it didn't change it Hmm Okay, so there's got to be a space There's got to be a space there Okay, so how do I add this space? Maybe like that I don't know if that'll work No Can I skip a science string To aquarium I don't So it didn't add a space there Probably yet because you have to escape the space. So it would be something like that or something or maybe God my I really need to sit down and actually learn said um Did I actually save that? No So slash Oops That's not what I wanted to do. There we go So I'm not getting errors in the thing. So It actually didn't change it this time at all Because it's it's still looking for okay, so That didn't work. So how do I add the extra space? How do I actually? All right, let's see here. Sorry. I'm sorry guys I'm ignoring the chat I don't think the space matters I think the nv chat has a hook whenever you save chat rc lua and then it reloads the configuration file Yeah, but if that was the case then when I changed it like if I delete this part So that it's actually back the way it was supposed to be Actually, I think this is supposed to be like this Yeah, so right that So if I change this here like this so that actually changes to the right thing and then do this again go back to It doesn't really matter ever forest That's fine, but I should be able to then save this and it would actually use ever forest if ever forest is actually a thing it might be that eight th ever forest Yeah, ever forest is actually a thing so it should actually work um So that space is doing something um Because otherwise When I saved it and come back it should still change to the new thing Because it's actually there like it replaced the line just like it was supposed to Unless I mistyped something So m dot ui equals And then there has to be With m dot ui I'll honestly I bet you it's right here that I add the space I don't think it's going to actually add a space inside of set. I don't think that that's how that works Grubbox Yeah, that worked um So if I save this So if I go back into this I should have grubbox and then if I Get out of that now and then change again And go to say one dark And go back in it should be one dark, but it's still grubbox But if I save this now Oh, yeah, you're right. You have to save it from when It doesn't even if you go Even if you quit neo vim and go back in unless you save this particular file It doesn't change the theme That's effing annoying. This is as close as I've gotten to making my script actually change The theme along with the rest of the window manager and that's going to be a that's going to be a problem I don't have my headphones on so if you're calling me josh. I apologize I said I had no clue if it was ringing. I don't even think I have a discord open So I apologize if you're calling me. I apologize answer the phone I don't even have my watch on sorry. Yeah, I eventually did manage to get the space there Um worked that out on my own Usually I do it end up working things out on my own eventually so You can run a command in vim. So all you need to do is find what command was run after nvchad saves the file Yeah, I mean if they were using a program that was outside I thought they'd be using enter or something like that Luke Smith covered a long time ago Yeah, I don't know that's going to be an interesting problem just to solve It's not that big a big good deal because I can always just Oh Hold on a second No, that can't that I was gonna say because I could just use touch because Todd That's obviously not gonna work though Because if if it was just saving the file Outside of neo vim it would work Hold on a second Yeah, sorry josh. I miss your call blood I'm assuming you're trying to help me with something or to tell me I'm stupid for doing something some way or Some other way. I don't know man There's a hook. Okay Where do I find that hook? Usually my method to rice is hmm. That's an interesting problem for my future self to solve. Yeah I'm a little I'm a little frustrated because this is as close as I've gotten to actually Changing the neo vim theme outside of neo vim. I'm there I just need to figure out how to Get that hook to run outside of neo vim, which you probably can't do They're probably doing something with them that does that Are using a plug into some kind something I'm guessing they're probably using Telescope or one of the things that they use I don't know I'm really close though Look at hooks on google or something and java is a jvm shutdown hook It runs after normal code. It's all complete right before the jvm completely exists The real use case for this hook is cleanup during the normal exiting phase of the application The hooks at nvchat allow us to link the code in something like custom init.lua to run at a specific point during the normal routine Which is to run plugins Dash init.lua during packets packers plugin installation phase this line in plugins Use all statements require core.hooks blah blah blah Local hooks require core.hooks The hooks add function is in core.hooks.lua to add a hook To the list of triggered custom init.lua found the line Get in there we go um if cus require core this is Not gonna work in a bash script though. Okay gonna call you again. Damn it josh I don't want to put my headphones on it's 9 000 degrees in here, bro Also, why isn't discord even ringing? All right, no you can hear me josh. No, I can't hear you Why why much yeah If you ruin the audio of my stream, I'm gonna be pissed off at you bro. I'm never gonna talk to you again um Yeah It your call is not gonna work josh discord's not even seeing any of my inputs I can hear you josh finally No, I can hear you. No I can hear you too I'm saying no. I don't want you to raise an issue to my attention. That was what I was saying no to Yeah Yeah Yeah What about it it worked? I think I lost josh already It was a script but sure No, it's No, I'm not it's on I don't care sue me You can probably probably tell me of him to always save your confirm after it loads Yeah, probably could do that. I wonder if that would work instead. All right. Bye josh. Thank you for thank you for your input Did all that just tell me I was in violation of copyright law? I don't care man I'm a lawbreaker Let's go back to my script because I think he I think I have an I think he gave me an option here. So um Yeah, you could do colon source inside of them, but how can you source? This makes no sense because I need to be able to Save this file. I think touch would work. Why wouldn't touch work? So if I just touch Envy chat here like so, why wouldn't that work? So let's change this. So let's uh All are to grow box That didn't work. It should work though Hmm, then my work schmog or however the hell you say your name Schmog schmog whatever Nobody knows how to say your name, bro. We've gone over that before uh So if we if I try that again so nvm dash cmd dot config Slash nvim Slash lua custom Chad rc.lua nv and and um NV chat is doing something weird inside of them that you can't do outside of them That's the reason why touch isn't working touch should work because it's It air detectable processing command line not an editor command md. So I'm I'm I mistyped that somewhere md That's because I don't know how to spell Like so no still doesn't work. Okay Dash cmd. Yeah Dash dash cmd. Yeah, the the dash dash doesn't come through and the the youtube chat all that well. Yeah, that's better okay Empty buffer So you have to give it a Hmm. Yeah, it's still not working. Hmm. Yay. Yeah. Yay. Matt's using lua I'm very excited about using lua dot config wait, I wonder if there's I wonder A bitch is this Tilda slash I actually have to Um Air detected while processing pre-vmrc command line file exists empty buffer. Okay We should be at grovebox right now and it's still showing me Like Dracula or some shit So that doesn't uh, let's see here It still says grovebox and that's what it should be giving me is grovebox But it's still not so I have to actually if I if I save this it changes That's really weird. Um Yeah, it was a good try So touch doesn't work and it definitely should I wonder Hold on a second. Let's change this again. So let's go to Uh cap cuisine and that's what it should change to and then do source Like so uh, and then Tilda slash dot Um config nvm Slash lua custom nv Chat like so That didn't do it. So you can't so if even if I found a way to do a source from outside of vm Source wouldn't work either should And I forgot you're an emacs guy Try regular vm I have a feeling if I use regular vm changing the theme wouldn't be Possible at all because I've tried that before because the only reason why changing the theme and this is possible is because I have this one line Right that I can use to change it And that's not normal in regular vm I don't think At least in any vmrc that I've ever had you I'm sure you probably could do it All right It's really weird. Okay, because if this is so stupid. So if you colon w it changes fine But if you change this to say grove box And did colon w q and then went back in actually that did work But if I change this to something different, let's just say one dark And then it was Wait a minute. Hold on. So what did what did that just do? And then did Capital zz, which is just right and quit. It's the exact same thing It did work that time and didn't work before What the hell has went on Why doesn't touch work touch should work Change this source till the slash dot config and then Okay, so sourcing just the init.lua doesn't work either Yeah, I'm sure some I understand that some hook is running. I just You're not gonna be able to run a hook from outside of end them Which isn't means I'm not gonna be able to do it from the script. It's fine, but it's close enough But still it's kind of annoying It's a source. Yeah, just sourcing the init.lua didn't work. It just did it. So if I just again if I write this It's fine like it works Hmm, that's really weird um I wonder if that thing that you said the dash dash command in the custom directory command line and normally characters are inserted in front of the cursor position You can move around in the command line with the left. That's that's not what I was looking for That's the command line is in the command line inside of them. That's not helpful um No write a File I don't know how to phrase that Try changing and saving it in something like nano Yeah, there's my source to be before I saved it was because if I saved it would have changed um What I could do is just is close close it So close this Then change it to something different. So right now we're grubbox. Let's change it to Dracula And then From here do source till the slash .config and vim init.lua Ha ha. Okay. So how do I source an init.lua From outside of them. So let's try that then So, um go to It actually didn't work. It's still it's still saying that this is grubbox And we should be at Dracula because if I if I vim into this it should It actually doesn't say anything. Why doesn't say anything that doesn't make any sense No, I see that didn't work at all because it's still it's still saying it is grubbox and it should be Dracula Which it is so let's uh What was it nv chat nv chat update? Not from the terminal. It's not there It doesn't it doesn't matter because the source wasn't working anyways because I sourced it even after this was saved Or changed I sourced it from a completely different file and it still was on the old version of this file It's a command inside of nv. Yeah Then I might as well just come to this file and I wonder actually that might work It might be a workaround because if i'm just in No, it's just updating the files. It just runs packer and stuff Whatever that is The nv chat update didn't didn't work. That's not the thing um Damn Yeah, my script the script will be uploaded to my github page or get lab page here pretty soon So yeah, I'll be up there You'll have to make sure you change the paths and stuff because the paths will obviously be specific to you You have to probably have to have most of my doff I also do it because it's not written properly um hmm error detected while processing buff write posts auto commands and chad.rc.lua What Let's change to a different theme then we know that grow box exists Yeah, I don't think there's gonna be a way to do other than saving this one file Which doesn't make any sense whatsoever And I don't see an nv chad all the only nv chad Commands are update and cheat sheet And the update just runs an update for nv chad. It doesn't update the source files or the configuration files Hmm, I don't know definitely something to mess around with because it doesn't That's As close as you are with this line here. You're like it gets you there, but you have to have this file saved It doesn't make any sense why touch doesn't work. So because touch should work Because nv chad should look for What this file says the theme is every time nv chad Opens, but it doesn't For some really weird reason. I don't know Um, because it should it should read this file from the beginning I don't know anyways guys. I think that that's where I'm gonna stop. I'm I'm I'm pooped with this I'm gonna comment these like this line here does just can go away because it's not going to work and um We'll just cop. We'll just save that And uh, yeah, I think uh, so I think it was overall a fairly You know successful stream. I got the script running and it works pretty good There are two things that I'm disappointed by though. Um, the lack of being able to change those group labels Without logging logging back out. So that's going to be an issue that I'm going to work around if I want to do some different Themes with different group labels. I'm gonna have to figure that out if I can Which I don't think I'm gonna be able to do that. I think it's just gonna have to be Yeah, you're gonna log back out and log back in that's gonna be disappointing. And the second one is not figuring out why Uh, even though this file would be saved why nv chad doesn't read it unless you save it Doesn't make sense to me But we'll figure it out. Maybe I will just maybe something will come to me while i'm sleeping or something I don't know. Anyways, thanks everybody for watching guys. I I don't do these streams that often. Um, But maybe I'll get back into it. I don't know Uh, it'll be interesting. I'm also glad that I went through and actually found This file here because that means I can create themes. So what what are the what does one of these themes actually look like? Do we not have a grub box? There's no the fuck why is it? Hold on a second That's better. Oh, cool. See that's an easy that's pretty easy way to change or to create a theme. Those those are Things that I can actually figure out That means I can create my own themes. Cool Uh, anyways, that's it for me for this time guys. I appreciate everyone who watched this live stream You guys are all absolutely amazing to sit here and watch me Just bumble my way through things that I have still have no clue how to do So That's usually the way my think my stream is usually goes like here's matt Attempting to do something. He has no clue how he's going to do and then at the end of it Uh, I either get there or usually I don't so anyways, that's it for me this time. Thanks everybody for watching before I go Thanks to everybody who does support me on patreon youtube guys are all absolutely amazing If you'd like to get exclusive podcasts from me once a week You can support me on patreon where I'll upload a weekly patreon exclusive podcast available to all tiers So patreon.com slash linuxcast. Thanks everybody who does support me there over there and on youtube and on libera pay and all you guys So just thanks for very much. Thanks everybody for watching. I'll see you next time