====== Working with the IceWM Windows Manager ======
The Asus Eee comes with a dormant window manager called [[http://en.wikipedia.org/wiki/Icewm|IceWM]]. (A window manager is a graphical user interface that controls placement and appearance of windows within an operating system). By simply editing a text file, one can gain access to a world of window and taskbar settings, and can also enable a Start Menu. This document will focus primarily on activating the Start Menu, but later on we will add how-to's for other settings.
===== Enabling the IceWM Start Menu in Easy Mode =====
{{startmenu.jpg?200|The IceWM Start Menu can be enabled in Easy Mode}}
It would be great if someone could assist me with a redirect from the old version of this page to this version. I believe [[http://wiki.splitbrain.org/plugin:page_redirector|this site]] has a necessary plugin and further details.
==== Copying and editing preferences file in Terminal ====
This will involve creating a folder in your /home/user directory and copying an existing preferences text file over to that new directory. This preferences file contains many, many interesting settings but for now we will simply focus on enabling the Start Menu.
1. Open your Terminal using the keyboard combination **Ctrl-Alt-T**.
2.((there are together 6 files inside the folder, you are advised to copy them all for more enhancement to the menu, cp **/etc/X11/icewm/*.* /home/user/.icewm**
)) Type the following commands, as shown in the screenshot below.
/home/user> mkdir ~/.icewm
/home/user> cp /etc/X11/icewm/preferences /home/user/.icewm
3. Now, from here you can simply edit the file and be done with it if you happen to know how, but if you are new to using the command line you might wish to verify that the file was actually copied. Then, assuming you navigate to the new directory first as shown below, you would enter the command **nano preferences**.
/home/user> cd .icewm
/home/user> ls
/home/user> nano preferences
{{howto:startmenu_help1_terminal.jpg|}}
4. Now you should be looking at your newly copied [[http://en.wikipedia.org/wiki/Icewm|IceWM]] preferences file in [[http://en.wikipedia.org/wiki/Nano_%28text_editor%29|Nano]].
{{howto:startmenu_help2_nano.jpg|}}
5. Using the cursor key, navigate to the line containing "TaskBarShowStartMenu" and change the zero to a 1 as shown below.
{{howto:startmenu_help3_nano2.jpg|}}
6. Now you can hit the Ctrl-X key combination, press "Y" to save, then press to save the name as 'preferences'.
{{howto:startmenu_help3_nano3.jpg|}}
7. That's it! Now you can press the key combination **Ctrl-Alt-Backspace** to restart X (restarting your Eee is unnecessary) and you will see a Start Menu.
{{howto:startmenu_help4_desktop.jpg|}}
**ADDITIONAL:**
If you are happy with your icewm start menu and is using it very often, you can also add a hot keystroke to bring it up. Just edit this line in the same **preferences** file.
# KeySysMenu="Ctrl+Esc"
KeySysMenu="Ctrl+Super_L"
Now you will be able to bring up the start menu by pressing [Ctrl] and [Home].
==== Copying and editing preferences file in File Manager ====
1. Open the **Work Tab**
2. Open File Manager
3. Click "View", "Show Hidden Files"
4. Click "View, "Show All File Systems"
5. In the left-hand pane, click "My Home" and create a hidden folder entitled **.icewm**
6. In the left-hand pane, navigate from "All File Systems" to **/etc/X11/icewm**
7. In the right-hand pane, click **Ctrl-A** to select all files
8. Click **Ctrl-C** to copy to the clipboard
9. In the left-hand pane, select **My Home**, .icewm and click **Ctrl-V** to paste from the clipboard
10. Right click on the file named "preferences" and choose "Open With..." -> Text Editor.
{{http://865gv.kornhill.hk/eeepc/snapshot34.png|}}
{{http://865gv.kornhill.hk/eeepc/snapshot35.png|}}
11. Find the line "TaskBarShowStartMenu", change the value from 0 to 1.
{{http://865gv.kornhill.hk/eeepc/snapshot36.png|}}
{{http://865gv.kornhill.hk/eeepc/snapshot37.png|}}
12. Save the file and press the key-combination **Ctrl-Alt-Backspace** to restart X (restarting your Eee is unnecessary).
===== Changing the time format to AM/PM =====
1. In the same **preferences** file discussed above, scroll down to the section titled "Clock Time Format" and look at the **TimeFormat** value as shown below.
{{howto:startmenu_help5_ampm_b.jpg|}}
2. Change the **TimeFormat** to read as follows
TimeFormat="%I:%M %p"
{{howto:startmenu_help6_ampm_b.jpg|}}
3. Now save your changes and restart X (or restart your Eee if you wish).
This article is under development.
===== Config the "logout" command =====
Edit the same **preferences** file, search for the following sections and changed them as below to bring up the **Instant Shutdown** dialog box (same as when you push the power button):
# Confirm logout
# ConfirmLogout=1 # 0/1
ConfirmLogout=0
...
# Command to start logout
LogoutCommand="/opt/xandros/bin/shutdown_dialog"
# Command to cancel logout
LogoutCancelCommand="/opt/xandros/bin/shutdown_dialog"
# Command to shutdown the system
ShutdownCommand="/opt/xandros/bin/shutdown_dialog"
# Command to reboot the system
RebootCommand="/opt/xandros/bin/shutdown_dialog"
===== Set up the Run command option =====
To get a run command dialogue box from the icewm start menu, you will need to install a helper program. There are a few choices for this: **[[http://wiki.eeeuser.com/howto:beginners_guide#sublimeporte_s_tools|SublimePorte's launcher tools]]**(altools), **[[http://www.marengo-ltd.com/mercury/|Mercury]]**, **[[http://colabti.org/kysrun|kysrun]]** or **xexec**.
If you are already using altools, then it may be a good choice for you. The other two: Mercury and kysrun both offers a database so that you don't need to remember the commands for each program. However, all of them do not support filenames, especially hidden folder and filenames. Therefore, **xexec** is my preferred choice.
For installation of the first three programs, please refer to instructions on their website. For **xexec**, installation is very simple being available from the Debian repositories. Just enter the following command in a console:
sudo apt-get install xexec
To config the **Run** command in icewm start menu, edit the same **preferences** file, look for this section and change as per your choice:
# Command to select and run a program
# RunCommand=""
#RunCommand="grun"
RunCommand="/usr/bin/rundlg" # for running Launcher Tools
RunCommand="/home/user/bin/mercury" # for running Mercury in /home/user/bin (change the path if you have installed it elsewhere)
RunCommand="/usr/bin/xexec" # for running xexec
You can also add a hot key to call up this run command dialog. See [[http://wiki.eeeuser.com/mappingkeyboardshortcuts|this wiki]] for detailed steps.
===== Setting Up a More Useful Start Menu =====
File to edit is **menu** in /home/user/.icewm
**#** - anything after # in the line is comment
Each entry in the menu is declared on one line, except for the "menu" special case. Each ordinary line is made up of four items separated by spaces; an object type, the displayed name, the icon name, and the action. The action can include arguments, as it is everything up to end of line. If the displayed name contains spaces then it must be surrounded in quotes. The objects are :
**prog** - is a program you can run from your menu
**separator** - is line between groups
**restart** - Restarting another window manager
**menu** - defines a sub-menu group folder inline
**menufile** - defines a sub-menu from another file, e.g. the shortcut names you placed in the toolbar
**menuprog** - defines a sub-menu built by running a program
Some sample program entries :
format : prog "title" icon_name program_executable options
Games
prog "Potato Guy" ktuberling ktuberling -caption "Potato Guy"
Utility
prog "Control Panel" konqueror konqueror
prog "File Manager" Icon XandrosFileManager
prog "File Manager (Root)" Icon kdesu "XandrosFileManager --caption 'File Manager (ROOT)' --icon xfm_root"
prog "Text Editor" kwrite kwrite
prog "Screen Shot" ksnapshot ksnapshot
prog "Remote Desktop" krdc krdc
prog "Synaptic Package" synaptic kdesu synaptic
These could be grouped into sub-menus :
menu Games folder {
prog "Potato Guy" ktuberling ktuberling -caption "Potato Guy"
}
menu Editors folder {
prog "KDE Text Editor" kwrite kwrite
prog NEdit nedit nedit
}
\\
===== IceWM Menu Templates =====
[[doc:icewmstartmenutemplates|Here are some sample templates]] to consider adopting. Simply copy and paste as needed. //(Thank you, [[http://forum.eeeuser.com/profile.php?id=1158|alanking]]!)//
===== Xandros/KDE Applications shortcuts =====
If you found it too much trouble to add the menu items one by one, there is an easy way in adding one menu item to call up the Xandros/KDE application shortcuts in the KDE file manager.
prog "apps:/Xandros" crystalsvg/16x16/actions/about_kde.png konqueror 'applications:/Xandros'
This will include all the applications known to the system just like the KDE Start Menu when you have activated the Advanced desktop.
{{howto:howto:app_xandros.jpg|}}
===== Install Debian Programs Menu =====
There is a program called **[[http://alioth.debian.org/projects/menu/|Debian Menu System]]** (or in short **menu** as known by **dpkg**) that can automatically generate program menu shortcut entries for Debian Menu aware programs in a Debian system such as the EeePC.
After installing **menu**, you will have a start menu similiar to that in Advanced Desktop. And then you won't need to manually add programs to the icewm start menu for most programs (but there are always exceptions).
{{howto:howto:debian_menu.png|}}
To install **menu**, you will need to edit your **/etc/apt/sources.list** file (as root) to add this line for adding Debian repositories,
deb ftp://ftp.debian.org/debian/ etch main
then update cache with this command:
sudo apt-get update
Finally, install **menu**,
sudo apt-get install menu
Please note that if you install this for the first time, after your restart your EeePC, it will take a long time for the system to generate the new Program menu in the icewm start menu. So just be patient.
===== Quick buttons In The Toolbar ======
This article is under development.
\\
Kudos to [[http://forum.eeeuser.com/profile.php?id=730|o2smartphone]] who published his findings in [[http://forum.eeeuser.com/viewtopic.php?id=808|this discussion thread]] on the forum, as well as other contributors in that thread.
\\
\\
If you have some time, please contribute to this article by adding screenshots.