Hacker News new | past | comments | ask | show | jobs | submit login
Qtile 0.5 released – pure Python tiling WM (github.com/qtile)
72 points by tych0 on Nov 11, 2012 | hide | past | favorite | 33 comments



http://www.qtile.org/ is a more useful link than a commit diff


Nice to see the project is not dead.

Edit: I am sold, awesome job. If you want to try out, check http://docs.qtile.org/en/latest/#installing


Wow, it looks great. xmonad got me hooked on tiling WMs but I had to switch to i3 because my haskell-fu sucked. At first it did not bother me and I was content with jgoerzen's default config plus a few minor tweaks. As I became more knowledgeable about xmonad it was obvious that my haskell handicap was preventing me from achieving the workflow that I wanted.

The one thing that worries me is the xrandr support borked[1] bug. Can anyone comment on xrandr and qtile?

[1] https://github.com/qtile/qtile/issues/32


(Author of said bug and ratiotile layout, and battery widget). Nope, not ideal, but I've been using qtile with multiple monitors for 3+ years now.

Restarting qtile isn't that bad though because you don't lose your windows, just the layout of them. And because I have my most common layout first, it turns out not to bug me.

For me it just feels right[0], even with its warts. I'm glad Tycho and others are pushing it forward! I miss it everytime I use a mac or other machines. Plus the kids think at my child's elementary school think my computer is "awesome"! :)

[0]- http://hairysun.com/About/


It looks like if there is a problem, you can restart qtile and be OK. Also, you might be able to get away with setting your monitor configuration with xrandr before starting qtile.

If you like tiling and multiple monitor support, I suggest you check out Wingo. [1] It's a hybrid window manager written in Go, and configured in simple INI-like files.

Disclaimer: I'm the author.

[1] - https://github.com/BurntSushi/wingo


That's a good point - you can script saving/restoring your windows, do your xrandr stuff, and restart qtile and it should work just fine. Admittedly not ideal, though.


I can comment to say that nobody has really looked at it, so it's unfortunately probably still broken :-(. Patches are definitely welcome, though!


Criticism: I'll note that after reading both the README and the copy on the frontpage of qtile.org, I still don't know if this is for X11, Windows or OSX. I assume X11, but it's not really explicit.

[ Note: the screenshots give it away, but you have to click first because the thumbnail screenshot on the front page isn't big enough to tell. ]

That said, it's nice to have a tiling WM in a language I know well. I've fiddled with XMonad in the past, but have a very thin knowledge of Haskell (a few times I've tried to do complex things and muddled my way through using the compiler as my guide).


It mentions XCB in the overview, which gives it away as X11 pretty well (at least it did to me).


I don't think that everyone that knows about/uses X11 knows what XCB is. I didn't off-hand. I knew that there were C bindings for X11, but I didn't know they were referred to as XCB.


Hmm, ok. I guess I hadn't even really considered that this was a mistake people would make. Thanks for the input!


Are there tiling window managers for Windows or Mac?


They are not true window managers, but IIRC there are at least 1 or 2 programs that allow you to do a limited amount of tiling on OSX. I could see someone writing a program for OSX that listened for window events and did resizing, and then calling is a 'tiling WM' since it was modeled after such for X11. Maybe that's just me over-thinking.


can someone explain what the advantage of a tiling wm is? here people talk about not using the mouse, but i don't use the mouse with kde most of the time (maybe i am already "tiling" as as i have my xterm and browser side-by-side, or an ide window that's full screen, and simply alt-tab).

also, when i look at tiling wm screenshots, they often look terrible, with things like huge clocks, apparently because of horizontal/vertical stacking. are there any that are flexible enough to look attractive?

finally, can i still use applications like amarok (the kde music player) in a tiling window manager? what about all the kde infrastructure for sound management (phonon etc) that amarok depends on? what starts that? does the tiling window manager run in kde?

sorry for probably clueless questions. have used linux/x for decades, but always with a "normal" wm.

update - this seems to have some answers (not great - i am starting to think it's mainly a group signalling thing, which is cool - i am writing this wearing a band t-shirt..) http://superuser.com/questions/52082/why-use-a-tiling-window...

edit: another q - how do things like vms work? is there some way to integrate windows from a vm?


It depends on your usage patterns. I found myself having tons of slightly overlapping windows, and that I was using the mouse too much to rearrange and move them. There are other "solutions" to this problem, but tiling seemed like the right one for me.

Tiling allows me to quickly max/min windows, quickly change desktops, and layout the apps I want. Is it the one true way? No. There are others means to that end.

If you are referring to my video of clocks, that was a test case for 4 monitor support. Yes xclock looks horrible in tiled fashion, but it is an app that tends to be installed so and thus gets used in tests.

I use kde apps in qtile all the time. It is just a wm and can replace metacity or kdewin if you please.

YMMV and you should use what you feel most productive in. I used KDE for years, then Awesome, and preferred hacking qtile in Python rather than Awesome's Lua.


> also, when i look at tiling wm screenshots, they often look terrible

the explanation on the rat poison page http://www.nongnu.org/ratpoison/ probably says everything about that.

tilers are not for decoration, they are for functionality and performance. there is an option to replace xfwm with xmonad in xfce to get good tiling and save the looks, but I didn't have time to try it. http://news.ycombinator.com/item?id=4722201 (btw that x-tile app is crap)


i'm sorry, but that doesn't explain why you'd want to use one, unless you have a really slow machine. it just says that they use few resources and you don't need to use the mouse. but i have a decent machine and, as i said, already alt-tab between windows.

i realise appearance isn't everything, but if you had the choice of dating two people, otherwise equal, one who was ugly and the other cute, what would you choose?

i also realise i may be coming across as a troll (that wasn't my intention, but your reply seemed to wilfully ignore what i asked). i really am interested in what the advantages of one of these would be (since if the reason is convincing i would try one).


> wilfully ignore what i asked

I answered what I knew the answer for. I have no idea about kde and its apps, never used it, as I said, I use Xfce. And on my laptop I use Openbox. On both of them I too switch between desktops/windows with my keyboard. I tried AwesomeWM once for a moment (very hyped recently), but pure tile seems too crazy for me and by their nature those wms are very raw out of the box (read: nothing there. DIY).

> i'm sorry, but that doesn't explain why you'd want to use one, unless you have a really slow machine.

It's one of those things where there isn't one true answer, it's just a matter of preference - good looking 'desktop metaphor' or highly script-customizable tiles. There should probably be some religious battles about it in the deep meanders of the interwebs. The most flagship usage of decent tilers is those sysadmin dudes with 40 terminals on 5 monitors rotating them all around between a dozen of workspaces like mad. I use 4 to 7 workspaces tops on a single monitor in xfce and openbox, while f.ex. awesomewm sets default workspaces to 9, I think that says pretty much about the workflow of the tiling userbase.

tldr: idk, whatever floats your boat.


I wrote a nice long response to this, but HN apparently ate my comment :-(. Here's a second try.

> can someone explain what the advantage of a tiling wm is? here people talk about not using the mouse, but i don't use the mouse with kde most of the time (maybe i am already "tiling" as as i have my xterm and browser side-by-side, or an ide window that's full screen, and simply alt-tab).

Sure. Need your web browser? Mod-W. Need your chat client? Mod-C. Need your terminal? Mod-Enter. Need to close this window? Mod-X. Need this window to be full screen instead of side by side (or any other layout you've defined)? Mod-L. Have you ever spent more than 10 seconds fiddling with gimp's multi window design? Problem solved with a tiling WM.

There's another advantage which isn't necessarily a tiling WM specific thing, although it is typically only implemented by tiling window managers. Your windows are grouped by screen, not by screen set. This means you can have your web browser on screen 1 and your terminal on screen 2. You read the tutorial from screen 1, get an error on screen 2, bring up IRC on screen 1, paste something in, talk to someone, get your error fixed, then switch back to the tutorial. Most traditional window managers (compiz/beryl is/were a notable examples) don't have screen independence, so you need a terminal for each viewport.

> also, when i look at tiling wm screenshots, they often look terrible, with things like huge clocks, apparently because of horizontal/vertical stacking. are there any that are flexible enough to look attractive?

Beauty is in the eye of the beholder, and some people think simplicity is beauty. That said: there was a fantastic talk that Matt Harrison gave about qtile at pycon a few years ago. He ran the test suite, which uses xclock as a window to test things. Hopefully that's not what you're basing your conclusions on.

> finally, can i still use applications like amarok (the kde music player) in a tiling window manager? what about all the kde infrastructure for sound management (phonon etc) that amarok depends on? what starts that? does the tiling window manager run in kde?

Yep, they all work fine. I use clementine as my media player on a daily basis. I use a custom X session to start qtile and I do a few other things beforehand, but you can run it directly if you want, or start it within some other DE.

> another q - how do things like vms work? is there some way to integrate windows from a vm?

A tiling WM doesn't change how you interact with your software, just how you interact with your windows. Thus, you get one big window, same as you always did. I think qemu allows you to run apps in their own window, though I've never tried it.


I've been thinking about trying a tiling window manager, since I despise using the touchpad on my ThinkPad and Emacs and my MBA's touchpad have spoiled me on never really moving my hands from the keyboard. I thought about xmonad but now is not the time I want to spend diving into Haskell.

This seems like a great middle ground. I'll be trying it this week.


XMonad is very good, but is only a window manager (eg, no toolbar), so you need to fiddle with configuration files to integrate it with a third-party toolbar (eg, xmobar or taffybar). You can try awesome, which I found much easier to use out-of-the-box. It's fairly mature by now, features a clickable toolbar, and a library of additional widgets.


Been using qtile on my TP for 3 years. At work I'm running it in a vm on a MBP with my nice unicomp keyboard.

If you like Python and tiling, I'm convinced this is the way to go. Xmonad is cool but requires Haskell (not that that is good or bad, it's just the way it is) and I'm already proficient in Python.


I use nwm at work, it's quite nice.https://github.com/mixu/nwm


I avoided qtile awhile ago because of performance issues I read about when compared with awesome and xmonad. Anyone know about a change on that front? As someone who spends a lot of time in python I would prefer a python tiling wm, but I cannot find any performance benchmarks with the latest versions of qtile.


What kind of performance benchmarks are you looking for? There used to be some memory leaks in xpyb (the X interface qtile uses), but 1.3.1 addresses most of those I believe.

Other than that, I'm not sure anyone has ever reported any performance problems.


I used Awesome for about a year or so before qtile and haven't noticed any performance differences.


What would be the main advantage over awesome? Does it play well with KDE? I like the pager from kde and awesome integrates well.

I might be too invested in awesome to try it, don't have time. Shout if it's really a quantum leap :)


Can someone explain why they want to do this in Python and not judt C and Xlib?


Window managers aren't very computationally intensive so a person can use whatever language he is most comfortable with.

Although I haven't seen a WM written in Brainfuck yet.


Well, I think I'll try it, I need to practice some python.


dwm is my favorite so far, does the job very well, but as python dev I should give qtile more attention again. Looks interesting.


Is this only for command-line guis?


No, it runs on top of an X server like any other desktop environment (GNOME, KDE, etc)




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: