5 Things BSPWM Does Better than i3wm

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
i3 and bspwm are two of my favorite tiling window managers i3 was my first tiling window manager and bspwm was something that i used a little bit later on over the last couple years i've used many tiling window managers and these two still remain two of my favorites between the two of them if i had to choose i would probably choose bspwm and there are a few reasons why now before i jump into five of the reasons why i think bspwm is just a little bit better than i3 i do want to say that if you're a new tiling window manager user i3 should be your choice and there's really only one reason why that reason is documentation i3 has the best documentation you'll find of any tiling window manager out there bar none i've never seen one with the documentation like i3 does so definitely if you're new to tiling window managers try i3 first because that documentation is just so good but if you're at the point where you're trying to choose between these two window managers i think bspwm might be the best choice for you and i think there are five reasons why so let's go ahead and jump in the first one is the configuration file now the configuration file of bspwm is a bash script and that's one of the reasons why i really like it now if you look at i3's configuration file you'll see some really weird syntax now it's fairly user readable it's not actually like c plus plus or any of that kind of stuff so it's not like you have to learn like an actual programming language in order to do this but it has its own syntax and the problem here isn't that it has its own syntax because obviously you know bash has its own syntax as well the problem here is that you're not going to find this anywhere else it's just here in i3 there are a couple others that use this very similar kind of layout but it's not anything that you're going to be familiar with out of the box it's just i3's syntax it's you know it's not written in python or anything like that it's just the way this is and that's fine and you can learn it very easily but it's not as maneuverable as something like bash so if you look at the bs pwm configuration file that i have open here on the screen you'll notice that it's actually just a shell script now this is actually a shell script you could run this as a bash script as well but basically all this is doing over and over is calling a certain program bspc bspc and bspc is the program that runs bspwm it does all the things like moving the windows around setting the default settings changing the gaps changing the split ratio changing the screen layout changing the colors it literally does everything now the great thing about that is that means you can actually go through if you want to and do man bspc and it will actually show you everything you can do with bspc this man page is almost a thousand lines long so it could take you a while to go through and the great thing about it is like i said there's just a ton of stuff that you can do now i3 does have something similar to this called i3 msg but it's not quite as functional and quite as useful at least in my opinion as bspc is so that's one of the great things that i like about bspm the best is that it's written in shell scripting and you can do just a ton of stuff with it through this bspc command so the second reason why i prefer bs pwm over i3 these days is because i've come to rely on a program called sxhkd now you can use sxhkd in any tiling window manager you want including i3 but sxhkd was actually developed to go with bspwm it was developed by the same developer and it's the only way you can do key bindings within bspwm without using some other third party uh key daemon thing uh but it's really meant to be used with sxhkd and that means that all of your key bindings are actually managed in its own in their own files so if we go into if i do an ls here and do cd into sxhkd and vim and sshkdrc this is where all of my key bindings are done and as you can see sxhkd is very very maneuverable in terms of what it can do it can do key chords like i have set here it can do just regular key bindings and i have it for several of the applications and stuff that i start all the time but also if we scroll down here we can see that it uses bspc which we just talked about to do a ton of stuff with bs pwm as a matter of fact it does everything for bs pwm in terms of moving windows around choosing where your next window spawns quitting both the windows and bs pwm itself basically everything and all that stuff is done in this one file now now why is this better than i3 if we go back to our i3 configuration file here we'll see the way i3 does their key bindings now this isn't a bad way of doing it key bindings but this is all done from within the configuration file and it uses its own syntax which is fine but it's not as maneuverable as sxhkdh as far as like no you can't do a key chord from within these bindings here you would have to use something else and everybody knows i love my key chords so this is kind of was a no go for me but also these key bindings are solely for i3 so if you are just using i3 that's fine so but if you're like me and you switch between i3 and bspwm getting those cube bindings synchronized is could be kind of hard so the great thing about essex hkd is you can take those key bindings with you by just starting up sxhkd every time your window manager starts up that means that you can always have your preferred key bindings with you no matter where you are now it's not the greatest thing if you are using something like dwm now i use sxhkd with dwm but dwm doesn't have any cool command line tools out of the box at least that'll allow you to go through and you know move the windows around or anything like that so any of the extraneous stuff like bspwm here has the bottom for moving windows around isn't in dwm but that doesn't mean that sxhkd can't be useful because it still gives you all or it still gives me all these key bindings that i use every single day so that's why sxhkd is great is it's kind of you know transferable i guess is the way you say it i also like to have the configuration files separated it feels more organized to me instead of having all the stuff in one configuration file i can go through and change a key binding in my sxhkd file restart sxhkd and not have to worry about reshifting around the window manager itself i don't have to go through and restart the window manager or anything like that and while that's not a huge deal i just happen to prefer it this way it feels more organized in my brain so that's the second reason why i prefer bspwm over i3 these days the third one is uh very subjective i mean they're kind of all subjective but this next one it is definitely the most subjective out of all these by default bspwm does not come with a bar so if you look at the top of my screen here you'll see that i have a bar now i'm a bar guy i always have a bar so the fact that i3 comes with the bar is not a big deal but the pain comes when you have to switch to a different bar now it's not really all that painful but really you still have to get rid of it it's a process that you have to go through it's just a matter of commenting a few lines out and it will get rid of it but it's an extra package that comes with i3 which means it's going to be on your system forever and ever even if you're not using it and it's there now there's no reason why you can't just use the bar that's built into i3 you could do that but if you want to use something different or if you want to get rid of it you know all together you that's a process you have to do now with vspwm i like it coming with no bar simply because it allows me to choose i can go through i could choose polybar which is what this is like i could do something like lemon bar i could do the tint two panel if i wanted to i could probably get x mobile running if i wanted to if i wanted to you know murder myself with haskell i could definitely try to get that running it would probably fail because haskell hates me but you know whatever the point is with bsbw you have choice right out of the box with i3 there's extra steps you have to go through in order to get those choices it's not a big deal i guess but it is what it is the fourth reason why i think bspwm is better than i3 is because it allows you to go through and choose where your window is going to spawn in a way that is better than i3 does it so both i3 and bhpwm are what we call manual tiling window managers and by that basically all that means is that you get to choose where your next windows spawns in i3 you can choose vertical or horizontal spawning and that's really really all the control you get you can choose whether your next window spawns you know vertically or if it spawns horizontally below it's not a ton of control it's fine but it's not a ton of control with bspwm you get a ton more control and it's called pre-selection now i'm not i honestly don't use pre-selection all that much but it's still really cool so what do i mean by pre-selection basically what this does is allows you as the name implies to pre-select where the next window is spawned so if i do super control i it will pre-select that area for my next window so if i hit super enter it will open up a terminal in that space okay so i can go ahead and quit this now if i hit super control u it pre-selects that part and if i enter open up say firefox i could get firefox to open up in that portion of the screen there and then i can just go or i guess that's cute browser in this case but we can quit that as well uh same thing with super con troll and oh that will do the upper portion of the screen and if i want to cancel i can do super control space and there's another one super control and p that will do that side of the screen of or this side of the this you know the stack and as you can see that's really powerful you can literally choose anywhere on the screen you want your next screen to spawn and that's awesome and that's pre selection now you don't have that amount of control in i3 in i3 and i will try to show a video of this uh in the you know as we're as i'm talking in i3 it just goes through and spawns it either to the left or to the bottom and you can choose back and forth but that's literally all the control you have now maybe that's all the control you need but it's really nice to be able to go through and use these key bindings to literally put the window anywhere you want so the last reason i have for you today is that there are several built-in things into bspwm that i3 requires forks for and what i mean by that is that for example let's say you want gaps so in this case i have gaps here they're not huge gaps or anything they're just some gaps by default the standard branch of i3 does not have gaps at all you can't put it in there now i i've read that they're changing this and maybe they have already changed this i don't think that they have but this as far as i know the stock i3 just does not have gaps you actually have to download a fork of i3 called i3 dash gaps in order to get this and i3 gaps isn't actually in a lot of repos it's actually something you have to build on things like a debian and ubuntu so you'd have to go through an even further step in order to actually get gaps now not everybody needs gaps or wants gaps but it's still a feature that a lot of people enjoy including me vs pwm has this built in from the start so you can go through and change a ton of stuff like gaps that you can't do in i3 so let's change our gaps here to 20 and we can change also the split ratio to 55 and basically what that will do is allow the one side of the screen to always be 55 of the screen by default so let's go ahead and write this and do super shift r and as you can see our gaps got bigger now and if i spawn another window it's not as noticeable as you probably would expect but this side over here is 55 of the spawnable space and you can change that to whatever you want now by default i have no clue how you would change the split ratio in i3 it's possible that it's built in and i've just never found it i've never thought to look but things like gaps for sure aren't built in and that just means that that's one extra step you'd have to go through now again that's not a huge deal but again it's just something that is here by default in bspm that is not an i3 those are my reasons for preferring bspw now i don't think that no matter which one of these you choose you could choose wrong i think they're both excellent window managers and everyone has their own preference i think that no matter what i will still switch back and forth between i3 and vspwm for a long time because i like switching between kyle and window managers i just do it's it's a it's a habit i've formed but whatever other people who stick on one thing prefer i3 there's no problem with that there's no problem with bs pwm if that's the one you choose for me personally these were just some of the reasons why i happen to prefer bs pwm over i3 so in the comment section below let me know which one you prefer and why i would really like to hear from you before you go make sure you hit the like and subscribe button if you haven't already it really does help the channel we're getting really close to 4 600 subscribers which just continually blows my mind so if you haven't hit the subscribe button yet make sure you do so you can find more of this awesome content on the channel if you'd like to follow me on twitter you can do so at the linux cast you can support me on patreon at patreon.com linuxcast before i go i'd like to take a moment to thank my current patrons devon chris east coast webb gentoo is fun too marcus maglin sven jackson knife and tool joshua lee mitchell arts in american camp and jdog we have j we have a new patron and uh he has a name that i can't pronounce so we're just calling him j dog and he gets an emoji because i can't pronounce his name so don't feel left out all the rest of you because i can actually pronounce the rest your name thanks everybody for your support i'll see you next time [Music] you
Info
Channel: The Linux Cast
Views: 2,774
Rating: 4.9240508 out of 5
Keywords: linux, open source, apps
Id: 5v3-hPP2T94
Channel Id: undefined
Length: 16min 52sec (1012 seconds)
Published: Mon Sep 20 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.