Tiling Window Managers - My 15 Month Journey

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello and welcome back to the otb channel okay today i realized that the channel's now more than two years old just and more significantly for for me it's been 15 months now since uh i sort of swapped over to using tiling window managers so it's high time that i did a mini review and look at the different tilers that i've been using over the last 15 months and give you my views see you after the [Music] intro [Music] okay welcome back so yeah i i've been looking at you know two years into the channel and i was looking back at some of my old videos and when i produced my my first video on i3 and bspwm it was back in march 2020 so just going into the first lockdown and i'm still using tiling window managers and i've used quite a few along the way so i thought what i'd do today is i'd take you through the journey most of them are still on this machine which is my main desktop some of them are configured a little bit more for my laptop that i use in the house q-tile being one as you'll see when i get to the q tile uh review there's a few configurations that i need to change there to get it to work on this system um which is a shame but hey it is what it is you you get the mistakes along with everything else with me um but i'm going to show you what i've still got on this system and and how i got to where i'm at at the moment and i'm going to kind of finalize this by by giving you my views of which tiling window managers i like the best i will say that most of my tilers look very similar to each other because i know what i like i know how i like them to look i've got the key bindings so they're all the same on all of them they're all you know they're all functional so my choices have come down to really what i've learned while i've been using the tilers and how easy and understandable i i found the configuration there's going to be some notable emissions here because uh i don't have the configs anymore i3 an awesome window manager i didn't spend long with either of those um it was right at the beginning of my journey so bspwm is really the first tyler and i also haven't included herb's luft wm because although that's on this machine um that was just a quick look and to be honest it's quite similar to bspwm but without further ado let's go in to the mini reviews or the mini what happened with each window manager and we'll start with bspwm so you should see in front of you now uh my bsp wm desktop not technically the first one that i tried um i did play around with i3 and i did play around with awesome but i didn't save those configs so bspwm is the first one where i've got the config saved and it's still on my system from when i first installed it i do ultimately consider it to be probably the first tyler uh that i used because when i was playing with i3 and awesome i didn't really get into it and the main problem was i couldn't cope with shifting over to key bindings and it's a different way of working uh compared to if you're using a desktop environment but i forced myself to do it with bspw and i stuck with it for a few months and uh i can't believe i produced the video in this back in march 2020 so we're looking at what 14 15 months ago so i didn't realize it was quite like long that i've been messing about with these things but as you can see you know it's it's a pretty straightforward desktop here it's got poly bar uh and and i remember that the thing that took me the longest was messing about with polybar i'm using alacrity on all of my uh tiling window managers and with bspwm it has this weird thing where you open terminals and it's almost circular each terminal gets smaller and smaller and smaller as you go around it but not a problem i only ever use you know a couple of terminals at most so that wasn't a big issue it also had and one of the big pulls for me at the time was it had a system tray with poly bar and for some reason i was wedded to the system tray at the time i don't really know why when you look at it because it's only got you know sound network manager and a volume icon so nothing really i mean i don't use one anymore but at the time i was quite stuck on it what appealed to me about bspwm though is it was pretty so simple to configure the main thing was polybar i mean if i just switch over you have a configuration file uh bspwmrc and your.config file which is pretty simple to be honest um you have your startup uh items here and i'm launching polybar and i'm also launching a script in my bin folder which literally just lists the pie calm and all the bits and pieces that that i want to launch um it also sets up your screens you know what you want uh or which were workspaces or tags if you like you want on each screen and the way i've got this configured it's a dual screen system i have workspaces one to four on the screen that you can see my primary screen i have workspaces five to eight on my secondary screen and then i remember this last line here i had to figure out how to use this bspwm kept messing up the screens the way round they were and for some reason i had to use this little switch i'm not entirely sure what it means the rest have pretty much gone with what was there by default to be honest um i quite like the fact that you don't have to worry about your key bindings within that config you have a separate key bindings file and program called i always had trouble saying this sxh kdrc again it's in your config directory and it's quite understandable it's pretty straightforward and yeah i i i set everything up there so took me a while to get to grips with it and get get everything running as i wanted but the key bindings and the basic config were not a problem the thing that taught me the longest to set up was polybar and i think with polybar it's just a case of you know reading the man page looking at lots of different examples realizing that you've got modules in there that you use and then reference for each screen and i'm not i'm not going into the the nuts and bolts of it but but it took me a while to actually get started but nevertheless get started i did and uh as you can see uh i've got some icons in fact at some point i used to just have straightforward black and white um awesome icons there but at some point i see i've changed them over to uh to color emojis either way you know it looks fine um what else did i do yeah i i i discovered roofie rophie has been something of a constant throughout my journey with tiling window managers um i think it's a great menu system and even when i'm using a desktop environment which isn't very often these days i still use rophi as basically as my system my menu if you like and all work well i'd set up my resolution my screen resolution by by setting a configuration file up in the usr share directory and hooking that to the light dm config i think i've talked about that before so that i've got two full hd screens and i'm defining what is my primary screen and what is my secondary screen what i did do is uh let me just move to my bin directory and i think it's run dot bspmw yeah there we go one of the startup items as well as polypar is just this this bash file essentially which i've got in my bin folder which starts pycom it's not transparent at the moment i've got transparency uh disabled in the alacrity config because it's just easy to see when i'm showing things uh i'm starting nitrogen to set the wallpaper um i'm starting the volume controller i'm starting the network manager applet i'm starting uh per mac per max not actually on this system this week because there was some issues when uh pac-man changed over to uh version six so so that would normally appear in the system tray as well um i'm setting up my uh uk keyboard and i'm starting the screensaver so pretty much that that's that's all it is and uh i really enjoyed it but of course once i've got this sorted and started to get used to it that sort of got me going because then it wasn't enough to to just go back to i3 and the awesome window manager i wanted to kind of move forward and try a bit of everything so can you tell what it is yet well inspector wm and uh this was my well it was sort of my next experiment but actually there were a few false starts uh moving from bspwm i've been watching dt and uh following various channels on youtube where i've seen q-tile and x-monad and i really really fancied trying them i did i quite like the look of the the master and stack uh way that uh the default desktop was configured i like the idea of how workspaces were managed you know that uh you have your workspaces floating across both your screens and the dynamic uh unlike bspwm which technically is a manual tiler although not entirely but uh x monad and q tile are dynamic dynamic tilers and i had a go um at configuring them i think like most people i started off with dts configs but they didn't suit me so i started to play about and and to modify them and uh i failed i could not get those two things going but i saw um a review again i think dt where he was looking to expect to wm and this was almost like uh an x monad clone um but easier to configure so i thought i'd give that a go and actually it was incredibly simple and i stuck with it for a while you can see it's got its own bar it doesn't use poly bar and you can see here that although i haven't got icons on this i don't know if i could put icons on it i probably could but i never actually uh i never actually played with that i've played with different colors and different scripts and commands showing up on here plus the date no system tray that worried me a bit at the time um but yeah i i mean i'm using alacrity again and and you've got your traditional master and stack uh version just as you have in x mode out there so i quite enjoyed using this um how did i configure this it didn't actually take that long uh you have a simple um essentially a text file here uh which is human readable unlike x-monad or q-tile and i didn't find it as complicated to get to grips with as polybar and you basically set up all your standard key bindings in here it's uh it's pretty straightforward there's a very good and very detailed man page and if you look at that you're soon to get to grips with this and i sorted out all the key bindings pretty quickly to be honest one of the things that has always taken me the longest as i've moved to different tiling window managers is getting the bar configured that that that's where you have to get down and dirty and this has a separate bar action dot sh file and essentially the the thing i learned using spec of specter wm was about how to use kind of inline scripts i say inline scripts they're not scripts as such that the commands so we've got the hard disk here up on the bar and there's the command for the hard disk you know i'm just using the men command for cpu you can see i've got a little script script deck there for the net for the net um the the the speed the up and down speed i have actually got a a bash script in my bin directory uh or right yeah in my bin directory i can see there and i'm just referencing that here and then right at the bottom i i've got just a little uh loop here uh so essentially loops forever and i've got all the individual items so so the layout of the bar the thing that took me the longest actually was uh getting the colors there because you can see all the color codes here on the bottom it tells you how to do this in the man page but just just getting to grips with exactly how it happens um took a while nevertheless i was uh i was up and running pretty quickly with it and it does work very much like x monad it's a lot simpler to configure and i was really impressed with it and i think i probably would have stuck with spector wm but of course the draw of wanting to mess around with more tiling window managers hadn't gone away and i kept hearing about these others that were quite you know hardcore and the one that kept coming up apart from x monad and q tile which i'd given up with that failed on them was uh dwm so had to be done so dwm had to be the next project and i've changed the wallpaper to add a bit of variety here but here you can see my dwm screen and yes i know they all look the same my tilers essentially but that's because um i know what i like i know the style and uh i've got all the key bindings set to pretty much the same um so there's not going to be huge differences in terms of how they look but i found dwm surprisingly easy actually to to work with i didn't have to rely on a package manager i i just did a git clone from the dwm repo i did a pseudo make clean install that installed it i created a little desktop file for it in usr share x sessions still using the xr and r file are hooked up to light dm to set my primary and secondary screen um but i i with this i had real problems with uh working with the bar and i can't remember what program i actually chose i had a look at initially i'm i'm just quickly looking at uh uh the system that i have here dwm blocks that that was the initial way of setting up the bar that seemed to be the recommended way of doing it it has its own bar again you're not using uh polybar here it's all built in and i had trouble with dwm blocks it would have been user error i was configuring it wrongly but essentially what would keep happening is the bar would show up but then it would stop looping and and it would just be static so so it stopped working after a while so the big thing that dwm taught me was firstly you have to patch dwm to to add any sort of functionality beyond the defaults and it hasn't got a huge amount of functionality in its default setup and i learned how to patch dwm it's a one-shot thing you only have to do it the once once it's done you can move your your dwm folder from system to system to system or just download it from my git lab that's what i do and it just works you just do then a pseudo make clean install and all is good um and it took a little while to get used to to the patching and i do have a video on that if you want to have a look at the bits and pieces but what undoubtedly dwm taught me more than anything else was it got me messing about writing my own bash scripts which all of these individual items actually uh point to in terms of configuring its key bindings and everything you'll often hear it said that uh dwm doesn't have a config file it only has source code and if you want to change things you change the source code which technically is correct however it has got this file within the source code called config.h it's written in cdwm and actually any changes that you want to make you make to this file and uh once you've made it you have to recompile the thing um but again straightforward takes less than a second and uh yeah i didn't find it that hard to work with to be honest get getting dwm set up the patching was the big thing um so i had to patch all sorts of i think i used about eight patches in total um i can't remember which ones i'd have to go through the list but but i i literally didn't try and apply every patch out there i think about eight patches in total um so that was fairly straightforward the bar um i i simply have uh a whole range of scripts for each of these items and i created one single script to run them you use this uh commander x set root that you'll see at the bottom of the script there that runs each of these variables that i've created and each of those variables talks about a script that i've got in a dwm scripts folder each one that i've written um initially i mean i've changed it a little bit now but you'll see it's set separated and i've got an update script and a weather script and i didn't want these two scripts to run as often as i wanted the other scripts to run because these are all running every five seconds on a loop so i separated it into these two sections and i had one running every hour or however long 3600 seconds is and then the rest of them running there all pretty straightforward to be honest um but it took quite a lot of time to to write the scripts and get it doing what i wanted um right the big problem i had with dwm was actually getting the bar to launch properly and i think it was probably a permissions problem i actually had my path set in my bash rc initially pointing to my dwm scripts directory and it often wouldn't launch i've resolved that by setting my path in the dot profile file uh in my home directory rather than in the dot bash rc and that seemed to solve the problem i think dot profile runs before dot bash rc so i bet anyway whatever the reason it seemed to work pretty well and what i ended up doing as far as a startup is concerned with this is i point the desktop file in usr share x sessions to the original dot init rc file that that is in my home folder which i've got open here and you can see i'm using this as a startup so i'm using pycom uh obviously the pole kit agent nitrogen again to set the wallpaper i'm starting the status bar here i've got that dwm bar script i'm setting my keyboard to gb it's funny i keep having to do that manually with every tiling window manager but it's it's not a huge a huge thing and it seems to work really well as i said i've patched it uh the initial configuration isn't this kind of straightforward x monad style master and stack but it's patched to actually show that i'm just having a look at the patches there so if i go to my dwm folder and i do a list i've still got all the patches here so what have i got uh i've created an autostart folder which in the end i've never ended up using attacher side color correction patch cycle layouts restart the signal so i can do um an in place recompile without having to log out of dwm the rotate stack patch the status all mons i know i think these are colors scripts that are meant to allow you to color the bar the tago tango i can't even remember what that does something to do with the tags and obviously i want my useless gaps so i was using that worth saying here that um it caused me a little bit of consternation dwm because there are patches to be able to get you know to make uh what you're showing on the bar different colors i didn't have a lot of uh success with those i mean i managed to patch but what i found is that uh they had the effect of slowing the system down you know to a crawl so in the end i had to remove the patches what i ended up doing here was using colour emojis which is what you can see here and it was when it was the first time that i started using colour emojis and uh i had to fiddle about um installing a number of uh configuration files from the aur in order to get color emojis to work i'd point you in the direction of luke smith's videos he's gone into great detail on this but ever since then i i did that and i have to say that dwm remains a contender for my favorite tiling window manager and probably up to this point it is the one that i've stuck with the most well the one thing about me is i don't like to be beaten and the fact that i'd failed on uh getting x monad and q tile sorted out was was nagging at me so i went back to them with a little bit more knowledge about how these tiling window managers worked and it took me a while but i finally managed to get my xmo nad working and and configured how i want you can see looking at the bar there again it's using x mobile i'm not using a anything like poly bar and it's set up very much like a spector wm again there's your traditional master and stack i've got everything working uh with the same key bindings and again yeah it looks very very similar um the key to getting x monad configured is this monstrosity xmonad.hs which is is the config file and again i went back to dt's configuration as a starter uh i think most people do that with xmo now because he probably has more knowledge about it than anything else i have lots of libraries and things imported i'm not sure how many of these are are actually required anymore some of them are probably not required and i've stripped out what was uh dt's x mo now to just just have the basics in and to just do what i wanted it to do and it took me a long time uh to get this to work i have to be honest uh but i did manage to get it to work clearly i i like this dynamic window manager and i do like x-monad because it's a dynamic window manager but it's never going to be one of my favorites and that's because i just can't get my head around haskell and i don't want to learn a programming language i really don't it doesn't interest me so if it goes wrong x monad and it does sometimes it tends to take me longer to debug than any of the other window managers and for that reason it won't be my favorite um again the bar took a bit of getting used to and it has a script for each screen and this is what it looks like again it took me a while to get used to i haven't got any uh emojis up here at the moment i'm sure i could include them i've never actually explored it but nevertheless you know it is what it is and uh essentially x x-mode monad was just the challenge i wanted to get it working and i did and uh i then moved on to the next challenge so i've sorted x-monad i move on to q tile and uh amazingly enough i i i think i'd learned so much messing with these different configuration files that when i went back to q-tile i couldn't understand what the problem had been because i found q-tile amazingly easy to configure and i have to say that uh q-tile next to dwm is currently on a par uh my favorite uh window manager um it's uh pretty much you know it's an xmo now clone written in uh not in haskell in python so it has the same master and stack um we have a straightforward configuration file which i really struggled to understand but when i went back to it it seemed so easy and i've actually spent time on my config putting it into some sort of order and properly commenting it and we then have you know all my bar up here i'm using emojis again uh i'm using some of the inbuilt modules with others i'm actually pointing them to uh particular scripts that i've written you know jumping on some of the dwm scripts for some things but for the most part i've been able to uh pretty much use uh what's in built with uh q tile and yet you need to work your way through it um nevertheless i i i find found it pretty simple on the whole so that's you that's your main config file uh for startup i followed the same process as uh i followed with x monad where i was using the dot init r dot x init rc file for startup i just did a copy of that and called it dot qt start and uh essentially deleted the starter dwm bar part of it but everything else is pretty much the same and i found it i have to say uh to be flawless i have i found it to be flawless and i have without a doubt found it to be the nicest and easiest to configure window manager that i've come across um i think the bar is is so easy to configure it's untrue and you know you can even you know make these things all do stuff i can change layouts just at the touch of a button i'm not even sure if i have these hooked up to anything to particular things oh yeah so that just mutes the sound okay i don't know if i've got these as interactive or not i'm i'm guessing not to be honest um i must admit i've been in uh left wm for a while so i've sort of uh not played with q-tile for a while and i must have a look at what i've actually done with this bar but anyway i'll unmute that now if i can can i no apparently i can't right so maybe maybe that's an issue it's a while since i've been in it nevertheless it's pretty easy to configure and uh if you like q-tile but i hate haskell i don't know what's happening there okay i perhaps need to have a think about what i need to do with this but if you like uh x-monad rather but yeah you're not that keen on uh haskell and you you're finding it quite difficult to configure maybe you need to to have a look at this um i've been really impressed with it i've obviously since i've been last using it got a bit of uh sorting out oh no there you go i knew i had some of these that were interactive i just couldn't remember which i've clearly got to sort out this script um it says it's 263 degrees which is clearly wrong um i tell you where i'm using q-tile all the time i'm using it every single day at the moment on my laptop in the house but i haven't been using it quite so much on on this system i've just literally dropped the configuration file onto this system because i played with it and got it set up on my laptop so i need to make some modifications here but uh i will say i i i love this system let's just do one last window manager to take us to where where i currently am and then we'll have a chat okay so finally to the window manager that i have done a video on uh left wm written in rust it's the window manager i've been running on this machine my main desktop whilst i've been running qtile on my laptop hence the reason as i said previously that q-tile isn't really set up for this machine um but leftwm well it's another x-monad clone i've done a video on it i'm not going to go into huge detail i've been really impressed with it it has limited functionality compared to the likes of q-tile and x-monad but as i've already said i tend to strip out uh the things that i don't need um i'm again as always using uh elec alacrity here and if i go into the configuration file left wm let's just have a look at what we've got there um i'm just trying to remember so the config.tom okay so this is this is all you can your key bindings basically which which worked pretty well and i i i've got it you know sorted out to do pretty much what i want it to do and uh i'm really really enjoying it i've got all my standard key bindings you know for the file manager i'll open up uh pc man fm um power spec so if i want to shut down i i've got a little script here um yeah you know that works i'll just go mod x and uh it brings up this uh d menu shutdown reboot or suspend uh what else have i got here uh genie yeah so if i want to bring up a text editor there you go um what else have i got here i'm just having a look my ropey of course yeah so uh what have we got there so show emoji so if i want to copy and paste emojis i got used to not using uh a system tray quite a while ago so you know if i want d menu um there you go you can see d menu or network manager d menu there uh what else have i put in here uh obviously as i said roofies there as it always is and uh let me just shut that down what i tend to use now for volume for sound and let's face it it's only really network manager and and uh volume that you you even need a system tray for i i just use uh a little terminal uh program i can't remember what this is called i will have a look at it afterwards and this pretty much does everything that i needed to do so um let me let me just uh actually have a look i can't remember what i've hooked that up to so if i look in my bash rc uh i'll be able to tell you what the alias is uh pulse mixer so that is uh what i've actually chosen for that so pulse mixer is is the command line uh tool that i use it's made a system tray irrelevant for me even though the likes of q-tile and so on have the facility to add one i just don't bother anymore um i haven't found that i've needed that crutch left wm i think it's coming on really well um i prefer it to x monad because it's really simple to configure uh it's just its lack of functionality that i'd still go for q-tile or dwm over it let's go and have a chat right so uh that was my journey and i suppose there's two questions that come here um have i completely converted onto tiling and i think you all know that the answer to that is yes i didn't think i would initially because i found it really difficult to get used to the uh using key bindings because i was so mouse centric but by forcing myself to do it it feels natural now i mean i'm not completely keyboard driven i use mouse and keyboard but i quite like the way that tiling window managers work i like the way that they they work with multiple screens um it's forced me to actually start using workspaces which to be honest i didn't really use before um it's taught me a lot about bash scripting because i've had to learn it in order to get the the managers to look how i wanted them to look and generally speaking i like them all which do i like more than others well i think i like the um i like all of the x monad clones uh and i i i like x monad but the fact is that i i find it very hard to tweak it and configure it you know there's the haskell thing so i think q-tile is going to be up there as you you know i'll have to say a joint number one because it will be a joint number one because number two for me has got to be dwm i've spent longer with dwm probably than any other of the the tiling window managers and i find it difficult to choose between them um so dwm and q-tile are undoubtedly my favorites but all the ones that i've shown you you know have their strengths and have their limitations and i think they're all worth trying and the fact that i've gone through this process of trying them all it's been a learning process from start to finish and that's how i eventually managed after an initial failure to finally get x monad and q-tile configured because i'd had experience and and a bit of a learning exercise with the other tiling window managers i tried so i'd encourage you all you know if you want to go that route and you want to look at tyler's to feel free to pull down my configs they're all works in progress you know you never finish tweaking these things but they're up there as a starting point if you'd like to have a go right well thanks for watching this video um a little little bit of a mini announcement we're just over two years into this channel and uh we we benefited quite a lot from uh the lockdown especially the first three months sort of april may june perhaps even july of last year when uh my work was suspended and i i was on furlough and i was able to produce you know three maybe four videos a week which had a massive impact on you know my subscriber count and we're now you know above 15 000 which is great so thank you for your support guys i've got to the point though where you know i'm very time poor i work a full-time job that that takes at least 50 hours a week the only time i have to do anything else other than my job is really the weekends and there are a number of things that are causing me to make some choices uh the first one being that we've come off lock down and i i have family and people to catch up with and i want to spend some time catching up with them over the weekends the second thing is i have jobs to do over the winter i lost fence panels from the garden i have to get them put back up i have all sorts of other jobs in the house decoration decorating and all bits and pieces that i need to spend some time on and get stuck in and of course i have my latest hobby my bike and we've actually got some wet good weather now and i i i want to make sure that i i do maximize the good weather and go out on my bike goodness knows we don't get much good weather in england you know it's often a case of weeks rather than months so um there won't be the standardized saturday videos um absolutely regularly on a schedule for a month or two i'll do them as and when i can um but i'm i'm not going to prioritize them for the next next couple of months because i've got other stuff i need to catch up with once i've caught up with it all and the weather turns well we'll get back into a routine but i've got to take some time out now i realize that that has an impact on particularly my patrons so what i've done guys is i have suspended your all of the july payments because it didn't seem fair to me to take money off you if i'm not actually producing videos every week um but it's a temporary thing i just need to get some stuff done um once i've done the stuff well we'll be live and kicking again so um yeah i've thought long and hard about this and jobs that i need to do are piling up and i just have to get them done guys this is a hobby at the end of the day it isn't a job um and to be blunt it doesn't make enough money for me to to worry too much about that side of it um but we will be back hope you've enjoyed this video guys and uh i'll see you when i next produce one not sure when that will be thanks everyone
Info
Channel: OldTechBloke
Views: 7,103
Rating: undefined out of 5
Keywords: oldtechbloke, linux, oldtechbloke youtube, old tech bloke youtube, bspwm, spectrwm, dwm, qtile, xmonad, leftwm, polybar, xmobar, linux tiling window managers, window manager, dwm window manager, window manager config, awesome window manager, window manager vs desktop environment, window manager arch linux, i3 linux window manager, desktop environment arch, spectrwm arch linux, spectrwm configuration, spectrwm bar, xmonad setup, xmobar color, qtile config, polybar linux, polybar rice
Id: bOfPQafxl6U
Channel Id: undefined
Length: 44min 29sec (2669 seconds)
Published: Sat Jun 12 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.