About

Welcome to Panela, Matt Harrison's take on mostly Open Source, Linux, Python, innovation in those areas, other buzzwords and Dick Proenneke. It comes complete with the illustrations as needed. Note the opinions expressed here are merely my opinions and not the opinions of my employer.

about Matt

Calendar

««Nov 2009»»
SMTWTFS
1234567
8910
11
12
1314
151617
18
192021
22232425262728
2930

Mailing List

My RSS Feeds








Why the Linux Desktop sucks...

posted 2008.12.15 Mon

I think I've figured out why the Linux desktop sucks! It has to do with hackability and efficiency. As a programmer, I'm finding the mouse and mouse less efficient.* A little over a month ago, my right hand seemed to implore to me "Stop! Stop!" every time I'd reach for that mouse. For work, I normally have a couple terminals open for database access or viewing logs, emacs open for editing, webbrowser for email, and an IM client. I've been using KDE since the end of the last century and have been pretty satisfied with it up to the 3.5 series. But my body indicated "Don't use that mouse!" So I started to try and comply.

I think most of my mouse use was for re-positioning windows that were overlapping. (Of course I was also using the mouse for web browsing, IM'ing, and my RSS client.) The solution to the re-positioning problem seemed to me to be start using a tiling window manager. In the age of compiz and fancy window decorations this seemed silly, but felt right intuitively. If I can get my windows in a state where I can see everything I need, that would certainly help.

So I started researching tiling WM's. The two most featureful at the time seem to be Xmonad and Awesome. So without reading the manual I installed one and ran it, and I was lost. I started looking at configuring/documentation and got somewhat frustrated. Xmonad seems to be the Ruby on Rails project for Haskell (perhaps an overstatement, poster boy might be a better term). The configuration is actually a Haskell project that you compile to build your own WM. Awesome in the 3.x series is using Lua for configuration. Since, I like Python I thought, hmmmm why not python.

Turns out there are a few python window managers listed in the comprehensive list of Window Managers. Then I found a python tiling window manager, qtile. It's a relatively nascent project, and I had my mental model of what a tiling window manager should do for me. (Be useable out of the box, by providing a tabbed/tiling metaphor similar to the eclipse workspace. Which I don't think anyone currently provides). So I messed around with qtile for a bit. I even wrote a layout based not on eclipse, but on emacs (since it seemed simpler for a starting point, and it was familiar to me). Then I came to a point where I wanted gimp support, (now I understand why people hate the gimp interface), which basically requires "floating" windows. I came full circle and decided to see how Awesome handles floating windows. I got a 3.1 rc of Awesome running a few days back, and am actually really liking it. (It's crashed a couple times...) I figured if I wanted to hack more on qtile, I really should use the current state of the art for tiling WM's first. I'm still learning the keystrokes, and need to install vimperator for firefox.

So, one reason desktop "sucks" on Linux, is that out of the pool of possible developers, they eventually listen to their body, and move to something like a tiling wm. They scratch their itches. The Youtube demos of tiling WM's are boring, nothing like their compiz counterparts. So while they don't appear to be cool from the glossy marketing apple/MS point of view, from a getting things down view they are quite efficient.

* - Yes I still need it for gimp and inkscape. (And to skip music in pandora (I'm not aware of any native client for linux))

BTW, the worst part of awesome, is actually the name! It makes searching very hard, I think they should rename it awesomewm (or something unique) ASAP.

tags:              

links: digg this    del.icio.us    reddit




1. gregf left...
2008.12.15 Mon 12:06 pm

Small tip, search for awesomewm. Works pretty well. The wiki has some good examples of configurations if that is what you're looking for. Had never touched lua and picked up enough to hack my config to do what I wanted in a few nights of playing around. There is also wmii that can be configured with just about any language you want. Some people use bash, some use ruby, lua, lisp, the list goes on. I personally think all the options linux has for the desktop is what makes it so great. I'm not stuck using what some team thought was best for me. I get to choose what I want, and I get to choose how I configure it. The appealing thing for me when I moved to awesome a month ago was the public API. You can easily tweak it to look/do what you want. The head of the project is also very open to ideas. He won't refuse patches because he doesn't work in a specific way. Long as the code is clean he's happy to merge it in for the most part. So I guess I would have to disagree with you a bit. I love the the Linux desktop.... maybe to much? :)


2. Matt left...
2008.12.15 Mon 1:26 pm

Greg- Perhaps the sarcasm of my title is lost in the bits and bytes of the intartubes. Re: 'awesomewm', it's ok for searching, but the top search should be awesome's homepage. I still think it should have a more unique name. Cheers.


3. Rick left...
2008.12.15 Mon 2:05 pm :: http://www.mitechie.com

I recently went down the same path. I think a good tiling WM would really make life easier. I tried a few, wmii, xmonad, etc. but I never ended up happy with things.

Either it would poorly handle some app, or I could setup this nice tiled dev environment, but there was no way to save/store/recall that tiled setup. I ended up making the move to openbox which allowed more customization of the desktop itself, and then I went back to using devilspie to try to keep things in order.

One day I'll be able to move to a tiling WM, but not yet.


4. Mark H left...
2008.12.15 Mon 3:38 pm

I've done pretty well with virtual desktops and fluxbox. The best way I've found is to try to ignore getting multiple windows on the same screen, but rather just get enough screens (virtual and physical, I've got two monitors) to hold all your windows. Keep certain windows in the right virtual window and you can get to it with a simple key combo (I get to gaim/irc on ALT+F6, but have multiple terminals open that I can get to on ALT+Y, ALT+U, ALT+I, etc.)

Also, something like yakuake or any other dropdown-terminal is great for doing quick work or opening new windows without needing to use a menu or icon.

Super + Space pidgin &


5. Petr Sykora left...
2008.12.15 Mon 3:45 pm

What about little bit hacky way of solving "the Gimp problem" with running it under another window manager (openbox, or something similary resource friendly) under Xnest. Try google("gimp xnest") for inspiration... http://www.google.cz/search?q=gi mp+xnest


6. Rene Dudfield left...
2008.12.15 Mon 3:46 pm :: http://renesd.blogspot.com

hey.

please post an update if you continue hacking on a python wm, or with whatever you find that's good :)

I use lots of work spaces with window maker on linux. Each project, or application has it's own work space. Seems to work quite nicely with lots of windows I think. As you always know where each program is... eg I put web browser on 4. Email client on 3. irc on 7. shells to remote hosts on 1 and 2. Various projects on 5 & 6. Think of a workspace like a tab, and you've got the interface you want.

Also, a big screen, or multiple screens can help you reduce window swapping.

However I always wanted to use my feet to change windows... like using a usb dance pad or something.

see you!


7. Greg M. Johnson left...
2008.12.15 Mon 5:18 pm :: http://pterandon.blogspot.com

How about Dolphin? Talk about KDE becoming less useful because the functionality of the mouse has been taken away (compared to file management with Konqueror).


8. Eric Larson left...
2008.12.15 Mon 6:15 pm :: http://ionrock.org/blog/

While I primarily use OS X to ssh into a box where I live in emacs, I've been pretty happy with stumpwm. It is WM written in lisp and is pretty friendly to those suffering from emacs keybindings. I also tried awesome, but coming from emacs (which acts as my wm over ssh), it was much better.

http://www.nongnu.org/stumpwm/


9. Benji York left...
2008.12.16 Tue 8:12 am :: http://benjiyork.com

I've been really happy with ion3 for the last few years. Not cutting edge or anything, but very solid and fits my needs almost perfectly.


10. Michael Watkins left...
2008.12.16 Tue 9:39 pm :: http://mikewatkins.ca/tags/python/

dwm (I believe awesome is a fork of same) is what I use, either "directly" on my FreeBSD desktop machine or indirectly via Xming running on a MS Window desktop for those periods of time when I need to be running Windows (largely for testing with various other browsers).

Its perversely enjoyable for me to use a tiling window manager on a Windows box. I leave a second display open for a Windows browser if I must, or I could launch a second dwm instance over there. Most of my day I spend in a terminal window or vim/gvim.

Not much to look at: http://64.21.147.48/tv-20081216-190116.gif


11. David left...
2008.12.18 Thu 5:27 am

Would this be any good to you? it really has help me take advandge of my big screen (24").

http://suasol.wordpress.com/ http://wiki.compiz-fusion.org/Plugins/Grid

Cheers, Dave


12. Jeremiah left...
2008.12.21 Sun 6:17 am :: http://kaens.blogspot.com

I'm a python guy as well, and I use awesome as my WM. LUA isn't hard to pick up, and it works really well for awesome. I recommend spending a little time playing around with it.