1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203
|
[icewm -- read me first file. 2025-03-09]: #
Ice Window Manager (IceWM)
==========================
IceWM is a window manager for the X Window System. The features of IceWM are
speed, simplicity, and not getting in the user's way.
> The name was decided on a very hot day... (and Marko started writing it in
> winter ;-) The aim of IceWM is to have good 'Feel' and decent 'Look'. 'Feel'
> is much more important than 'Look' ...
This is a fork of the IceWM CVS on [sourceforge][12]. It includes all changes
from the `icewm-1-3-BRANCH` branch, greatly enhanced EWMH/ICCCM compliance, as
well as patches collected from Arch Linux, Debian, pld-linux, the IceWM bug
list, and various other GitHub forks.
Release
-------
This is the `icewm-3.9.0` package, released 2025-08-31. This release, and
the latest version, can be obtained from [GitHub][1], using a command such as:
$> git clone https://github.com/bbidulock/icewm.git
Please see the [NEWS][3] file for release notes and history of user visible
changes for the current version, and the [ChangeLog][4] file for a more
detailed history of implementation changes. The [TODO][5] file lists features
not yet implemented and other outstanding items.
Please see the [INSTALL][7] file for installation instructions.
When working from `git(1)`, please use this file. An abbreviated
installation procedure that works for most applications appears below.
This release is published under LGPL. Please see the license
in the file [COPYING][9].
Quick Start
-----------
The quickest and easiest way to get icewm up and running is to run the
following commands:
$> git clone https://github.com/bbidulock/icewm.git
$> cd icewm
$> ./autogen.sh
$> ./configure
$> make
$> make DESTDIR="$pkgdir" install
This will configure, compile and install icewm the quickest. For those who
like to spend the extra 15 seconds reading `./configure --help`, some compile
time options can be turned on and off before the build.
For general information on GNU's `./configure`, see the file [INSTALL][7].
To disable sound support, use --without-icesound. When the image library
supports SVG natively, you can use --disable-librsvg and --disable-nanosvg.
Please see the [INSTALL][7] file for more detailed installation instructions.
An alternative way to build IceWM using CMake is [documented here][19].
The [ChangeLog][4] file contains a detailed history of implementation changes.
The [COMPLIANCE][6] file lists the current state of EWMH/ICCCM compliance. The
[NEWS][3] file has release notes and history of user visible changes of the
current version. The [TODO][5] file lists features not yet implemented and
other outstanding items.
This release is published under LGPL license that can be found in the file
[COPYING][9].
Prerequisites
-------------
Building from tarball requires:
- gcc or clang
- imlib2 or libgdkpixbuf
- libxcomposite
- libxdamage
- libxfixes
- libxft
- libxinerama
- libxpm
- libxrandr
- libxrender
Building from git also requires:
- complete autoconf or cmake toolchain
- either markdown or asciidoctor
- pod2man
For optional features:
- libjpeg, libpng, librsvg or nanosvg
- gettext, libfribidi
Configuring IceWM
-----------------
Documentation for configuring the window manager can be obtained from [IceWM
Website][13] or from the [online manual][15].
Since version 1.4.3 a complete and up-to-date set of manual pages is provided.
Use [__icewm__(1)][26] as a starting point.
Included Utilities
------------------
Currently, the only included utilities are:
- [__icesh__(1)][25] (_a versatile window manipulation tool_),
- [__icewmbg__(1)][22] (_a background setting program_),
- [__icewm-session__(1)][27] (_a program to launch the window manager, icewmbg and
icewmtray in an orderly fashion_),
- [__icewm-menu-fdo__(1)][24] (_a utility to genenerate XDG menus_),
- [__icewmhint__(1)][23] (_a utility to set IceWM-specific window options hint_).
- [__icesound__(1)][21] (_play audio files when interesting GUI events happen_).
Third-party Utilities
---------------------
Unspecified keyboard shortcuts can be handled with the __bbkeys__(1) utility
available from [GitHub][16].
XDG compliant menus may be generated using the __xde-menu__(1) utility
available from [GitHub][20].
For additional utilities see the [IceWM FAQ][14].
Bug Reports
-----------
Issues can be reported on [GitHub][2]. Please try to submit short patches or
pull requests if you can. If you would like to perform regular maintenance
activities (e.g. if you are a maintainer of an IceWM package for a
distribution), contact me for push access.
I normally like to have the issuers of problem reports close the report once
it has been resolved. I do not want you to think that we are being dismissive,
because I welcome all reports.
Bug reports, feedback, and suggestions pertaining to the original CVS version
can be sent to: Marko.Macek@gmx.net or icewm-user@lists.sourceforge.net
See also [BUGS][8], [TODO][5] and the sites at:
- https://ice-wm.org/
- https://sourceforge.net/projects/icewm/
Development
-----------
If you would like to develop against this fork, the easiest way is to obtain a
[GitHub account][10], fork the [repository][1] and perform your development.
Send me a pull request when you have something stable. If you submit regular
pull requests that get accepted, I will just give to push access to save time.
Translations
------------
You can provide translations by using the [openSUSE weblate tool][11].
There are two XDG files,
[icewm.desktop][17] and [icewm-session.desktop][18] which may need manual
translations. If you have difficulties using the tools, just send me the updated
`.po` file or a patch to apply.
[1]: https://github.com/bbidulock/icewm
[2]: https://github.com/bbidulock/icewm/issues
[3]: https://github.com/ice-wm/icewm/blob/3.9.0/NEWS
[4]: https://github.com/ice-wm/icewm/blob/3.9.0/ChangeLog
[5]: https://github.com/ice-wm/icewm/blob/3.9.0/TODO
[6]: https://github.com/ice-wm/icewm/blob/3.9.0/COMPLIANCE
[7]: https://github.com/ice-wm/icewm/blob/3.9.0/INSTALL
[8]: https://github.com/ice-wm/icewm/blob/3.9.0/BUGS
[9]: https://github.com/ice-wm/icewm/blob/3.9.0/COPYING
[10]: https://github.com/
[11]: https://l10n.opensuse.org/projects/icewm/icewm-1-4-branch/
[12]: https://sourceforge.net/projects/icewm/
[13]: https://ice-wm.org/
[14]: https://ice-wm.org/FAQ/
[15]: https://ice-wm.org/manual/
[16]: https://github.com/bbidulock/bbkeys/
[17]: https://github.com/ice-wm/icewm/blob/master/lib/icewm.desktop
[18]: https://github.com/ice-wm/icewm/blob/master/lib/icewm-session.desktop
[19]: https://github.com/ice-wm/icewm/blob/master/INSTALL-cmakebuild.md
[20]: https://github.com/ice-wm/xde-menu/
[21]: https://ice-wm.org/man/icesound
[22]: https://ice-wm.org/man/icewmbg
[23]: https://ice-wm.org/man/icewmhint
[24]: https://ice-wm.org/man/icewm-menu-fdo
[25]: https://ice-wm.org/man/icesh
[26]: https://ice-wm.org/man/icewm
[27]: https://ice-wm.org/man/icewm-session
[ vim: set ft=markdown sw=4 tw=80 nocin nosi fo+=tcqlorn spell: ]: #
|