The King is Dead, Long Live the King
Jan. 13th, 2009 11:27 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
It looks like my old silver ThinkPad has died. It keeps on failing with "fan error". Somehow, that doesn't surprise me, what with the heat we had today (though it was okay inside, but still warmer than usual for laptops that run hot). A quick Google tells me that the most likely remedy is to replace the fan, but I am not a hardware person; if I went under the hood I would probably break it more than it is. Wah!
At least I still have my little eeePC. But there are a number of things I can't do on it, because it is so small. (sigh)
Speaking of my eeePC, I have been setting up the wmii window manager on it.
The wmii window manager is a "tiling window manager"; what this means is that the windows are "tiled" on the desktop, rather than placed there. With a tiling window manager a window will either take up the whole space, or it will take up some proportion of the space, with other windows taking up the rest. This means that in effect, there is no desktop, no background. "Oh noes!" says the User, "What about my desktop shortcuts, icons, and taskbar?" Well... this kind of window manager won't appeal to people who need those kind of things... but they may not be as essential as you think.
Firstly, tiling window managers are oriented towards people who prefer using the keyboard rather than the mouse. Indeed, the granddaddy of tiling window managers is called "ratpoison", which shows how much the creator of it didn't like the mouse. Ratpoison was the first, but there have been a number of them since. The ones I'm most aware of are Ion, LarsWM, and Wmii (which is is wmi-II, with "WMI" standing for "window manager improved").
I tried out wmi ages back, and was there when it changed to wmii, but I abandoned it and used ion3 for a while, because I got frustrated at how unstable the configuration was: every time I had my stuff set up the way I liked it, the format of the configuration files would change, and I would have to do it all over again. Of course, it wouldn't surprise me if the same thing happens all over again, especially since the version on Ubuntu is apparently "quite old", but, hey, at least it is available on Ubuntu, which means that I don't have to use the latest, most unstable version in order to use it at all.
Anyway, the chief delight of having something like wmii on my little eeePC is that (a) it makes the most of the screen real estate and (b) you can do practically everything with the keyboard. Both of these are very useful on a tiny laptop like the eeePC. What prompted this move on my part is that I was getting increasingly frustrated at the way Xfce4 wouldn't let me resize windows that were too large for the screen. It didn't happen with every application, but some just wouldn't resize. It's really annoying when one is trying to read documentation in a PDF file and one can't read the bottom of the page...
So, what are the cool features of wmii in particular, as distinct from tiling window managers in general? (Note that I'm speaking of wmii 3.6, so who knows how things have changed with whatever the current unstable version is.)
1. The concept of tagging. This is very nifty. What this is, is that rather than having "workspaces", you have tags; the "current view" shows all the applications which have the "current tag" on them. What's so great about that, you ask? Because an application can have more than one tag on it. So you could, say, give your browser the tag "www" and the tag "net", and give your mailer the tag "net", and if you went to the "www" view, you would see your browser, and if you went to the "net" view, you would see both your browser and your mailer. But even more, this makes the concept of "sticky" windows redundant, because in order to make a window sticky, you just add a tag to it for every view that you want to see it in.
2. Extremely scriptable. You can add "actions" to the actions menu simply by dropping a script into your config directory. The display on the status-bar can be changed by writing a script for it. You can bind all sorts of actions to hotkeys, you can control the actions of the window manager from the command-line (using the wmiir command which writes to a virtual filesystem) which means that you can bring the power of your favourite scripting language to control the window manager. The downside of ion was that it was scriptable only in Lua.
3. I like the keyboard menu that wmii uses; it takes the concept of menu shortcuts and crosses it with tab-completion, giving menus that are really usable from the keyboard.
For example, suppose I want to start up firefox; I type Alt-p to bring up the Programs menu, and I see a list of commands along the bottom of the screen, in alphabetical order, just as many as will fit the width of the screen. I have two choices from here; I can use the arrow keys to go back and forth in the list, or I can keep typing. I type "f"; the list changes to show commands that have the letter "f" in them. Then I type "i", and it shows the commands that have "fi" in them. Then I type "r", and the first command in the list is "firefox". I hit Enter, and there I am, launching firefox.
Or suppose I want to log out. Alt-a to bring up the Actions menu, "q" to bring the "quit" action to the top of the list, hit enter, there I am, quitting wmii. With most other window managers, you have to first move the mouse to a small spot on the bottom left corner, click, move the mouse to a menu item, possibly a sub-menu, click, and that might bring up another window, the exit dialog, where you have to move your mouse again, and click. When one is sitting in a bus trying to use a touchpad (which requires both hands, one to move the position, the other to click the buttons) then avoiding mouse-usage is desirable.
However, this kind of menuing is probably not helpful for people who don't know the name of the command that they are looking for. This is definitely a command-line oriented system.
4. The "floating" layer. Some tiling window managers (such as ratpoison) insist on tiling ALL windows. This can make things difficult when one is using an application which doesn't play nice with the tiling concept, such as GIMP, which has multiple windows for one application. Some tiling window managers solve this problem by making special workspaces which are managed like a traditional window manager, that is, all the windows in that workspace are NOT tiled. But wmii gives you the best of both worlds by enabling you to move such applications into the "floating" layer, where they are "floating above" the other windows, and are managed like a more traditional window manager does; they can be moved around by dragging on their titlebar.
5. The status bar. On the left it shows all the tags, and highlights the current tag. This is nicer than ion, which doesn't have a status bar at all, and you can only guess at which workspace you are on. And I've already mentioned that the date-time display on the right side of the status bar is scriptable.
6. The "themes". I'm not sure if this is a plus or a minus, but wmii is extremely simple to theme, because there is nothing much there to theme. There are no titlebar buttons, there are no separate styles for menus or pagers or docks; borders are simply borders, without any 3D effects. The only thing that is configurable is the colours; seven of them. The foreground, background and border for normal windows, the foreground, background and border for active windows, and the desktop background colour (which one rarely sees anyway).
If you want a pretty window manager with lots of eye candy and mouse-movement, then wmii is definitely not for you. But if you're interested in getting some work done, especially on laptops, then wmii might be worth checking out. But only if you're on Linux (or probably Mac).
At least I still have my little eeePC. But there are a number of things I can't do on it, because it is so small. (sigh)
Speaking of my eeePC, I have been setting up the wmii window manager on it.
The wmii window manager is a "tiling window manager"; what this means is that the windows are "tiled" on the desktop, rather than placed there. With a tiling window manager a window will either take up the whole space, or it will take up some proportion of the space, with other windows taking up the rest. This means that in effect, there is no desktop, no background. "Oh noes!" says the User, "What about my desktop shortcuts, icons, and taskbar?" Well... this kind of window manager won't appeal to people who need those kind of things... but they may not be as essential as you think.
Firstly, tiling window managers are oriented towards people who prefer using the keyboard rather than the mouse. Indeed, the granddaddy of tiling window managers is called "ratpoison", which shows how much the creator of it didn't like the mouse. Ratpoison was the first, but there have been a number of them since. The ones I'm most aware of are Ion, LarsWM, and Wmii (which is is wmi-II, with "WMI" standing for "window manager improved").
I tried out wmi ages back, and was there when it changed to wmii, but I abandoned it and used ion3 for a while, because I got frustrated at how unstable the configuration was: every time I had my stuff set up the way I liked it, the format of the configuration files would change, and I would have to do it all over again. Of course, it wouldn't surprise me if the same thing happens all over again, especially since the version on Ubuntu is apparently "quite old", but, hey, at least it is available on Ubuntu, which means that I don't have to use the latest, most unstable version in order to use it at all.
Anyway, the chief delight of having something like wmii on my little eeePC is that (a) it makes the most of the screen real estate and (b) you can do practically everything with the keyboard. Both of these are very useful on a tiny laptop like the eeePC. What prompted this move on my part is that I was getting increasingly frustrated at the way Xfce4 wouldn't let me resize windows that were too large for the screen. It didn't happen with every application, but some just wouldn't resize. It's really annoying when one is trying to read documentation in a PDF file and one can't read the bottom of the page...
So, what are the cool features of wmii in particular, as distinct from tiling window managers in general? (Note that I'm speaking of wmii 3.6, so who knows how things have changed with whatever the current unstable version is.)
1. The concept of tagging. This is very nifty. What this is, is that rather than having "workspaces", you have tags; the "current view" shows all the applications which have the "current tag" on them. What's so great about that, you ask? Because an application can have more than one tag on it. So you could, say, give your browser the tag "www" and the tag "net", and give your mailer the tag "net", and if you went to the "www" view, you would see your browser, and if you went to the "net" view, you would see both your browser and your mailer. But even more, this makes the concept of "sticky" windows redundant, because in order to make a window sticky, you just add a tag to it for every view that you want to see it in.
2. Extremely scriptable. You can add "actions" to the actions menu simply by dropping a script into your config directory. The display on the status-bar can be changed by writing a script for it. You can bind all sorts of actions to hotkeys, you can control the actions of the window manager from the command-line (using the wmiir command which writes to a virtual filesystem) which means that you can bring the power of your favourite scripting language to control the window manager. The downside of ion was that it was scriptable only in Lua.
3. I like the keyboard menu that wmii uses; it takes the concept of menu shortcuts and crosses it with tab-completion, giving menus that are really usable from the keyboard.
For example, suppose I want to start up firefox; I type Alt-p to bring up the Programs menu, and I see a list of commands along the bottom of the screen, in alphabetical order, just as many as will fit the width of the screen. I have two choices from here; I can use the arrow keys to go back and forth in the list, or I can keep typing. I type "f"; the list changes to show commands that have the letter "f" in them. Then I type "i", and it shows the commands that have "fi" in them. Then I type "r", and the first command in the list is "firefox". I hit Enter, and there I am, launching firefox.
Or suppose I want to log out. Alt-a to bring up the Actions menu, "q" to bring the "quit" action to the top of the list, hit enter, there I am, quitting wmii. With most other window managers, you have to first move the mouse to a small spot on the bottom left corner, click, move the mouse to a menu item, possibly a sub-menu, click, and that might bring up another window, the exit dialog, where you have to move your mouse again, and click. When one is sitting in a bus trying to use a touchpad (which requires both hands, one to move the position, the other to click the buttons) then avoiding mouse-usage is desirable.
However, this kind of menuing is probably not helpful for people who don't know the name of the command that they are looking for. This is definitely a command-line oriented system.
4. The "floating" layer. Some tiling window managers (such as ratpoison) insist on tiling ALL windows. This can make things difficult when one is using an application which doesn't play nice with the tiling concept, such as GIMP, which has multiple windows for one application. Some tiling window managers solve this problem by making special workspaces which are managed like a traditional window manager, that is, all the windows in that workspace are NOT tiled. But wmii gives you the best of both worlds by enabling you to move such applications into the "floating" layer, where they are "floating above" the other windows, and are managed like a more traditional window manager does; they can be moved around by dragging on their titlebar.
5. The status bar. On the left it shows all the tags, and highlights the current tag. This is nicer than ion, which doesn't have a status bar at all, and you can only guess at which workspace you are on. And I've already mentioned that the date-time display on the right side of the status bar is scriptable.
6. The "themes". I'm not sure if this is a plus or a minus, but wmii is extremely simple to theme, because there is nothing much there to theme. There are no titlebar buttons, there are no separate styles for menus or pagers or docks; borders are simply borders, without any 3D effects. The only thing that is configurable is the colours; seven of them. The foreground, background and border for normal windows, the foreground, background and border for active windows, and the desktop background colour (which one rarely sees anyway).
If you want a pretty window manager with lots of eye candy and mouse-movement, then wmii is definitely not for you. But if you're interested in getting some work done, especially on laptops, then wmii might be worth checking out. But only if you're on Linux (or probably Mac).
no subject
Date: 2014-08-11 01:02 pm (UTC)I don't see any improvements in wmii over ratpoison.
Later versions of the GIMP may start optionally in one-window mode, or even without any GUI at all.
no subject
Date: 2014-08-11 01:08 pm (UTC)(shrug)
Later versions of the GIMP may start optionally in one-window mode, or even without any GUI at all.
Indeed, but they didn't exist when I wrote this post.