Next Previous Contents

9. Miscellaneous Questions

This section is a collection of questions on subjects that go beyond simply using IceWM.

9.1 What does Logout(Cancel) Command do?

For most users, nothing. Both commands were meant for GNOME integration as alternative commands that would be run when users initiated a logout or logout cancel. Since GNOME did not seem to incorporate this feature, they generally go unused.

9.2 What is the blank field in the task bar good for?

If you are running IceWM with the "TaskBarDoubleHeight" option set, a blank field in the task bar occurs. It is a command line interface.

In this field you can enter commands to start programs. If you click inside the field and enter xclock the X clock is started.

If you click on it and simply press "Ctrl-Enter" an XTerm is being started.

If you enter a non-X command and press "Ctrl-Enter" an that command is being executed in an XTerm.

9.3 How to keep IceWM from grabbing keystrokes

What if you are running an application and need to use a keystroke that is grabbed by IceWM?

Marko suggests the following workaround:

  1. Activate scroll lock
  2. Do problematic key stroke
  3. Deactivate scroll lock

He advises that this will only work if "ScrollLock" is set up as a modifier.

Here is how to use the X11 xmodmap utility to setup ScrollLock as a modifier (from Marco Molteni):

  1. check which modifiers are free:
        $ xmodmap -pm
        xmodmap:  up to 2 keys per modifier, (keycodes in parentheses):
        shift       Shift_L (0x32),  Shift_R (0x3e)
        lock        Caps_Lock (0x42)
        control     Control_L (0x25),  Control_R (0x6d)
        mod1        Alt_L (0x40),  Alt_R (0x71)
        mod2        Num_Lock (0x4d)
        mod4        Super_L (0x73),  Super_R (0x74)
  2. in this example mod3 is free, so we bind the ScrollLock key to it:
       $ xmodmap -e "add mod3 = Scroll_Lock"
    this invocation of xmodmap should be put in the script that starts the window manager, for example $HOME/.xinit or $HOME/.xsession, see Howto make IceWM default WM for more detailed info about startup of WM or use IceWM's startup.

9.4 How to lock the screen

Screen locking is something you should do whenever you leave your machine (even at home and even for only a few seconds - just imagine a cat pushing the enter button at the wrong moment). It should be a habit like logging out root as soon as possible.

... by keyboard

With IceWM screen locking is very easy: If you press


a menu pops up offering you the following tasks:

The letters that are emphasized in this FAQ are underlined in real life. The meaning of this emphasis is that you may e. g. press "W" to lock your workstation.

Another possibility (this is the one I prefer because I once to often pressed "L" in order to lock my machine) is to press "ENTER". The result is the same because the button that is active by default is "Lock Workstation".

A more obvious reason for using "ENTER" in place of "W" is that it is easier to type in: "Del" and "ENTER" are next to each other.

You could as well use your mouse to click on "Lock Workstation" but if you are already using your keyboard to evoke the menu why not use the keyboard to select from it?

... by mouse

If you prefer to use your mouse to lock the screen you may add the following entry to your $HOME/.icewm/toolbar

    prog    xlock   xlock   xlock

You could as well add that line $HOME/.icewm/menu or $HOME/.icewm/programs but that's not a good idea: Screen locking is often done in a hurry and if you have to scan through a menu this will increase the chance that you will not lock your machine at all.

... using a lock command other than xlock

How to define a different lock command is described in section Setting the lock command

9.5 Does IceWM support session management?

From 1.2.13 IceWM has some basic session management to manage all its parts. But this is where the more complicated desktop environments like GNOME, KDE or xfce join the game. IceWM still is mainly a window manager... but of course you can always start your favorite apps upon X start-up/login using the .xinitrc or .xsessionfiles. Or use IceWM as the window manager instead of the default GNOME/KDE wm.

9.6 Can I have icons on the desktop?

Sure, but not from IceWM. Again, this is desktop environment work, but usually done by the respective file managers, since they already know about MIME types, file endings and such. IceWM users usually use idesk, dfm, rox, kfm or gmc, where idesk, dfm and rox are better suited for work on smaller (older) machines than the other two.

9.7 Why doesn't IceWM accept my background image/color?

Usually this is because it's the wrong image format. It can happen when IceWM is compiled only with libXpm. With imlib, IceWM is able to read most of the often used image formats like png, gif, jpeg, instead of just xpm images with libXpm. Another reason can be, that the theme defines another image or color.

9.8 Can I have bigger icons in menu, taskbar, quickswitch etc.?

From IceWM 1.2.14 it is possible to specify size of icons in IceWM preferences. There are four relevant options:

These values are default but you can change them to whatever you want. MenuIconSize specifies size of icons in menu. Three other are used for any other icon in IceWM. E.g. SmallIconSize is used in taskbar, application frames and window list. LargeIconSize is used in quickswitch.

You have to take in mind that when you change size of SmallIconsSize then all above described parts will have icons of different size, but taskbar and frames will not change their high accordingly! Also when you specify the size that is not available, then icons will be resize - this can cause some disturbance mainly when you are using xpm icons.

There is a trick to increase size of taskbar however. Taskbar height is sized according size of start button. E.g. for linux if your linux.xpm in taskbar folder is 50x32 then your taskbar will be 32 pixels high.

To change the height of frames you have to make theme with higher frames.

9.9 How can I translate IceWM into my language?

Create a copy of icewm.pot and rename it to cs.po or whatever is right for your language.

Then you have to translate the file using any of the tools for gettext file transaltion, e.g. kbabel, or you can edit it by hand. After translation you can send it to icewm-devel list or post it as patch in patch tracker.

If you want to test file yourself you can add this file into po directory under IceWM sources and then configure IceWM (./configure) and type make in po directory. This creates .mo file, which you can either copy to locale locations (e.g. /usr/local/share/locale/cs/LC_MESSAGES) or you can do make install.

9.10 How to use Xrandr with IceWM?

IceWM supports since a few versions the xrandr feature of X11. This can very easily be used to define a menu item on your toolbar to change the display resolution, provided that you run recent enough versions of both X11 and IceWM that supports xrandr. You can run xrandr -q to see the resolutions supported using your present X configuration (maximum resolution and color depth). You can edit this menu fragment when you have checked which resolutions work and then you can put it into your ./icewm/toolbar file

# IceWM toolbar menu to change the display resolution. 
# This needs xrandr support from both X11 and Icewm.
# Xrandr is considered an experimental feature, so your screen may go
# blank if you have a problem with some resolution setting.
# It is a good idea to close your other windows before testing.
# Check your own resolutions with xrandr -q and modify accordingly.
# This example assumes a default resolution of 1280x1024.

menu Resolution redhat-system-settings {
   prog 1280x1024 1280x1024 xrandr -s 0
   prog 1152x864  1152x864  xrandr -s 2
   prog 1024x768  1024x768  xrandr -s 3
   prog  800x600   800x600  xrandr -s 4
   prog  640x480   640x480  xrandr -s 5

The redhat-system-settings is a bitmap I picked up from my Fedora Core 3 box, you can put there whatever you want of course.

Next Previous Contents