
heliwm(1) heliwm(1) Version 1.x NAME Heliwm - Highly Essential, Light, Itsy-bitsy Window Manager for X11 SYNOPSIS heliwm [ -d display ] [ -f filename ] [ -v ] DESCRIPTION Heliwm is one of the smallest window manager for X Window System. Its design goal is minimum consumption of memory and CPU time for saving natural resources, so it provides nothing more than basic window operations such as window moving, resizing, iconifying, raising, lowering and change of the keyboard focus. Window maximizing operation and frame drawing are optional. No menus, gorgeous look, virtual screens, etc. Heliwm is for people who want to contribute to nature protection while using a window manager on X(1), or just don't want to spend much of their computer resources on a window manager. Most deficiencies you will find are due to the resource saving strategy. It depends on a keyboard for window manipulations, especially for moving and resizing, which cannot be done without using one. The idea, that the manipulations can be done without using a mouse, is inherited from Robert Nation's fvwm(1) version 1.x. Thank you, Rob. :-) OPTIONS -d display Specify X server to use. -f filename Specify non-default configuration file to use. -v Print version number along with compilation options (see below). COMPILE TIME OPTIONS There are four compile time options. FRAME If heliwm is compiled without this option, it is called alpha particle version. It doesn't decorate client windows, in order to save even more resources. NLS Native language system support. Set environmental variable LANG to name of your locale (e.g., ja_JP for Japanese), to use character sets other than ASCII for window and icon titles. Ensure that f option in your configuration file has a comma- separated list of required fonts. If you don't know which fonts are required, run heliwm with fixed specified for the f option and it will report missing character sets, if any. Use xlsfonts(1) to look for fonts for each character set. - 1 - Formatted: July 12, 2025 heliwm(1) heliwm(1) Version 1.x SHAPE X non-rectangular window shape extension support. Clients such as oclock(1) and xeyes(1) are written using the extension, but can be run without it. Some non-rectangular windows generate many X events upon exposure, and can be a burden to CPU, so avoid using them as much as possible. Alpha particle version doesn't need this option, since it displays non-rectangular windows as they are. MAXIMIZE Optional automatic window maximizing feature. Window maximizing can be done manually with resizing operation, so if you don't want to spend extra resources, compile heliwm without this option. CONFIGURATION System default configuration file is read at startup, when you don't have your own as ~/.heliwmrc or specify one by -f option. If none of them is available, default values are used. Configuration file format is quite strict, and all invalid lines are silently ignored. First of all, a line must start with an option key, which is an alphabet letter. Some of them require a sub-key, which must be the second character on the line. Keys and sub-keys are case-sensitive. Each word is separated by exactly one character, which may be a space or a tab. Take a look at the default configuration file for an example. Here is a list of available customization options: cS color_name Specify color to use. S here is one of following sub-keys: t, f, b, u, l, a. They correspond to colors of text, frame, border (of icons and indicator window), upper-left shade of frame, lower- right shade of frame, and band, respectively. Text color is used for window title text, and band color is used for a move/resize band. You may need to choose a color for the latter, so that it is in a good contrast with most part of your screen, or you may find the band hard to see. Border color is used to draw border lines around icons and the indicator window. Frame, upper-left and lower-right shade colors are used to draw frame around client windows. If you want a pseudo 3D look, specify a color darker than frame for lower-right shade, and a color brighter than frame for upper-left shade, for example. Alpha particle version ignores shade colors, since it doesn't draw frames. - 2 - Formatted: July 12, 2025 heliwm(1) heliwm(1) Version 1.x wS width Specify frame width in integer. S is either f for frame, or b for border of icons and the indicator window. Alpha particle version ignores the former. f font_name Specify font to use for window and icon titles. They are written in "text" color, specified with ct option. C cursor_number Specify cursor to use. Cursor number can be obtained from /usr/include/X11/cursorfont.h. To preview cursor shapes, use xfd(1) with -fn cursor option. kS modifier key Specify window manipulation key. S here is one of operation sub-keys: m, r, i, n, p, a, l, d, t, x. See section OPERATIONS for details. Modifier is the sum of one or more integers representing modifier keys. See section MODIFIERS for details. Key is one of the key names in /usr/include/X11/keysymdef.h, with the prefix XK_ removed. bS modifier button Specify window manipulation button. S and modifier are the same as those for key option. Button is mouse button number: 1 through 5. o other_option Specify other options. There are seven of them, and a number is assigned to each. Pick up options you want and add their numbers, or specify 0 if you want none of them. 1 Set keyboard focus to a window when it is raised. 2 Set keyboard focus to a window when the pointer is circulated to it. 4 Set keyboard focus to a window when it is mapped (displayed). 8 Raise a window when the pointer is circulated to it. 16 Move the pointer to upper-left corner of a window, when it is focused. 32 Set original window border width, which many programs set with "-bw" option, to zero automatically, upon mapping the window. 64 Redraw frame of active window only. Active window is a window with the keyboard focus, if any, or one with the circulation pointer. When there is no active window, all - 3 - Formatted: July 12, 2025 heliwm(1) heliwm(1) Version 1.x window frames are redrawn. Specifying this option significantly saves CPU load. This option is meaningless for alpha particle version. 128 When a window is to be mapped without user-specified location, place it interactively by moving a band for it. If this option is not specified, the window will be placed at where the application specifies. "Circulated" here means when "next" (n sub-key) or "previous" (p sub-key) window operations are executed. OPERATIONS Following operation sub-keys are available, with default key binding in parenthesis: m Trigger move operation (Alt+F8). r Trigger resize operation (Alt+F7). i Iconify/deiconify a window (Alt+F9). n Move the pointer to next window (Alt+F5). p Move the pointer to previous window (Alt+F6). a Raise a window (Alt+F2). l Lower a window (Alt+F3). d Delete a window, if it defines WM_DELETE_WINDOW protocol (Alt+F4). If it doesn't, it cannot be deleted by heliwm. t Terminate heliwm (Control+Shift+F2). x Maximize/unmaximize a window (Alt+F10). This is available only when heliwm is compiled with MAXIMIZE compile time option. Move and resize operations are triggered by pressing a key or a mouse button with zero or more optional modifier keys, which are described below. The cursor changes, a band appears to show current position and size of the window, and an indicator window appears at the center of the screen. Use arrow keys (up, down, left and right), vi(1) style (k, j, h and l) or emacs(1) style (p, n, b and f) cursor movement keys to move or resize the window. Holding down a shift key makes the change smaller, while a control key makes it even smaller. Modifier 1 key, if available, makes it larger. Press Enter key or a button to complete the operation. When a window is iconified for the first time, and interactive placement option (128 of "other_options"; see above) is specified, the - 4 - Formatted: July 12, 2025 heliwm(1) heliwm(1) Version 1.x band shows up for placement of the icon. Use the keys to move it to anywhere you want. n operation moves the pointer to upper-left corner of next window in a list of windows which heliwm manages. p operation moves the pointer to previous one. Maximizing a window makes it as large as possible within the size of the screen. When a client has a maximum size set, heliwm admires it, so it is impossible to make the window larger than the size. Similarly, when the client has a minimum size set, it is impossible to make the window smaller than that. MODIFIERS Following modifiers are available: 0 Require no modifier to be pressed. 1 Require a shift key to be pressed. 2 Require a control key to be pressed. 4 Require a modifier 1 key to be pressed. 8 Require a modifier 2 key to be pressed. For example, if you want a modifier 1 key and a shift key to be pressed while pressing a key, specify 5 as modifier. Run xmodmap(1) to see what keys are assigned to modifier 1 and 2. MEMORY AND CPU TIME SAVING TIPS Compile heliwm without FRAME option to make it alpha particle version. Avoid wrapping windows as much as possible. When an obscured part is exposed, it has to be redrawn, consuming extra CPU time. Users of heliwm compiled with FRAME option are encouraged to use "redraw frame of active window only" option. See description of option o in section CONFIGURATION. Use rxvt(1) instead of xterm(1) when possible. Use text console instead of X(1) or other window systems whenever possible. I developed heliwm mostly on a text console. :-) FILES /usr/lib/X11/heliwm/heliwmrc System default run control file. ~/.heliwmrc User run control file. - 5 - Formatted: July 12, 2025 heliwm(1) heliwm(1) Version 1.x AUTHOR Hidetoshi Ohtomo <hok@lab.rim.or.jp> DISTRIBUTION SITE http://www.cc.rim.or.jp/~hok/heliwm/ DESIGN Following strategies were taken in order to make the program small and/or lessen CPU load: Window frame drawing, native language system support, shape extension support and window maximizing operation are optional (see section COMPILE TIME OPTIONS), to make it possible to minimize heliwm according to individual needs. No intelligent automatic icon placement. When a window is first iconified, the icon is placed at where the window is, or a user must determine where to place the icon, depending on the specified option. Moving and resizing operations can't be done with a mouse, because pointer movement tracking is quite heavy for CPU. Configuration file is rather cryptographic (like sendmail.cf :-) and its syntax is strict to minimize configuration module. Simple frame decoration for FRAME option. Upon startup, heliwm doesn't check if another window manager is running. BUGS This window manager was named lithiwm at first, but it was soon renamed. If you find a bug or a way to make the program lighter and/or improved, or there is a feature which you want me to add, please contact me by sending an email to the address above. Note: please make sure that you are using the latest version, available at the distribution site (see section DISTRIBUTION SITE). You can check version of yours by running heliwm with "-v" option. LICENSE Copyright (C) 2000, 2001 Hidetoshi Ohtomo. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - 6 - Formatted: July 12, 2025 heliwm(1) heliwm(1) Version 1.x MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. The license can be obtained by writing to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA, or by accessing http://www.gnu.org/copyleft/gpl.html. CHEMISTRY Exact atomic weight is not determined yet, partially because its half-life, which some people call "mean time between changes," is short. But values indicated by size(1) show that it is less than others for sure. It has several isotopes, which are listed in Compile Time Options section of this manual. Research is still under progress. SEE ALSO X(1), fvwm(1), rxvt(1), xlsfonts(1), xmodmap(1), xfd(1), periodic table of the elements Linux Ecology HOWTO by Werner Heuser and Wade W. Hampton http://www.mobilix.org/eco_linux.html - 7 - Formatted: July 12, 2025