==== Time Stamps ==== 0:00 The one I always come back to 0:29 What my workflow actually needs 1:04 Where DWM, i3 and Xmonad fall short 1:45 1. The best built-in bar 4:29 2. Scratchpads 6:26 3. Python, for better and worse 8:15 4. Wayland support 9:27 5. Logging 11:41 Why I keep coming back 12:50 Outro
So, over the years, I've used pretty much
every window manager you can name, whether
it's Awesome Window Manager, or DWM, or i3,
or Hyperland, or Neary, or Mango WM, or Mango
WC, I think it is.
I've used all of them for some amount of time,
whether it's just to try, or I've spent long
term on it.
But I always come back to one, and that is Qtile.
So, what I want to do today is talk about
a few of the reasons why I still feel Qtile
is the best window manager for me.
Now,
I want to be very clear about this. This is for me.
My workflow is not the traditional workflow of anyone.
I have four giant monitors that you guys can't see over here,
so I have to be very particular on my window manager
and how it handles multiple monitors.
I also like workspaces a lot,
so it has to kind of do the workspace thing
the way that I want it to work,
otherwise it's not going to work for me.
I also really need it to be something
that I understand down to the code.
And there are only a few of them that really match that criteria.
Things like DWM and I3 would match if they did.
...monitors better. With XMonad,
it works with my monitors and it works with the workspaces that I
wanted to, but I don't understand Haskell worth a damn.
So there's a fine line here that I have
to walk and that always leads me to Qtile,
despite the fact that it's written in Python
and Python has its own interesting flaws and personality, if you will.
Let's talk about the positive stuff for the most part,
because that's where I want to
kind of lean into because it's a positive video.
So the first thing that really makes me think
that Qtile is the best for me is that I do
like a good bar.
Now, I've transformed my thinking a lot over
the last few years on bars themselves, bars
and panels.
They have to be somewhat useful.
But they also have to look aesthetically pleasing,
and mixing those two qualifications isn't
always an easy thing to do.
So, I want to have modules in my bar that I actually find useful.
I also want to be able to make them look
the way that I want them to look.
Now...
Other window managers have bars that you can use along with them
and get them to look nice.
DWM has a bar that you can theoretically
do whatever you want with as long as you're good
enough at C, but it takes a lot of finagling to get there.
At least I think so.
I3 also has a bar built in,
but it is very stripped down and usually you just end up
using something like Polybar.
Hyperland and BSPWM don't come with bars at all,
so you have to find third party bars
Whether on BSPWM as Polybar.
Or Quickshell, or if you're on Hyprland,
you use Waybar or something like Dank Material Shell.
You know, whatever it happens to be, right?
Qtile has the best built-in bar by far.
I will argue this until the day that I die.
Yes, it's written in Python.
Absolutely, that's a downside if you don't like Python.
But just let me let you guys in on something.
The whole thing is written in Python.
If you don't like Python, don't use Qtile.
That's just a blatant, simple truth of it.
So yes, the bar is written in Python, but because it is,
and if you do understand a little bit of
Python, you can do so much with it.
In the B-roll that I'm showing, you guys will be able to see
quite a bit of things that I've done,
whether it's the shapes that come with Qtile extras,
whether it's the ability to add colors
to the group bar where the workspace icons are. That's
not something that was native. That was
something that I actually created myself.
And adding modules and all sorts of stuff,
you can actually do so much with this bar,
including make it work very well on multiple monitors,
not something that's very easy with
other bars, whether they're built in or otherwise.
So I think the Qtile has the best bar.
If you care about that kind of thing,
I think that this is a good option for you.
And just like it's a good option for me.
Now, I know some people out there are like,
Matt, I could care less about the bar.
And that's why I'm so excited to be here.
There are times where I don't care about my bar either.
That's why I have a binding that hides the bar.
Very simple, very easy. I just hit it,
the bar goes away on all the monitors. I never see it
again if I don't want it to be there.
So I get the best of both worlds, bar and no bar.
So the next one on the list is probably the biggest one of them all
because I use scratch
pads like crazy. Now, for those of you
who don't know what scratch pads are, they're basically just
windows or terminals, whatever you want them to be,
that live on an invisible workspace that
allow you to bring them up and then push them to the background
so you don't see them. So you can
Hit a key binding, your window pops up, do what you need to do,
hit the key binding again, it goes away.
It's still running in the background, but you don't have to see it.
It's kind of like minimization, I suppose,
in a desktop environment, but I think it's better.
But I use scratch pads all the time for multiple things.
I have two terminals, I have my volume control in there,
my file manager in there, my music player on a scratch pad.
They all just kind of live there in the background.
I pull them up when I need them and send them away when I don't.
Now, Qtile does scratch pads the best out
of any window manager, period.
xmonad is close, but again, it gets points docked
because of Haskell, in my opinion.
But Qtile just does it better than anything else.
Now, you can get very close with DWM.
I will say that.
DWM has some fantastic patches for scratchpads,
but again, you have to add that in.
It doesn't come with it.
Nothing comes with DWM.
You have to build everything into it.
So if you want this kind of stuff in other window managers,
you have to go searching for it.
i3 and Hyprland do scratchpads in completely different ways.
Now, you can get...
Qtile-like scratch pads on them,
but you have to script it in order for them to act that way.
Mostly, I just find this way of working much,
much better than all the other window managers
that I've ever tried. Now, I know I'm very odd in this aspect.
A lot of people don't
use scratch pads as much as I do.
So a lot of people will have one, they'll have a drop-down
terminal, and that will be all they do.
And that's fine, but this is my workflow.
And it works really well for me.
And Qtile conforms to that more than any other window manager,
Now, the next one is going to be a little controversial, I think,
because a lot of people really do not like Python.
I like Python a lot.
It's probably my first language where I've kind
of learned it really, really well.
Now, am I considering myself an expert at Python?
Absolutely not.
When I say really, really well, I mean,
better than anything else
that I've ever learned in terms of programming.
I can do quite a bit with Python.
And one of the reasons why that's important
is because Qtile isn't the most stable of window managers.
Unfortunately, because of Python, it updates a lot.
And oftentimes, those updates to Python libraries break things.
Now, one of the cool things about knowing a little bit of Python
is oftentimes you can go in and either mitigate
or solve those problems.
And I've done that several times over
the course of the last few months alone
where I've had some problems where the bar wasn't actually showing up
Or there was a...
Problem with the monitors waking up and moving everything all around.
I was able to go in and fix that fairly.
I wouldn't say fairly easily.
It was a pain in the ass.
Yes.
At least be honest about it, Matt.
But at least I could go in because I knew a little bit of Python.
Now, I said this was controversial simply
because you do have to have that knowledge
if you want to be able to fix those problems.
For a lot of people,
you're not going to have that knowledge, which is...
you know a legitimate thing that just happens
because most people don't know Python either
they're not developers at all they they've never tried
to learn Python or they're just not
interested in messing around with this kind of thing
and and fair fair right a lot of people
don't want to have to go into the code
of their window manager to actually get it to stay stable
Completely understand that.
For me personally, though, my ability to do so has led me
to make Qtile much more palatable for me long term.
And that kind of makes it easier to come back to when I find
other window managers that aren't quite as able to meet my needs.
The next one is a little bit iffy because I don't use it.
And I know that what you're going to say, well, how can
this be a reason for you to like Qtile so much if you don't use it?
Well, Qtile has Wayland support.
Now, like I said, I do not use it.
But I check in on it from time to time,
and it is progressively getting better and better.
Now, is it at the level of Hyperland
or any of the other Wayland compositors quite yet?
Not really. It doesn't have the ecosystem that Hyperland has,
and it still has some flaws where it's kind of hard to use day to day.
But it's so much more stable than it was even a year ago.
And a year from now, it'll probably be where it needs to be.
At least I think so.
I know they're doing quite a bit of rewriting for the WL root stuff.
So that's going to work better.
They've done some work on integrating portals quite a bit better.
They've made a ton of progress on making this really, really good.
So that means sometime in the future,
I'll be able to continue to use Qtile and be able
to use Wayland.
Whereas the rest of my X.org window manager friends,
Most of you are going to be stuck on Xwork forever.
I at least have the option someday, hopefully,
of being able to move to Wayland if I needed
to.
So that's, I think, really good.
And my last one is probably the nerdiest of them all.
And I mentioned earlier that Qtile
is not the most stable of window managers.
And I'm not saying that to say that it's always broken.
It's really not.
I can, it probably, probably breaks just
as much as any other window manager, but they
They kind of stick out a little bit
more because usually when it breaks it.
Really breaks, but there are times when things go wrong just like
with any other window manager and for me personally
Personally,
Qtile does the best logging of any window manager out there now
a lot of times when something breaks in
your window manager you have to either go into your systemd logs
or you have to go into the minuscule logging of the
window manager itself
If you've turned them on, Qtile just logs everything.
It has its own logs.
It means if something goes wrong with your bar
or with a key binding or something like that,
you can just go into the logs.
It will tell you exactly what went wrong, usually on the exact line.
And like if you are writing something
and you made a mistake typing in a color code
and you can't get your Qtile to reload.
It will tell you in the logs the exact line
that you need to go change and fix.
And oftentimes it'll tell you if you've made a more specific
or code-based mistake,
it'll tell you exactly what's wrong there.
And it will have all the Python stuff
that will show you precisely what you did wrong.
I think it's very, very good.
And it's not something, again, that you get
with a lot of other window managers.
DWM does a good job of...
of logging simply because you have
to recompile it every time and oftentimes
the recompile will tell you what's wrong in the code
but like i said a lot of other window managers you often have to go
spelunking into your systemd logs in order to actually get them
To show you what's wrong and that can lead
to a whole bunch of other problems because
that's filled with errors and outputs from all over your system,
not just your window manager.
So for me personally, Qtile has the best logs
and it allows you to troubleshoot some of those
pesky issues when they do in fact crop up.
So for me personally, guys, Qtile is just very,
very good. And because I can go in and fix those problems when they do.
pop up. It has been stable for me
because I've been able to fix those things.
So just to wrap this up, Qtile
is the window manager that I come back to
the most often. It is just a fantastic piece of software.
And I don't know honestly what I'd do without it because I like,
I do like hopping to different
window managers.
I like trying other ones, things like Awesome Window Manager.
I don't care for Lua all that much,
but even if I could get past that, which I've kind
of learned to a little bit, it's still just not my cup of tea.
i3 is really, really good.
But again, it doesn't do the workspace
or monitor management like I want it to.
Now, you can script your way out of that,
but it's still kind of janky, very, very hacky.
DWM, kind of the same.
It does a specific set of tags per monitor,
and that's not the way that I want things.
I want one set of workspaces on all my monitors
that kind of can be moved around as much as I want.
And again, on DWM, you can get that to work that way,
but it's very, very hacky.
Every time I do go to another window manager because,
you know, I get bored or I just
want to try something, I just find myself missing Qtile.
So I always come back here
and it's the one that suits my workflow the best.
That's it for this one.
If you have any thoughts on this,
you can leave those comments in the comment section below.
I'd love to hear from you.
You can follow me on Mastodon or Odyssey.
Those links will be in the video description.
You can support me on Patreon at patreon.com slash linuxcast.
There you'll find a weekly exclusive podcast
that I put out for all my supporters.
Basically, it's just me sitting in front of this microphone
for about 15 minutes just yapping about whatever comes to mind.
I think the last two have been about my music discovery.
You know, journey and coding some ways of doing some music discovery.
And I talked about my monitors.
I got a brand new set of monitors and they're awesome.
I talked about that on the Patreon pod.
So if you're interested in hearing me talk about stuff like that,
patreon.com slash Linux cast
or the YouTube membership stuff down below.
Thanks to everybody who does support me on Patreon and YouTube.
You guys are all absolutely amazing.
Without you, the channel would just
not be anywhere near where it is right now.
So thank you so very much for your support.
I truly do appreciate it.
If you would like to support me, again, Patreon, or you can have...
You can head over to the store where you'll find hats
and t-shirts and stuff like that.
That's at shop.linuxcast.org or linuxcast.store,
whichever one suits your fancy.
So, thanks everybody for watching.
I hope you have a wonderful day.
I will see you next time.