Difference between revisions of "IceWM"

From ArchWiki
Jump to: navigation, search
(Running as stand-alone WM: xinitrc covers preserving the session)
(simplification of wikilinks, fixing whitespace (https://github.com/lahwaacz/wiki-scripts/blob/master/link-checker.py))
 
(61 intermediate revisions by 9 users not shown)
Line 2: Line 2:
 
[[es:IceWM]]
 
[[es:IceWM]]
 
[[it:IceWM]]
 
[[it:IceWM]]
 +
[[ja:IceWM]]
 
[[ru:IceWM]]
 
[[ru:IceWM]]
 +
{{Related articles start}}
 +
{{Related|Window manager}}
 +
{{Related articles end}}
 +
 
According to [[Wikipedia:Icewm|Wikipedia]]:
 
According to [[Wikipedia:Icewm|Wikipedia]]:
:''IceWM is a window manager for the X Window System graphical infrastructure, written by Marko Maček. It was coded from scratch in C++ and is released under the terms of the GNU Lesser General Public License. It is relatively lightweight in terms of memory and CPU usage, and comes with themes that allow it to imitate the UI of Windows 95, OS/2, Motif, and other graphical user interfaces". Configurability and presence of simple session management places IceWM between simplest [[DE]]s and feature-rich [[WM]]s.''
+
: ''IceWM is a window manager for the X Window System graphical infrastructure, written by Marko Maček. It was coded from scratch in C++ and is released under the terms of the GNU Lesser General Public License. It is relatively lightweight in terms of memory and CPU usage, and comes with themes that allow it to imitate the UI of Windows 95, OS/2, Motif, and other graphical user interfaces.''
  
 
== Installation ==
 
== Installation ==
IceWM can be installed from [[official repositories]] with package {{Pkg|icewm}}.
 
  
Alternatively, the latest version from the testing branch ({{AUR|icewm-testing}}) and CVS version ({{AUR|icewm-cvs}}) are available from the [[AUR]]. These versions add new features and bugfixes (due to slow development they are often equal with extra/icewm).
+
IceWM can be [[installed]] with the {{Pkg|icewm}} package.
  
== Running as stand-alone WM ==
+
A forked version of IceWM exists on [https://github.com/bbidulock/icewm GitHub]. It can be installed from either of the following: {{AUR|icewm2}}, {{AUR|icewm-git}}.
To run IceWM as a stand-alone window manager, append the following to '''{{ic|~/.xinitrc}}''':
+
{{bc|exec icewm}}
+
  
icewm-session will run icewm, icewmbg and icewmtray, so appending the following to '''{{ic|~/.xinitrc}}''' implements basic session management:
+
== Starting IceWM ==
{{bc|exec icewm-session}}
+
  
See [[xinitrc]] for details, such as preserving the logind (and/or consolekit) session.
+
'''Graphical login'''
  
== IceWM as a WM for desktop environments ==
+
Just select ''IceWM'' from the session menu of your favourite [[display manager]].
Actions required to use IceWM with DE are basically same as [[Openbox#Openbox_as_a_WM_for_desktop_environments|ones for Openbox]] (and probably any other WM).
+
 
 +
'''Manually'''
 +
 
 +
For a basic session, append the following to {{ic|~/.xinitrc}}
 +
exec icewm
 +
 
 +
To run icewm, icewmbg and icewmtray with your IceWM session, append the following to {{ic|~/.xinitrc}}
 +
exec icewm-session
 +
 
 +
See [[xinitrc]] for details, such as preserving the logind session.
  
 
== Configuration ==
 
== Configuration ==
Although IceWM configuration is originally text-based, there are GUI-based tools available, notably {{Pkg|icewm-utils}} in [community]. However these tools are relatively old and most users prefer to simply edit the text configuration files. Configuration changes from defaults can be made either system wide (in /etc/icewm/) or on a user-specific basis (in ~/.icewm/).
 
  
To change your icewm configuration from the default, simply copy the default configuration files from {{Ic|/usr/share/icewm/}} to {{Ic|~/.icewm/}}, for example:
+
Although IceWM configuration is originally text-based, there are GUI-based tools available, notably {{AUR|icewm-utils}} in the [[AUR]]. However these tools are relatively old and most users prefer to simply edit the text configuration files. Configuration changes from defaults can be made either system wide (in {{ic|/etc/icewm/}}) or on a user-specific basis (in {{ic|~/.icewm/}}).
  
{{Note | Do this as a regular user, not as root.}}
+
To change your icewm configuration from the default, simply copy the default configuration files from {{ic|/usr/share/icewm/}} to {{ic|~/.icewm/}}, for example:
 +
 
 +
{{Note|Do this as a regular user, not as root.}}
  
 
  $ mkdir ~/.icewm/
 
  $ mkdir ~/.icewm/
Line 42: Line 53:
 
*{{ic|shutdown}} the same for shutdown
 
*{{ic|shutdown}} the same for shutdown
  
=== Menu ===
+
=== Autostarting ===
* {{Pkg|menumaker}} from [community] is a Python script that automatically populates your applications menu based on what is installed in your system. Although this may result in a menu filled with many unwanted applcations, it may still be preferable to manually editing the menu configuration file. When running MenuMaker, use the -f flag to overwrite an existing menu file:
+
  
# mmaker -f icewm
+
The {{ic|startup}} script is '''not''' provided by the {{Pkg|icewm}} package so you will need to create it yourself.
  
* Another tool written in perl is the {{Pkg|archlinux-xdg-menu}}:
+
$ touch ~/.icewm/startup
 +
$ chmod +x ~/.icewm/startup
  
# xdg_menu --format icewm --fullmenu --root-menu /etc/xdg/menus/arch-applications.menu > ~/.icewm/menu
+
Then open the file in your favourite text editor and add the commands for the programs that you wish to start with the IceWM session.
 +
 
 +
{{Note|Startup commands that install system tray applets must be preceded by {{ic|sleep 1 &&}}, otherwise IceWM will create an ugly black window that will prevent it from quitting; in that case, use xkill on the task bar.}}
 +
 
 +
Below is an example of an IceWM startup script which starts {{Pkg|network-manager-applet}} and [[XScreenSaver]] with the IceWM session:
 +
 
 +
{{hc|~/.icewm/startup|
 +
#!/bin/bash
 +
 
 +
sleep 1 &&
 +
nm-applet &
 +
 
 +
xscreensaver -nosplash &
 +
}}
 +
 
 +
=== Generating menu entries ===
 +
 
 +
* {{Pkg|menumaker}} from the official repositories is a Python script that automatically populates your applications menu based on what is installed in your system. Although this may result in a menu filled with many unwanted applications, it may still be preferable to manually editing the menu configuration file. When running MenuMaker, use the -f flag to overwrite an existing menu file:
 +
 
 +
$ mmaker -f icewm
 +
 
 +
You can avoid populating your menu with terminal based applications such as ''alsamixer'' by running the following switches with the mmaker command: {{ic|--no-legacy}} and {{ic|--no-debian}}. For example:
 +
 
 +
$ mmaker -f --no-legacy --no-debian icewm
 +
 
 +
* Alternatively, you can generate a menu using [[Xdg-menu]]. See the [[Xdg-menu#IceWM]] section.
  
 
=== Themes ===
 
=== Themes ===
Some themes are included by default, much larger selection is available in the {{Pkg|icewm-themes}} package in the repository, but even the best of them have a spartan, 'old Windows' feel. Much better examples (like [http://box-look.org/content/show.php/Carbonit+Ice?content=146421|this], [http://box-look.org/content/show.php/IceBuntu?content=62935|this] or [http://box-look.org/content/show.php/IceClearlooks?content=96346|this]) can be found at [http://www.box-look.org/index.php?xcontentmode=7311 box-look.org].
 
  
== File Managers ==
+
A small number of themes are included in the {{Pkg|icewm}} package. These can supplemented by the themes available from the {{Pkg|icewm-themes}} package. Many more themes can be downloaded from [http://www.box-look.org/index.php?xcontentmode=7311 box-look.org].
It should be noted that IceWM is a window manager only and therefore does not include a file manager. [[PCManFM]] and Rox Filer enable desktop icons, but [[Idesk|iDesk]] can also be used to achieve this functionality.
+
 
{{Note|For a greater listing of file managers, examine the [[:Category:File managers|File managers]] category listing.}}
+
=== Desktop icons ===
 +
 
 +
A file manager such as [[PCManFM]] or Rox Filer can manage the wallpaper and add desktop icons. Alternatively, you could install [[Idesk]], a small program that can also add icons to the desktop.
 +
 
 +
== Tips and tricks ==
 +
 
 +
=== Compositing ===
 +
 
 +
IceWM is not a compositing window manager. If you need compositing with IceWM, you have the option of using a standalone composite manager such as [[Xcompmgr]] or [[Compton]].
 +
 
 +
== Troubleshooting ==
 +
=== No start menu icon (Intel graphics) ===
 +
 
 +
If you are using IceWM with [[Intel graphics]] you may find that the start menu in your taskbar has no icon. This is due to a recent change in the {{pkg|xf86-video-intel}} driver which means that the new, but rather unstable, SNA acceleration backend is used by default. To fix the start menu issue (and other possible graphical glitches) you need to switch back to the older UXA backend. See the following article: [[Intel graphics#SNA issues]].
 +
 
 +
=== Unable to logout when PCManFM is managing the desktop ===
 +
If you use [[PCManFM]] to manage the desktop you may find that the IceWM logout button no longer works. As a workaround, you can define a logout command. This should allow you to logout whilst PCManFM is managing the desktop. To do this, open {{ic|~/.icewm/preferences}}, uncomment the following line: {{ic|<nowiki># LogoutCommand=""</nowiki>}} and enter a command which can be used to logout. For example: {{ic|<nowiki>LogoutCommand="pkill -u username"</nowiki>}} where username is your username.
 +
 
 +
=== No shutdown or reboot options in logout menu ===
 +
 
 +
* Logout command has been defined:
 +
Shutdown and reboot commands will be ignored if a logout command has been defined. If you want shutdown and reboot options in the logout menu then you must not define a logout command.
 +
 
 +
* Logout command has not been defined:
 +
If you have defined shutdown and reboot commands (such as systemctl poweroff and systemctl reboot) and you have not defined a logout command but you still find that there are no shutdown or reboot options in the logout menu then update to {{ic|icewm 1.3.8-2}}. See {{Bug|37884}} for more information.
  
 
== See also ==
 
== See also ==
* [[Xinitrc]]
+
 
 
* [http://www.icewm.org/ Official IceWM website]
 
* [http://www.icewm.org/ Official IceWM website]
* [http://en.gentoo-wiki.com/wiki/IceWM IceWM - Gentoo Linux Wiki]
 
 
* [http://www.osnews.com/story.php/7774/IceWM--The-Cool-Window-Manager/ IceWM - The Cool Window Manager] - Detailed introduction on OSNews
 
* [http://www.osnews.com/story.php/7774/IceWM--The-Cool-Window-Manager/ IceWM - The Cool Window Manager] - Detailed introduction on OSNews
 
* [http://polishlinux.org/apps/window-managers/icewm-a-desktop-for-windows-emmigrants/ IceWM - A desktop for Windows emigrants] - Overview and tutorial from polishlinux.org
 
* [http://polishlinux.org/apps/window-managers/icewm-a-desktop-for-windows-emmigrants/ IceWM - A desktop for Windows emigrants] - Overview and tutorial from polishlinux.org

Latest revision as of 21:34, 4 July 2015

Related articles

According to Wikipedia:

IceWM is a window manager for the X Window System graphical infrastructure, written by Marko Maček. It was coded from scratch in C++ and is released under the terms of the GNU Lesser General Public License. It is relatively lightweight in terms of memory and CPU usage, and comes with themes that allow it to imitate the UI of Windows 95, OS/2, Motif, and other graphical user interfaces.

Installation

IceWM can be installed with the icewm package.

A forked version of IceWM exists on GitHub. It can be installed from either of the following: icewm2AUR, icewm-gitAUR.

Starting IceWM

Graphical login

Just select IceWM from the session menu of your favourite display manager.

Manually

For a basic session, append the following to ~/.xinitrc

exec icewm

To run icewm, icewmbg and icewmtray with your IceWM session, append the following to ~/.xinitrc

exec icewm-session

See xinitrc for details, such as preserving the logind session.

Configuration

Although IceWM configuration is originally text-based, there are GUI-based tools available, notably icewm-utilsAUR in the AUR. However these tools are relatively old and most users prefer to simply edit the text configuration files. Configuration changes from defaults can be made either system wide (in /etc/icewm/) or on a user-specific basis (in ~/.icewm/).

To change your icewm configuration from the default, simply copy the default configuration files from /usr/share/icewm/ to ~/.icewm/, for example:

Note: Do this as a regular user, not as root.
$ mkdir ~/.icewm/
$ cp -R /usr/share/icewm/* ~/.icewm/
  • preferences is the core configuration file for IceWM.
  • menu controls the contents of the IceWM application menu.
  • keys allows the user to customize keyboard shortcuts
  • toolbar row of launcher icons on the taskbar
  • winoptions behavior of individual applications
  • theme theme path/name
  • startup script or command (must be executable) executed on startup
  • shutdown the same for shutdown

Autostarting

The startup script is not provided by the icewm package so you will need to create it yourself.

$ touch ~/.icewm/startup
$ chmod +x ~/.icewm/startup

Then open the file in your favourite text editor and add the commands for the programs that you wish to start with the IceWM session.

Note: Startup commands that install system tray applets must be preceded by sleep 1 &&, otherwise IceWM will create an ugly black window that will prevent it from quitting; in that case, use xkill on the task bar.

Below is an example of an IceWM startup script which starts network-manager-applet and XScreenSaver with the IceWM session:

~/.icewm/startup
#!/bin/bash

sleep 1 &&
nm-applet &

xscreensaver -nosplash &

Generating menu entries

  • menumaker from the official repositories is a Python script that automatically populates your applications menu based on what is installed in your system. Although this may result in a menu filled with many unwanted applications, it may still be preferable to manually editing the menu configuration file. When running MenuMaker, use the -f flag to overwrite an existing menu file:
$ mmaker -f icewm

You can avoid populating your menu with terminal based applications such as alsamixer by running the following switches with the mmaker command: --no-legacy and --no-debian. For example:

$ mmaker -f --no-legacy --no-debian icewm

Themes

A small number of themes are included in the icewm package. These can supplemented by the themes available from the icewm-themes package. Many more themes can be downloaded from box-look.org.

Desktop icons

A file manager such as PCManFM or Rox Filer can manage the wallpaper and add desktop icons. Alternatively, you could install Idesk, a small program that can also add icons to the desktop.

Tips and tricks

Compositing

IceWM is not a compositing window manager. If you need compositing with IceWM, you have the option of using a standalone composite manager such as Xcompmgr or Compton.

Troubleshooting

No start menu icon (Intel graphics)

If you are using IceWM with Intel graphics you may find that the start menu in your taskbar has no icon. This is due to a recent change in the xf86-video-intel driver which means that the new, but rather unstable, SNA acceleration backend is used by default. To fix the start menu issue (and other possible graphical glitches) you need to switch back to the older UXA backend. See the following article: Intel graphics#SNA issues.

Unable to logout when PCManFM is managing the desktop

If you use PCManFM to manage the desktop you may find that the IceWM logout button no longer works. As a workaround, you can define a logout command. This should allow you to logout whilst PCManFM is managing the desktop. To do this, open ~/.icewm/preferences, uncomment the following line: # LogoutCommand="" and enter a command which can be used to logout. For example: LogoutCommand="pkill -u username" where username is your username.

No shutdown or reboot options in logout menu

  • Logout command has been defined:

Shutdown and reboot commands will be ignored if a logout command has been defined. If you want shutdown and reboot options in the logout menu then you must not define a logout command.

  • Logout command has not been defined:

If you have defined shutdown and reboot commands (such as systemctl poweroff and systemctl reboot) and you have not defined a logout command but you still find that there are no shutdown or reboot options in the logout menu then update to icewm 1.3.8-2. See FS#37884 for more information.

See also