 One of the main topics for my YouTube channel has always been window managers since starting the channel I've probably lived in about 15 different window managers and There's two or three of those window managers that I've tried that in the back of my mind I've always known you know what I didn't really spend as much time in those window managers as needed I'd never really dived as deep into those as I needed to and never really Showed you guys on camera the power the full power of those particular window managers and one of those that I've always known I got to go back and give a second shot at is herbs look WM Which when I tried it out for the first time a couple of years ago I thought it was fantastic, but I only lived in it like a week or two And the reason for that is because I bought a new computer So I installed herbs look on my old production machine at the time I bought a new computer and when I got my new computer in I Distro hopped I switched Linux distributions and I also hopped to a different window manager at the time So it you know, I've always known I need to go back and really spend a little more time in herbs Look give it the proper treatment it deserves here on camera because I I was really impressed with it I thought it was one of the best tiling window managers as far as Ease of use as far as getting into I thought the configuration was just dead simple and it's so easy to get herbs Look to do exactly what it is that you want it to do So let me switch over to my desktop here and I'm gonna open up a graphical file manager here so I'll open up Thunar and The config file for herbs to look should be located in dot config Slash herbs to look WM and then you should have a file in here called auto start Or if you don't you need to create one that is your config file and let me open that config file You know what? I'm gonna open it inside doom emacs So let me open up my herbs to Luft auto start file and I've got it zoomed way in here So you guys can see let me zoom back out a little bit. That's kind of gigantic font there That's more reasonable now one of the interesting things about herbs Luft is it's somewhat similar to BS PWM Actually, it's similar to BS PWM in a lot of ways both herbs Luft and BS PWM Or what I call manual Tyler's meaning you decide where the next window is gonna open on the screen rather than you have these Automatic layouts that are already pre-configured now. I prefer The pre-configured layouts of a dynamic Tyler dynamic Tyler's include things like DWM awesome X-mone ad Q-tile I prefer those kinds of tiling window managers. That's part of the reason why I never spent that much time in Herbs Luft WM, for example, it's not my kind of window manager BS PWM is the same I3 is also the same and not that there's anything wrong with those. It's just everybody has preferences I prefer the dynamic Tyler's another similarity of herbs Luft WM and BS PWM is the fact that their config file is a bash script or a shell script or It can actually be anything you want most people are going to configure it as a shell script Most people configure BS PWM as a shell script the same thing with herbs Luft But it doesn't have to be I could very easily rewrite this config file and instead of doing it as a bash script I could actually rewrite it as a Python script. Oh really within a few minutes I can probably rewrite this config file as a Python script if that's what I preferred to do I mean matter of fact I could probably just rewrite it in a school if I really wanted to do that now I wouldn't want to do that because a lot of you guys use my configs and you know If I rewrote it in something just crazy off the wall like Haskell, you know Some of you guys would be upset so I would never you know do anything if I was gonna do a herbs Luft config I the only thing I would consider if it wasn't shell scripting would be Python But the config file is very simple when you go grab a default config Most of this stuff actually here in my config is many of the defaults. I changed some of the key bindings I added a few variables of my own the main thing is this particular file is called auto start So it's hey, what do you want to launch when the window manager first loads? And one of the things you want to launch is X set root. This sets your root window It also tells the root window that sets the color of the root window Pi com is my compositor. So that sets Pi com to start so I have transparency and shadowing and things like that helps prevent screen tearing It's good to have a compositor running on your standalone window managers I also have nitrogen dash dash restore Set here and that's of course to draw my wallpaper because you know, everybody wants nice wallpaper on the screen So that's what I'm using to draw my wallpaper then, you know, I set some other Variables, this is just for me. This was not originally in the config But you know, I went ahead and set mod to mod for so every time I have mod and appear in the config It's really mod for which is the super key and the reason you set a variable for mod is because if for some reason You want to change from the super key to like the alt key for some reason because sometimes, you know I'll try out tiling window managers and VMs or in Zephyr and you would have some conflicts if the Tiling window manager you're using on the host machine has the super key as the mod key and the VM has a tiling window manager Also using the super key you'll have some weird conflicts So sometimes you'll want to change the mod key and one of those tiling window managers And you don't want to go and change a hundred different instances of mod for in this config because that's what all of these would be No, you just mod equals mod for and if you ever need to change it to the alt key You just change mod equals mod one and now mod every instance of mod in this config is actually the alt key And that way it really saves you a lot of time if you ever have to make that change Some other things I like to set and all of my window manager configs I usually like to have a variable set from my terminal in this case I set my term equals alacrity the alacrity terminal and then I also like to set my Preferred text editor which right now I'm using emacs. So I set my editor to the emacs client So that's the when the emacs daemon is running the emacs server My emacs starts as client windows now one of the interesting things with herbs Luft is if I actually switch views here so I have a triple monitor setup and one of the really cool things that herbs Luft is able to do that a Lot of other tiling window managers they're able to do to but sometimes you have to jump through some major hoops to configure it this way is your monitors as far as Monitors and screens and that's not necessarily always the same thing when I talk about monitors versus screens When I talk about monitors, I'm talking about physically. I have three monitors But when I'm talking about screens, I don't necessarily have to divide up the three monitors into three screens I could have three monitors, but I could have Six screens. I mean I could have where monitor one is actually really two different screens You know, you can do that kind of stuff with herbs Luft You're not limited on, you know, how you divide up the screen now on a multi monitor system It makes sense every monitor to be it's on screen So that's what I did in my config if I actually go down toward the bottom of my config Let me capital G here and do me max to get to the bottom of the screen You see I set my monitors here how you do this is you set the monitor resolution And I did 1920 by 1060 and you're gonna say well, shouldn't that be 1920 by 1080? Well, I left 20 pixels of screen real estate for poly bar at the top of the screen so that's why all of my monitors are set to 1920 by 1060 and then the position that they're on the screen and Zero plus 22 is the first monitor 1920 plus 22 is the second monitor and 3840 plus 22 is the third monitor So that is how you set your monitor resolution plus what screen they're on here in herbs Luft Really, I could divide that up any way I wanted to Now it doesn't make sense again on a multi monitor system You're most people 99% of the time are just gonna want each monitor to be its own screen But what happens if you only have one gigantic monitor? You know one of these gigantic ultra-wides that have become very popular You know you got a 47 inch ultra wide monitor having that thing as one screen makes no sense Right really you probably want to divide that up almost like it's a triple monitor setup and how you do that Exactly how I did here you just divide up that one monitor and whatever kind of chunks you want And that makes a lot more sense Then trying to have that gigantic almost TV like monitor as all one workspace because really it's not going You're not gonna be happy with that kind of setup You really want to divide that up into two probably three different screens depending on the size of that ultra wide Now I had mentioned that I was using poly bar as my panel here in herbs Luft now by default I think if you are Just using a standard default config or if you're not if you don't create your own config at all Herb's Luft assumes that you're probably using the Dzin panel DZ En and I have used the Dzin panel in the past and years past on other window managers It used to be kind of common for open box users They used to use the Dzin panel, but you guys know in my open box configs I like the tent to panel so I didn't have Dzin already installed on my system when I installed urban Air's Luft, but I did have poly bar because I was using poly bar with other Window managers. I was using poly bar and I3 I was using poly bar and VS PWM So I was like, I'm just gonna use poly bar and poly bar works just fine For my panel you see at the end of my config I have this section here find the panel and all it does is run this shill script You know panel equals and then the path to this shill script panel dot sh that launches my poly bar With the modules that are needed and the poly bar modules that are needed to you know Correctly name the workspaces and the x-window title and then the widgets here to the right speaking of workspaces Let me get back to the triple monitor view here. So what are you guys are viewing here is? monitor 1 on workspace 1 and Then monitor 2 that's got emacs open is on workspace 2 and then monitor 3 is actually Right now on workspace 8 that is my workspace dedicated to OBS and recording video as usually where all that stuff gets pushed so I got three different monitors, they're on three different workspaces and All the workspaces are shared amongst the monitors. So you only have one set of workspaces So in a lot of ways I like that because that is very similar to the way X-mone ad and Q-tile Do workspaces and you guys know those are my favorite window managers I spent I spent years in X-mone ad and Q-tile both And so I really like the fact that herbs looked is like this that it only has the one set of workspaces And they're shared across all the monitors and it does do the swapping So if I'm on workspace 2 on monitor 2 right now if I wanted to switch to workspace 8 Which is currently on monitor 3 watch what happens? You know they swap places So monitor 2 now becomes workspace 8 and because Workspace 2 was on monitor 2 it actually goes to monitor 3. I hope that makes sense Let me switch back monitor 2 to workspace 2 and you once again you see the workspaces they just swap monitors and That can be kind of confusing to people that are not used to using window managers that have that kind of Functionality I'm used to it though and I prefer that that's the way I like Multi-monitors to work as one of the reasons why I've been such a big fan of X-mone ad forever It's because it's one of the few window managers that really does that There's a couple others Q-tile is one inspector WM is one going back to the dead simple configuration fall so herbs looked has a command line function called the herbs to client or HC for short and what you do is in the config file you call upon that particular program HC and then whatever you want HC to do for example I want HC to run this command key bind and then the key binding and then the command for the key binding so HC key bind mod shift Q quit. What does that do? It makes the herbs to client Key bind mod shift plus Q to run this command quit which is quitting out of herbs left WM I hope that makes sense and that's all you need to do for your your key bindings is HC key bind then the key binding and then the command to actually run for the key binding and You know some of the other key bindings include things like swapping focus of monitors and windows And it's all done with hjkl the Vim motion keys I also set it to also use up down left and right if you want to do the arrows as well either one works of me personally I always use hjkl, but I like adding the double key bindings so that the arrow keys also work for those that go and grab my Config later and want to use the arrow keys now I mentioned earlier that herbs looked is a manual Tyler and what I mean is where is the next window going to open? On this screen. I'm actually not sure so I'm going to open a terminal and Looks like by default it's going to open at the bottom So let me close that terminal super shift C will close the terminal for me now I can tell herbs looked exactly where I want the next window to open So if I go down in my configure you see HC key bind mod you splits the bottom and then HC key bind mod Oh splits the right so mod plus you Splits to the bottom mod. Oh splits to the right. So if I do mod. Oh right now You see I have an empty space to the right of the window that I was on now if I do super L To actually move over to the right You know I'm actually in that empty space and now when I do super enter to open a window or to open a terminal I'm in that empty space and then I could do mod you to split to the bottom And then I could do mod J to go ahead and move down and then I could you know run something I might be a D menu and then open something I don't know. We'll just open up Thunar again since I opened it earlier and to close that window super shift C Now I still have the empty space that I had created before mod R would remove that space Same thing here I could close that window and then I still have the empty frame here It's waiting for another window to be put there or I could just mod R to get rid of the empty frame Workspace names. Let's talk about that. So they're really tags not workspaces and the tag names. You see I gave them actual names The same names I give my workspaces and next mode add and awesome and cutile and everything else And then the tag keys now. This is the key binding. So mod plus one through nine mod one through nine controls The nine workspaces that I listed and tag names and because this is a shell script I mean, I could get creative here. I mean, I could have these names Dynamically created if I wanted to in some way I'm really the skies the limit what you can do with with a script with a shell script or a Python script for me I just want to have nine workspaces all the time the same nine workspaces So I really didn't do anything too cute here looking a little bit further through the config You do have some theming options as far as colors border colors by default There is a frame around the entire monitor of the entire screen now I turn that off because I don't always want a border around my windows I don't want a border around an empty workspace and that would be how it is by default I also don't want to border around a single windows. I just turn of the the borders off You know, I only want the border around the window with focus if it doesn't have focus I don't really need it So let me open up a terminal. I'm gonna zoom in here And I just want to show you the man page for herbs. Love WM because herbs love WM Probably has the best man page of any window manager. I've ever seen it's I'm gonna page down It's a lengthy man page But it is well organized and well written very clear Instructions like this every single thing that's listed here is an option that could be put in your config for example and It makes configuring herbs. Luft just a breeze because you don't have to go Search through a million pages of documentation on some website and look for all these extra modules and extra libraries You have to add to a config You just open up the man page because all the extra options and everything are already kind of built into herbs Luft all you need to do is add it to that auto start script that you're writing You know the shield script or whatever it is you're writing it in Python or any other language So I started playing with herbs Luft again about two nights ago Yeah, I logged back into it for the first time and forever and I was like, yeah This is nice. This I remembered really liking herbs Luft and when I logged back into it a couple of nights ago I was like, you know what I'm gonna stay in it I'm gonna stay in it a while at least another week or two like I did the first time around maybe a month I don't know. I may not stay in it full time like and you know You I'm always logging into different window managers and things but for the most part I'm gonna try to actually do my work, you know The work I do that I spent hours a day doing like the content on the channel I'm gonna do all that using herbs Luft WM just to get acclimated to using this particular window manager because I For one thing I think it deserves attention I don't think this particular tiling window manager gets the attention that so many others get right I3 and BSPWM They're very popular window managers. They get a ton of coverage But you know, there's other tiling window managers out there that I think don't get the same kind of shine And I want to highlight some of them and herbs Luft definitely deserves the coverage now before I go I want to think a few special people I want to thank Michael, Gabe Haplow, Nate Corbinian, Mitchell, Entropy UK, John, Arch5530, Chris, Chuck, DJ Donnie, Dylan, George, Louis, I'm Repaul, Robert, Sean, Tobias, and Willie. These guys, they are the producers of the show They are my highest tier patrons over on Patreon. I also want to thank each and every one of these ladies and gentlemen This is all my supporters over on Patreon because this channel is supported by you guys, the community If you'd like to support my work, you'll see DT over on Patreon. All right guys. Peace