Translations of this page:

How to install and use IceWM

Why use IceWM

The Asus EEE PC comes with its “Easy Mode” user interface wich uses the IceWM as the window manager. (Window managers are what draw your windows on the computer screen and control how they act.) Basically, everything seems to work well in Easy Mode. Easy mode is clearly where Asus is focusing their development. Also, IceWM is just better than KDE, in terms of resource usage see the IceWM users manual.

If the EEE had come with only KDE installed, some users, including the original author of this walk through would have replaced it, probably with IceWM in order to maximize the speed and efficiency of the system. The problem for many of us is not with the IceWM per se, it's with the toy-store eye candy Asus has stuck on top of it, to make it new-user friendly (for which we give them props).

There are a number of changes necessary to use the built-in IceWM as it is normally used in most Linux distros.

some articles on the topic:

* http://www.osnews.com/story.php/7774/IceWM--The-Cool-Window-Manager//page1

Copy the config files into your user directory

mkdir ~/.icewm
cp /etc/X11/icewm/* ~/.icewm

Modify the init script

We need to make a backup of the script that runs at startup and edit it.

sudo cp /usr/bin/startsimple.sh /usr/bin/startsimple.sh.bak
sudo vi /usr/bin/startsimple.sh

If you're not a Linux wonk, and need a simpler graphic editor, replace “vi” with kwrite in the line above.

Replace the entire contents of startsimple.sh with the following:

#!/bin/sh
sudo /usr/bin/sessreg -d -l :0.0 -u /var/run/utmp user
xhost + si:localuser:root # Allow local user root only to access the diplay
sudo /usr/bin/sessreg -a -l :0.0 -u /var/run/utmp user
(sleep 3; /usr/bin/keyboardstatus) &  # Shows the Keyboard Num Lk and Cap Lock status
(sleep 8; /opt/xandros/bin/start_netserv) &
(sleep 16; /usr/local/bin/asusosd) &
sudo rm /tmp/nologin
[ -f /usr/bin/dispwatch ] && /usr/bin/dispwatch &
exec icewm-session

Why this is safe

Ignoring, for a moment the fact that you made a backup of the file, and can always undo what was done by simply typing sudo cp /usr/bin/startsimple.sh.bak /usr/bin/startsimple.sh in a terminal window, the following describes each of the sections in the original file and why it's going away. If you don't care, skip this section.

The portions near the top of the old file, predicated on

! [ -f /home/user/.firstrundone ]

are only relevant when you reset to factory, in which case your changes won't be there. no worries here.

The section under

[ -f /tmp/kdesession -a ! -f /home/user/.easysession ]

is relevant when we are switching to 'advanced mode'. if you're following these directions, you know enough about linux to know that icewm is quite capable of serving your advanced needs, and you probably prefer it to kde (if you want kde, there're directions elsewhere. don't follow these)

the section under

[ -d /home/user/Desktop ]

doesn't do anything useful (it's there to deal with the discrepancy between how kde and icewm deal with the Desktop. since we won't be set up to switch back and forth between, we don't care. also, it's not a very nice way for them to handle it, imo.)

the section under

[ -f /home/user/.easysession ]

is for when you are switching from kde to icewm, which we also won't be doing.

/opt/xandros/bin/AsusLauncher

is that easy tabbed interface - we don't want to run that, or we wouldn't be making these changes at all.

also, i changed “exec icewm” to “exec icewm-session”, as that's how icewm prefers to be called.

The XIM program line is for the xandros_scim module, which i imagine most people will want to disable. if you don't, then move that line to the startup script. (it's the tray icon that lets you change languages on the fly. not too useful in your day-to-day)

Then I moved the tray, and all the things that go in it into the .icewm/startup, which i'll cover in a moment.

Configuration of IceWM

The main reason I prefer IceWM over KDE in general (where resource usage isn't a problem) is that it's so easy to configure. All of the options are in some text files, which we copied out initially.

cd ~/.icewm
ls

I haven't messed with some of these files yet, but they are all handy. http://www.icewm.org/FAQ/IceWM-FAQ-4.html#ss4.1

'toolbar2'

is the bar at the bottom right, containing the shutdown button and some others. I removed SOS and eeepc tips - sos has it's own function button (Fn-F6), and the tips are pretty basic. Just comment out or delete lines you don't want.

'toolbar'

I believe this is basically the quicklaunch, in Windows terms. They have it empty to start with.

'menu'

contains the start menu. Instructions on enabling it and modifiying it are in Working with the IceWM Windows Manager

'winoptions'

is a place where you can set options for specific programs (based on their window names), like 'do not decorate xterm', or 'firefox is always full-screen'. I didn't bother, because I prefer to bind keys to those things and deal with them myself.

'theme'

file is straightforward enough, but I also like the default theme. (if you empty the file, you get a pretty ugly one, but there are a couple of other colour options available)

'keys'

this file is very important for me - I love binding keys to things, and the less I have to use that stupid touchpad the better. You add a key by adding a line like

key "Alt+Ctrl+w"  /usr/bin/sudo /usr/bin/xandrosncs-proxy --launch-wireless-tool

or

key "Alt+Ctrl+x"  /usr/bin/XandrosFileManager -caption File\ Manager -maximized

make sure to remove any key bindings you won't use, because if you bind two things to one key, it gets confusing.

'preferences'

this file is where everything else is. Read through it, and change everything you want to. Some specific changes I paid attention to were the full screen bahaviour, and the workspace-switching (the hotkeys for that are set here too, instead of in 'keys')

'startup'

This file is executed by icewm-session when the IceWM window manager first starts. This is where you put anything that you want to run up-front. Old time dos users can think of it as the equivalent of autoexec.bat.

if you don't have a startup file, you will need to create one. Use the editor of your choice something like:

kwrite .icewm/startup

mine looks like:

#!/bin/sh
icewmtray &
powermonitor &
minimixer &
networkmonitor ath0 eth0 &
wapmonitor &
icewmbg &

After you have created the file, you have to mark it “executable” Linux doesn't use file extensions to decide if a file can be run or not, there's a special mark on a file that says “you can run this.”

chmod +x .icewm/startup

any other tray items or startup stuff should go here too, for example, if if you wanted to run rox-filer as a desktop agent you would add

rox -p=main &

Background (Wallpaper)

The settings for this are at the end of the 'preferences' file. Once you switch to using icewm-session, icewmbg is called automatically, you just use those settings to provide a picture. Find any of the many uploaded background images in the forums on this site, do a google image search for 800×480 to get a few possible images, or make one in Gimp.

If you want an easy graphical way to select background images for the desktop and adjust many features of IceWM, get a copy of icecc. Once you've set the background with icecc, it will automatically be called up by icewmbg.

It appears that if at any time you invoke the AsusLauncher eye-candy, (I.E., run it) it replaces your background picture with a grey background, and then to reclaim it you have to run icewmbg or icecc again. A more permanent solution is to download and install rox-filer, include it in your startup file, and use it to select a background; this background will survive each time you minimize the AsusLauncher.

Power Button Behaviour

I'm not sure that my solution is a good one, but it works for me. Basically, After I made the change, the behaviour on hitting the power button changed to 'just turn off', instead of 'pop up the shutdown dialog' - this is important, because I'm often thumb-typing, and the power button is in a place where I sometimes hit it accidentally. It changed because I stopped running AsusLauncher, and the shutdown script checks if that's running.

The file is called ”/etc/acpi/powerbtn.sh”, and I removed everything except

if [ ! -f /home/user/.doingLogin ]
then
  DISPLAY=:0 su -c /opt/xandros/bin/shutdown_dialog user &
fi

so now the only behaviour on hitting the power button is to display that dialog. (Hard shut down, where you hold down the power button for a while, still works fine, since that's done by hardware)

 
howto/useicewm.txt · Last modified: 2008/05/03 23:32 by dracothered
 
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
This website is no longer under a Creative Commons license.
All rights are reserved by Eeeuser.com and each individual author
If you want to reproduce content, all individual contributers must be identified and you must seek permission from Eeeuser.com