 Over the last year, I've received several requests to take a look at Sway Winner Manager or SwayWM. And I've always been a little resistant to it because Waylon doesn't like me all that much. And every time I try it, it just kind of goes wrong. So I've been procrastinating on this video for a long time. But I'm finally going to do it today. We're going to take a look at Sway Winner Manager. We're going to install it. We're going to configure it. And we're going to rice it. We're at least going to do the first two things. We're going to try to rice it. We'll see how that goes. I've never actually done any ricing in Sway Winner Manager. So we'll see how that goes. I'm a complete noob at it. So just keep that in mind as we go along. Because I'm sure there are going to be points here where you're looking at this video. Like, this guy's a dumb ass. But I'm sure that's quite common for those of you who watch most of my videos. I mean, it happens often. So anyways, let's go ahead and jump in. Okay, so here we are in MX Linux. So what distro you do this on pretty much doesn't matter. Sway seems to be in most repositories. And I chose MX because, A, I really like MX Linux, but also because I wanted to test out and see how much of the associated programs are actually in the Debian repositories. And it turns out there's quite a bit of what you need already in the repositories. You don't even have to build it yourself. So it's actually really good. So what we're going to do is open up a terminal here, and we'll zoom in. And then we can go ahead and make this full screen. Okay, so in order to install sway on a Debian based distro, you do sudo apt install sway. Now, if you aren't you're on arch, you'd go sudo pacman dash capitalist sway. If you want the get version or the development version, you'd use the AUR version. I think that's probably dash get. And I believe sway is also in the Fedora repositories and probably opens to as well. So if you want to install a sway, it's very easy. So we're just going to enter here, enter our password and let it install. Now, theoretically, we could log out now and log back into sway. It would work. The problem is, there's a few things that are missing and a few things that are wrong with configuration files. So what we need to do is first copy the config, the default configuration file from where resides by default to our configuration, our config file. So in order to do that, we need to CP slash Etsy sway and then config. Actually, before we do that, we need to go through and make directory.config sway. And then we need to do this one here. And do this till the slash.config. If I can spell sway and enter. Okay, now if we see the into.config and sway and do an LS here, we can see we now have a configuration file. And if we've been into that configuration file, this is what it looks like. Now, if you've used I three before, you'll notice that a lot of this stuff looks very, very similar. It's not precisely the same, but it does look familiar. Now, if you do have an I three configuration file, it will work. It's not precisely the same. Like there are some things that you're going to have to change, but it will load. And for the most part, you can just use all your key bindings and stuff from I three right here in sway. Now, when I say there are some things that you'll need to change. For example, by default, whether you use this default config or your I three config D menu does not work with Wayland. As far as I can tell, there's no way to get D menu to work with Wayland. So you have to install something else. So what I've done is pseudo apt install a program called Wolfie W O F I. And we'll just let that install. Now, what Wolfie is is basically a Wayland version of Rofi. It's not exactly as good as Rofi. I don't feel, but it will work. There are several other alternatives that you can use. Some things called B menu B E M E N U is an option. There's one called G menu that runs with Wayland. So there's a couple options you can use for your launcher because like I said, D menu just doesn't work. Now, why in the default configuration file, they have D menu here? I don't know. Maybe I'm just doing something wrong. It's possible that D menu does work with Wayland and there's a special work around that you have to do. But for me, even installing D menu, just regular installing D menu couldn't get this work. Now, I will admit that I didn't go through and build D menu from source like I usually do. I just installed it from the Debian repositories, but it didn't work. So I instead use Rofi or Wolfi, I should say. So what I'm going to do is actually change this. So I'm going to change to the end of the line here. And I'm going to go to Wolfi dash dash show equals D run if I can spell. Okay, so we've got that done. I also need to change the default terminal here because I don't know what the foot terminal is. I kind of want to try it because because I've never heard of it. Sounds cool, just from the name. But I'm going to change this to a kitty, which I actually also have to install. So I zoom in here and do pseudo apt install kitty. That way I have a default terminal emulator. You could use any terminal you wanted here. If you wanted to use, I had console, I could have used console, but I'm just going to go ahead and use kitty. I would use a Lackardy if Lackardy was in the Debian repositories, but it is not for dumb reasons. But anyways, that way we have an emulator that we can use. Okay, what I also want to do here is at the beginning of this line here, I want to comment this out. And the reason why is because by default, at least the way I've installed this thing, this wallpaper here does not exist. So when you actually go into sway, you end up getting an error because that file doesn't exist. So I'm just going to comment it out. I'll show you how to set a wallpaper here in a few minutes. So let's go ahead and get out of insert mode. And that's the last thing we really have to change. And I'll go through the configuration file a little bit more in depth here in a minute. But I just wanted to get us out of plasma and into sway. So I'm going to go ahead and rank with this. And we can go ahead and get out of plasma here. We'll log out and we'll wait for MX to log out. This is by far the worst part about MX is the log out here. It seems to get hung up on the conky, but killing the conky. I'm not sure why it does that. It's really weird. Anyways, we'll go ahead and down here at the bottom switch to sway Wayland and hit log in. Now here we go. We're in sway. Now, if you notice this looks very similar to I3 and it's meant to it's literally a fork of I3. So if you've used I3 before, a lot of the same stuff is the same. So super enter gets us a terminal super like say we do super V and do super enter again. We get a terminal at the bottom. We do super H and then super enter. That should have worked super H and then super enter. That's still why they didn't work. Huh. I might have got that key binding wrong. That's usually the key binding. No super H gets us back into horizontal mode. And we super shift Q closes these terminals. So we'll actually go find that. Well, so we'll zoom in here. We'll go to CD.config sway and then into the config file. All right. So let's go ahead and see what I got wrong there because it should have worked. We'll go down here to split mod B and mod V. So they changed it from mod H to mod B for some reason. So if now if we do mod B and then do enter and then mod V and then enter and mod B and enter, it does that thing. Why I spawned there instead of over here. I'm not actually sure, but you get the point. That default key binding threw me off, but it's basically the I3 stuff just with a little bit different of a key binding. So like I was saying, for the most part, everything you've experienced in I3 will work in sway. Specifically the stuff with the key binding. So you set variables the same way. You set key bindings the same way. Bind some than the key binding and then the action, just like you normally would. You also go through as far as I can tell, you can go through and start programs the same way as well. So if we went all the way out here to the bottom and started a thing called we did something like exec underscore always. And then we're going to be doing this here in a big in a minute when we actually will go to a different workspace. Let me show you how to set a wallpaper. So we'll open up another terminal and do pseudo apt install sway BG. It might already be installed. Sometimes sway installs it. Sometimes it doesn't. But if you need to, you can go through and run it this way and it has already been installed. So what we want to do here is do sway BG dash I. And then we need a wallpaper. So here's where Wayland is going to mess up with us mess with us for the first time because let's go here to another workspace and open up. This is Wolfie. It basically looks like Roe Fee. If we just type in Firefox and enter absolutely nothing happens like nothing happens. And if we get out of this and open up a terminal and zoom in here so you can see Firefox and start Firefox and thermo was unable to in its server. And that's because by default Firefox does not work with Wayland. I had no clue this was even a thing. Like I got into sway this morning and decided I was going to go find a wallpaper on Wolhaven and couldn't open Firefox. I was like what WTF bro. And you're like so I spent like a half an hour Googling it Googling it Googling it. And it turns out that you have to set a environment variable in order to get Firefox working on Wayland. And I'm going to go ahead and show you how to do that. Even though this has very little to do with sway and mostly just to do with Wayland. I'm not exactly sure why it needs to be like this. But what we need to do is do touch dot p a m underscore e n v i r o n m e n t environment. Okay. And then we're going to them them into that dot p m environment. And we're going to type in this m o z underscore enable underscore Wayland. And then default equals one. Okay. And we're going to rank with this. Now you can also put this in Etsy environment. Actually, I think it's CD up a level and them into environment. There we go. You could also put that here. The first way worked for me the first time I whether or not it'll work for me this time. I don't know. We're going to find out here a second. But anyways, what I need to do now is get out of this. I'm going to actually quit this without saving because I'm not doing anything with it yet. I'm going to pseudo reboot. I'm going to reboot the VM here. And the reason I'm doing that is because I want that environment variable to take effect. I don't think I actually need to reboot, but I'm just going to do it just to be safe. Okay, we're back. And now if we do super D and go into Firefox, it should load hopefully. And it does. As you can see, Rofi didn't or Wolfie did not actually go away. Why didn't go away? I'm not sure. That has to be a bug. Okay, but anyways, we're looking for a wallpaper. We'll look for an MX Linux wallpaper and images. And let's see. It doesn't really matter which one of these we use. We just want to use one. That's actually kind of cool. That works. So this view image as, okay, and then save image. And we want to save that into pictures and save. Now we can quit Firefox, close tabs, open up a terminal. Now we can set it to set a wallpaper. So if we CD into our pictures folder and do an OS, we notice we have that wallpaper. We just download this. We do sweet sway BG dash I and then 64 like that. Okay. Now as you can see, the wallpaper did get changed, but it's actually here running. And that's not a great thing. And actually shit, we can fix that kind of by doing the same thing and putting ampersand at the end. And that would kind of work. It will keep running even if we close the terminal. I actually won't keep running it. Keep running. It did last time. I don't know why it didn't this time. It doesn't matter because that's not a great way to set a wallpaper anyway. So what we're going to do is CD into .config and then sway and then the configuration file. I'm missing my aliases here. And then at the end, we're going to see if this works. This is the way you do it in i3. So exec underscore always sway BG dash dash I and then till the slash pictures. And then we need the name of that CD pictures and OS and then we'll copy this. Okay. And that should work. And we write that now. Let's see what the key binding for restarting sway is. There should be a restart sway key binding here somewhere. Okay. So mod shift C, mod shift C. Now, if we go to here and we have a wallpaper, so it works exactly like it does in i3, which I assumed it did. Okay. So we've set the wallpaper. And now we can go through and change some of these key bindings. So, for example, I want to change the kill command to just super queue. Okay. Got that done. And that works. So mod shift C. Now, if I do super, super queue that quits it. Okay. Good. Now. Okay. So that's good enough. Now, I love how they've gone through and set these variables for HJK and L to left down up and right. That way, when you go through down here and see the actual key binding, they just use those variables. So that is cool. All right. I think that's the only key binding that I actually need to change for me personally. All these rest of these are fine. Okay. So let's go ahead and talk about some of the differences. I can't show you all the differences that are here in practice simply because most of them have to do with multiple monitors and stuff. So, for example, so for example, there's this here, if you have multiple monitors, you'd want to uncomment this and you want to uncomment here and do something like output display port one or whatever your monitors called and then give it the resolution and the position. So this is where sway and whaling do things a little differently. And it's really confusing if you don't know what you're doing because if you go into a X org based desktop environment or window manager and you do say X Rander, just type in X Rander in your terminal, it's going to list out all your monitors and it's going to give you the names of the monitors. For me, it's something like this. It looks kind of like this. I'm not sure what the actual names are. I never remember. But the point is you're going to get names in X Rander and those are the names you're going to be using to set the resolution and all that stuff. If you do the same thing here. So if we go here and do something like this sway MSG MSG Matt and then dash T and then get underscore underscore outputs and do this. This is also going to give you the name of your monitors. The problem comes is that you'll find that the monitor names are different. At least they were for me. Like they're completely different and it's not showing here in the virtual machine. But when I installed this on hardware, the names were completely different. So it really messed with my brain for a little while because I I didn't go through and run this first. I went right here and use the same names that X Rander gave me and did this thing, right? You know, I went through and did this resolution. If I could spell 1920 by 1080 and position night zero 1920 and I did that and it did not work right because the names were different. Now that's one problem. The other issue is that you have to get these positions right. You're going to have to toy with these. There is documentation on how to do that and I will link to that in the video description, but it's not so hard if all of your monitors are exact same resolution. But if they're not, it could get messy. So anyways, that's how you go through and set up the multiple monitors and how you tell Sway where those monitors are. So you have monitor one, monitor two or whatever you have. That's how you go through and do that. And it's totally different from how I three does this because I three doesn't handle this monitor stuff at all. That's always going to be an X org job, right? That's how it works. When you need to set the position of your monitors, the resolution of your monitors, you deal with X org, whether that's through a GUI or through X Rander or a Rander, however you do it. I three has nothing to do with it, but Sway manages that is that here like this. Now, if you've ever used Herbst WM, you'll see that this is very familiar to you because this is exactly how Herbst love does it. So or similar to at least. So if you've used that before, you'll at least know what's going on here. For me, I'd only briefly taken a look at Herbst love and hadn't really ever messed around with it with multiple monitors. So it didn't really met, you know, I never experienced this before. And this was very confusing for me to first found, especially the names, right? So always run always run this output here. If you have multiple monitors and get those names so that you know they're right. Okay. So that's how you deal with multiple monitors. And we'll go back through at the beginning here and comment those back out because I don't need to mess around with it because I'm in a virtual machine. So I don't I'm not you mess around with multiple window managers. The other thing that's different is you'll also notice that the configuration file also handles things like how your monitors go to sleep. It also handles how your input is work with your touchpads and your mouse and stuff like that. It's all done from this configuration file. It's so super weird. Like I'm assuming it's because Waylon doesn't have the stuff built out yet. Like it's not something that works or they haven't figured out GUIs or other ways of managing the stuff that Sway had or at least the beginning Sway had to go through and do this stuff, you know, for themselves. And maybe they haven't taken it out yet or maybe that stuff still doesn't exist in Waylon. I'm not sure, but all that stuff is done right here in the configuration file. The last thing that's different is the bar. Now the bar is where I have the least experience and basically this is the first time I'm looking at it. So the bar is not your typical I three status bar or I three bar or I three blocks. It's none of those things. It's basically a while loop as far as I can tell that's exactly how they do their bar here. So we can actually see the status command while date is this do sleep one done. It's a while loop. So if we go into another terminal here and do man Sway, if I can spell and we go down here at the bottom, we can actually see that we can find another man page. So Sway bar. So what we're going to want to do is to quit man Sway dash bar and we have another man page here. So this is not as great. So like I have a lot of problems with the standard stock I three bar. I never use it. It's pedestrian at best. You can do a ton of stuff with it. Like poly bar is just superior in almost every way in my opinion. However, compared to this I three bar and I three status 93 box are just so much better because you don't have to deal with a ton of complicated stuff. And a lot of people don't know how to use a while loop. Like a lot of people don't know how to use it. It's going to confuse the crap out of them. Now, most of those people aren't going to go through and try Sway. So it's not a big deal, but it's just something to keep in mind. So to do a lot of the stuff here, you're going to have to go through and look at how Sway bar is meant to be, you know, used. And the problem here is that there's no examples. Okay. This is a lot of times with man pages, the really good man pages, they'll give you examples of how things are worked or how things work. And that's not the case here. If we go back to the top, there's no real good example here of how things are supposed to be structured. Like it doesn't say anything really about that while loop at all. Are you supposed to put these options inside the while loop? Are you supposed to execute things like sway bar dash these options? Where do you put these options? It even at the top here, like usually if we do like a if we in a normal man page when you're looking at a command. So if we go to another work terminal here and zoom in and do man LS, we get a way of using this. So this is how you the command and the option and the file, right? That's how you do it in sway. The description is just, you know, a description. It doesn't actually say how you're supposed to execute it. And for them, I mean, for the most part, I found that the sway documentation is actually really good, especially the stuff on their GitHub and their Wiki. It's actually really good. They go through and list out a whole bunch of programs that you'll need in order to replace very popular X or applications, things like Faye, things like D menu, things like scrap, things like pi com, things things like X clip, you know, all this stuff, you know, they have a list of stuff of alternatives that you need to use, right? And they have a great guide on migrating from I three to sway. The documentation there is good. But when it comes to the bar, the bar documentation is subpar. It's not great. And the thing is, I have no clue what to do about it. Right. I don't, there's not a lot here. Like I could go, I've gone through and I've read most of the stuff. But without an example, like, I'm very much a see what needs to happen in order to follow the instructions because it is just the way I learn. And there's no examples here. And it's kind of infuriating. So we're not going to be messing with the bar at all today. Now, so we've talked a little bit now. About sway. What I want to do now is and we, you know, we've configured some of the key key bindings and I've shown you the stuff that this is the same on I three and the same that some of the things that are different than I three. And we said wallpaper. Let's go ahead and do a little bit of racing outside of the bar, at least in terms of modules for the bar, we might be able to change some of the colors. So let's go ahead and do that. So let's quit this and go back here. And let's just go to here, go to here and open up a Firefox. And also know why Wolfie doesn't go away. Maybe it may be Wolfie is not the best solution. I'd probably have to go through an experiment with some of the other options for menus. But obviously it has some bugs. So let's go ahead and what color scheme should we use? Let's go ahead and just do grab box. I know that grab box has all the color codes right here. So let's go ahead and move this to one and scroll down here. All right. And then the background here. Change this to 282828. And I'm assuming the status line is going to be the front color. So we'll change this to FBF1C7. Oops, that was the wrong. Seven. Now if we restart, yeah, that worked. Okay. And then let's see. So that changes that. Now I always forget what the way to disable the title bar in I3 is. It's not what you think it is. So disable I3 title bar. Because you have to set something to zero. This is the one you do it. This right here. Okay. We'll copy this and go up here to the top and go down here. Where are the rules? I guess it doesn't really matter. We'll just put it here for now. Okay. And then we'll write this. We may have to change it to zero. And just get rid of that. And they're still there. So change this to zero. And they're actually still there. So that usually works. That's usually what works for me to get rid of the title bars. But that didn't work this time. This is a way to complete disabled. Come on, Reddit. Yeah, that's exactly what we have. But it didn't work. I wonder if that has something to do with Wayland. All right. It doesn't matter. We'll go to i3waylander.org because there's something here we need. So we'll go to docs and use your guide and then search for colors. If I can spell colors right. Here we go. This is what we need. I'm going to copy this. There we go. Now, what we can see is if this actually goes through and works. Because this is the, obviously we're getting for this from i3. So the border for focused should be why did I close Firefox earlier? Because I had my grove box there. Can I close it? Like a dumbass. Somebody told me that this is not pronounced grove box. It's called grove box. I'm just going to call it grove box because that's the way I've always pronounced it. All right. Here we go. Now, let's see. The border should be like, let's just make it. I know it doesn't really matter. It should be 4934. 4934. Okay. And then, the key buttons are messing me up. I didn't quit at that time. I just moved to another workspace. All right. Let's see what that did. That changed the border color around the title bar. Not around the whole window. Around the bar. So I think we're going to need to go through and do it here as well. So FB 4934. 4934. Okay. And background. B8BB26. Well, it looks really... We did get the... I don't think green is going to work. Change this to something different. Let's change it to that blue 83A. A598. Yeah, it's a little bit better. I wish I could get rid of the title bars completely. I don't know why the normal trick isn't working. There almost has to be something to do with Wayland. Why that would be different, though. I don't know. Let's see. I'm just curious. Oh, you want to... It is Wayland. Because look, normally to get to class, you do something like XPROP, right? But XPROP doesn't work in Wayland because that's an XOR application. So if that's different, it's almost certain that the classes are deemed different, too. A few moments later. Okay. Well, obviously there's no way to get rid of those title bars. Anyways, so there's not much writing that we did here, but we did something. At least to give you an idea of how it would go about the process. And I think my next task, and I'm going to do this after I'm done with this video, is go through and try to figure out how those modules would work if I wanted to add things to the bar. And obviously you'd change the colors for the bar here at the bottom. You do it here in the inactive workspace. Although why it would be inactive workspace is not the active workspace. I'm not exactly sure. Again, you'd have to read the man page and hope that it would give you some ideas. Okay, so that is Sway Winner Manager. And I know this video was like super long, but unedited runtime of this video is almost hours. So I'm hoping that in editing, I can get some of this stuff out. I'm sure I can. So that's not quite so obnoxiously long, but I wanted to go through and take a good gander throughout Sway Winner Manager and get a good first impression of it. So I've now used it for a few hours. I used it for a little while in 1PM and then I did this hour long thing with you guys. And I have some initial thoughts. If you need to use Wayland, this is a good option. I'm glad exists. I can't say and I can't speak to whether or not this would be a stable thing to do because I'm not sure and I'm not convinced that Wayland is ready for primetime yet because every experience I've ever had with Wayland has been a negative one, especially on hardware. So whether or not you install this and have a good time, whether or not you install this and find that there are things that just won't work, for example, removing the title bars. Doesn't seem to work in Sway the same way it does in I3. Finding class names doesn't seem to be even possible in Wayland or at least from the brief bit of research that I did doesn't seem to be possible. So there are going to be some things that just aren't going to work. Now, especially like things like OBS and simple screen recorder and all this stuff, the video capture stuff that I use on a daily basis to make videos doesn't work well in Wayland. So my experience on that end also hasn't been very good. So whether or not you have a good experience with Wayland is probably very much going to depend on what you do with your computer because for a lot of things, Wayland just isn't there yet. So I do think it's good this way exists because like it or not, Wayland's the future. It is. Someday, Wayland is going to be the primary display server for Linux. It's just going to be that way. Ubuntu already uses it by default. Fedora uses it by default. We're going to have more and more distros sipping with Wayland as the default display server or whatever it's called. And it's just going to happen one day and Xorg is going to be relegated to the minority. It's going to be the thing that people use only when they have to. Everybody else is just going to use Wayland. I mean, the vast majority of Linux users never interact with Xorg at all. Really, I mean, like the settings of Xorg is just something that runs in the background and makes their computer run. They never think of it. Wayland will someday become that. And it's rapidly approaching. And the thing about it is, is there are not a ton of Wayland-specific or Wayland-supported window managers. They're just not. There's Sway. There's River. There's a couple other ones that are Wayland-specific, but they're very, very niche. And they're not well-developed. None of them are well-developed. There's a fork of DWM that, as far as I know, is not still developed. I might be wrong about that, but it's not popular because everybody just uses DWM. For someone who likes tiling window managers, that's a little scary because I want to keep using window managers. And if, at some point, Xorg becomes just vastly unsupported and insecure and all this stuff even more than it is now, what's going to happen to our beloved window managers? So it's a good thing that things like Sway exist because hopefully it will kickstart other tiling window managers to get started on supporting Wayland. I know Qtile is very rapidly getting there. They might have actually already have an implementation of it. I know Xmonad is working on an implementation of a Wayland version for them. So hopefully we start seeing the guys behind their Succas software start working on Wayland as well. Somehow I doubt it. We haven't had an update to DWM since 2018 or 2019, something like that. It's been quite a while since 6.2 was released. It might have even been longer than that. So whether or not DWM ever gets updated for Wayland or a fork of it that is actually popular happens. I don't know. So I'm glad the Sway exists. Would I use it? No. Mostly because the video recording stuff that I need doesn't work well in Wayland. So I hope you enjoyed this video. I hope that it wasn't too long. If you made it all the way to the end, seriously thank you. Hit the like button. Hit the subscribe button if you... If there's anybody still watching this at the end, I'd just be astonished if there is. But anyways, thank you guys, everybody for watching. You can leave a comment in the comment section below letting me know if you ever tried Sway. If you want to try Sway. If you ever had a very good experience with Wayland, you can do so. You can let me know in the comment section below. You can follow me on Twitter. At the Linuxcast. This video's been going for so long. The words are just... You know. Follow me on Twitter. At the Linuxcast. You can support me on Patreon. Patreon.com. Slash the next cast before I go. And finally get off from this video. I need to thank my current patrons. Devon, Chris, Esco's Webgen2 is fun too. Patrick, Primus, Marcus, Megalyn, Jackson, I'm tools, Steve, Sid, Thanks for watching. See you next time.