Hello, this is Christian. In this video, we're going to take a look at how component communications work in React.js. So I show you in this diagram here, three components. The parent component, which is this yellow box up here. I have a child A component and a child B component. So these two are sibling components. So I have here the color of the arrows just to indicate that the flow of data from the parent down to the child component it flows in this direction in the red arrows. And then the child to the parent component is following the blue arrows come from the child up here and likewise. And a communication between two child components, you can't really just pass data across other ways to do that, but we're going to do it this way using what's called a mediator. So mediator is really nothing than a parent component that will actually hold the state or the data that can be passed between the two components. So in order for child A to pass its data to child B, the data would then go up to the parent component, updates data, or what it needs to do. And then the parent component then passed its data down to the other component. In this case, child B. So in this little app example, I'm going to show you two different states of different data. One is going to be the parent data. Another is the child data. And this will be an estate object. And then I'm going to pass the data from the parent down to the child A so that you will see the data of the parent coming from the parent being displayed here in the child component so that when I make changes to the parent component here in the input tag, that data will be updated in the state and then will propagate down to the child component here. That's the parent to the child component. And then the other way around is that I'm going to have a child component have a input tag in here to make some changes. And we're going to pass the data from the child component up to the parent component. It will update the child A data up here in the parent component so that when I make changes to the child input here, the data will also reflect instantly the parent component here. OK. Right. And then likewise, we're going to pass the data that is coming from the A component here down to the B component. So the B component will show both the data from the parent and from the child A. So once you understand this logic, how data can be passed between the components, you can have a better understanding of how they work. All right. So let's go and take a look how this is looking in React.js. So here in the IDE, let me just go over this a little bit with you and then we'll do the coding. So I have the app component here. It's a class component that has a prompt and has a state. The state has two properties. Have a parent data that is assigned with the value of parent. A child data has the value of child A. Let me get a little bit smaller and see if you're OK, child A. And then I will render this data, both the child and the parent data, to these two tags here. And then I'm going to pass the parent data down to the child component here. So the child A component is inside another component called children.js. This file is this one on the right side. Over here I have two components. One is called the child A. The other is child B. So look at the child A first. We don't focus too much on the HTML stuff here. I'm going to pass the data from the parent down to the child via the props property or object. And I will render the content between the brackets and the parent tag. And then when I do a child passing data up to the parent, I'm going to update the input tag here. So we can read some data input here. I'm going to update a function call, send the data back up to the parent, and then we're going to update the child data so that you make changes in input. Data goes up here, and then reflect in the change right here as well. And then the other one is when we do the child A pass data to child B, you have to go through the same process, passing data from here to the parent. And then the parent, we're going to render a child B component right down here, pass the A's data down to the B component, just like you pass the parent down to the A component, same idea. And then we're going to render both the parent and A's data right into the child B component. And I have here, I have two of these components in the same file called children.js. And you can have as many components you want. And you can export all of them at once by using the directive like this. You just put inside curly braces like this. And each of these is the A component that you can expose or export to other components in addition to a default component, okay? All right, so let me go ahead and make some spaces, some room in here. I just want to focus on the A component for now, all right? So we don't have too much distraction. Let's do it like that. Here we go. Okay, so on the left side, I'm going to go and collapse this column. So we have more spaces. Now I'm going to go and then render the content, parent and child to this text down here. So in the parent, I'll put here, well, actually, you know, make sure let me run the app first. It's already running. You can see here it's running. There's no content here, all right? So I'm going to go and do that. And you know what? Let me just do something like this. Okay, so we can want to just do like that. So we have a space, right? So the child component, I mean the parent component, I'm going to render the content right in here. Put it here, this, that, state, that, parent data. So now you should see like data coming in right here already, okay? And the child will be the same. But now I'm going to pass the data down to the child component, all right? So you do that, you go to the child aid tag and you pass in a variable called parent data. This data can be anything you want. This variable, just what do we pick? And then you pass the data coming from the this.state.parentData. Okay, so we have pass data here to a property called parentData. And this parentData is now attached to the child component. Actually, let me go and open that over here. Okay, so we open the app, a component here. It comes to the props and then I'll render that right into this tag here. So you access the props.parentData. And that should be rendered right here, as you can see. Okay, so passing data from the parent down to the child. That's how you do it through the props object. Now, remember that one feature of the prop is that data coming in like this to the props are only readable. You cannot change the data. Meaning like I cannot go here and do this. So parentData, I cannot change to something else. Okay, if you do that, react will crash and you cannot see anything here until you press F12 and look at the console, it will tell you, it says, if you go on the way up, it says you cannot assign read only data. Okay, so the props is only readable, which is good because if you don't do that, chances are you might even overwrite a function. That's a big problem, right? So that's why it props are only readable. Okay, so that's how you pass data from the parent down to the child. And then I'll just warm up my implementation. I'm gonna make this input tag in the parent, input tag right here, so that when I type something here, it's going to update the parent and then at the same time in the child component. Okay, it's a very simple implementation. So I'm gonna go and do it on change. I'm gonna assign that to a function. I will create call update parent, right? Again, notice you don't invoke the function here, you call it a later time, it's an event, right? So up here, so normally you have done this, I showed you do this, let's get like this.updateparent is equal to this.updateparent, you have to bind it so you can use in state, okay? And then over here, you will create a function call update parent, right? And then like that, and then it takes a, I think a parameter call E, we call event, it doesn't matter. And then here you will bind the data to the, I mean, update this parent data using this.setState, and inside this function you pass in the parameter call parent data. Okay, I signed up with the event.target.value. Okay, I think that's it for this one. So that when I make changes here, that you see that the data is changing, right? Instantly in the parent component also passes down to the child component, right in here, and it changes right in here as well. So you've done this before, you know this is done, right? So now the other way around is now we're gonna go from the child up to the parent, okay? So this time I'm gonna update the child. So let me go here and here at this child data. So you'll see that now child data is now present here. And I'm gonna update this data from the child component. So to do that though, you cannot just send data directly like you would do this way, okay? What you do is you will have a function somewhere up here on the parent component that will receive the data from the child component and you update the data. Okay, so up here, I'm going to create another function. This function is gonna call update child, put that the child like that. Again, it will take the event. Or if you want equal event and call it data doesn't matter, depends how you do, depends where you get the data from. So if you wanna just call that new data, let's call it data, okay? Instead of passing the event, we're gonna perform the event inside the local component and it will pass us the data back up here. And then up here, you can do the same thing. So this that set state and then we're changing the child data and assign that with data. Okay, and then again, make sure you bind it this way. Now another way to do this, if you don't want to write it twice is you just simply change this to an error function like this and that's it, right? So I could have done the same thing with this one here, right? I could turn this off and change it into an error function, okay? Just like that, you see that it should work just fine, okay? If you don't do the binding this way, just do the error function and you know, either way, it'll be fine. So I'll use error function in this example. Right, so we got the function to update the child data. Now, in order for the child to pass the data back, you must pass this function down to the child component. So you can, so the child component can use it, can update or pass the data back up here. So again, it's just like callback function, right? So over here, down here, I'm gonna add another, probably I'll call it, you can call the same name if you want. It doesn't have to be, I'll call the same name, update child, assign that with this.updateChild function, okay? So this is a function, this is just a variable data, okay? So now in the child component over here, so I have a reference to a function called update child in the child component, wanna make some changes here. So it will be like before on change. I'm gonna update the data. So I showed you earlier that you can, if you update like the E like you do here, then you could just call the props.updateChild like this. I could do that. Maybe let's try that first, okay? Let's try that approach first and then we'll try the other approach. So all I'm doing is I'm attaching the function that was passed from the parent down to this child via the prop object. And then when I make changes to this function, this right here, oops, when I make changes here, it's gonna call this function called update child, which is this one right here. And this is a reference to the actual function here, right? So if I change it back to like above, event and then over here, and then I'll be like event target data, I mean value, right? So it'll be just like before, like above. So this target here is really this input tag, right? So let's see if this will work, but go here for each agent. You can see that I'm typing data in the parent and the child component, right? But the data is propagated up through this function, which is attached to this variable. This variable is assigned with the update child function here. This function receives an event from this tag called input tag. You grab the data from that tag, which is in the child component and you update the child data this way. So the process is very similar. The only difference is where is this target coming from? Okay. So that's how you would update or pass data from the child up to the parent. What I did here is I did exactly, very simply like that. You could also do this, if you want to manipulate data first before you update it past the parent, you can then create a function up here. For example, you can say something like const update. Okay. And then you can do also error function. That's fine. Like that. You put E in here for event or just E. And then here you could do something like that data is equal to event.target.value, right? Maybe I want to uppercase all of them so it can be like upper, is it too upper? I don't remember, I hope that's correct. Okay. And then I can then pass the data up to this function. So instead of doing here, I'll put it right here. Update, I pass the data through that. Now, if I do this way, so notice that data is the actual data in that event. So if I do it this way, I have to change the data here. Just call it data. And then I just assign that with data because that is only the data, right? Okay. I probably put a bunch of error here. So let's see. Yeah, okay, I'm changed. And then here I need to bind through this function. So I'm not this one here, but this function local to the chow a component. So I just put here the update, right? So let's see if this correct. I probably had it incorrect for the upper here, but let's see if I do. Yeah, it's incorrect. Let's see, uppercase maybe. Okay. Okay, let's do this way. Maybe, yeah, I probably do that here. Or maybe it's, you can attach the value. You probably have to wrap it or something. Let's do it here. To uppercase, okay. Will that work? Let's refresh this page. Okay. Yeah, so there we go. Okay, I have to be a text for somebody who didn't like that one. Okay, so now you can see that I changed the data here by also update or enable my data before I pushed that up to the parent, right? So it's the same idea, except you're passing the idea there as opposed to the event. So that's how you pass data from the chow up to the parent, very simple like that. And so the next one is we're gonna pass data from the chow a to the chow b. And so let me go over here and turn on the chow b component, right below here. And we'll call this the chow b. Again, these are just some CSS I already added earlier. So I just basically changed the color background. And this would be the chow b component, okay? I need to import that up here. So let's do the import of chow b. So here we go. So I'm gonna pass the data of which I already did from the parent and also did the pass data for the chow a. So I don't need to do any updates in the b, okay? So basically, I'm just going to do something like this. So I'll put the chow, I'll just call it chow data. So with this, that chow data, okay, I pass both data down to the chow b component. And then let me go ahead and move this spaces. I'm gonna update the chow b component, real simple just like before, props that this is the parent data, and then same thing here, props.chile data. And that's it, right? Because it's just receiving data. If you're gonna pass data from the chow b here up to the parent, you would do exactly the same as you did with this thing here. It needs to go through a function, okay, an event. I mean, if you're reading from the input tag, if you don't read the input tag, you just pass data directly from your code, then just call the props, and then call the function that was passed to it, okay? So here, if I go and type A in the parent, it's clear, hello, world, that's from the parent, and the chow, hi there, okay. Updates up here, but it did not do down here. So I'll probably do something correct. Let's see the chow a, this state.chow data, here we go. Okay, so we have from the b here, go, hello from A. Here we go, it's all up a case, and then you pass data from the chow a to the chow b via a mediator like this. All right, so yeah, that's how React uses, and there's another way I'll do it, maybe I do a different video to show you how you can pass data using just functional components as opposed to the class component, right? So hope this is helpful. Let me know if you have any questions. Thank you.


It's the most fun And last time I was out here caught him in timber and floating Just floaters using live scope, which I know some of you Don't live scope fish and don't really prefer to watch it It's it was a good way to catch some big females But today we're gonna try something different We may have to resort to a little bit of that, but I want to try to find these crappie on the bank All right, folks. Here's what I'm going to start out with this is My favorite bait out of our crappie line for just search fishing You know, this would be like grabbing the spinnerbait or grabbing a bass one bait grabbing a saucy swimmer This is the snacky swimmer, and I've got that rigged up on little eighth ounce jighead and I'm gonna be tossing that there's a There's some timber in here There's also it looks like there's some riprap as we get to the back of this thing and I'm gonna be tossing that around the bank just just like you would throwing a search bait for bass and Trying to get bumped and with that with that boot tail on there and a little bit bigger plastic it slows it down And that's what I want. I want to go pretty slow.  There we go. Yeah, that looks like a tin My goodness Well, this bait has caught a lot of big ones, but it'll also catch a little This water's super muddy They had a little rain that might be Reason why these crappie are not on the bank and the bass or I Don't know. I haven't seen anybody catch a bass out here Of course, I never do it's the Dead Sea But have had a few crappies they're just not the way I want to catch them They're out there on that deep timber Prespawn and a lot of them you do got to tickle their nose. It's not it's not a very exciting bite, so Do what we have to do to get some fish in the well for LFD But I really think the the afternoon Will be much better for the bank stuff. The water's just now hitting 60 It is don't want to move.  It's a biggin. That's a real biggin. Oh My gosh giant saw her sitting there That's a two-pound crappie sir.  She finally thumped it. Oh look what's down her mouth, too She's got a shad Look at that. Oh my gosh, that's bigger than my thing. Yeah Literally to exactly to you. Yep Leak it Just to say I wouldn't do worse the other ones Well, bam long story short y'all me and LFD wrapping up our day Could not get them up shallow, you know I didn't want to drag dad back out there and do the life scope thing and anyway We had enough fish to do our fish fry today is our family dinner nights we always have dinner on Sundays usually and Today we have the crappie my mom really loves crappie. We all love crappie. It's delicious and When I was cleaning crappie the other day I Posted a video on my Instagram about you know, does life scope affect? crappie fishing, you know because I have 95 percent females in the box and You know, there was a lot of mixed comments on that I guess it really depends on the fishery I do feel like the place that I was at today a very large lake full of timber I Don't really think so because there's so much habitat other lakes with less habitat Sure, they become a little more vulnerable But here's the deal a lot of you said you need to try the row don't throw it away Because usually I just take my scraps, you know, and I throw away Usually just throw them in throw them in the lake, you know feed the catfish whatever sometimes I feed the road of my chickens But my dad said he's tried the road. He thinks it's good and I have no idea. This might be a crazy delicacy So I wanted to share you with you guys my experience of trying row for the first time So crappies are at dad's we're fixing ahead over there right now And and fillet some of these fish cook them up for our Sunday dinner fried golden crisps, baby You know how we do it, but we are gonna have some bro as well. So come along. Let's try some crappie bro for the first time We got them crappies ready to go That we were going to fillet The row out I'm gonna try to do it the best I can where it's all in one piece nice And we'll batter that throw it in with the fish as well So I'm gonna hand this camera off to my lovely wife OSG Because dad likes to film the sky when I hand him That's okay, we still love you but you have tried bro, right? I have and when I was growing up We used to eat it. Yes out of what fish Mostly catfish catfish caviar. Oh my gosh. Yeah, that is a redneck Yeah, it was good too, I mean I liked it now I've never had crappie. Okay, you haven't had crappie. I've never all right Well, this is good.  This has got to be a female so big and it is So below the rib cage here, we've got the row So we'll try to extract that out. Maybe I can do it from this side to get it all right here I didn't want to use the electric filet knife because I didn't know if it would Go through this. All right, we'll pop that off Let's see if I can get it from the other side without Breaking the seal Kind of like a a boot and you don't want to break that seal Till it's cooked just right Think we got it. Oh Yeah, oh, yeah, there's some beautiful Croppy caviar right there, honey. Is that not the most beautiful thing you've ever seen don't you want to put that in your mouth? That looks disgusting. It might be amazing. It might be an amazing delicacy It's kind of an L shape like that, huh? That kind of looks like a t-shape. It kind of looks like a longhorn. I Was thinking somewhere along the female anatomy This one was about two pounds. I think it was sub two pounds like one eighty five or something And the other one I got in here is a certified two pounder. So egg sacs should be even bigger This is pre-spawn, obviously, so they haven't even laid yet. So we got our filet and we got our caviar Redneck caviar, baby. Let's pat. Let's batter it up. Let's try it Dad's going in with the first batch right now There we go OSG you just helped me clean Thank you. You're welcome. And what do we got here? We got four filets We got the sacs We just cleaned them we just rinsed them off Now are you willing to try that? No, no, that's a big that's a hard no, that's a hard no Me dad are gonna try it and you said you kept some other row. Yeah, they're inside. Okay, so you're all about it.  I mean they're tasty. It's caviar. This is a standard unit golden crispy right here Got to have a cold beverage. Don't forget about that. And then that's gonna make that go down real smooth.  Do you want it to taste? Yeah, it's gonna be creamy. I bet you know now that I've analyzed it Creamy.  I bet it is.  Okay. Well, it's since you know, you're gonna try it. No, I'm not Okay, the row are going into the batter dad saved some of the ones from How many females were out of the bunch that we got Say 80% okay now if I remember right these are gonna pop when you put them in like like kind of dangerously That is a little different than the fish I was going for Probably a hundred thousand or more eggs in one little Sack from being born.  They go for big Numbers most die All right bass to You know that's the same way a lot of legs, but only Only this elect you make it out. Is that it? They're done. That's it. That was a flash fry dad I know they're done one take. Are you sure? I'm positive. Look at them.  I'm positive. I mean, that's basically raw you dipped them Done this before that's right. I'll give you a hundred bucks What can I buy this day these days with a hundred brand chewed brand new garden beds if you buy it buy that All right, what would it what would it take new car a diamond diamonds They didn't happen Seen this economy that ain't happen Last row was coming out Okay, okay, let's take a good salt gander it I guess all the lighter ones are the interesting. Yeah, okay Here we go taste us coming in Time ready Let's do it. All right, there's you one here is the same one that I fillet out that long horn shape Break it apart Cheers, I guess You're going in. Well, that's weird. What does that texture like it's like a kind of like a soft hush puppy? Yeah, it does. Oh, it's soft Is it mushy? I didn't overcook it. No. No, you didn't I mean you cooked it so fast, but It doesn't taste over good. No, it's They're easy to overcook so they're not a fishy taste. No It's good. It's just the strangest texture. Okay. Is it mushy or is it beady? It is like a hush puppy like he was like it's kind of sandy, but a soft sand. Yeah, I Like it. I think it's good Mmm here. I'll get another one. No, no, I would say a dab of ketchup in the hot sauce. Yeah This is great.  I see you're not gonna be offended by it I'll take can I take this tiny little bite? Just take a bite Come on.   Yeah. Yeah, take a bite of it Roll it around. I already did Beads it's good. I'm good. I'm good Shout out to you guys For dropping me a comment on the Instagram of the story Or the real whatever I made That told me to do this because This is good. This is not a throwaway This is something to add to the plate and Prespawn right now with those big female crappies You know the little ones. I'm not sure how well they would cook up with it the big ones Oh, yeah, all day to have a catch up little chalula some Texas Pete that is on fire y'all so Don't throw away your crappy row because this is some redneck caviar right here and you guys need to try it Smash that like button for trying something new today And I will be back to the lake to try to get those crappie on the bank I promise you I've been trying and trying and trying and trying finally found some crappie But and now I want to catch them on the bank and it's a matter of days. So stay tuned to tune Whoo got a little egg done with her stay tuned for the next episode y'all. I'll see you on the next adventure later I have a little rally pulley here And it is really cute and tiny Anything else you want to explain and I can't see a rainbow in the sky You can't see a rainbow in the sky. Were you expecting one? Is that it? Yeah, all right say bye. Bye


Hey everybody welcome back to the channel today I'm going to be taking a look at MX flux box now I've taken a look at the most recent version of MX Linux before and I was highly impressed by it I really really enjoy the MX tools that they provide and the extra effort they've they've seemed to put into Just kind of developing their own little ecosystem that doesn't really rely on anything directly from Debian and I think it's That effort to make their distro a little bit more unique that Kind of draws a lot of people to it. I mean there's a we make a lot of fun of Distro watch and all the spam bots that probably drive up the rankings or whatever But a lot of people do like MX Linux their premier ISO or whatever features xfce and a window manager called flux box And I never heard of flux box before so I took a first look at it and recorded a video and I smashed it to smithereens I just did I was I was very very negative on it. It was not a good experience and mostly And I'll show you what I mean here in a minute. Mostly. It was the looks that turned me away I'll admit that I'm a biased kind of guy. I'm a tiling window manager guy That's just how I prefer to do business So I'm not a big floating manager, you know I don't have a lot of interest in floating manager floating window managers So when I tried this I was like not only that it looks kind of meh, but it's also a floating window manager and It's just weird and I'm not exactly sure why it exists and it was like I said, I was completely negative on it So I was so negative on it. I haven't posted the video. I still like it's all done and that was like a week ago And I've just decided not to publish that one. I decided to do a kind of do a little bit of research over why flux box exists Who's it for? And I've decided to take another look now I don't know that I'm any more positive on it than I was when I did that first video But I do think that I don't hate it as much as I originally did So let's just let me show you what flux box looks looks like So this is flux box now. This is not what it looks like by default Honestly, I don't remember what it looks like by default. It does have this menu or this panel up here in this panel over here Uh Which I believe it's actually cutting off part of the panel. I wonder how I'd go about Getting all that back Let's try logging out and logging back in I'll admit that yeah, see there it was cutting some stuff off there I think that has to do with the xf or the virtual box Resizing thing I had none to do with mx This is how it's set up out of the box, but I've changed the theme. It's like a really ugly gray theme out of the box And it has a lot of available themes, but they're all flat So let me let's start off with the looks shall we just The thing that turned me off the most was the looks so let's let's start there. So there's actually a ton of little of Which one it's a style that I'm looking for so there's actually quite a few of them here that you can choose from There's a few mx specific ones I think this is the one that comes by default. This is a really weird gray one There are some that like this one here is not too bad And then there's a few that are like really weird like that one there's almost completely unusable because I mean you can't read that text like at all and a lot of them are Kind of like that. So I've kind of went through like all these and tried to Like that one's not too bad some of the like the ones that have a white background just aren't usable So we're just gonna go back to the one that I found up here. Which one was it was this one here. So The original though the first impressions on the looks just was not something that was All that impressive to me now Like I said, it's a floating window manager. So you are going to be using your mouse a lot. So that was another thing that If if you're what this reminds me quite a lot of is actually open box because Open box has the same kind of right-click menu thing and it's actually managed kind of the same way If you want to add things to this menu, you would go through and edit a configuration file And add things that way. I believe it's through something like xml I'm not actually sure I haven't actually tried it But it for sure is something that you can do through a configuration file. So and an open box Does the same thing now. This isn't as minimal as open box I don't even think open box comes with a bar out of the box I think you have to come up with a bar like tint two or something if you're going to use a bar With open box. This one here has obviously has panels and all that kind of stuff Now I believe these are like homegrown panels. These are something that are something that Flux the developers of flux box has actually gone through and coded themselves And the reason why I say that is because like this kind of resembles like a plank or something like that But it's not actually that because there's no other interact interaction with it other than You know clicking on it and launching something And I'm actually not sure This is not something that I've tested. So let's go to all apps Now, this is another thing. It's a little weird I believe this is d menu I'm not sure it could be rofi But I'm not actually won't let I think I should be able to find Where's that terminal terminal? Let's see if I can locate d menu No, it's it's rofi is what it is um So that that's for because it has a rofi theme seems here. Okay. Um, so that is rofi, but so If you've used those rofi before you know that it doesn't just list your applications. It lists every package on your System that's executable. So if you hit the super box They've gone you you have access here to pretty much everything But they've somehow managed it so that is just the packages That you can like actually run But because this is is Based on xfc. There's actually two ways Sometimes three ways to actually browse through your file. So you can actually use it this application finder as well now What I wanted to find out was like if let's say I open up this here This doesn't actually show up on this bar over here And i'm not actually sure how you'd go about adding something to this bar I'm assuming maybe it's through another configuration file. So let's actually so this comes with a Bunch of help files in different languages. So we'll open up the english one here What is flux? So it says flux box is a window manager That controls the placement and appearance of windows. That's what a window manager is for history and overview consult wikipedia Okay, so after a little bit more Research it does look like there's ways to go through and Customize their doc thing using something called doc maker. So if we appearance docs doc maker And this this tool allows you to create a new doc with one or more applications. So Let's edit the one that we have here This is the default doc and this would be how you go through and add an icon or an application now I'm not one to tell developers how to do something But I will say this We have developed ways of adding icons to docs That are easier than this Apparent four or five step process. This is a rigmarole if I've ever seen one. It's very very weird Now It's not a huge deal because you could go through and just create your icon doc in whatever way you wanted And it's just kind of set and forget Yes, it was probably a pain in the ass to set it up but Who cares you've only done it once and then you don't need to do it again And if you need it if you needed it added An icon or an application some other time it would just be a matter of editing like I'm doing here But it's just weird I mean, I could come back to that it's just A weird way of doing things. So because we know from this eye this panel up here That they can have panels that are aware of think windows that are open So this could be aware of what applications you have open And then you could just you know, right click on it and say pin to doc That's the way you would traditionally do something it's just That's just this is just one of the many things that are just weird Now one of the things about window managers is they're all weird. So there's nothing wrong With being a little odd This isn't for me So that's the reason why I've keep coming back to him saying like this is just not good but after A week or so of often I'm looking at other people using this I can see Some of the appeal first of all it's on mx linux so that you know that it's a running a very solid debian state It has a whole bunch of tools the mx tools that allow you to customize things and You know manage your system in ways that traditional debian really can't because it doesn't have access to those tools so You have that and flux box itself kind of grows on you after a little while because it's a Quaint it's it's eclectic, you know, it's uh It's that thing you want to use every once in a while just because It's different, you know, it's not something that's Exactly the same as everything else out there And that's what kind of where I've been for the last week like this is not My cup of tea, but it's kind of refreshing to use something that's not just a simple Standard tiling window manager that the same as all the other tiling window managers because I mean let's face it xfce and dwm and all these Tiling window managers other than the code that they're written in they're all basically the same. I mean They have the same options in the same features and There's a reason why guys like distro tube and And brody and all those guys go through and every time they switch to a different window manager They go through and make their window manager to look the same as all the other window managers It's because they can because that's basically all tiling window managers are exactly the same I mean They have the same features just it's a matter of implementation That's why window managers kind of like flux box and probably uh Open box appeal to some people because they're not the same and I think that's where I was Really having problems when I first looked at this because this is so different from the way that I usually do things It just an appeal to me so I've come around to it because it is Kind of weird in a refreshing way. Um Would I want to use it full time? No, I absolutely not. Um, this would drive me baddie this whole I mean just They're just so many little There's nothing particularly wrong with it like at all, but it's all the little irritations like adding a A menu item to the the dock or oh the odd use of the Super key the super key brings up Rofi apparently that's what this is and I'm so used to using the super key as a modifier key instead of just an actual key So like if I were like a gnomes user, I'd be perfectly happy Knowing that the the super key just brought up a menu because that's basically what it does in gnom. It brings up a The activities menu or whatever But I'm so far removed away from that. I mean Super menu in everything that I use be plasma or Um, or whatever it's a modifier key for me brings up other things So this would be another thing. It's just really weird and the discoverability of Keybindings in Fluxbox is also a little weird. So we know f4 brings up another terminal and f5 brings up Mx tools F3 brings up tunar f2 brings up application finder Which you can't get out of unless you exit out of f1 brings Up help just like I mean like you'd expect f6 is the application finder from xfc f7 but You know, I keep doing this But there's nowhere that it actually says this now I have not gone through the Documentation as much as I should have probably Because I'm sure that the key bindings are here somewhere So you can switch Workspaces by doing control plus f1 plus f2 so control f2 f3 controls the workspaces. So then we have a pager up here Now if I change this to a different To the traditional one Which eventually hopefully that'll come up it did so I like this traditional layout a little bit better Because the pager down here is kind of cool So it has it shows all of your workspaces You have three workspaces and then on in within that box of the workspace It shows all of your open windows So it could probably get quite messy because I have like a ton of things open here now But that's kind of cool. So you can change those key bindings by going to the Fluxbox configuration file, which I'll look here here in a minute Which I actually haven't looked at before or that I've looked at the menu one when I would like it actually is Just a list Of all the key bindings So in a lot so you can resize things using the alt key All right, so I keep learning something new here every every time I open up the help menu I or the help documentation. I learned something new. All right, so here's something I didn't see before you can use your own Keystroke combinations by going to menu Oops, I got too much stuff open here. We've got to close some of this stuff I'm so unused to having to click on the x to close something because You can't just hit queue Like I want to hit I just want to hit alt queue. No control queue control queue works Ah, see I learned something else new. That's the thing is it's just not discoverable. So let's Supposedly if I go to settings here in keys keyboard No configure keys Oh, you know this looks Correct me if I'm wrong, but this looks like exit xx hkd It's a little bit like sx hkd. So this is the list that I was actually looking for for ages trying to figure out where the Like the key bindings would be I mean, it's not the most readable thing ever Um So here we have the f1 through f6 keys volume keys hide menus A whole bunch of mouse keys which Those aren't key bindings if you have to use the mouse. Those aren't key bindings. So this is alt so mod 4 is control And here here. I thought mod 4 was alt Alt 4 no oops And all that did was change my setting on obs Okay. Yeah, all right This is what I'm talking about. It's a little weird and discover on this because I'm like almost positive that mod 4 Is alt Isn't it? I'm gonna have to look it up. We're gonna go this is This is the way videos work now. I don't know if you know this but we do research right on this on camera, you know Who needs to be prepared? I mean that would be just We'll let distro tube and brody and luke smith and all those guys those guys can be prepared I'll be the disorganized linux youtuber Okay, so that was a rabbit hole if I've ever been down one It was dark down there. I'm just saying Uh mod f4 from what I've been able to research is supposed to be the alt key So, uh But it doesn't work that way here because the mod the mod 4 key is I don't know if it's the reason why those keys don't work is because I have them set something else outside of virtual box That's possible. It's also so alt tab goes to different windows As it should Alt shift tab Yeah alt Three Just types in three Okay I'm done with that rabbit hole. I mean just it doesn't matter Uh flux box has been entertaining me now for a week and I'm just quite Interested in it and kind of done with it. So Why does flux box exist and I think their answer to that is that people like floating window managers Some people like floating window managers and there aren't a lot of them out there Now every tiling window manager has a floating mode dwm does i3 does bsp. WM does they all do Uh, awesome does obviously And there are but there are very actually it feels like there are much there are way fewer Truly focused floating manager Floating window managers out there. So there's open box There's flux box and there's I mean there's a few of them that are based on open box It's just it seems like tiling when managers have kind of taken over. So I think that that's the reason why it exists I think that it suits the aesthetic of the mx team Fairly well because they've gone through a kind of a minimalist kind of design In mx links as well now granted they in like xf the xfce version they go through and rely on the gtk3 themes and stuff guys so they haven't gone through and done their own theming and stuff Where they have in flux box it seems so I think that that's the reason why flux box exists is because you know It's a floating window manager and a lot of people like floating window managers Now that being said there are a lot of just little weird paper cutty things like the key bindings which is little really weird and fairly I mean you really have to kind of dig deep in order to find them because I missed that in the The documentation a couple times could have been through it And even once I found the the the list of them it was still kind of weird The menu system a little weird It's kind of a hodgepodge of stuff because you have rophy you have the xfce stuff you have the The menu that's like open box the open box menu. It's very I mean there's like four different menus and it's really weird Choose one, you know I'm not a big guy on multiple options for stuff. I want just give me an option I just want one. I don't I only need one or whatever it's It's like installing four different video Players on your iso it doesn't really Endear me to you because I need you to make a choice It's just those like those little piddly things that have bothered me a little bit my time with flux box The aesthetics have grown on me when I said when I At the beginning of this video I talked about how The aesthetics were the first things that kind of turned me off I'm much more I'm gonna say Tolerant of them now than I was before I guess just because I've used it a little bit longer And it's just not as bad As I originally thought It's the other stuff that kind of you know Pushes me away from it. So Let me know in the comments below if you're interested in using a floating window manager like flux box MX Linux itself remains awesome I didn't go much into the whole distro this time because I've done that before and I will link that video In the cards above if I haven't already you've probably seen it up there somewhere MX Linux is just really I mean it's just really good if you're gonna use a debian based distro I would either use this one or sparky I've looked at both of those recently and they're both these are both really good distros If you're going to be using a debian based distro I would even go as far as say is if if you've used a boon to and are kind of interested in looking for something That's not a boon to but still uses the same kind of package management system I would go through and try some of one of these other ones because they're really really good and they're really really stable and A lot of people Aren't really interested in the whole rolling release kind of thing So if you're gonna I mean especially MX Linux because it's built on debian stable. So anyways Thank you for watching make sure you follow us on twitter at twitter.com slash linux cast facebook.com slash linux cast You can also support it support us on patreon at patreon.com slash linux cast. I don't have that social media Slide or whatever that I was doing before I'm doing a little bit of revamping with the the graphics and stuff as you can tell along the bottom Just something different but Thank you for everybody who has supported us on patreon specifically I do still have this thing Which I need to revamp. So devon marcus americ. Thank you guys for supporting us. Thanks everybody for watching. I'll see you next time