Description: <short summary of the patch>
 TODO: Put a short summary on the line above and replace this paragraph
 with a longer explanation of this change. Complete the meta-information
 with other relevant fields (see below for details). To make it easier, the
 information below has been extracted from the changelog. Adjust it or drop
 it.
 .
 icewm (1.4.3.0~pre-20180217-3) unstable; urgency=medium
 .
   * Adding missing libjpeg-dev build-dependency
Author: Eduard Bloch <blade@debian.org>

---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: https://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: 2018-02-28

--- icewm-1.4.3.0~pre-20180217.orig/ChangeLog
+++ icewm-1.4.3.0~pre-20180217/ChangeLog
@@ -1,3 +1,14236 @@
+commit 32e10979cfe802fc34841cb77fe53848faf9b343
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Feb 17 19:10:08 2018 +0100
+
+    Respect TaskBarShowNetStatus when creating net status viewers
+
+    This solves issue #230
+
+ src/wmtaskbar.cc | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+commit a107018437964113f009e229d6420801b8ffd24a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Feb 17 14:16:28 2018 +0100
+
+    more flexible logging; can log events locally by inserting a function call.
+
+ src/base.h  |  23 +++-
+ src/misc.cc | 362 ++++++++++++++++++++++++++++++--------------------------
+ 2 files changed, 211 insertions(+), 174 deletions(-)
+
+commit a81e7a1ff608cfd6b47d405066e5610109493e92
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Feb 17 13:53:23 2018 +0100
+
+    fix for theme VitaBlack, which corrects
+    24fa54a658a8ef86500a728e01178ac5465acc38.
+
+ src/wmtitle.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 742bcfd75114cd87e944f55d7ea061714e481c2c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Feb 17 13:50:30 2018 +0100
+
+    free fMEMStatus when done.
+
+ src/wmtaskbar.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit fe0dee7f01027eaa12c3151de32682c65197fe7f
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Feb 17 13:48:04 2018 +0100
+
+    Allow absolute paths in theme names.
+
+ src/wmconfig.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit c7e0d0ea14854eb1d513a6e306671788bb73623c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Feb 13 21:55:36 2018 +0100
+
+    optimize layoutClient.
+
+ src/decorate.cc | 18 ++++++++----------
+ 1 file changed, 8 insertions(+), 10 deletions(-)
+
+commit 43689ea5678daa094463b8ea0dda8814ca0352c4
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Feb 13 21:53:01 2018 +0100
+
+    ifdef ENABLE_NLS is not needed, see intl.h.
+
+ src/fdomenu.cc   | 2 --
+ src/iceicon.cc   | 2 --
+ src/icelist.cc   | 2 --
+ src/icerun.cc    | 2 --
+ src/icesame.cc   | 2 --
+ src/icesh.cc     | 2 --
+ src/iceskt.cc    | 2 --
+ src/icesound.cc  | 4 ++--
+ src/iceview.cc   | 2 --
+ src/icewmhint.cc | 2 --
+ src/ylocale.cc   | 2 --
+ 11 files changed, 2 insertions(+), 22 deletions(-)
+
+commit d376f06cf5718b56e30df65e96b07aa4e404011a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Feb 13 21:47:51 2018 +0100
+
+    Prevent negative client positions. This fixes libreoffice windows.
+
+ src/wmclient.cc | 10 ++++------
+ 1 file changed, 4 insertions(+), 6 deletions(-)
+
+commit 306398b1e0fa1486d942629533856ac54f03b35c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Feb 11 11:53:18 2018 +0100
+
+    allow multiple triplets of {class.instance option arg} hints to be set
+    in one go.
+    class.instance appears to be obligatory, not optional.
+
+ src/icewmhint.cc | 103 ++++++++++++++++++++++++++-------------------------
+ src/wmmgr.cc     |  51 ++++++++-----------------
+ src/wmoption.h   |   3 +-
+ 3 files changed, 70 insertions(+), 87 deletions(-)
+
+commit 606cf4c6836cd6a12d57b36fdeede203acb3dee5
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Feb 11 11:50:57 2018 +0100
+
+    correct order of class+name for issue #227.
+
+ src/wmframe.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 15a4e71c9f01e2d68319f06f97e6710050e3f4a6
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Feb 11 00:00:29 2018 +0100
+
+    Fix whatis summaries and add basic descriptions
+
+    Also correcting icewm-menu-fdo information.
+
+ man/icewm-menu-fdo.pod    | 43 +++++++++++--------------------------------
+ man/icewm-session.pod     |  7 ++++++-
+ man/icewm-set-gnomewm.pod |  9 ++++-----
+ 3 files changed, 21 insertions(+), 38 deletions(-)
+
+commit bc09b1e92aacf347304b9175e34c0452ee4936da
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Feb 10 23:33:26 2018 +0100
+
+    Additional icewm-menu-xrandr manpage
+
+ man/CMakeLists.txt        |  1 +
+ man/Makefile.am           |  4 ++-
+ man/icewm-menu-xrandr.pod | 58 +++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 62 insertions(+), 1 deletion(-)
+
+commit 651476e2b45b5783645192039074f990170919be
+Merge: 3b1f18fe dfa8c5f1
+Author: Code7R <Code7R@users.noreply.github.com>
+Date:   Sat Feb 10 19:49:14 2018 +0100
+
+    Merge pull request #228 from mrbrainsample/icewm-1-4-BRANCH
+
+    Have cmake add git rev number to VERSION
+
+commit dfa8c5f12da5a0e1dc3d5f451f8659a407773362
+Merge: d3eaaf99 3b1f18fe
+Author: Jeff Woods <jwoods@build.com>
+Date:   Fri Feb 9 13:52:11 2018 -0800
+
+    Merge remote-tracking branch 'upstream/icewm-1-4-BRANCH' into
+    icewm-1-4-BRANCH
+
+commit 3b1f18fe3de9f10dfc4033cd345da2b5a55d2bad
+Merge: c26b7387 fb383c8c
+Author: openSUSE Weblate <weblate-noreply@opensuse.org>
+Date:   Thu Feb 8 21:06:26 2018 +0000
+
+    Merge remote-tracking branch 'origin/icewm-1-4-BRANCH' into
+    icewm-1-4-BRANCH
+
+commit c26b73878cf2d21f2e78fb06c868e9efe2adbf60
+Author: Eva van Rein <vistatec@globaltextware.nl>
+Date:   Thu Feb 8 20:36:26 2018 +0000
+
+    Translated using Weblate (Dutch)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/nl.po | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+commit fb383c8c014028b554569bdcbbfd559ea9eb1193
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Feb 8 22:04:07 2018 +0100
+
+    Properly set WM_NAME and WM_CLASS on taskbar window, so that it can be
+    controlled by winoptions in issue #227.
+
+ src/wmtaskbar.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit b737ef2dcfa1153ab13dabe515ee197b4849ae8f
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Feb 8 22:03:23 2018 +0100
+
+    reduce tedious gdb debugging output by inlining handle().
+
+ src/ywindow.cc | 12 +++---------
+ src/ywindow.h  |  4 ++--
+ 2 files changed, 5 insertions(+), 11 deletions(-)
+
+commit 07f4846c41c0d415c806b6457c59bf1edca83376
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Feb 8 22:02:15 2018 +0100
+
+    remove duplicate and superfluous initialization of mstrings for new frames.
+
+ src/wmclient.cc | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit d3eaaf99b165c9dc24198a6816b5e261467aa8ce
+Author: Jeff Woods <klaatu@fnordco.com>
+Date:   Wed Feb 7 23:30:02 2018 -0800
+
+    Have cmake add git rev number to VERSION
+
+    This adds the same behavior that the autotools build has when building
+    from a git repo
+
+ CMakeLists.txt | 32 +++++++++++++++++++++++---------
+ 1 file changed, 23 insertions(+), 9 deletions(-)
+
+commit fbdc9ea405e38b289c884a77a1201e89b2ce07dd
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Feb 6 22:25:16 2018 +0100
+
+    Take into account titleQ width when calculating rightmost button position.
+    This solves issue #221. Free titlebar colors and font when done.
+    Make unsigned -> signed conversion explicit. Some simplifications.
+
+ src/wmapp.cc    |   3 ++
+ src/wmbutton.cc |  24 ++++-----
+ src/wmbutton.h  |   4 ++
+ src/wmframe.cc  |   1 +
+ src/wmtitle.cc  | 141 +++++++++++++++++++++++++++++-----------------------
+ src/wmtitle.h   |  11 ++--
+ 6 files changed, 103 insertions(+), 81 deletions(-)
+
+commit f53b066dd7aaac2150537de285b9abdd9f7550c6
+Author: George Yacoub <george.yacoub@arabize.com>
+Date:   Mon Feb 5 08:45:41 2018 +0000
+
+    Translated using Weblate (Arabic)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/ar.po | 65 ++++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 32 insertions(+), 33 deletions(-)
+
+commit b67f84c97489e6786b08dba89ae4ff5fc907e8d3
+Author: George Yacoub <george.yacoub@arabize.com>
+Date:   Mon Feb 5 08:02:41 2018 +0000
+
+    Translated using Weblate (Arabic)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/ar.po | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 81 insertions(+), 4 deletions(-)
+
+commit 38a780fc2168fab57a8348e2d400b9d6db3297d3
+Author: George Yacoub <george.yacoub@arabize.com>
+Date:   Mon Feb 5 04:41:59 2018 +0000
+
+    Translated using Weblate (Arabic)
+
+    Currently translated at 97.8% (320 of 327 strings)
+
+ po/ar.po | 135 ++++++++++++++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 101 insertions(+), 34 deletions(-)
+
+commit 1685bbb377aa0bab14ee6dfe499a021d76892bcb
+Author: Robert Taisz <robert.taisz@emerald.hu>
+Date:   Sun Feb 4 21:01:17 2018 +0000
+
+    Translated using Weblate (Hungarian)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/hu.po | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 175 insertions(+), 4 deletions(-)
+
+commit 9e49b7c12085169db8e0c7796c2aebe43d8c642d
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Feb 4 21:07:39 2018 +0100
+
+    [cmake] Made manpages cleaning/dependencies/installation right
+
+ man/CMakeLists.txt | 40 +++++-----------------------------------
+ 1 file changed, 5 insertions(+), 35 deletions(-)
+
+commit 6aca47609632c59a8d245f4b16a7e277176bebc9
+Merge: 88f56695 532506d7
+Author: openSUSE Weblate <weblate-noreply@opensuse.org>
+Date:   Sun Feb 4 19:58:15 2018 +0000
+
+    Merge remote-tracking branch 'origin/icewm-1-4-BRANCH' into
+    icewm-1-4-BRANCH
+
+commit 88f566956367e2afb0c2f7ad9335aac0c68b71c4
+Author: Robert Taisz <robert.taisz@emerald.hu>
+Date:   Sun Feb 4 19:54:55 2018 +0000
+
+    Translated using Weblate (Hungarian)
+
+    Currently translated at 98.7% (323 of 327 strings)
+
+ po/hu.po | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+commit 532506d7acd7e6379cdb6a9959902087a8498124
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Feb 4 20:58:01 2018 +0100
+
+    update requirements
+
+ README.md    | 7 +++++++
+ README.md.in | 6 ++++++
+ 2 files changed, 13 insertions(+)
+
+commit 477eb39cfd5b24326e3be07d372990c8e94fd47f
+Merge: e7203c28 83968746
+Author: openSUSE Weblate <weblate-noreply@opensuse.org>
+Date:   Sun Feb 4 19:38:51 2018 +0000
+
+    Merge remote-tracking branch 'origin/icewm-1-4-BRANCH' into
+    icewm-1-4-BRANCH
+
+commit e7203c28563f92bc53752b41aed041e5c658475c
+Author: Robert Taisz <robert.taisz@emerald.hu>
+Date:   Sun Feb 4 19:38:14 2018 +0000
+
+    Translated using Weblate (Hungarian)
+
+    Currently translated at 97.5% (319 of 327 strings)
+
+ po/hu.po | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+commit 83968746a7a035b6e5c8762e97607deb831b120f
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Feb 4 20:38:01 2018 +0100
+
+    Prevent unstoppable series of restarts of crashing icewms.
+
+ src/icesm.cc | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 107 insertions(+), 5 deletions(-)
+
+commit 89641d694a5d594c5f95b8c820fb4b0f1be6b916
+Merge: 4e9e22f5 3d2dfae6
+Author: openSUSE Weblate <weblate-noreply@opensuse.org>
+Date:   Sun Feb 4 19:30:54 2018 +0000
+
+    Merge remote-tracking branch 'origin/icewm-1-4-BRANCH' into
+    icewm-1-4-BRANCH
+
+commit 4e9e22f52f1990af54959b31f064872021700e4c
+Author: Robert Taisz <robert.taisz@emerald.hu>
+Date:   Sun Feb 4 19:30:50 2018 +0000
+
+    Translated using Weblate (Hungarian)
+
+    Currently translated at 96.9% (317 of 327 strings)
+
+ po/hu.po | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit 3d2dfae6d2e71503739a5cbc6b0643f12b2d9f45
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Feb 4 20:30:05 2018 +0100
+
+    Actually add man/CMakeLists.txt
+
+ man/CMakeLists.txt | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 97 insertions(+)
+
+commit 62d305d8cdf88eb74cf38dc51cb30c27c2140c7a
+Merge: 617885fa aa2b407d
+Author: openSUSE Weblate <weblate-noreply@opensuse.org>
+Date:   Sun Feb 4 19:29:48 2018 +0000
+
+    Merge remote-tracking branch 'origin/icewm-1-4-BRANCH' into
+    icewm-1-4-BRANCH
+
+commit 617885fafc6036e9a524b02d679f364900514b91
+Author: Robert Taisz <robert.taisz@emerald.hu>
+Date:   Sun Feb 4 19:26:21 2018 +0000
+
+    Translated using Weblate (Hungarian)
+
+    Currently translated at 96.6% (316 of 327 strings)
+
+ po/hu.po | 52 +++++++++++++++++++++++++++++++---------------------
+ 1 file changed, 31 insertions(+), 21 deletions(-)
+
+commit aa2b407dd5811ddb2c58517fdb1bcd28cc2617e0
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Feb 4 20:28:30 2018 +0100
+
+    Added cmake stuff for the pod2man variant
+
+ CMakeLists.txt     | 1 +
+ doc/CMakeLists.txt | 8 --------
+ 2 files changed, 1 insertion(+), 8 deletions(-)
+
+commit 956f6574a65057ec00b690cdfc1e2cf605b2f221
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Feb 4 20:13:17 2018 +0100
+
+    Make verbosity configurable to avoid huge log files by default.
+
+ src/yximage.cc | 30 ++++++++++++++++++++++++++++++
+ 1 file changed, 30 insertions(+)
+
+commit 60a9bcfcb60e5c73698ff818f0d5215d57e1cd55
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Feb 4 19:05:58 2018 +0100
+
+    Restored HTML generation code
+
+    Partial revert of 173933e86d11d62559262724f6104bb72918cf0e, looks like
+    that part was accidentally killed when removing adoc manpages.
+
+ doc/CMakeLists.txt | 32 ++++++++++++++++++++++++++++++++
+ 1 file changed, 32 insertions(+)
+
+commit a9f9d6e7ac11f073cacd681e5e3adaa408f78eb7
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Feb 4 19:08:58 2018 +0100
+
+    keep background transparency pixmap allocated for issue #224.
+
+ src/icewmbg.cc | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+commit 00fd35ab903c16cbf4451ce5b81170339a049b3f
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Feb 4 18:04:30 2018 +0100
+
+    correct startMoveSize for _NET_WM_MOVERESIZE for issue #225.
+
+ src/movesize.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d302f9c1bbf5705f0885de8368405e82ab367fd8
+Author: George Yacoub <george.yacoub@arabize.com>
+Date:   Sun Feb 4 14:22:00 2018 +0000
+
+    Translated using Weblate (Arabic)
+
+    Currently translated at 88.0% (288 of 327 strings)
+
+ po/ar.po | 159 +++++++++++++++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 122 insertions(+), 37 deletions(-)
+
+commit b2358a019356f8a2f12a000488e82ba5baf42375
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Feb 3 20:22:43 2018 -0700
+
+    Revert "some changes for testing"
+
+    This reverts commit 6b4b9bdc0591f36e1a2a8d85e5a007372807bd15.
+
+    It was intended for a different branch.
+
+ configure.sh      |  1 -
+ src/decorate.cc   |  4 ----
+ src/misc.cc       | 35 ++++++++++++++++++++++++++---------
+ src/ycursor.cc    |  7 +------
+ src/yimage_gdk.cc |  4 ----
+ src/ypaint.cc     | 20 --------------------
+ src/ypixmap.cc    |  7 +------
+ src/ywindow.cc    | 18 ++----------------
+ src/yximage.cc    | 29 ++++-------------------------
+ 9 files changed, 34 insertions(+), 91 deletions(-)
+
+commit 095a6a41a6bec2f42c090dfdc5dba40c9a75b9cb
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Feb 3 20:12:25 2018 -0700
+
+    update po files
+
+ po/ar.po     | 10 ++++-----
+ po/be.po     |  6 +++---
+ po/bg.po     |  6 +++---
+ po/ca.po     |  6 +++---
+ po/cs.po     |  6 +++---
+ po/da.po     |  6 +++---
+ po/de.po     | 22 ++++++++++----------
+ po/el.po     |  6 +++---
+ po/en.po     |  6 +++---
+ po/es.po     | 34 +++++++++++++++----------------
+ po/fi.po     |  6 +++---
+ po/fr.po     | 62 ++++++++++++++++++++++++++++----------------------------
+ po/he.po     |  6 +++---
+ po/hr.po     |  6 +++---
+ po/icewm.pot |  8 ++++----
+ po/id.po     |  6 +++---
+ po/it.po     | 42 +++++++++++++++++++-------------------
+ po/ja.po     |  6 +++---
+ po/ko.po     | 37 ++++++++++++++++++++-------------
+ po/lt.po     |  6 +++---
+ po/lv.po     |  6 +++---
+ po/mk.po     |  6 +++---
+ po/nb.po     |  6 +++---
+ po/nl.po     | 22 ++++++++++----------
+ po/no.po     |  6 +++---
+ po/pl.po     | 30 +++++++++++++--------------
+ po/pt_BR.po  |  6 +++---
+ po/ro.po     |  6 +++---
+ po/ru.po     | 21 ++++++++++---------
+ po/sk.po     |  6 +++---
+ po/sl.po     |  6 +++---
+ po/sv.po     |  6 +++---
+ po/tr.po     |  6 +++---
+ po/uk.po     |  6 +++---
+ po/vi.po     |  6 +++---
+ po/zh_CN.po  | 10 ++++-----
+ 36 files changed, 229 insertions(+), 219 deletions(-)
+
+commit feabb5ab6f43a966788ea20a34e2adf84622c52f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Feb 3 20:11:34 2018 -0700
+
+    fix zh_TW.po
+
+ po/zh_TW.po | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+commit ddffa5c8d401448ab087b67f9ae6233eb1ff87c3
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Feb 3 20:11:06 2018 -0700
+
+    fix hu.po
+
+ po/hu.po | 27 ++++++++++++++-------------
+ 1 file changed, 14 insertions(+), 13 deletions(-)
+
+commit b77639c070a1fb2d671c97563a02a160ed3110d9
+Merge: 6b4b9bdc 235cf84d
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Feb 3 20:00:35 2018 -0700
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit 6b4b9bdc0591f36e1a2a8d85e5a007372807bd15
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Feb 3 19:58:06 2018 -0700
+
+    some changes for testing
+
+ configure.sh      |  1 +
+ src/decorate.cc   |  4 ++++
+ src/misc.cc       | 35 +++++++++--------------------------
+ src/ycursor.cc    |  7 ++++++-
+ src/yimage_gdk.cc |  4 ++++
+ src/ypaint.cc     | 20 ++++++++++++++++++++
+ src/ypixmap.cc    |  7 ++++++-
+ src/ywindow.cc    | 18 ++++++++++++++++--
+ src/yximage.cc    | 29 +++++++++++++++++++++++++----
+ 9 files changed, 91 insertions(+), 34 deletions(-)
+
+commit 235cf84d0258eceb3467b449cbe817da0f653494
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Feb 4 03:51:50 2018 +0100
+
+    fix another signed/unsigned conversion bug. solves issue #223.
+
+ src/icewmbg.cc | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 31e1a607aef9121241d545972861cab63f787169
+Author: Robert Taisz <robert.taisz@emerald.hu>
+Date:   Sat Feb 3 19:41:33 2018 +0000
+
+    Translated using Weblate (Hungarian)
+
+    Currently translated at 96.3% (315 of 327 strings)
+
+ po/hu.po | 88 ++++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 44 insertions(+), 44 deletions(-)
+
+commit f2c5a390270a19fb29f192af8a166c5589c93d03
+Author: George Yacoub <george.yacoub@arabize.com>
+Date:   Sat Feb 3 08:17:04 2018 +0000
+
+    Translated using Weblate (Arabic)
+
+    Currently translated at 76.4% (250 of 327 strings)
+
+ po/ar.po | 114 ++++++++++++++++++++++++++++-------------------------------
+ 1 file changed, 54 insertions(+), 60 deletions(-)
+
+commit e3ce5651a12876cba49a0c907c1d872a6959e4ac
+Author: Robert Taisz <robert.taisz@emerald.hu>
+Date:   Fri Feb 2 10:27:40 2018 +0000
+
+    Translated using Weblate (Hungarian)
+
+    Currently translated at 83.1% (272 of 327 strings)
+
+ po/hu.po | 272 ++++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 139 insertions(+), 133 deletions(-)
+
+commit f7ae87fd85259103f326b2130f9af573f6c75e7e
+Author: Nikita Maynagashev <maynagashev@palex.ru>
+Date:   Fri Feb 2 05:04:03 2018 +0000
+
+    Translated using Weblate (Russian)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/ru.po | 218 ++++++++++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 148 insertions(+), 70 deletions(-)
+
+commit c6118e02a626111fd35c34d7b7599b2d61e7790e
+Author: Emily Dong <Emily.Dong@excel-gits.com>
+Date:   Thu Feb 1 09:26:46 2018 +0000
+
+    Translated using Weblate (Chinese (Taiwan))
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/zh_TW.po | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit 71036a817e8618befa345bdba7044497d4cbbc8a
+Author: Emily Dong <Emily.Dong@excel-gits.com>
+Date:   Thu Feb 1 09:22:34 2018 +0000
+
+    Translated using Weblate (Chinese (Taiwan))
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/zh_TW.po | 471 ++++++++++++++++++++++++++++++++++----------------------
+ 1 file changed, 286 insertions(+), 185 deletions(-)
+
+commit ec5fd35ae35cc1b934825f5d2282eeefc1a12414
+Author: Hwajin Kim <hwajin.kim@e4net.net>
+Date:   Wed Jan 31 10:06:51 2018 +0000
+
+    Translated using Weblate (Korean)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/ko.po | 285 ++++++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 163 insertions(+), 122 deletions(-)
+
+commit d0ca7252320bea1eba6add8c1c1a820e251f7f68
+Author: Hwajin Kim <hwajin.kim@e4net.net>
+Date:   Wed Jan 31 02:30:41 2018 +0000
+
+    Translated using Weblate (Korean)
+
+    Currently translated at 91.4% (299 of 327 strings)
+
+ po/ko.po | 59 ++++++++++++++++++++++-------------------------------------
+ 1 file changed, 22 insertions(+), 37 deletions(-)
+
+commit d12c91b7efe72215719fb07e24bac22a95fffa7d
+Author: Hwajin Kim <hwajin.kim@e4net.net>
+Date:   Tue Jan 30 14:37:24 2018 +0000
+
+    Translated using Weblate (Korean)
+
+    Currently translated at 84.0% (275 of 327 strings)
+
+ po/ko.po | 218 ++++++++++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 149 insertions(+), 69 deletions(-)
+
+commit e70cea36622e93276e47b6861d36ebf0789d38bd
+Author: Hwajin Kim <hwajin.kim@e4net.net>
+Date:   Tue Jan 30 08:44:34 2018 +0000
+
+    Translated using Weblate (Korean)
+
+    Currently translated at 64.8% (212 of 327 strings)
+
+ po/ko.po | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit 93b38fc89429fcf92fbf6e475f770b168f7168cf
+Author: Davide Aiello <davidea@novilinguists.com>
+Date:   Mon Jan 29 14:53:18 2018 +0000
+
+    Translated using Weblate (Italian)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/it.po | 330 +++++++++++++++++++++++++++++++----------------------------
+ 1 file changed, 171 insertions(+), 159 deletions(-)
+
+commit cdb3e504a86735cb6895af532301777bc4bb0372
+Author: Christine Gabriel <christine@stoquart.com>
+Date:   Mon Jan 29 16:37:45 2018 +0000
+
+    Translated using Weblate (French)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/fr.po | 258 ++++++++++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 202 insertions(+), 56 deletions(-)
+
+commit 0f2622aabb6066cfde9db12a4ea3a41f916e6ebc
+Author: Eva van Rein <vistatec@globaltextware.nl>
+Date:   Mon Jan 29 15:51:41 2018 +0000
+
+    Translated using Weblate (Dutch)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/nl.po | 382 +++++++++++++++++++++++++++++++++++------------------------
+ 1 file changed, 226 insertions(+), 156 deletions(-)
+
+commit 34c271335e1379f03c7057c6a97988c0a04656da
+Author: Christine Gabriel <christine@stoquart.com>
+Date:   Mon Jan 29 10:48:08 2018 +0000
+
+    Translated using Weblate (French)
+
+    Currently translated at 91.1% (298 of 327 strings)
+
+ po/fr.po | 147 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 121 insertions(+), 26 deletions(-)
+
+commit 12343c4715c58ddfa1a6b5d58e64e1df9d1f8c6b
+Author: Davide Aiello <davidea@novilinguists.com>
+Date:   Mon Jan 29 10:37:59 2018 +0000
+
+    Translated using Weblate (Italian)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/it.po | 170 ++++++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 98 insertions(+), 72 deletions(-)
+
+commit 8e96da35e41953291f61dcd586fb68c7fca82b2d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Jan 29 08:01:06 2018 +0100
+
+    support grayscale JPEG images for issue #217. also support RGBA JPEGs.
+
+ src/yximage.cc | 80 +++++++++++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 67 insertions(+), 13 deletions(-)
+
+commit c3c0b1856d3d596fc30d81bb2737706cb243bb6a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Jan 29 07:59:45 2018 +0100
+
+    focus item when scrolling menus with the mouse for issue #213.
+
+ src/ymenu.cc | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit 0d3601cb5b71e8986a5a36955b6f9c470ca3a933
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jan 28 15:21:26 2018 +0100
+
+    createImage, createBitmap, expand all tabs into spaces.
+
+ src/yximage.cc | 156 ++++++++++++++++++++++++++---------------------------
+ 1 file changed, 78 insertions(+), 78 deletions(-)
+
+commit f86e9250ad16bef3d15f9bc5a6a8b804654fe0ab
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jan 28 15:21:02 2018 +0100
+
+    remove obsolete
+
+ src/ypaint.cc | 37 -------------------------------------
+ src/ypaint.h  |  7 -------
+ 2 files changed, 44 deletions(-)
+
+commit 766b16165c20df6e9f4dbb25d31ab3d4f03c0d1d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jan 28 15:19:22 2018 +0100
+
+    Fix menu scrolling for #213. Also support page up/down menu scrolling.
+
+ src/ymenu.cc     | 129 ++++++++++++++++++++++++++++++++-------------------
+ src/ymenuitem.cc |   7 +--
+ 2 files changed, 84 insertions(+), 52 deletions(-)
+
+commit b275a5fd5b609d62334008a679c2fa754c2d4548
+Author: Ewelina Michalowska <ewelina.michalowska@stgambit.com>
+Date:   Sun Jan 28 10:00:31 2018 +0000
+
+    Translated using Weblate (Polish)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/pl.po | 37 +++++++++++++++++++------------------
+ 1 file changed, 19 insertions(+), 18 deletions(-)
+
+commit 630abc0664dfd0a02a41c80b16f78f3f81e17241
+Author: Ewelina Michalowska <ewelina.michalowska@stgambit.com>
+Date:   Sun Jan 28 09:48:02 2018 +0000
+
+    Translated using Weblate (Polish)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/pl.po | 112 +++++++++++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 74 insertions(+), 38 deletions(-)
+
+commit 268f3b983457eac6176c4514af0a2b9ba9d014ec
+Author: Ewelina Michalowska <ewelina.michalowska@stgambit.com>
+Date:   Sat Jan 27 22:57:13 2018 +0000
+
+    Translated using Weblate (Polish)
+
+    Currently translated at 99.3% (325 of 327 strings)
+
+ po/pl.po | 239 ++++++++++++++++++++++++++++++++---------------------------
+ 1 file changed, 128 insertions(+), 111 deletions(-)
+
+commit cd951dbc8c410c09e29557d1cdc05bba64b6146a
+Author: Ewelina Michalowska <ewelina.michalowska@stgambit.com>
+Date:   Sat Jan 27 09:29:27 2018 +0000
+
+    Translated using Weblate (Polish)
+
+    Currently translated at 88.3% (289 of 327 strings)
+
+ po/pl.po | 15 ++++++---------
+ 1 file changed, 6 insertions(+), 9 deletions(-)
+
+commit 43391b862ea2480d0d84116951f324bd84462985
+Author: Robert Taisz <robert.taisz@emerald.hu>
+Date:   Fri Jan 26 16:02:23 2018 +0000
+
+    Translated using Weblate (Hungarian)
+
+    Currently translated at 60.2% (197 of 327 strings)
+
+ po/hu.po | 41 +++++++++++++++++++++--------------------
+ 1 file changed, 21 insertions(+), 20 deletions(-)
+
+commit dcd5c921107a4a7832e44fff15eafc07f62640b8
+Author: Juan Sarria <juansarriam@gmail.com>
+Date:   Thu Jan 25 20:27:10 2018 +0000
+
+    Translated using Weblate (Spanish)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/es.po | 281 ++++++++++++++++++++++++++++++++++++++---------------------
+ 1 file changed, 184 insertions(+), 97 deletions(-)
+
+commit 7b3ec2777b48b44121c33349f2a667c629838fb1
+Author: Eduard Bloch <blade@debian.org>
+Date:   Thu Jan 25 20:19:29 2018 +0100
+
+    Add yarray.cc to targets where misc.cc is used.
+
+    Some code was moved in 06c5b577c4f0f0518c37cb127f6a7a7f855b18ba which
+    was previously inlined.
+
+ src/CMakeLists.txt | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 0cb93e96178141ae96c6b4affdf0ecfc1b245f8f
+Author: Eduard Bloch <blade@debian.org>
+Date:   Wed Jan 3 09:07:55 2018 +0100
+
+    Stop messing around with power related keys by default
+
+    This can have unwanted side effects together with other management
+    mechanisms.
+
+ lib/keys.in | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit 6a73498df5240cfc2226ca666f3488c7e69b238d
+Author: Ewelina Michalowska <ewelina.michalowska@stgambit.com>
+Date:   Thu Jan 25 11:00:07 2018 +0000
+
+    Translated using Weblate (Polish)
+
+    Currently translated at 87.1% (285 of 327 strings)
+
+ po/pl.po | 222 ++++++++++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 153 insertions(+), 69 deletions(-)
+
+commit dd137467f4cd84dbacf19c7cb97aa995ca8a5157
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Jan 25 02:51:32 2018 +0100
+
+    Don't assume that Graphics always has a color defined as this leads to
+    crashes in issue #215. This fixes crashes for Dark-Ice.
+
+ src/yximage.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 29376d57a59f1ff2e5dff1ded1c13f251aee965d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Jan 24 22:16:51 2018 +0100
+
+    use ONCE where appropriate to reduce clutter.
+    Speedup loading of JPEG images.
+    Improved implementation of downscaling which seems to fix all problems
+    in issue #217 and is also much faster.
+
+ src/yximage.cc | 317 +++++++++++++++++++++++++++++------------------------
+ 1 file changed, 171 insertions(+), 146 deletions(-)
+
+commit df33f7c36d9bc43ed1d3b8f977df6193236cab74
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Jan 24 22:09:47 2018 +0100
+
+    When drawing a tray icon ensure that a background color has been set,
+    otherwise yximage::composite will crash according to the keepass
+    comments in issue #215.
+
+ src/atray.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 06c5b577c4f0f0518c37cb127f6a7a7f855b18ba
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Jan 24 21:57:19 2018 +0100
+
+    ONCE, testOnce, strhash.
+
+ src/Makefile.am |  6 +++---
+ src/base.h      | 52 ++++++----------------------------------------------
+ src/misc.cc     | 14 ++++++++++++++
+ 3 files changed, 23 insertions(+), 49 deletions(-)
+
+commit b5b5078cc9d7adce84c654276c8e7ee26cac88f2
+Author: Grace Yu <grace.yu@excel-gits.com>
+Date:   Tue Jan 23 09:13:09 2018 +0000
+
+    Translated using Weblate (Chinese (China))
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/zh_CN.po | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 89f7cce51ba000aba3a77bb764dbbca53c1cfe62
+Author: Wnereiz Z <wnereiz@eienteiland.org>
+Date:   Thu Dec 21 04:47:28 2017 +0000
+
+    Translated using Weblate (Chinese (China))
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/zh_CN.po | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 6a4a7866958b2ee346f45f982e85f371e62a9030
+Author: Franziska Weinberger <f.weinberger@gemino.de>
+Date:   Tue Jan 23 07:00:33 2018 +0000
+
+    Translated using Weblate (German)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/de.po | 50 ++++++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 44 insertions(+), 6 deletions(-)
+
+commit 95171b6e610f555e8f2f262b1ddca9fde52230a1
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Jan 22 20:17:59 2018 +0100
+
+    Add missing fputs to forward backtrace input to output.
+
+ src/misc.cc | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+commit c4700fd9c5ee6db354defbdb56d4a4d95dd573bc
+Author: Nathan Follens <nthn@unseen.is>
+Date:   Mon Jan 22 12:10:41 2018 +0000
+
+    Translated using Weblate (Dutch)
+
+    Currently translated at 83.4% (273 of 327 strings)
+
+ po/nl.po | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit 653fa96039300de619c880a5498fc38d6c03e12a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Jan 22 04:58:52 2018 +0100
+
+    Workaround for broken gcc/addr2line in issue #218.
+
+ src/misc.cc | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+commit 0e8cb022eb76be557063a42f876b3739adb723ff
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Jan 21 10:05:26 2018 -0700
+
+    sort out volatiles
+
+ src/yximage.cc | 189 ++++++++++++++++++++++++-----------------------------
+ 1 file changed, 87 insertions(+), 102 deletions(-)
+
+commit a5d918770791c57bdc6e7866156ce6fd3ff6ea32
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Jan 20 10:39:28 2018 -0700
+
+    update po file
+
+ po/es.po | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit da1c178aba672b6a7b193bf296e7cce5820b2342
+Merge: 9d6832c0 41f507c7
+Author: openSUSE Weblate <weblate-noreply@opensuse.org>
+Date:   Sat Jan 20 17:30:50 2018 +0000
+
+    Merge remote-tracking branch 'origin/icewm-1-4-BRANCH' into
+    icewm-1-4-BRANCH
+
+commit 9d6832c0e64d8efdb32bedec7f306352ca064caa
+Author: jc sl <trcs@gmx.com>
+Date:   Sat Jan 20 16:48:08 2018 +0000
+
+    Translated using Weblate (Spanish)
+
+    Currently translated at 95.1% (311 of 327 strings)
+
+ po/es.po | 178 +++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 88 insertions(+), 90 deletions(-)
+
+commit 41f507c76cb526396d5b5dd86fa95f3973666c62
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Jan 20 10:30:34 2018 -0700
+
+    wrong type
+
+ src/yximage.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 918762ff237b1e4e5e8998d56c2049c8909c5080
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Jan 16 16:56:26 2018 -0700
+
+    update po files
+
+ po/ar.po     | 10 +++++-----
+ po/be.po     | 10 +++++-----
+ po/bg.po     | 10 +++++-----
+ po/ca.po     | 10 +++++-----
+ po/cs.po     | 14 +++++++-------
+ po/da.po     | 14 +++++++-------
+ po/de.po     | 14 +++++++-------
+ po/el.po     | 10 +++++-----
+ po/en.po     | 10 +++++-----
+ po/es.po     | 10 +++++-----
+ po/fi.po     | 10 +++++-----
+ po/fr.po     | 10 +++++-----
+ po/he.po     | 10 +++++-----
+ po/hr.po     | 10 +++++-----
+ po/hu.po     | 10 +++++-----
+ po/icewm.pot | 12 ++++++------
+ po/id.po     | 10 +++++-----
+ po/it.po     |  2 +-
+ po/ja.po     | 10 +++++-----
+ po/ko.po     | 10 +++++-----
+ po/lt.po     | 10 +++++-----
+ po/lv.po     | 10 +++++-----
+ po/mk.po     | 10 +++++-----
+ po/nb.po     | 10 +++++-----
+ po/nl.po     | 14 +++++++-------
+ po/no.po     | 10 +++++-----
+ po/pl.po     | 10 +++++-----
+ po/pt_BR.po  | 18 +++++++++---------
+ po/ro.po     | 10 +++++-----
+ po/ru.po     | 10 +++++-----
+ po/sk.po     | 14 +++++++-------
+ po/sl.po     | 10 +++++-----
+ po/sv.po     | 10 +++++-----
+ po/tr.po     |  2 +-
+ po/uk.po     | 10 +++++-----
+ po/vi.po     | 10 +++++-----
+ po/zh_CN.po  | 10 +++++-----
+ po/zh_TW.po  | 10 +++++-----
+ 38 files changed, 197 insertions(+), 197 deletions(-)
+
+commit 78dc7f7429b09ba6b7905c24f42fc9caff9126d3
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Jan 16 16:55:05 2018 -0700
+
+    tr.po update broken
+
+ po/tr.po | 32 ++++++++++++++++----------------
+ 1 file changed, 16 insertions(+), 16 deletions(-)
+
+commit 0e49a8d8b2aa9d7f432bc877d7e7083c2f7b9e9f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Jan 16 16:54:54 2018 -0700
+
+    it.po update broken
+
+ po/it.po | 119 +++++++++++++++++++++++++++--------------------------------
+ 1 file changed, 55 insertions(+), 64 deletions(-)
+
+commit 3f581c0a62656cd0b97e03a77dc3930dbd4282f1
+Author: Alessio Adamo <alessio.adamo@gmail.com>
+Date:   Tue Jan 16 08:32:14 2018 +0000
+
+    Translated using Weblate (Italian)
+
+    Currently translated at 98.7% (323 of 327 strings)
+
+ po/it.po | 105 ++++++++++++++++++++++++++++++++---------------------------
+ 1 file changed, 57 insertions(+), 48 deletions(-)
+
+commit 173b555176e2a2a2af04e930fe14fbedc92b9c01
+Author: Alessio Adamo <alessio.adamo@gmail.com>
+Date:   Mon Jan 15 15:52:57 2018 +0000
+
+    Translated using Weblate (Italian)
+
+    Currently translated at 97.8% (320 of 327 strings)
+
+ po/it.po | 46 ++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 44 insertions(+), 2 deletions(-)
+
+commit 1d4ccc5ee0ef454f15a624a7dfdcdc673fea349b
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Jan 13 15:38:13 2018 +0100
+
+    Cope with new EDID sysfs locations on Linux 4.15rc*
+
+ contrib/icewm-menu-xrandr | 76 +++++++++++++++++++++++--------------------
+ 1 file changed, 40 insertions(+), 36 deletions(-)
+
+commit 3c60a247e640b94dcdf6375eb3a98984337e320b
+Author: Alessio Adamo <alessio.adamo@gmail.com>
+Date:   Fri Jan 12 11:36:42 2018 +0000
+
+    Translated using Weblate (Italian)
+
+    Currently translated at 97.5% (319 of 327 strings)
+
+ po/it.po | 84 ++++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 42 insertions(+), 42 deletions(-)
+
+commit 5f15f9bafb90731dc805f06b4cff3af4ba0b0299
+Author: scootergrisen <scootergrisen@gmail.com>
+Date:   Fri Jan 12 12:18:20 2018 +0000
+
+    Translated using Weblate (Danish)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/da.po | 48 ++++++++++++++++++++++++------------------------
+ 1 file changed, 24 insertions(+), 24 deletions(-)
+
+commit 09e1669d2aeb765a94c60ca2a5d46010096f6997
+Author: Alessio Adamo <alessio.adamo@gmail.com>
+Date:   Thu Jan 11 22:56:07 2018 +0000
+
+    Translated using Weblate (Italian)
+
+    Currently translated at 88.3% (289 of 327 strings)
+
+ po/it.po | 71 +++++++++++++++++++++++++++++-------------------------------
+ 1 file changed, 34 insertions(+), 37 deletions(-)
+
+commit 6dc4ec72765ddbae0f6f9b56f10474eb11af41ed
+Author: scootergrisen <scootergrisen@gmail.com>
+Date:   Thu Jan 11 21:04:31 2018 +0000
+
+    Translated using Weblate (Danish)
+
+    Currently translated at 96.0% (314 of 327 strings)
+
+ po/da.po | 22 +++++++++-------------
+ 1 file changed, 9 insertions(+), 13 deletions(-)
+
+commit 772c1a068a73256cafe59e32a6b72050eba4f3e9
+Merge: c9148e25 79ed369c
+Author: Brian Bidulock <bidulock@openss7.com>
+Date:   Sun Jan 7 22:52:11 2018 +0000
+
+    Merge pull request #214 from BTaskaya/patch-1
+
+    Translations
+
+commit 79ed369c89e450f1ced99054a79ca8b2f35c5fab
+Author: Batuhan Osman Taşkaya <batuhanosmantaskaya@gmail.com>
+Date:   Sun Jan 7 11:51:43 2018 +0300
+
+    Translations
+
+    Translations
+
+ po/tr.po | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+commit c9148e258a839df61e0eedf63936605ee49398b3
+Author: Nathan Follens <nthn@unseen.is>
+Date:   Sat Jan 6 11:27:11 2018 +0000
+
+    Translated using Weblate (Dutch)
+
+    Currently translated at 82.5% (270 of 327 strings)
+
+ po/nl.po | 30 +++++++++++++++---------------
+ 1 file changed, 15 insertions(+), 15 deletions(-)
+
+commit 0752d779ef7f2f8483ecd67099e1a5f979159e4f
+Author: Luiz Fernando Ranghetti <elchevive68@gmail.com>
+Date:   Fri Jan 5 13:02:25 2018 +0000
+
+    Translated using Weblate (Portuguese (Brazil))
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/pt_BR.po | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit 80e01814503380881c94dac6a71d832ec0a93115
+Author: Aleš Kastner <alkas@volny.cz>
+Date:   Wed Dec 13 19:02:33 2017 +0000
+
+    Translated using Weblate (Czech)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/cs.po | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 7d621a0d9bd564b42bc43acb90063b6ed84178c8
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Dec 30 02:57:40 2017 -0700
+
+    bad ifdef
+
+    gdk-pixbuf2 does not inately have .svg support.  It requires
+    that librsvg be loaded so that the svg pixbuf loader is also
+    installed.  We currently have no check for that, so strap out
+    for now.
+
+ src/yicon.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit d0ac31c0c44e43af0e34949d0212b521c83d6753
+Author: Ferdinand Galko <galko.ferdinand@gmail.com>
+Date:   Fri Dec 29 15:06:35 2017 +0000
+
+    Translated using Weblate (Slovak)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/sk.po | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit fd0b370712c3b3117aabe9ea2f0fbda1db17aef0
+Author: Sarah Kriesch <ada.lovelace@gmx.de>
+Date:   Fri Dec 29 10:12:29 2017 +0000
+
+    Translated using Weblate (German)
+
+    Currently translated at 99.3% (325 of 327 strings)
+
+ po/de.po | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 62765177cc2c08a983cb5f0916db5eeba402415d
+Author: Eduard Bloch <blade@debian.org>
+Date:   Thu Dec 28 21:21:17 2017 +0100
+
+    Special declaration of shared fontPreferFreetype option's variable
+
+ src/icewmbg.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 818c57beeb27619920929d6626f93291ac700588
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 13:17:35 2017 -0700
+
+    use requested width and height
+
+ src/yximage.cc | 30 ++++++++++--------------------
+ 1 file changed, 10 insertions(+), 20 deletions(-)
+
+commit c3e1f8c4e95921699416000513b11b54a6bd408d
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 13:08:45 2017 -0700
+
+    use calloc instead of new
+
+ src/yximage.cc | 50 +++++++++++++++++++++++++-------------------------
+ 1 file changed, 25 insertions(+), 25 deletions(-)
+
+commit 37f449c842982ee39dcc733b558edb54a4e8341f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 12:54:40 2017 -0700
+
+    back to working copy
+
+ src/yximage.cc | 20 +++++++-------------
+ 1 file changed, 7 insertions(+), 13 deletions(-)
+
+commit 0a7dd571c9c9d1e41c67e9c298208e5379b9d967
+Merge: 4dabaf7d 5694d849
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 12:47:22 2017 -0700
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit 5694d849455ec7eff8a1ad6cc390f553af94d06c
+Author: Eduard Bloch <blade@debian.org>
+Date:   Thu Dec 28 20:37:09 2017 +0100
+
+    Properly initialize scaling buffers
+
+ src/yximage.cc | 157 +++++++++++++++++++++++++++--------------------------
+ 1 file changed, 81 insertions(+), 76 deletions(-)
+
+commit aa4dfa218515aecd67a05eecba087da6f41b06ec
+Author: Eduard Bloch <blade@debian.org>
+Date:   Thu Dec 28 20:14:25 2017 +0100
+
+    new/free mismatch (hidden in XDestroyImage)
+
+ src/yximage.cc | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 4dabaf7db1b2d5df77414043568af16ea598cc01
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 12:32:23 2017 -0700
+
+    fix up downscale
+
+ src/yximage.cc | 114 +++++++++++++++++++++++++++++------------------------
+ 1 file changed, 62 insertions(+), 52 deletions(-)
+
+commit 4b8b7e1fb8ba8af4f2fb5ce619e3d3c57955c8bb
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:54:31 2017 -0700
+
+    build without pixbuf is the default
+
+ configure.ac | 21 ++++++++-------------
+ 1 file changed, 8 insertions(+), 13 deletions(-)
+
+commit c926733f6c84f874f45cebd4264e85bad67efb0b
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:52:48 2017 -0700
+
+    update po files
+
+ po/ar.po     | 2 +-
+ po/be.po     | 2 +-
+ po/bg.po     | 2 +-
+ po/ca.po     | 2 +-
+ po/cs.po     | 2 +-
+ po/da.po     | 2 +-
+ po/de.po     | 2 +-
+ po/el.po     | 2 +-
+ po/en.po     | 2 +-
+ po/es.po     | 2 +-
+ po/fi.po     | 2 +-
+ po/fr.po     | 2 +-
+ po/he.po     | 2 +-
+ po/hr.po     | 2 +-
+ po/hu.po     | 2 +-
+ po/icewm.pot | 4 ++--
+ po/id.po     | 2 +-
+ po/it.po     | 2 +-
+ po/ja.po     | 2 +-
+ po/ko.po     | 2 +-
+ po/lt.po     | 2 +-
+ po/lv.po     | 2 +-
+ po/mk.po     | 2 +-
+ po/nb.po     | 2 +-
+ po/nl.po     | 2 +-
+ po/no.po     | 2 +-
+ po/pl.po     | 2 +-
+ po/pt_BR.po  | 2 +-
+ po/ro.po     | 2 +-
+ po/ru.po     | 2 +-
+ po/sk.po     | 2 +-
+ po/sl.po     | 2 +-
+ po/sv.po     | 2 +-
+ po/tr.po     | 2 +-
+ po/uk.po     | 2 +-
+ po/vi.po     | 2 +-
+ po/zh_CN.po  | 2 +-
+ po/zh_TW.po  | 2 +-
+ 38 files changed, 39 insertions(+), 39 deletions(-)
+
+commit b920e8bb0e20c0847c25bc2ceb943e9192beacae
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:52:08 2017 -0700
+
+    build without pixbuf is the default
+
+ configure.sh | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 74714ccc7d121525094016541bfcccd386e95b8a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:32:59 2017 -0700
+
+    remove reference to menu-gnome2
+
+ man/icewm.pod | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+commit 36bbe544b4592c093af6f9b9d03af39c816069bc
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:32:46 2017 -0700
+
+    remove reference to menu-gnome2
+
+ man/icewm-menu.pod | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+commit 038bbabb96f08b1aeebd486f5b8e1781f59da1c6
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:32:27 2017 -0700
+
+    remove reference to menu-gnome2
+
+ man/icewm-menu-fdo.pod | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+commit 29850df769084f6dc2a5469940b8db1b33bb5d9a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:29:52 2017 -0700
+
+    remove reference to menu-gnome2
+
+ doc/icewm.adoc | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+commit ad67d570bc044c48a2b9307921052119cabbcf87
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:26:11 2017 -0700
+
+    update po files
+
+ po/ar.po     | 2 +-
+ po/be.po     | 2 +-
+ po/bg.po     | 2 +-
+ po/ca.po     | 2 +-
+ po/cs.po     | 2 +-
+ po/da.po     | 2 +-
+ po/de.po     | 2 +-
+ po/el.po     | 2 +-
+ po/en.po     | 2 +-
+ po/es.po     | 2 +-
+ po/fi.po     | 2 +-
+ po/fr.po     | 2 +-
+ po/he.po     | 2 +-
+ po/hr.po     | 2 +-
+ po/hu.po     | 2 +-
+ po/icewm.pot | 4 ++--
+ po/id.po     | 2 +-
+ po/it.po     | 2 +-
+ po/ja.po     | 2 +-
+ po/ko.po     | 2 +-
+ po/lt.po     | 2 +-
+ po/lv.po     | 2 +-
+ po/mk.po     | 2 +-
+ po/nb.po     | 2 +-
+ po/nl.po     | 2 +-
+ po/no.po     | 2 +-
+ po/pl.po     | 2 +-
+ po/pt_BR.po  | 2 +-
+ po/ro.po     | 2 +-
+ po/ru.po     | 2 +-
+ po/sk.po     | 2 +-
+ po/sl.po     | 2 +-
+ po/sv.po     | 2 +-
+ po/tr.po     | 2 +-
+ po/uk.po     | 2 +-
+ po/vi.po     | 2 +-
+ po/zh_CN.po  | 2 +-
+ po/zh_TW.po  | 2 +-
+ 38 files changed, 39 insertions(+), 39 deletions(-)
+
+commit 0c8fd68d5d64d2ad345da222ca8fd4c647f8aca6
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:25:49 2017 -0700
+
+    remove unnecessary attic
+
+ src/attic/ycmdline.cc     |   73 ---
+ src/attic/ycmdline.h      |   34 --
+ src/attic/yimage.cc       |  304 ----------
+ src/attic/yimage_imlib.cc |  148 -----
+ src/attic/yimage_xpm.cc   |  168 ------
+ src/attic/ylibrary.cc     |   31 -
+ src/attic/ylibrary.h      |   33 --
+ src/attic/ypixbuf.cc      | 1300 -----------------------------------------
+ src/attic/ypixbuf.h       |  136 -----
+ src/attic/yworker.cc      |  134 -----
+ src/attic/yworker.h       |   38 --
+ 11 files changed, 2399 deletions(-)
+
+commit 269265bcfa3f3faf5acdb0d114a503cb73183375
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:22:44 2017 -0700
+
+    remove menu-gnome2 manual page
+
+ man/Makefile.am | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+commit d99ddcf8e56a6b7c28576486cc43ae262bcdddb3
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:22:24 2017 -0700
+
+    update po files
+
+ po/ar.po     | 2 +-
+ po/be.po     | 2 +-
+ po/bg.po     | 2 +-
+ po/ca.po     | 6 +++---
+ po/cs.po     | 2 +-
+ po/da.po     | 2 +-
+ po/de.po     | 2 +-
+ po/el.po     | 2 +-
+ po/en.po     | 2 +-
+ po/es.po     | 2 +-
+ po/fi.po     | 2 +-
+ po/fr.po     | 2 +-
+ po/he.po     | 2 +-
+ po/hr.po     | 2 +-
+ po/hu.po     | 2 +-
+ po/icewm.pot | 4 ++--
+ po/id.po     | 2 +-
+ po/it.po     | 2 +-
+ po/ja.po     | 6 +++---
+ po/ko.po     | 2 +-
+ po/lt.po     | 2 +-
+ po/lv.po     | 2 +-
+ po/mk.po     | 2 +-
+ po/nb.po     | 2 +-
+ po/nl.po     | 2 +-
+ po/no.po     | 2 +-
+ po/pl.po     | 2 +-
+ po/pt_BR.po  | 2 +-
+ po/ro.po     | 2 +-
+ po/ru.po     | 2 +-
+ po/sk.po     | 2 +-
+ po/sl.po     | 2 +-
+ po/sv.po     | 2 +-
+ po/tr.po     | 2 +-
+ po/uk.po     | 2 +-
+ po/vi.po     | 2 +-
+ po/zh_CN.po  | 2 +-
+ po/zh_TW.po  | 2 +-
+ 38 files changed, 43 insertions(+), 43 deletions(-)
+
+commit 9f1f443188fa955e77010bdf1cc737787b29cab6
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:21:33 2017 -0700
+
+    remmove manual page
+
+ man/icewm-menu-gnome2.pod | 115 ------------------------------------------
+ 1 file changed, 115 deletions(-)
+
+commit 98f02a36de70084741929c8908fc6f5a7dff7ff9
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:20:52 2017 -0700
+
+    remove gnome2.cc source file
+
+ po/POTFILES.in | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 01088ff6f791e00ac876fd061d49d57de3e8cd21
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:20:25 2017 -0700
+
+    remove menu-gnome2 source file
+
+ src/gnome2.cc | 375 ------------------------------------------------------
+ 1 file changed, 375 deletions(-)
+
+commit de85f464f5963d946e3714f31a5e61b8429f07b8
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:20:02 2017 -0700
+
+    remove definitions for menu-gnome2
+
+ src/Makefile.am | 15 +--------------
+ 1 file changed, 1 insertion(+), 14 deletions(-)
+
+commit 343b219134da0cb78d079e120319b94bf590e08f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:19:11 2017 -0700
+
+    do not build menu-gnome2
+
+ man/Makefile.am | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit 907f4f7a350250343ab68f845f73290362d4e5fb
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:18:35 2017 -0700
+
+    do not build menu-gnome2
+
+ src/Makefile.am | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit e3f9da7d08296930080c08bfe552100a75fe66bf
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:17:27 2017 -0700
+
+    do not build menu-gnome2
+
+ configure.ac | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit ded869b631ac793e32bc77232297e4c73e9c8467
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:17:04 2017 -0700
+
+    not needed by lib/menu.in
+
+ configure.ac | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit cdad04d2825e2e1e82b53ead4285ffd104d1fb11
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:16:13 2017 -0700
+
+    remove gnome menu option
+
+ configure.ac | 13 -------------
+ 1 file changed, 13 deletions(-)
+
+commit 1e7adae66d4a242de18950fe3aeb44819e5dfb02
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:13:53 2017 -0700
+
+    remove unused variable
+
+ configure.ac | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit c2f250c65b9cc673378585b60ce8fc5648a6f3d6
+Merge: 173933e8 ce1ed91c
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:09:18 2017 -0700
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit 173933e86d11d62559262724f6104bb72918cf0e
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 11:08:14 2017 -0700
+
+    remove old manpages
+
+ doc/CMakeLists.txt  |   95 +---
+ doc/Makefile.am     |   24 +-
+ doc/icesound.1.adoc |  168 -------
+ doc/icewm.1.adoc    | 1146 ---------------------------------------------
+ doc/icewm.man       | 1190 -----------------------------------------------
+ doc/icewmbg.1.adoc  |  165 -------
+ 6 files changed, 9 insertions(+), 2779 deletions(-)
+
+commit ce1ed91cb474f876bee8d542d7d09458e52a1696
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Dec 28 17:52:28 2017 +0100
+
+    Only copy menubg.xpm to listbackPixmap and dialogbackPixmap if menubg.xpm
+    does NOT appear in Gradients a la version 1.3.12 for issue #212.
+
+ src/wpixres.cc | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+commit 9916d39213d26ec3b252f995fc6dea167f27c687
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:29:43 2017 -0700
+
+    update po files
+
+ po/ar.po     | 2 +-
+ po/be.po     | 2 +-
+ po/bg.po     | 2 +-
+ po/ca.po     | 2 +-
+ po/cs.po     | 2 +-
+ po/da.po     | 2 +-
+ po/de.po     | 2 +-
+ po/el.po     | 2 +-
+ po/en.po     | 2 +-
+ po/es.po     | 2 +-
+ po/fi.po     | 2 +-
+ po/fr.po     | 2 +-
+ po/he.po     | 2 +-
+ po/hr.po     | 2 +-
+ po/hu.po     | 2 +-
+ po/icewm.pot | 4 ++--
+ po/id.po     | 2 +-
+ po/it.po     | 2 +-
+ po/ja.po     | 2 +-
+ po/ko.po     | 2 +-
+ po/lt.po     | 2 +-
+ po/lv.po     | 2 +-
+ po/mk.po     | 2 +-
+ po/nb.po     | 2 +-
+ po/nl.po     | 2 +-
+ po/no.po     | 2 +-
+ po/pl.po     | 2 +-
+ po/pt_BR.po  | 2 +-
+ po/ro.po     | 2 +-
+ po/ru.po     | 2 +-
+ po/sk.po     | 2 +-
+ po/sl.po     | 2 +-
+ po/sv.po     | 2 +-
+ po/tr.po     | 2 +-
+ po/uk.po     | 2 +-
+ po/vi.po     | 2 +-
+ po/zh_CN.po  | 2 +-
+ po/zh_TW.po  | 2 +-
+ 38 files changed, 39 insertions(+), 39 deletions(-)
+
+commit c3d88dbb46221aba6ae05c45ed2c06b17a28e181
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:26:16 2017 -0700
+
+    help must print to stdout to pass distcheck
+
+ src/gnome2.cc | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 2a0d22fe9cf6216426d73ac5616b7d178fba6f46
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:19:56 2017 -0700
+
+    remove deprecated file
+
+ po/POTFILES.in | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 11abedf4d2dbacbf879d8cebe89b5d394bb36491
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:16:50 2017 -0700
+
+    generate html output too
+
+ man/Makefile.am | 22 ++++++++++++++++------
+ 1 file changed, 16 insertions(+), 6 deletions(-)
+
+commit 63ee5491cec314cef2f143ca6949938f1c3b44cf
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:16:22 2017 -0700
+
+    make html output better
+
+ man/icewmtray.pod | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
+
+commit fdbb3e7582f862d94cc2e3355e8ecbc7aed6cf15
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:16:05 2017 -0700
+
+    make html output better
+
+ man/icewmhint.pod | 98 ++++++++++++++++++++++++++-------------------------
+ 1 file changed, 50 insertions(+), 48 deletions(-)
+
+commit aacbcb966320062836eed436cfbe975d0a50ba4c
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:15:23 2017 -0700
+
+    make html output better
+
+ man/icewm-winoptions.pod | 142 +++++++++++++++++++++++++------------------
+ 1 file changed, 82 insertions(+), 60 deletions(-)
+
+commit 74fa9adcd0ac379ff08a4a3abf2bf33a6c887baa
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:14:50 2017 -0700
+
+    make html output better
+
+ man/icewm-toolbar.pod | 40 ++++++++++++++++++++++++++--------------
+ 1 file changed, 26 insertions(+), 14 deletions(-)
+
+commit f274578e79e28ff463898186bb3e0749bf04ae35
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:13:36 2017 -0700
+
+    make html output better
+
+ man/icewm-theme.pod | 40 ++++++++++++++++++++++++----------------
+ 1 file changed, 24 insertions(+), 16 deletions(-)
+
+commit 899f5cf4b5cbda3b2531fca9e71c07dfb7b7f51f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:13:16 2017 -0700
+
+    make html output better
+
+ man/icewm-startup.pod | 18 +++++++++++++-----
+ 1 file changed, 13 insertions(+), 5 deletions(-)
+
+commit d5f1c111d955119e2ec5da4ebb1967874e630115
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:13:07 2017 -0700
+
+    make html output better
+
+ man/icewm-shutdown.pod | 18 +++++++++++++-----
+ 1 file changed, 13 insertions(+), 5 deletions(-)
+
+commit a4a84557f6ec03497b0060c5895a3a9a8f88bb1a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:12:53 2017 -0700
+
+    make html output better
+
+ man/icewm-programs.pod | 18 +++++++++++++-----
+ 1 file changed, 13 insertions(+), 5 deletions(-)
+
+commit cbe640049f37756bdb56165279286089bab01958
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:12:40 2017 -0700
+
+    make html output better
+
+ man/icewm-prefoverride.pod | 18 +++++++++++++-----
+ 1 file changed, 13 insertions(+), 5 deletions(-)
+
+commit 46191f42a5441987952ea80c3adc1ddd126bed08
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:12:26 2017 -0700
+
+    make html output better
+
+ man/icewm-preferences.pod | 18 +++++++++++++-----
+ 1 file changed, 13 insertions(+), 5 deletions(-)
+
+commit 4d609d887d4eee0044a6d00705f7c8262a8b0310
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:12:03 2017 -0700
+
+    make html output better
+
+ man/icewm-menu.pod | 18 +++++++++++++-----
+ 1 file changed, 13 insertions(+), 5 deletions(-)
+
+commit 3971283e0c4aaea2aa6a779a26e1f13237fcc22d
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:11:50 2017 -0700
+
+    make html output better
+
+ man/icewm-menu-gnome2.pod | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
+
+commit 7a3b8e20faf94c1c3280b86625d16c2224662750
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:11:19 2017 -0700
+
+    make html output better
+
+ man/icewm-keys.pod | 90 +++++++++++++++++++++++++++++---------------------
+ 1 file changed, 53 insertions(+), 37 deletions(-)
+
+commit a4a34290fcee298d4c1dee48a8c8f9ea185788af
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:07:13 2017 -0700
+
+    make html output better
+
+ man/icewm-focus_mode.pod | 18 +++++++++++++-----
+ 1 file changed, 13 insertions(+), 5 deletions(-)
+
+commit 915b6221e49745bfd663ad06122486d3ff5cb25c
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:06:58 2017 -0700
+
+    make html output better
+
+ man/icewm-env.pod | 18 +++++++++++++-----
+ 1 file changed, 13 insertions(+), 5 deletions(-)
+
+commit 615e0dbb63f0b49c4ad520974c936023615280cd
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 04:06:24 2017 -0700
+
+    make html output better
+
+ man/icesh.pod | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
+
+commit 71480ec8564e16721e7187c8a7826bf9aa05282a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 03:18:12 2017 -0700
+
+    asciiman command not used
+
+ configure.ac | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+commit 231a893df41f7237a4a3ba0f881ad925ed211f00
+Author: David Medina <medipas@gmail.com>
+Date:   Mon Dec 11 09:25:52 2017 +0000
+
+    Translated using Weblate (Catalan)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/ca.po | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit a6c13430605602d406d1b131e5961cd30f4225e1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 03:15:32 2017 -0700
+
+    remote deprecated file
+
+ src/gnome.cc | 221 -------------------------------------------------------
+ 1 file changed, 221 deletions(-)
+
+commit da2dd432e239ae4dcb32d3859fa5d0f4ae1883dc
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 03:15:07 2017 -0700
+
+    GNOME1 stuff is deprecated
+
+ src/Makefile.am | 15 +--------------
+ 1 file changed, 1 insertion(+), 14 deletions(-)
+
+commit 5ea9d3ec419c6f0fb0b5b3c48751e60881a9b993
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 03:14:46 2017 -0700
+
+    update po file
+
+ po/ar.po     | 2 +-
+ po/be.po     | 2 +-
+ po/bg.po     | 2 +-
+ po/ca.po     | 2 +-
+ po/cs.po     | 2 +-
+ po/da.po     | 2 +-
+ po/de.po     | 2 +-
+ po/el.po     | 2 +-
+ po/en.po     | 2 +-
+ po/es.po     | 2 +-
+ po/fi.po     | 2 +-
+ po/fr.po     | 2 +-
+ po/he.po     | 2 +-
+ po/hr.po     | 2 +-
+ po/hu.po     | 2 +-
+ po/icewm.pot | 4 ++--
+ po/id.po     | 2 +-
+ po/it.po     | 2 +-
+ po/ja.po     | 2 +-
+ po/ko.po     | 2 +-
+ po/lt.po     | 2 +-
+ po/lv.po     | 2 +-
+ po/mk.po     | 2 +-
+ po/nb.po     | 2 +-
+ po/nl.po     | 2 +-
+ po/no.po     | 2 +-
+ po/pl.po     | 2 +-
+ po/pt_BR.po  | 2 +-
+ po/ro.po     | 2 +-
+ po/ru.po     | 2 +-
+ po/sk.po     | 2 +-
+ po/sl.po     | 2 +-
+ po/sv.po     | 2 +-
+ po/tr.po     | 2 +-
+ po/uk.po     | 2 +-
+ po/vi.po     | 2 +-
+ po/zh_CN.po  | 2 +-
+ po/zh_TW.po  | 2 +-
+ 38 files changed, 39 insertions(+), 39 deletions(-)
+
+commit 4a7f183c366c902cdc44416525bca1ac5d4c8f02
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 03:10:59 2017 -0700
+
+    gnome1 stuff is deprecated
+
+ configure.ac | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit 3b015aa69f1bea69a7976d86288940c8830c6c52
+Author: Yasuhiko Kamata <belphegor@belbel.or.jp>
+Date:   Sun Dec 10 22:37:18 2017 +0000
+
+    Translated using Weblate (Japanese)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/ja.po | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 71286215faefb5826bf617b20254b5a67925c9d6
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 01:27:56 2017 -0700
+
+    build html man pages
+
+ man/Makefile.am | 51 ++++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 40 insertions(+), 11 deletions(-)
+
+commit 1fefa48d8b1daa9b14db18f4753c9dbcf05072fe
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 01:24:42 2017 -0700
+
+    pod2html doesn't like numbers after =item
+
+ man/icesound.pod | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 9c09e6c0eb936e5a32c5a653df730d529122cef3
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 01:24:29 2017 -0700
+
+    correction
+
+ man/icewm.pod | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f49c5db273010dd3a65c3be446dbdd7faae71321
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 01:24:03 2017 -0700
+
+    update po files
+
+ po/ar.po     | 2 +-
+ po/be.po     | 2 +-
+ po/bg.po     | 2 +-
+ po/ca.po     | 2 +-
+ po/cs.po     | 2 +-
+ po/da.po     | 2 +-
+ po/de.po     | 2 +-
+ po/el.po     | 2 +-
+ po/en.po     | 2 +-
+ po/es.po     | 2 +-
+ po/fi.po     | 2 +-
+ po/fr.po     | 2 +-
+ po/he.po     | 2 +-
+ po/hr.po     | 2 +-
+ po/hu.po     | 2 +-
+ po/icewm.pot | 4 ++--
+ po/id.po     | 2 +-
+ po/it.po     | 2 +-
+ po/ja.po     | 2 +-
+ po/ko.po     | 2 +-
+ po/lt.po     | 2 +-
+ po/lv.po     | 2 +-
+ po/mk.po     | 2 +-
+ po/nb.po     | 2 +-
+ po/nl.po     | 2 +-
+ po/no.po     | 2 +-
+ po/pl.po     | 2 +-
+ po/pt_BR.po  | 2 +-
+ po/ro.po     | 2 +-
+ po/ru.po     | 2 +-
+ po/sk.po     | 2 +-
+ po/sl.po     | 2 +-
+ po/sv.po     | 2 +-
+ po/tr.po     | 2 +-
+ po/uk.po     | 2 +-
+ po/vi.po     | 2 +-
+ po/zh_CN.po  | 2 +-
+ po/zh_TW.po  | 2 +-
+ 38 files changed, 39 insertions(+), 39 deletions(-)
+
+commit 0296a4ca15c68214717fb22cf7c3de48d3137e92
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 01:23:52 2017 -0700
+
+    add ignore files
+
+ .gitignore | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 88ce71b74f74d394316ea99a07f3eebcfb24c2c4
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Dec 28 01:22:14 2017 -0700
+
+    build_help doesn't exist anymore
+
+ configure.ac | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit de358b42858dbc2e12561037a2213e5f2dc0bab7
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Dec 27 23:38:16 2017 -0700
+
+    update po files
+
+ po/ar.po     | 227 +++++++++++++++++++++++++------------------------
+ po/be.po     | 229 +++++++++++++++++++++++++------------------------
+ po/bg.po     | 227 +++++++++++++++++++++++++------------------------
+ po/ca.po     | 227 +++++++++++++++++++++++++------------------------
+ po/cs.po     | 227 +++++++++++++++++++++++++------------------------
+ po/da.po     | 227 +++++++++++++++++++++++++------------------------
+ po/de.po     | 243 ++++++++++++++++++++++++++--------------------------
+ po/el.po     | 227 +++++++++++++++++++++++++------------------------
+ po/en.po     | 224 ++++++++++++++++++++++++------------------------
+ po/es.po     | 227 +++++++++++++++++++++++++------------------------
+ po/fi.po     | 227 +++++++++++++++++++++++++------------------------
+ po/fr.po     | 227 +++++++++++++++++++++++++------------------------
+ po/he.po     | 227 +++++++++++++++++++++++++------------------------
+ po/hr.po     | 228 +++++++++++++++++++++++++------------------------
+ po/hu.po     | 229 +++++++++++++++++++++++++------------------------
+ po/icewm.pot | 228 ++++++++++++++++++++++++-------------------------
+ po/id.po     | 227 +++++++++++++++++++++++++------------------------
+ po/it.po     | 227 +++++++++++++++++++++++++------------------------
+ po/ja.po     | 227 +++++++++++++++++++++++++------------------------
+ po/ko.po     | 227 +++++++++++++++++++++++++------------------------
+ po/lt.po     | 227 +++++++++++++++++++++++++------------------------
+ po/lv.po     | 227 +++++++++++++++++++++++++------------------------
+ po/mk.po     | 227 +++++++++++++++++++++++++------------------------
+ po/nb.po     | 227 +++++++++++++++++++++++++------------------------
+ po/nl.po     | 227 +++++++++++++++++++++++++------------------------
+ po/no.po     | 227 +++++++++++++++++++++++++------------------------
+ po/pl.po     | 227 +++++++++++++++++++++++++------------------------
+ po/pt_BR.po  | 227 +++++++++++++++++++++++++------------------------
+ po/ro.po     | 227 +++++++++++++++++++++++++------------------------
+ po/ru.po     | 255 ++++++++++++++++++++++++++++++-------------------------
+ po/sk.po     | 227 +++++++++++++++++++++++++------------------------
+ po/sl.po     | 227 +++++++++++++++++++++++++------------------------
+ po/sv.po     | 227 +++++++++++++++++++++++++------------------------
+ po/tr.po     | 227 +++++++++++++++++++++++++------------------------
+ po/uk.po     | 227 +++++++++++++++++++++++++------------------------
+ po/vi.po     | 227 +++++++++++++++++++++++++------------------------
+ po/zh_CN.po  | 235 +++++++++++++++++++++++++-------------------------
+ po/zh_TW.po  | 227 +++++++++++++++++++++++++------------------------
+ 38 files changed, 4403 insertions(+), 4278 deletions(-)
+
+commit 3ae84bd1dcfedeb68f738a60fe44181b4796e68b
+Merge: abd0537f 22f1c5f1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Dec 27 23:23:47 2017 -0700
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit 22f1c5f10c7d41e0e00e02c34e406bffcc0f25d6
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Dec 27 20:53:34 2017 +0100
+
+    fix formatting and remove stray semicolons
+
+ src/acpustatus.cc |  2 +-
+ src/fdomenu.cc    |  8 ++++----
+ src/icehelp.cc    |  2 +-
+ src/iceicon.cc    |  2 +-
+ src/iceview.cc    |  2 +-
+ src/icewmhint.cc  |  2 +-
+ src/ref.h         |  2 +-
+ src/upath.h       |  4 ++--
+ src/wmapp.h       |  2 +-
+ src/wmclient.h    |  2 +-
+ src/wmmgr.cc      |  2 +-
+ src/wmminiicon.cc |  4 ++--
+ src/wmprog.cc     | 10 +++++-----
+ src/yapp.h        |  2 +-
+ src/yfont.cc      |  6 +++---
+ src/yimage.h      |  2 +-
+ src/ylistbox.cc   |  2 +-
+ src/ymenu.cc      |  4 ++--
+ src/ymsgbox.h     |  2 +-
+ src/ypipereader.h |  2 +-
+ src/ypoll.h       |  2 +-
+ src/ypopup.h      |  2 +-
+ src/yscrollbar.h  |  2 +-
+ src/yscrollview.h |  2 +-
+ src/ysocket.h     |  2 +-
+ src/ytimer.h      |  2 +-
+ 26 files changed, 38 insertions(+), 38 deletions(-)
+
+commit d0b1ba6d1fe7d3d5cbe05b316975e4ab5a41badc
+Merge: 5ed338c1 827fdd13
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Dec 27 17:30:35 2017 +0100
+
+    merge
+
+commit 5ed338c1538b06952ba47588d8d7f19ecef53425
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Dec 27 17:28:30 2017 +0100
+
+    give signedness to width/height. fix #211.
+
+ src/wmwinlist.cc | 19 ++++++++++---------
+ src/ypopup.cc    | 41 +++++++++++++++++++++--------------------
+ 2 files changed, 31 insertions(+), 29 deletions(-)
+
+commit 827fdd1320aaeeb61f17f9ee27d5d1c1273f5391
+Merge: 416815d5 3fb1aab2
+Author: openSUSE Weblate <weblate-noreply@opensuse.org>
+Date:   Wed Dec 27 16:27:18 2017 +0000
+
+    Merge remote-tracking branch 'origin/icewm-1-4-BRANCH' into
+    icewm-1-4-BRANCH
+
+commit 416815d5342beee272f55dd5added03505007fdb
+Author: Sarah Kriesch <ada.lovelace@gmx.de>
+Date:   Wed Dec 27 14:01:54 2017 +0000
+
+    Translated using Weblate (German)
+
+    Currently translated at 99.6% (326 of 327 strings)
+
+ po/de.po | 224 +++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 111 insertions(+), 113 deletions(-)
+
+commit 3fb1aab25b0fc395d98c70a2bb46e400a037d0e7
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Dec 27 17:26:24 2017 +0100
+
+    menu margin also includes gradient background.
+
+ src/ymenu.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit d570343788a87bceee8e23b9621379f1963445a5
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Dec 27 10:46:39 2017 +0100
+
+    fix previous commit
+
+ src/icesound.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 4ff0f3754520506709aa1d0230988e10923d36d4
+Merge: d903f48c cf20d911
+Author: openSUSE Weblate <weblate-noreply@opensuse.org>
+Date:   Tue Dec 26 18:19:28 2017 +0000
+
+    Merge remote-tracking branch 'origin/icewm-1-4-BRANCH' into
+    icewm-1-4-BRANCH
+
+commit d903f48c45162b9d6aae2f106c08a5eb774225cc
+Author: Sarah Kriesch <ada.lovelace@gmx.de>
+Date:   Tue Dec 26 17:49:54 2017 +0000
+
+    Translated using Weblate (German)
+
+    Currently translated at 99.6% (326 of 327 strings)
+
+ po/de.po | 112 +++++++++++++++++++++++++++++++++++++++++------------------
+ 1 file changed, 78 insertions(+), 34 deletions(-)
+
+commit cf20d911bb26c7e50a4da8d2084c66cf68a4c131
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Dec 26 17:05:42 2017 +0100
+
+    Build fixes from Debian Experimental
+
+    IIRC to compile with just libao without esd on kfreebsd.
+
+ src/icesound.cc | 21 ++++++++++++---------
+ src/misc.cc     |  3 +++
+ 2 files changed, 15 insertions(+), 9 deletions(-)
+
+commit 5541baa4e610d0f7f2c28e512dad74d94cd0314e
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Dec 26 16:57:44 2017 +0100
+
+    Build fix with -DXTERMCMD set
+
+ src/fdomenu.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 094ffe410e94b65994a76f119bf39563f43efc54
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Dec 26 16:52:09 2017 +0100
+
+    Don't use gold automatically
+
+    Suspect to cause build failures on alpha and some others.
+
+ src/CMakeLists.txt | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+commit abd0537f3d8482d99e8a0ac8d4365a6f01e91b3e
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Nov 26 14:59:52 2017 -0700
+
+    allocation too large
+
+ src/yximage.cc | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+commit 19e02aac5b0b2b600a8525b6461f266dc44a08d3
+Merge: 50833ede 3d5d4d8e
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Nov 26 14:09:46 2017 -0700
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit 50833edeb4bb19159a298bc29eac89d0f7341d78
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Nov 26 14:01:22 2017 -0700
+
+    still working this
+
+ src/yximage.cc | 277 +++++++++++++++++++++++++++++++++++------------------
+ 1 file changed, 183 insertions(+), 94 deletions(-)
+
+commit 97123f679901c166145682b8505317040096494b
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Nov 23 20:17:50 2017 -0700
+
+    remember wheter image was a bitmap for rendering
+
+ src/yximage.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+commit a7ea747e1b5af6fe3b7d96f5235d69009954ae96
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Dec 25 19:09:40 2017 +0100
+
+    Don't consider SVG icons without loader support
+
+    And also don't print misleading messages.
+
+ src/yicon.cc   |  9 ++++++---
+ src/yximage.cc | 15 +++++++++++++--
+ 2 files changed, 19 insertions(+), 5 deletions(-)
+
+commit 8f05579607c3a77b35188d41376573b6759ce5bb
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Dec 25 17:52:22 2017 +0100
+
+    Option to use corefonts despite of Xft support
+
+ src/default.h |  2 ++
+ src/yfont.cc  | 15 ++++++++++++---
+ src/yprefs.h  |  3 ---
+ 3 files changed, 14 insertions(+), 6 deletions(-)
+
+commit 2e0f48a5406394655910f4a2aa772828d6f7c7e9
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Dec 25 10:53:14 2017 +0100
+
+    overlap
+
+ src/decorate.cc | 75 ++++++++++-------------------------------------------
+ src/wmframe.cc  |  4 +--
+ src/wmframe.h   |  3 ++-
+ 3 files changed, 18 insertions(+), 64 deletions(-)
+
+commit a9d4c02f6a57b49feda14fec6d1cf8a85feb4ea4
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Dec 25 10:51:57 2017 +0100
+
+    intersect.
+
+ src/yrect.h | 60 ++++++++++++---------------------------------------------
+ 1 file changed, 12 insertions(+), 48 deletions(-)
+
+commit 02cbabcbcbb20aa601b495071ae0ac965e3c55fb
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Dec 25 10:51:33 2017 +0100
+
+    geometry
+
+ src/ywindow.cc | 10 +++++-----
+ src/ywindow.h  |  2 ++
+ 2 files changed, 7 insertions(+), 5 deletions(-)
+
+commit b50e37e0c3c328d97870fc3428e21911fcf3a398
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Dec 25 10:49:39 2017 +0100
+
+    move HAVE_NET_STATUS where it belongs
+
+ src/apppstatus.h | 7 +++++++
+ src/base.h       | 9 ---------
+ 2 files changed, 7 insertions(+), 9 deletions(-)
+
+commit dca019c49a9d294291780c7096151aefb4c8eb61
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Dec 25 10:47:47 2017 +0100
+
+    fix prratio - 1.
+
+ src/yxapp.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 368acff949ed85f563290b5ee4e65ab848dc1e70
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Dec 25 10:46:44 2017 +0100
+
+    fix typo in previous commit to make it compile again.
+
+ src/default.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit fd08a1f29ecb76fb13722c8d073d3626be7e7e47
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Dec 24 14:45:43 2017 +0100
+
+    Explain the context of some options
+
+    Was hard to guess that it's about program menu; for #206 .
+
+ src/default.h | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+commit b6a8f83390b51010658a7f29a97b65196452fb7b
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Dec 24 14:23:21 2017 +0100
+
+    Fix icon loading in horizontal wmswitch mode
+
+    Also little refactoring; for #206 .
+
+ src/wmswitch.cc | 63 ++++++++++++++++++++++++-----------------------------
+ 1 file changed, 28 insertions(+), 35 deletions(-)
+
+commit f7bd2256656ccd3e6c266cd040baa0a54540de1b
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Dec 24 14:04:01 2017 +0100
+
+    Fix linking with cmake and fribidi enabled
+
+ src/CMakeLists.txt | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+commit 64263aca54d9ef06f52563d53473d9c59ff20def
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Dec 24 12:18:05 2017 +0100
+
+    Fix build error in certain configurations
+
+    Needed l10n macro
+
+ src/yximage.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit a67420edb12837ccf8a71235529cc8119fbf7b5b
+Author: Sarah Kriesch <ada.lovelace@gmx.de>
+Date:   Sat Dec 23 20:08:00 2017 +0000
+
+    Translated using Weblate (German)
+
+    Currently translated at 97.8% (320 of 327 strings)
+
+ po/de.po | 135 +++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 67 insertions(+), 68 deletions(-)
+
+commit 14a40b10685b6a0d326030ef24a686d1d5cd5767
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 23 02:05:07 2017 +0100
+
+    Cmake support JPEG for XPM and fix FRIBIDI.
+
+ rebuild.sh         |  2 ++
+ src/CMakeLists.txt | 23 +++++++++++++++--------
+ 2 files changed, 17 insertions(+), 8 deletions(-)
+
+commit 6bf698aaba64448343cd1cd7f5ebce43bff607f8
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 23 02:04:07 2017 +0100
+
+    Support JPEG images for icewmbg in YXImage / XPM.
+
+ configure.ac   |   6 ++++
+ src/wmapp.cc   |  47 +++++++++++++++----------
+ src/yximage.cc | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++---
+ 3 files changed, 132 insertions(+), 22 deletions(-)
+
+commit 30f1b872df350f12e28047835f10f832ea2913db
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 23 01:56:54 2017 +0100
+
+    Sometimes a hundred or more events come in at once.
+    Process at least a decent chunk of them before returning to look
+    for I/O-events or expired timers. This reduces the number of system
+    calls when peak load occurs and may improve responsiveness a bit.
+    Add synchronized, print_copying. Split large YXApplication constructor
+    and cache often used display data const,
+
+ src/yxapp.cc | 87 +++++++++++++++++++++++++++++++++++---------------------
+ src/yxapp.h  | 36 +++++++++++++++++------
+ 2 files changed, 82 insertions(+), 41 deletions(-)
+
+commit c644928755083951fe75a708eb68dfad9417e5f9
+Author: Eduard Bloch <blade@debian.org>
+Date:   Fri Dec 22 15:54:02 2017 +0100
+
+    Cache and reuse EDID data check results
+
+    Remedy to laggy xrandr script execution with nouveau driver, at least
+    for repeated calls.
+
+    Also force to enable primary monitor in auto mode, always. There is no
+    reason to assume that it's turned on when script is run.
+
+ contrib/icewm-menu-xrandr | 96 +++++++++++++++++++++++++++++++++----------
+ 1 file changed, 75 insertions(+), 21 deletions(-)
+
+commit d8c64b083b94b5e2786994a0e44e02824d81a24e
+Merge: 6291dee1 21641527
+Author: gijsbers <gijsbers@users.noreply.github.com>
+Date:   Thu Dec 21 23:16:15 2017 +0100
+
+    Merge pull request #210 from Krandelbord/icewm-1-4-BRANCH
+
+    added reading icons from multiple theme-locations
+
+commit 6291dee153bc42867e988221c57bd98ac1b30f7d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Dec 21 23:07:20 2017 +0100
+
+    For 32-bit depth visuals render to a dedicated pixmap32 and cache it.
+    This solves issue #183.
+
+ src/yimage.h      |  1 -
+ src/yimage_gdk.cc | 88 +++++++++++++++++++++++++++++++++++++++------------
+ src/ypaint.cc     | 69 +++++++++++++++++++++++++++++++++-------
+ src/ypaint.h      | 16 +++-------
+ src/ypixmap.cc    | 16 +++++++++-
+ src/ypixmap.h     | 32 ++++++++++---------
+ src/yximage.cc    | 17 +---------
+ 7 files changed, 163 insertions(+), 76 deletions(-)
+
+commit 1505c8fdd031bf6a905943b999d70cb7a168ba3c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Dec 21 23:00:00 2017 +0100
+
+    print_copying_exit
+
+ src/base.h  | 2 +-
+ src/misc.cc | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit c70f6dde6cba0ff98efd6f10bbc26fcc41eeff14
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Dec 21 22:59:19 2017 +0100
+
+    xsmart for Xmalloc/XFree data.
+
+ src/ypointer.h | 30 ++++++++++++++++++++++++++++++
+ 1 file changed, 30 insertions(+)
+
+commit 21641527a570ca6f5e83494cb1414e6785f30681
+Author: Krandelbord <Krandelbord@github.com>
+Date:   Thu Dec 21 22:39:03 2017 +0100
+
+    added reading icons from multiple theme-locations
+
+ src/fdomenu.cc | 36 ++++++++++++++++++++++++++++++++----
+ 1 file changed, 32 insertions(+), 4 deletions(-)
+
+commit 6f34c85ecc8a6f54d4994d9cc487d2af8356cac6
+Author: Wnereiz Z <wnereiz@eienteiland.org>
+Date:   Thu Dec 21 04:47:28 2017 +0000
+
+    Translated using Weblate (Chinese (China))
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/zh_CN.po | 370 +++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 206 insertions(+), 164 deletions(-)
+
+commit 593b69da4b7b946cf801756c18dfa6ee37b282d6
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Dec 18 22:13:58 2017 +0100
+
+    Basic implementation of #207 - Automated icon name rewriting
+
+    Added optional auto-identification of icon names by following the
+    symlink chain to the original filename and identifying the basename from
+    there.
+
+ doc/icewm.adoc |  2 +-
+ src/wmprog.cc  | 38 +++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 38 insertions(+), 2 deletions(-)
+
+commit 08aefaddfc6c2b5f7680b2cd6b73f6888f729406
+Merge: 2c6410b5 820038bf
+Author: gijsbers <gijsbers@users.noreply.github.com>
+Date:   Tue Dec 19 05:35:19 2017 +0100
+
+    Merge pull request #208 from Pro-pra/patch-1
+
+    Update Russian translation
+
+commit 820038bf2c35f4c80f5cec08a93ee3e2541859bf
+Author: Pro-pra <pro2_2000@mail.ru>
+Date:   Tue Dec 19 10:00:13 2017 +0900
+
+    Update ru.po
+
+ po/ru.po | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e60398747c4b3479b2512aae2ca081c79f6bf348
+Author: Pro-pra <pro2_2000@mail.ru>
+Date:   Tue Dec 19 09:58:55 2017 +0900
+
+    Update ru.po
+
+ po/ru.po | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit be62376204c9bcdc510e482ed538ae38e408c64a
+Author: Pro-pra <pro2_2000@mail.ru>
+Date:   Tue Dec 19 09:55:15 2017 +0900
+
+    Update ru.po
+
+ po/ru.po | 34 +++++++++++++---------------------
+ 1 file changed, 13 insertions(+), 21 deletions(-)
+
+commit fe29a409163fd17b48c22dd6b608c911c9cfc705
+Author: Pro-pra <pro2_2000@mail.ru>
+Date:   Mon Dec 18 15:44:05 2017 +0900
+
+    Update ru.po
+
+ po/ru.po | 38 ++++++++++++++++++--------------------
+ 1 file changed, 18 insertions(+), 20 deletions(-)
+
+commit f48fa892f9747ebc7410f433aed1e74a9216035f
+Author: Pro-pra <pro2_2000@mail.ru>
+Date:   Mon Dec 18 14:08:49 2017 +0900
+
+    Update ru.po
+
+ po/ru.po | 142 ++++++++++++++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 107 insertions(+), 35 deletions(-)
+
+commit 2c6410b54354e761749eb7c13de7e40165ff0299
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Dec 18 05:41:56 2017 +0100
+
+    Preserve depth when creating ypixmaps and yimages.
+
+ src/icehelp.cc    |  4 ++--
+ src/yimage.h      |  2 +-
+ src/yimage_gdk.cc |  6 +++---
+ src/ypaint.cc     |  4 ++--
+ src/ypixmap.cc    | 10 +++++-----
+ src/ypixmap.h     |  2 +-
+ src/yximage.cc    | 31 ++++++++++++++++---------------
+ 7 files changed, 30 insertions(+), 29 deletions(-)
+
+commit 57f4eef8d35cbe175794ae5e6f473fb083c869ee
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Dec 18 05:38:46 2017 +0100
+
+    fix warnings.
+
+ src/testnetwmhints.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 5c41cbeaf5daf9ee32ae251bbefd5df035fc4fb4
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Dec 18 05:37:57 2017 +0100
+
+    fix fall-through warning.
+
+ src/movesize.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1b92deb7a7c37b7ff8aa6141054009b7e4792709
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Dec 18 05:37:28 2017 +0100
+
+    icewmbg event logging.
+
+ src/icewmbg.cc | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit ae8c009b53078d15b1314721d37453fc1289555c
+Author: Pro-pra <pro2_2000@mail.ru>
+Date:   Mon Dec 18 13:06:53 2017 +0900
+
+    Update ru.po
+
+ po/ru.po | 65 +++++++++++++++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 49 insertions(+), 16 deletions(-)
+
+commit b5fc5b48c0fdcef806a8f0bbce9c897891314edb
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Dec 16 22:51:47 2017 +0100
+
+    Fix rounding in battery bar painting
+
+ src/aapm.cc | 12 ++++--------
+ 1 file changed, 4 insertions(+), 8 deletions(-)
+
+commit 4c19de3821f5973d08aea6dc6e363e14a7c2a3a5
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Dec 16 18:08:06 2017 +0100
+
+    Fix missing UINT_MAX
+
+ src/yinput.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit f10a082b30d2f5f43b4f07467f2dc4a19ac9a841
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 16 13:08:14 2017 +0100
+
+    fix typo
+
+ src/ywindow.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 12034c2cd13ac2c3b52233f773da7eb9a7f93e05
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 16 04:21:57 2017 +0100
+
+    update pot files.
+
+ po/ar.po     | 42 +++++++++++++++----------------
+ po/be.po     | 42 +++++++++++++++----------------
+ po/bg.po     | 42 +++++++++++++++----------------
+ po/ca.po     | 50 ++++++++++++++++++------------------
+ po/cs.po     | 50 ++++++++++++++++++------------------
+ po/da.po     | 42 +++++++++++++++----------------
+ po/de.po     | 77 +++++++++++++++++++++++++++++++-------------------------
+ po/el.po     | 42 +++++++++++++++----------------
+ po/en.po     | 42 +++++++++++++++----------------
+ po/es.po     | 42 +++++++++++++++----------------
+ po/fi.po     | 42 +++++++++++++++----------------
+ po/fr.po     | 42 +++++++++++++++----------------
+ po/he.po     | 42 +++++++++++++++----------------
+ po/hr.po     | 42 +++++++++++++++----------------
+ po/hu.po     | 42 +++++++++++++++----------------
+ po/icewm.pot | 44 ++++++++++++++++----------------
+ po/id.po     | 42 +++++++++++++++----------------
+ po/it.po     | 42 +++++++++++++++----------------
+ po/ja.po     | 70 ++++++++++++++++++++++++++++-----------------------
+ po/ko.po     | 42 +++++++++++++++----------------
+ po/lt.po     | 42 +++++++++++++++----------------
+ po/lv.po     | 42 +++++++++++++++----------------
+ po/mk.po     | 42 +++++++++++++++----------------
+ po/nb.po     | 42 +++++++++++++++----------------
+ po/nl.po     | 42 +++++++++++++++----------------
+ po/no.po     | 42 +++++++++++++++----------------
+ po/pl.po     | 42 +++++++++++++++----------------
+ po/pt_BR.po  | 58 +++++++++++++++++++++---------------------
+ po/ro.po     | 42 +++++++++++++++----------------
+ po/ru.po     | 42 +++++++++++++++----------------
+ po/sk.po     | 46 ++++++++++++++++-----------------
+ po/sl.po     | 42 +++++++++++++++----------------
+ po/sv.po     | 42 +++++++++++++++----------------
+ po/tr.po     | 42 +++++++++++++++----------------
+ po/uk.po     | 42 +++++++++++++++----------------
+ po/vi.po     | 42 +++++++++++++++----------------
+ po/zh_CN.po  | 52 +++++++++++++++++++-------------------
+ po/zh_TW.po  | 42 +++++++++++++++----------------
+ 38 files changed, 862 insertions(+), 845 deletions(-)
+
+commit 54319976415cd7b96be2df98117f11d0527345ff
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 16 04:15:04 2017 +0100
+
+    fix missing space after if/for/while.
+
+ src/aapm.cc        |  4 +--
+ src/acpustatus.cc  |  8 +++---
+ src/amemstatus.cc  | 20 +++++++--------
+ src/apppstatus.cc  | 36 +++++++++++++--------------
+ src/base.h         |  4 +--
+ src/fdomenu.cc     | 66 +++++++++++++++++++++++++-------------------------
+ src/gnome2.cc      |  2 +-
+ src/icesm.cc       |  2 +-
+ src/misc.cc        | 16 ++++++------
+ src/movesize.cc    |  6 ++---
+ src/udir.cc        |  2 +-
+ src/wmapp.cc       |  4 +--
+ src/wmclient.cc    |  2 +-
+ src/wmframe.cc     |  2 +-
+ src/wmmgr.cc       |  6 ++---
+ src/wmprog.cc      | 10 ++++----
+ src/wmtaskbar.cc   |  8 +++---
+ src/yapp.cc        |  2 +-
+ src/yarray.cc      |  2 +-
+ src/ycollections.h | 10 ++++----
+ src/ypaint.cc      |  4 +--
+ src/yxapp.cc       |  2 +-
+ 22 files changed, 109 insertions(+), 109 deletions(-)
+
+commit 14e0dcf841519a1342c205989de1793d3447291a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 16 03:56:38 2017 +0100
+
+    restore support for TrayDrawBevel=1 for issue #184.
+
+ src/wmtaskbar.cc |  3 ++-
+ src/yxtray.cc    | 44 ++++++++++++++++++++++----------------------
+ src/yxtray.h     |  6 ++++--
+ 3 files changed, 28 insertions(+), 25 deletions(-)
+
+commit 9e78c4bd275fd12ef8e07a3c4460e6d78339fc5f
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 16 03:55:38 2017 +0100
+
+    better resize handles.
+
+ src/decorate.cc | 40 ++++++++++++++++++++++++++++++----------
+ src/wmframe.cc  | 48 ++++++++++++++++++++++++------------------------
+ src/wmframe.h   |  1 +
+ src/wmtitle.cc  |  3 ++-
+ 4 files changed, 57 insertions(+), 35 deletions(-)
+
+commit 02f95d9d7399254e61933b1c50e7c82ba755c8fa
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 16 03:53:45 2017 +0100
+
+    tooltips only need expose events
+
+ src/ytooltip.cc |  8 ++++----
+ src/ytooltip.h  |  2 +-
+ src/ywindow.cc  | 12 ++++++++++--
+ src/ywindow.h   |  3 ++-
+ 4 files changed, 17 insertions(+), 8 deletions(-)
+
+commit 3b9a77eccbd9ce1a5a6991b3eaca9a1ba1573a0c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 16 03:51:51 2017 +0100
+
+    INT_MAX
+
+ src/yrect.h | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 84f838685d31a03da7bc7591d00abea9683043d2
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 16 03:51:16 2017 +0100
+
+    more event logging
+
+ src/base.h  |   9 +++-
+ src/misc.cc | 152 ++++++++++++++++++++++++++++++++++++++++++--------------
+ 2 files changed, 121 insertions(+), 40 deletions(-)
+
+commit bf73326642f06795a55cbd8cf6f0eaf36cd86fcb
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 16 03:48:43 2017 +0100
+
+    Revert "Translated using Weblate (Chinese (China))"
+    It fails with the following error message:
+    zh_CN.po:849: number of format specifications in 'msgid' and 'msgstr'
+    does not match
+    zh_CN.po:1453: 'msgstr' is not a valid C format string, unlike 'msgid'.
+    Reason: The string refers to arguments both through absolute argument
+    numbers and through unnumbered argument specifications.
+    /usr/bin/msgfmt: found 2 fatal errors
+    zh_CN.po: 327 translated messages.
+    Makefile:275: recipe for target 'zh_CN.gmo' failed
+
+    This reverts commit c6bddc8f7910f3e5e066586677469a83004078db.
+
+ po/zh_CN.po | 328 +++++++++++++++++++++++++-------------------------------
+ 1 file changed, 144 insertions(+), 184 deletions(-)
+
+commit e8371392a818764db03c82bf4a285236425e44ca
+Author: Luiz Fernando Ranghetti <elchevive68@gmail.com>
+Date:   Thu Dec 14 14:20:26 2017 +0000
+
+    Translated using Weblate (Portuguese (Brazil))
+
+    Currently translated at 99.6% (326 of 327 strings)
+
+ po/pt_BR.po | 72 +++++++++++++++++++++++++++++----------------------------
+ 1 file changed, 37 insertions(+), 35 deletions(-)
+
+commit c6bddc8f7910f3e5e066586677469a83004078db
+Author: Wnereiz Z <wnereiz@eienteiland.org>
+Date:   Thu Dec 14 07:51:12 2017 +0000
+
+    Translated using Weblate (Chinese (China))
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/zh_CN.po | 328 +++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 184 insertions(+), 144 deletions(-)
+
+commit d2a586a2c2a26226134d1e048bb7a899c5dac132
+Author: Luiz Fernando Ranghetti <elchevive68@gmail.com>
+Date:   Wed Dec 13 19:09:22 2017 +0000
+
+    Translated using Weblate (Portuguese (Brazil))
+
+    Currently translated at 99.0% (324 of 327 strings)
+
+ po/pt_BR.po | 44 +++++++++++++++++++-------------------------
+ 1 file changed, 19 insertions(+), 25 deletions(-)
+
+commit 7619785a851426503426961d50c1b4110ae3031e
+Author: Aleš Kastner <alkas@volny.cz>
+Date:   Wed Dec 13 19:02:15 2017 +0000
+
+    Translated using Weblate (Czech)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/cs.po | 73 +++++++++++++++++++++++++++---------------------------------
+ 1 file changed, 33 insertions(+), 40 deletions(-)
+
+commit 4a3a5caa655de2b79ff89bb17e518d44ee18f609
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Dec 13 18:16:51 2017 +0100
+
+    setParentRelative for taskbar background. slowing down multiple requests
+    a bit works miracles. solves issue #184.
+
+ src/yxtray.cc | 55 ++++++++++++++++++++++++++++++++-----------------------
+ 1 file changed, 32 insertions(+), 23 deletions(-)
+
+commit 8eb719f5a1d5fd4c74af1a0b1c2c84eb47e9fe0e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Dec 13 18:16:03 2017 +0100
+
+    set taskbar background pixmap
+
+ src/wmtaskbar.cc | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 4d7f40ac9c566e0d2b20be17840a3c20008a6048
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Dec 13 18:15:14 2017 +0100
+
+    setBorderWidth, setBackground, setBackgroundPixmap
+
+ src/ywindow.cc | 17 ++++++++++++++---
+ src/ywindow.h  |  3 +++
+ 2 files changed, 17 insertions(+), 3 deletions(-)
+
+commit 14a2274e8d33ba9320ddc5fbb7a776b4a86d30cc
+Author: Wnereiz Z <wnereiz@eienteiland.org>
+Date:   Wed Dec 13 09:30:14 2017 +0000
+
+    Translated using Weblate (Chinese (China))
+
+    Currently translated at 80.4% (263 of 327 strings)
+
+ po/zh_CN.po | 140 +++++++++++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 104 insertions(+), 36 deletions(-)
+
+commit e649fa25d3219223e82dddba9ec970573fba24bf
+Author: Wnereiz Z <wnereiz@eienteiland.org>
+Date:   Wed Dec 13 01:59:07 2017 +0000
+
+    Translated using Weblate (Chinese (China))
+
+    Currently translated at 70.0% (229 of 327 strings)
+
+ po/zh_CN.po | 61 ++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 30 insertions(+), 31 deletions(-)
+
+commit 6ca87c06340721c9344e058ee390e3d7e2ff5539
+Author: Eduard Bloch <blade@debian.org>
+Date:   Fri Dec 8 17:48:45 2017 +0100
+
+    Not calling --off on disconnected monitors
+
+    That can fail with some drivers, and the cases where it's usefull are
+    probably rare.
+
+ contrib/icewm-menu-xrandr | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit cda77451c2ab5e87b96a144f8fc8d54e55b0270a
+Author: Eduard Bloch <blade@debian.org>
+Date:   Thu Dec 7 20:19:16 2017 +0100
+
+    Extending German translation
+
+ po/de.po | 110 ++++++++++++++++++++++++++---------------------------------
+ 1 file changed, 48 insertions(+), 62 deletions(-)
+
+commit 7dda55ce6639c37393f45ddaf28acf986d7ea3de
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Dec 12 21:32:12 2017 +0100
+
+    Disabling sysfs lookup again, not reliable enough
+
+    For #181
+
+ contrib/icewm-menu-xrandr | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+commit 589cdfa856e439705828e69ff063243fedc4ed76
+Author: Michal Suchanek <msuchanek@suse.com>
+Date:   Tue Dec 12 16:03:37 2017 +0000
+
+    Translated using Weblate (Czech)
+
+    Currently translated at 94.4% (309 of 327 strings)
+
+ po/cs.po | 17 ++++++++++-------
+ 1 file changed, 10 insertions(+), 7 deletions(-)
+
+commit 5a20a6065dd6346d5a8f6df152f841b619c91ee7
+Author: Ferdinand Galko <galko.ferdinand@gmail.com>
+Date:   Tue Dec 12 07:18:13 2017 +0000
+
+    Translated using Weblate (Slovak)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/sk.po | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 3755fd8cbd05b68396a46f3c202343755a8aadd1
+Author: Ferdinand Galko <galko.ferdinand@gmail.com>
+Date:   Tue Dec 12 07:16:13 2017 +0000
+
+    Translated using Weblate (Slovak)
+
+    Currently translated at 99.6% (326 of 327 strings)
+
+ po/sk.po | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 77ae8e9eab3006b47100b1af008901b5e6d21422
+Author: Ferdinand Galko <galko.ferdinand@gmail.com>
+Date:   Tue Dec 12 07:10:41 2017 +0000
+
+    Translated using Weblate (Slovak)
+
+    Currently translated at 99.6% (326 of 327 strings)
+
+ po/sk.po | 50 ++++++++++++++++++++++----------------------------
+ 1 file changed, 22 insertions(+), 28 deletions(-)
+
+commit 24731e6662c3075ced344aa43b1f8ce705652d18
+Author: David Medina <medipas@gmail.com>
+Date:   Mon Dec 11 09:25:52 2017 +0000
+
+    Translated using Weblate (Catalan)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/ca.po | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 9ec212670ec687208bbce63ddac6c6286ddc3102
+Author: David Medina <medipas@gmail.com>
+Date:   Mon Dec 11 09:22:20 2017 +0000
+
+    Translated using Weblate (Catalan)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/ca.po | 72 +++++++++++++++++++++++++++++-------------------------------
+ 1 file changed, 35 insertions(+), 37 deletions(-)
+
+commit a97fc00c7e708a67a3dd722ed066857ed099532f
+Author: Yasuhiko Kamata <belphegor@belbel.or.jp>
+Date:   Sun Dec 10 22:37:00 2017 +0000
+
+    Translated using Weblate (Japanese)
+
+    Currently translated at 100.0% (327 of 327 strings)
+
+ po/ja.po | 83 ++++++++++++++++++++++++++----------------------------------
+ 1 file changed, 36 insertions(+), 47 deletions(-)
+
+commit e1a2c194ba88d059f31a8f457be40bb24c6f437d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 10 18:00:53 2017 +0100
+
+    update pot files
+
+ po/ar.po     | 257 ++++++++++++++++++++++++++++++---------------------
+ po/be.po     | 257 ++++++++++++++++++++++++++++++---------------------
+ po/bg.po     | 257 ++++++++++++++++++++++++++++++---------------------
+ po/ca.po     | 269 +++++++++++++++++++++++++++++++----------------------
+ po/cs.po     | 277 +++++++++++++++++++++++++++++++++----------------------
+ po/da.po     | 269 +++++++++++++++++++++++++++++++----------------------
+ po/de.po     | 260 ++++++++++++++++++++++++++++++---------------------
+ po/el.po     | 257 ++++++++++++++++++++++++++++++---------------------
+ po/en.po     | 248 ++++++++++++++++++++++++++++---------------------
+ po/es.po     | 260 ++++++++++++++++++++++++++++++---------------------
+ po/fi.po     | 257 ++++++++++++++++++++++++++++++---------------------
+ po/fr.po     | 265 +++++++++++++++++++++++++++++++---------------------
+ po/he.po     | 256 +++++++++++++++++++++++++++++---------------------
+ po/hr.po     | 257 ++++++++++++++++++++++++++++++---------------------
+ po/hu.po     | 265 ++++++++++++++++++++++++++++++----------------------
+ po/icewm.pot | 252 +++++++++++++++++++++++++++++---------------------
+ po/id.po     | 260 ++++++++++++++++++++++++++++++---------------------
+ po/it.po     | 261 ++++++++++++++++++++++++++++++---------------------
+ po/ja.po     | 269 +++++++++++++++++++++++++++++++----------------------
+ po/ko.po     | 257 ++++++++++++++++++++++++++++++---------------------
+ po/lt.po     | 257 ++++++++++++++++++++++++++++++---------------------
+ po/lv.po     | 257 ++++++++++++++++++++++++++++++---------------------
+ po/mk.po     | 257 ++++++++++++++++++++++++++++++---------------------
+ po/nb.po     | 257 ++++++++++++++++++++++++++++++---------------------
+ po/nl.po     | 260 ++++++++++++++++++++++++++++++---------------------
+ po/no.po     | 257 ++++++++++++++++++++++++++++++---------------------
+ po/pl.po     | 257 ++++++++++++++++++++++++++++++---------------------
+ po/pt_BR.po  | 269 +++++++++++++++++++++++++++++++----------------------
+ po/ro.po     | 257 ++++++++++++++++++++++++++++++---------------------
+ po/ru.po     | 276 +++++++++++++++++++++++++++++++++---------------------
+ po/sk.po     | 269 +++++++++++++++++++++++++++++++----------------------
+ po/sl.po     | 257 ++++++++++++++++++++++++++++++---------------------
+ po/sv.po     | 257 ++++++++++++++++++++++++++++++---------------------
+ po/tr.po     | 257 ++++++++++++++++++++++++++++++---------------------
+ po/uk.po     | 260 ++++++++++++++++++++++++++++++---------------------
+ po/vi.po     | 257 ++++++++++++++++++++++++++++++---------------------
+ po/zh_CN.po  | 257 ++++++++++++++++++++++++++++++---------------------
+ po/zh_TW.po  | 257 ++++++++++++++++++++++++++++++---------------------
+ 38 files changed, 5863 insertions(+), 4022 deletions(-)
+
+commit 2711aa6719a0141432d3fa1810de939f904b6dca
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 10 17:52:30 2017 +0100
+
+    make Evince resizable
+
+ lib/winoptions.in | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 0b2fcfa501391f57e1325fc9753f6e988500734b
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 10 17:45:50 2017 +0100
+
+    Only grab buttons 1,2,3, but not 4+5. This solves all scroll wheel
+    problems in issue #202.
+
+ src/wmcontainer.cc | 41 ++++++++++++++++++++++++++++-------------
+ 1 file changed, 28 insertions(+), 13 deletions(-)
+
+commit 1143726d6d42d7a11eff6b943c570756bc91444e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 10 17:44:27 2017 +0100
+
+    More robust winoptions parsing; continue parsing on 1 or 2 errors
+    and print file+linenumber on error.
+
+ src/wmoption.cc | 117 ++++++++++++++++++++++++++--------------------------
+ 1 file changed, 58 insertions(+), 59 deletions(-)
+
+commit 150d5e8cd2d6d1a3c5ebe10a6aeecfef72e81a3e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 10 17:43:31 2017 +0100
+
+    startMoveSize by keyboard and ignore cancel.
+
+ src/movesize.cc | 31 ++++++++++++++++++++-----------
+ 1 file changed, 20 insertions(+), 11 deletions(-)
+
+commit f24db1364a8aec2d3adc3e70976cd9fd4c5b5b37
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 10 17:42:39 2017 +0100
+
+    mouse wheel scrolls by half page
+
+ src/icehelp.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit d27c273c158ceabf9a70cfc4cd2e0c44abf192cf
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 10 17:40:01 2017 +0100
+
+    fix YList postcondition for unmanaging destroyed clients.
+
+ src/wmframe.cc | 2 ++
+ src/ywindow.h  | 2 ++
+ 2 files changed, 4 insertions(+)
+
+commit c62557c6605975431c155f5bc875be2aab50845d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 10 17:38:47 2017 +0100
+
+    moveresize keyboard + cancel
+
+ src/wmmgr.h | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 39b647690871e852aa934690fb284e1fdeded00e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 9 12:21:15 2017 +0100
+
+    Add links to context menu.
+
+ src/icehelp.cc | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 77 insertions(+), 3 deletions(-)
+
+commit 817ff06106d0ba2921a0902d53d25b7155c476c7
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 9 12:11:33 2017 +0100
+
+    Add -Wno-missing-field-initializers.
+
+ src/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d967acf63716f58f56fedc72f1f2252f3cca62e6
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 9 08:59:00 2017 +0100
+
+    This commit breaks the build with the following error:
+    uk.po:782: number of format specifications in 'msgid' and 'msgstr' does
+    not match.
+    /usr/bin/msgfmt: found 1 fatal error
+    Makefile:275: recipe for target 'uk.gmo' failed
+
+    Revert "Translated using Weblate (Ukrainian)"
+
+    This reverts commit 43b1665eaec47d1909e30e08c0bc1630454ced6e.
+
+ po/uk.po | 144 ++++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 73 insertions(+), 71 deletions(-)
+
+commit f91bb92073e9d1f3e0e393fbd2972d0a1b519c71
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 9 01:40:26 2017 +0100
+
+    fix undef msg
+
+ src/misc.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit fe58edd0b536980a355cb5a4fa73e3c5d7dc6d90
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Dec 8 19:27:06 2017 +0100
+
+    Don't apply skipAllWorkspaces to focused windows,
+    because it should be possible to keep focused windows
+    which have AllWorkspaces set focused when switching workspaces.
+    This is the second part of the solution for issue #185.
+
+ src/wmmgr.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8dec25c4f54c1d04e995055bcbc47f18c322a282
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Dec 7 21:50:25 2017 +0100
+
+    +logFocus, +copying, +notbit, +GravityNotify logging.
+
+ src/base.h  |  8 ++++++++
+ src/misc.cc | 55 +++++++++++++++++++++++++++++++++++++++++++++++--------
+ 2 files changed, 55 insertions(+), 8 deletions(-)
+
+commit 8f747ff9c054bbb399b8332413a8c43c45cfc788
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Dec 7 21:27:52 2017 +0100
+
+    update AddressBar.
+
+ doc/icewm.1.adoc | 25 +++++++++++++++++++------
+ 1 file changed, 19 insertions(+), 6 deletions(-)
+
+commit 2c8e59e5e6b6fc9def9f8c1a71549f486050079b
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Dec 7 21:13:27 2017 +0100
+
+    add history to addressbar. change static into local dynamic. hide
+    addressbar when losing focus.
+
+ src/aaddressbar.cc | 105 ++++++++++++++++++++++++++++++-------------
+ src/aaddressbar.h  |   7 +++
+ src/yinput.cc      | 119 +++++++++++++++++--------------------------------
+ src/yinputline.h   |  36 +++++++++------
+ 4 files changed, 143 insertions(+), 124 deletions(-)
+
+commit 7a45f2f918881a2ee1c357a900ae09ac6c01ba55
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Dec 7 21:11:12 2017 +0100
+
+    fix --display.
+
+ src/wmapp.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f6345046fac89bfe92d07cfe028dcfcd0b3da2cc
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Dec 7 20:55:23 2017 +0100
+
+    getLastFocus must not return taskBar, because taskBar never was focused
+    and trying to give it focus results in other usable apps not getting focus,
+    with an unfocused system in sloppy mode.
+    In setFocus make sure that always focus has been set to something,
+    otherwise we get the situation none of the global hotkeys work.
+    This solves both issues #185 and #186.
+
+ src/wmmgr.cc | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+commit 5e4fedec527a6665c551c330904ac859296b3db0
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Dec 6 18:15:41 2017 +0100
+
+    focusLastWindow must not attempt to set focus to taskbar or nothing will
+    have focus and a focusless system results without any keyboard control.
+    This can be tested by using the AddressBar and then hit Escape.
+    See issue #186.
+
+ src/wmmgr.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3e7a92a340d6f3fafaa2909e8340d1a132cf9549
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Dec 6 18:15:18 2017 +0100
+
+    typo
+
+ src/default.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit cfbc248bb927fbe720ecebe84ff6164a3261d666
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Dec 6 18:14:39 2017 +0100
+
+    hide first, then focusLastWindow
+
+ src/aaddressbar.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 43b1665eaec47d1909e30e08c0bc1630454ced6e
+Author: Andriy Bandura <andriykopanytsia@gmail.com>
+Date:   Wed Dec 6 08:45:21 2017 +0000
+
+    Translated using Weblate (Ukrainian)
+
+    Currently translated at 94.9% (302 of 318 strings)
+
+ po/uk.po | 144 +++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 71 insertions(+), 73 deletions(-)
+
+commit f217839d3c966c2ee37b8fb701aa351af3228149
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Dec 5 22:05:09 2017 +0100
+
+    Avoid a race condition between sending a WM_TAKE_FOCUS message and calling
+    XSetInputFocus. First call XSetInputFocus before sending WM_TAKE_FOCUS
+    message.
+
+ src/wmmgr.cc | 19 ++++++++++++++-----
+ 1 file changed, 14 insertions(+), 5 deletions(-)
+
+commit 174f12e1f02e6d9271978435baedf76488825a52
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Dec 5 21:52:16 2017 +0100
+
+    +handleGravityNotify
+
+ src/ywindow.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 03af26af5e880f4eee23545973061ccc2e363761
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Dec 5 19:11:24 2017 +0100
+
+    +handleGravityNotify to more accurately update positions for issue #203.
+
+ src/ywindow.cc | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+commit 9d78fee54edac666f3e53a77a1e5d0161ece6a7f
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Dec 5 19:10:47 2017 +0100
+
+    set gravity before creating window is cheaper.
+
+ src/wmbutton.cc | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 24fa54a658a8ef86500a728e01178ac5465acc38
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Dec 5 18:42:13 2017 +0100
+
+    Don't calculate onRight as the most minimum possible rightmost button
+    position,
+    but instead look for the maximally rightmost position.
+    This hopefully mitigates issue #204.
+
+ src/wmtitle.cc | 143 +++++++++++++++++++++++------------------------------
+ 1 file changed, 61 insertions(+), 82 deletions(-)
+
+commit 72014e22381613fc4a0a24ad8fad43998d2b9e76
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Dec 5 18:38:31 2017 +0100
+
+    +setVisible
+
+ src/ywindow.cc | 4 ++++
+ src/ywindow.h  | 1 +
+ 2 files changed, 5 insertions(+)
+
+commit 18028731f914fbace7714b5695dffe0429903d36
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Dec 5 18:37:32 2017 +0100
+
+    remove unused
+
+ src/wmframe.h | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit b0267f5dfa8ac732cc570765d59715a2ae694b0d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Dec 5 18:20:11 2017 +0100
+
+    Avoid divisions by zero. Fixes #205.
+
+ src/wmclient.cc | 23 ++++++++++++-----------
+ 1 file changed, 12 insertions(+), 11 deletions(-)
+
+commit 99d27825d12b96b39420d6ba1e5856f3e981774a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Dec 5 18:16:32 2017 +0100
+
+    +non_zero to avoid divisions by zero.
+
+ src/base.h      | 5 +++++
+ src/wmstatus.cc | 2 --
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+commit d4c80f14cc51a4a96caacbc91d1389b7cc9739ab
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Dec 4 21:16:22 2017 +0100
+
+    Attempting to correct some possible overflows
+
+    Just the low hanging fruits, ypopup.h needs a full review.
+
+ src/atray.cc       |  2 +-
+ src/aworkspaces.cc |  8 ++++----
+ src/movesize.cc    | 25 ++++++++++++-------------
+ src/mstring.cc     |  2 +-
+ src/wmclient.cc    |  4 ++--
+ src/wmframe.cc     |  4 ++--
+ src/wmtaskbar.cc   |  3 ++-
+ src/ywindow.cc     |  4 ++--
+ 8 files changed, 26 insertions(+), 26 deletions(-)
+
+commit abee581aab9718d75a9ebf87702b7866219160fc
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Dec 4 20:45:26 2017 +0100
+
+    Revert "repHorz test for #203: width per 256 pixels."
+
+    This reverts commit bf18380b5d4a5605e7af7d1817905a8453080e3a.
+
+ src/ypaint.cc | 14 ++++----------
+ 1 file changed, 4 insertions(+), 10 deletions(-)
+commit 5c36297a0d5b3900f69e9c3614e175e1482a2746
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Dec 4 18:58:55 2017 +0100
+
+    Working around variable clobbering issues with latest gcc
+
+    It feels like that was an issue before since some of the candidates have
+    been made volatile (which is another workaround) for no apparent reason.
+
+ src/yximage.cc | 62 ++++++++++++++++++++++++++++++++----------------------
+ 1 file changed, 37 insertions(+), 25 deletions(-)
+
+commit 54fa546bea4aa0eb693415ed455edd6a13ac88fd
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Dec 3 20:10:53 2017 +0100
+
+    Minor completion/improvement of Russian strings
+
+ po/ru.po | 79 ++++++++++++++++++++++++------------------------------------
+ 1 file changed, 31 insertions(+), 48 deletions(-)
+
+commit bf18380b5d4a5605e7af7d1817905a8453080e3a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Dec 4 04:39:09 2017 +0100
+
+    repHorz test for #203: width per 256 pixels.
+
+ src/ypaint.cc | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+commit cae73a54966ad2149410ade8290196ee3848367a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Dec 4 04:26:49 2017 +0100
+
+    Only renderShape button if visible and right OK.
+
+ src/wmtitle.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 14953d281dae4795ba8ba85cdf52e3e8e09f8ebb
+Author: Aleš Kastner <alkas@volny.cz>
+Date:   Sun Dec 3 22:48:19 2017 +0000
+
+    Translated using Weblate (Czech)
+
+    Currently translated at 100.0% (318 of 318 strings)
+
+ po/cs.po | 119 +++++++++++++++++++++++++++++++++++------------------------
+ 1 file changed, 71 insertions(+), 48 deletions(-)
+
+commit a0ae8d2156faa1577f185f6b309015c425d8a166
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 3 22:14:42 2017 +0100
+
+    update docs
+
+ doc/icewm.1.adoc   | 71 +++++++++++++++++++++++++++++---------------------
+ doc/icewm.adoc     |  2 +-
+ doc/icewmbg.1.adoc |  2 +-
+ 3 files changed, 44 insertions(+), 31 deletions(-)
+
+commit 179682fca9cced644070039ecec1b691001fb0ed
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 3 22:09:03 2017 +0100
+
+    Ensure title buttons are always drawn, even if their pixmaps could not
+    be found.
+
+ src/wmbutton.cc | 50 +++++++++++++++++++++-----------------------------
+ 1 file changed, 21 insertions(+), 29 deletions(-)
+
+commit 94ef2c49b10d7e0698d4f6145c7f3c29c267044d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 3 22:08:03 2017 +0100
+
+    set titles for fTopWin and rootProxy for debugging purposes.
+
+ src/wmmgr.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit d19c22927a4a50f7bcfbe72997ae98af58354b89
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 3 22:03:40 2017 +0100
+
+    Make YXEmbed a pure abstract class not inheriting from YWindow.
+    YXTrayEmbedder then multi-inherits from YWindow and YXEmbed.
+    This fixes issue #204.
+
+ src/yxembed.cc | 25 ++++++++++---------------
+ src/yxembed.h  |  6 ++++--
+ src/yxtray.cc  | 10 +++++++---
+ src/yxtray.h   |  7 ++++++-
+ 4 files changed, 27 insertions(+), 21 deletions(-)
+
+commit ac7451cd405833fdbc8f691eddba28ed91c8e678
+Merge: 2bb4d62b 6c82bb2e
+Author: openSUSE Weblate <weblate-noreply@opensuse.org>
+Date:   Sun Dec 3 20:54:49 2017 +0000
+
+    Merge remote-tracking branch 'origin/icewm-1-4-BRANCH' into
+    icewm-1-4-BRANCH
+
+commit 2bb4d62ba6e35c7c8ca1bee2110ad6122219a739
+Author: Aleš Kastner <alkas@volny.cz>
+Date:   Sun Dec 3 18:45:22 2017 +0000
+
+    Translated using Weblate (Czech)
+
+    Currently translated at 99.0% (315 of 318 strings)
+
+ po/cs.po | 39 ++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 34 insertions(+), 5 deletions(-)
+
+commit 6c82bb2e790e346c11119f0dd4f4f3f4991081c4
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 3 21:54:07 2017 +0100
+
+    fix warning on return value for system
+
+ src/misc.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 1ab17e2f15cfe5e2916f26a8e835482f94f7a565
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Dec 3 19:42:51 2017 +0100
+
+    Revert "Translated using Weblate (English)"
+
+    This reverts commit 9dcda5a75b05825bacfc31e9ecbc6c98aadf3c1f.
+
+    This is not English but some incomplete (and faulty) Russian translation.
+
+ po/en.po | 60 ++++++++++++++++++++++++++++--------------------------------
+ 1 file changed, 28 insertions(+), 32 deletions(-)
+
+commit b3f9851391d40951e89515337e58769b923b6d14
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 3 12:17:53 2017 +0100
+
+    Opt -d alias for --display.
+
+ src/icehelp.cc | 4 ++--
+ src/icesm.cc   | 4 ++--
+ src/misc.cc    | 4 ++--
+ src/wmapp.cc   | 4 ++--
+ src/yxapp.cc   | 4 ++--
+ 5 files changed, 10 insertions(+), 10 deletions(-)
+
+commit 42d7dac31508027565d0689cb7ef617d0034d18a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 3 08:08:57 2017 +0100
+
+    more private
+
+ src/wmtaskbar.h | 27 ++++++++++++++++-----------
+ 1 file changed, 16 insertions(+), 11 deletions(-)
+
+commit 0a96f87a6212b25325a7cfea413c417c61454e68
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 3 08:07:54 2017 +0100
+
+    drop ylib.h
+
+ src/aclock.cc | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+commit d92ac5f0a68d28494b91239b8f1eed521331f6bc
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 3 07:51:53 2017 +0100
+
+    Better logging and backtraces.
+
+ configure.ac          |   2 +-
+ src/CMakeLists.txt    |   1 +
+ src/base.h            |  12 ++-
+ src/config.cmake.h.in |   1 +
+ src/debug.h           |   4 +
+ src/misc.cc           | 221 +++++++++++++++++++++++++---------------------
+ src/wmapp.cc          |   5 ++
+ src/yxapp.cc          |   9 +-
+ 8 files changed, 146 insertions(+), 109 deletions(-)
+
+commit 141645240129c9e3d3864e0b71545cd03528cfa7
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 3 07:43:47 2017 +0100
+
+    drop empty resetColormapFocus.
+
+ src/ywindow.cc |  3 ---
+ src/ywindow.h  |  2 --
+ src/yxapp.cc   | 12 ++++++------
+ 3 files changed, 6 insertions(+), 11 deletions(-)
+
+commit b69b80788989c510e11ef9d22f48d759aa0912ce
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 3 07:39:24 2017 +0100
+
+    Check pixmap being non-null before applying repHorz.
+    New test for issue #203.
+
+ src/wmtitle.cc | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit 7e2800a42986d9ae821852b4c8eda03f1bf86b46
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 3 07:35:17 2017 +0100
+
+    Properly check return values when loading pixmaps/images.
+    If the pixmap/image is empty/invalid then return null.
+
+ src/ypaths.cc | 20 ++++++++------------
+ src/ypaths.h  |  2 +-
+ 2 files changed, 9 insertions(+), 13 deletions(-)
+
+commit e24e2023438cb7cfe38bc08f12e78cf78e6a76db
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 3 07:34:26 2017 +0100
+
+    More fixes for unsigned width/height.
+
+ src/wmbutton.cc | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit a4e8a15e4d9589465fc223e82b1d5fa2d4880b07
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Dec 3 07:33:33 2017 +0100
+
+    Allow to combine --theme option with --restart option.
+
+ src/wmapp.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 7f4d64af6c4d76029147bb3aa3063c1778af28be
+Author: Antoine Belvire <antoine.belvire@laposte.net>
+Date:   Sat Dec 2 23:19:20 2017 +0000
+
+    Translated using Weblate (French)
+
+    Currently translated at 88.9% (283 of 318 strings)
+
+ po/fr.po | 163 +++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 80 insertions(+), 83 deletions(-)
+
+commit be61be30300b1be008c801a25ced3f6ee9223bfe
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 2 15:42:07 2017 +0100
+
+    Revert "Try old repHorz with fixed loop for unsigned height for issue
+    #203."
+
+    This reverts commit 3c7495914841a79d1a223640a76d1b9eaefd9ecd.
+
+ src/ypaint.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit af968a56ca5020958270c3678d236e4f596719a2
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 2 15:41:59 2017 +0100
+
+    Revert "repHorz for issue #203 with w and tested!"
+
+    This reverts commit 7e80776045ff821cd375e2a29b5e8f173fe2ee31.
+
+ src/ypaint.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 7e80776045ff821cd375e2a29b5e8f173fe2ee31
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 2 15:24:21 2017 +0100
+
+    repHorz for issue #203 with w and tested!
+
+ src/ypaint.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit c7236e7cecd4aa05bfd320f49a6c42987069cef1
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 2 15:23:43 2017 +0100
+
+    Revert "repHorz for issue #203"
+
+    This reverts commit f6ee40fddce7f7537b454a07d953557eedff2fbc.
+
+ src/ypaint.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit f6ee40fddce7f7537b454a07d953557eedff2fbc
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 2 15:13:36 2017 +0100
+
+    repHorz for issue #203
+
+ src/ypaint.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 3c7495914841a79d1a223640a76d1b9eaefd9ecd
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 2 13:22:46 2017 +0100
+
+    Try old repHorz with fixed loop for unsigned height for issue #203.
+
+ src/ypaint.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 6920b724d7ba81a0383166041345e1c2c613096b
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 2 10:12:04 2017 +0100
+
+    Mark in frame buttons whether they are right or left.
+    Only create frame buttons if decor flag is enabled.
+    Calculate only with visible frame buttons.
+
+ src/wmbutton.cc |   6 ++-
+ src/wmbutton.h  |   5 +-
+ src/wmtitle.cc  | 150 ++++++++++++++++++++++------------------------------
+ src/wmtitle.h   |  18 +++----
+ 4 files changed, 80 insertions(+), 99 deletions(-)
+
+commit 9131661e75cd3f7ea47aac491b79f4b7ea436d52
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 2 10:07:54 2017 +0100
+
+    Add some right margin to menus.
+
+ src/ymenu.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 04aeef69f949995471b534ec3755d619ea846876
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Dec 2 10:07:08 2017 +0100
+
+    Add hotkeys to MoveTo menu.
+
+ src/wmapp.cc | 19 ++++++++++++++++---
+ 1 file changed, 16 insertions(+), 3 deletions(-)
+
+commit f3ae813aa762f1094952c86b1722a3ffe8024b64
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Dec 1 22:32:12 2017 +0100
+
+    Revert "experiment for issue #203: set titlebar BG to avoid undefined
+    gaps."
+
+    This reverts commit 6c277f8e4e719e32c927ba670822d2c1eb6e1440.
+
+ src/wmtitle.cc | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit 6c277f8e4e719e32c927ba670822d2c1eb6e1440
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Dec 1 03:23:50 2017 +0100
+
+    experiment for issue #203: set titlebar BG to avoid undefined gaps.
+
+ src/wmtitle.cc | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 4c80a2e27e33251ba90a1f795f3dfe91d60cc5d1
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Nov 30 21:03:29 2017 +0100
+
+    If drawable is None then dont copyDrawable to prevent X_CopyArea errors.
+
+ src/ypaint.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 2307362bcaf610dda40b5b4c2ab9ab43220ec898
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Nov 30 21:02:25 2017 +0100
+
+    Fixes for gdk_pixbuf with and height being signed. Prevent unsigned
+    underflow.
+
+ src/yimage_gdk.cc | 19 ++++++++++++-------
+ 1 file changed, 12 insertions(+), 7 deletions(-)
+
+commit a5fb000f875fb5ba1b22a996b74403f43292df6a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Nov 30 20:59:37 2017 +0100
+
+    On client unmap check if window is destroyed to prevent X errors.
+
+ src/wmclient.cc | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit dd89a45fd1548f9c5f1e5f4700d973d5253c0892
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Nov 30 20:52:42 2017 +0100
+
+    prevent negative width.
+
+ src/wmtaskbar.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 9dcda5a75b05825bacfc31e9ecbc6c98aadf3c1f
+Author: Kate Shcher <wwwkkk30@yandex.ru>
+Date:   Thu Nov 30 12:37:10 2017 +0000
+
+    Translated using Weblate (English)
+
+    Currently translated at 7.8% (25 of 318 strings)
+
+ po/en.po | 60 ++++++++++++++++++++++++++++++++----------------------------
+ 1 file changed, 32 insertions(+), 28 deletions(-)
+
+commit 5669983c50a80ca6731fbc991d499ffa2116259e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Nov 30 09:21:53 2017 +0100
+
+    Fix highbit + lowbit for 64-bit mode.
+
+ src/base.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit faf4495da2520a128e01cb09b32d9ab43c3d59b4
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Nov 30 09:19:24 2017 +0100
+
+    Revert buggy sloppy "Fix undefined behavior on 64bit in legacy code"
+
+    This reverts commit ed2314438f0b6e40ef88b51b321ef0c5e09da54e.
+
+ src/base.h    | 15 ++++-----------
+ src/ypaint.cc | 16 +++-------------
+ 2 files changed, 7 insertions(+), 24 deletions(-)
+
+commit 51aaf1a5f36c4d502b08bce05913445f0d2b775c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Nov 29 22:49:54 2017 +0100
+
+    -src/yimage_imlib.cc
+    -src/yimage_xpm.cc
+
+ po/POTFILES.in | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 91ffd1371f78bf640ac8ee12f0bee8eeb82516f5
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Nov 29 22:49:40 2017 +0100
+
+    Check po/POTFILES.in is up-to-date.
+
+ rebuild.sh | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit fa5cf5e530f3c68b683bfa8c4c72c9a9b4843d53
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Nov 29 22:02:52 2017 +0100
+
+    winoptions requires colons, not equal signs.
+
+ doc/icewm.adoc | 95 ++++++++++++++++++++++++++----------------------------
+ 1 file changed, 45 insertions(+), 50 deletions(-)
+
+commit 40476b5c4bca091562698cd488d1a41b69c71da4
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Nov 29 22:00:52 2017 +0100
+
+    drop unused wmLastWindow.
+    Better tests in wmNext/PrevWindow.
+
+ src/wmframe.cc | 35 ++++++++++++++---------------------
+ src/wmframe.h  |  1 -
+ 2 files changed, 14 insertions(+), 22 deletions(-)
+
+commit 3961b46fcfdb54707cdaeab3ffcffb026a79dc3d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Nov 29 21:59:38 2017 +0100
+
+    fix int/unsigned conversion.
+
+ src/wmabout.cc | 76 ++++++++++++++++++++++++++++--------------------------
+ 1 file changed, 39 insertions(+), 37 deletions(-)
+
+commit 11be4032b4e5eefc6ca0f39c5881ba2bcd52f040
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Nov 29 21:58:17 2017 +0100
+
+    Always init buttonDownX/Y, movingWindow, sizingWindow.
+    Only resize with mouse if buttonDownX/Y represent a mouse position.
+
+ src/movesize.cc | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+commit 3a7024a2750915382d94af426e2fd77a5d622663
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Nov 29 21:56:52 2017 +0100
+
+    Fancy allocation of a null_ref at address 0 to fool compiler-analyzers.
+
+ src/ref.cc | 41 ++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 38 insertions(+), 3 deletions(-)
+
+commit 736cc8f01740ef4ebfd415ba27eb60f1f73806f8
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Nov 28 23:40:15 2017 +0100
+
+    Fix C++98 enforcing and use GOLD where available
+
+ src/CMakeLists.txt | 17 ++++++++++++-----
+ 1 file changed, 12 insertions(+), 5 deletions(-)
+
+commit 963326e57f9155629385b662e6c51f3934a52a9f
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Nov 28 23:39:43 2017 +0100
+
+    Fix undefined behavior WRT memcpy calls
+
+ src/yarray.cc | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+commit ed2314438f0b6e40ef88b51b321ef0c5e09da54e
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Nov 28 23:27:51 2017 +0100
+
+    Fix undefined behavior on 64bit in legacy code
+
+ src/base.h    | 15 +++++++++++----
+ src/ypaint.cc | 16 +++++++++++++---
+ 2 files changed, 24 insertions(+), 7 deletions(-)
+
+commit 2a5f67f7d9e20d6bbdf6a23d0ea9070be7ec6e2b
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Nov 28 22:26:21 2017 +0100
+
+    List might be accessed earlier
+
+    Crasher discovered with -fsanitize=vptr
+
+ src/wmapp.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 1c41ea92739018fe9c7665ffdae062b0aefc16c0
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Nov 28 19:58:37 2017 +0100
+
+    Add image loader linking only if enabled
+
+    The linker flags were always added by mistake.
+
+    Also dropped imlib option here - it never worked and nobody complained
+    so far.
+
+ src/CMakeLists.txt | 27 ++++++++++++++++-----------
+ 1 file changed, 16 insertions(+), 11 deletions(-)
+
+commit 90ca5f064e90e283040356d0a88b8a237b0af812
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 28 22:05:57 2017 +0100
+
+    Vertical scroll modifiers Shift + Control.
+
+ src/yscrollbar.cc | 80 ++++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 64 insertions(+), 16 deletions(-)
+
+commit aa8680644593913ed268d067aed9d970af216811
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 28 21:55:36 2017 +0100
+
+    Less verbose error handler.
+
+ src/wmapp.cc | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+commit ca43147c82668bf9e348193127cc3b45f476421a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 28 21:55:05 2017 +0100
+
+    verbose, nodelete, title.
+
+ src/icehelp.cc | 55 +++++++++++++++++++++++++++++++++---------------------
+ 1 file changed, 34 insertions(+), 21 deletions(-)
+
+commit a9464433f422167ea66079a10773d4d9ec8d50ab
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 28 17:56:44 2017 +0100
+
+    Add DEBUG for XCopyArea against empty NULL pixmaps.
+
+ src/ypaint.cc | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit f93a8b6aa7df51f6a54ba957282cbf087a69f66a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 28 17:55:08 2017 +0100
+
+    Fix SEGV.
+
+ src/wmbutton.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit b075987aa32cc700125562aefb981bc88cf74166
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Nov 27 12:46:31 2017 +0100
+
+    When the Close button is pressed don't immediately hide the window for
+    issue #201.
+
+ src/wmframe.cc | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit e6bc701dc5985525294029314c1b6dcf7b8521ee
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Nov 27 05:29:47 2017 +0100
+
+    Send PING with NoEventMask for issue #201.
+
+ src/wmclient.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit f105fee8c1f6a205bed111a927eff655b951baf5
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Nov 27 04:57:26 2017 +0100
+
+    Restore HAVE_XINTERNATOMS.
+
+ configure.ac          | 3 +++
+ src/CMakeLists.txt    | 2 ++
+ src/config.cmake.h.in | 1 +
+ src/yxapp.cc          | 6 ++++++
+ 4 files changed, 12 insertions(+)
+
+commit 3d5d4d8eaaea849313216b81fa86a338f286a49c
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Nov 26 14:40:15 2017 +0100
+
+    Fixing minor potential format/syntax error warnings
+
+ src/wmmgr.cc  | 4 ++--
+ src/yarray.cc | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit a252359d200fa8caf8c8604b322fcf1eea938a8b
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Nov 26 14:39:36 2017 +0100
+
+    Explain possible image loader options by name
+
+ src/CMakeLists.txt | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit 3a4cc0273ae8285b129c8e90891b6209723e55d2
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Nov 26 12:59:59 2017 +0100
+
+    Include Xrender.h explicitly where needed
+
+ src/yxapp.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 7568d0931fa2573e9cb34d7f8059c5248d1782ac
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Nov 26 11:36:32 2017 +0100
+
+    Fix new/free mismatches and initalization errors
+
+ src/yxapp.cc   |  5 ++++-
+ src/yximage.cc | 33 +++++++++++++++++++--------------
+ 2 files changed, 23 insertions(+), 15 deletions(-)
+
+commit d1e5f751ddfe4b9b270edf6738fee326b998d643
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Nov 26 09:49:23 2017 +0100
+
+    cmake version: added modeline, reformated, fixed some option handling
+
+    Fixed OSS enabling, added experimental libpng switch.
+    Also restricted selection of image loaders to supported combinations.
+
+ src/CMakeLists.txt    | 375 +++++++++++++++++++++++++---------------------
+ src/config.cmake.h.in |   9 +-
+ 2 files changed, 208 insertions(+), 176 deletions(-)
+
+commit 2cf6ec9e1c689774757b748432e69d9852a81d0d
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Nov 26 00:38:27 2017 +0100
+
+    Adapt CMake version to removal of additional yimage_* versions
+
+ src/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d7203b556ff84623e0942cee5fd89980f39b9ccf
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Nov 5 16:17:13 2017 +0100
+
+    Turn disconnected screens off and print command even for one monitor
+
+    This is needed to restore the picture in case where a monitor was
+    removed and a new one was connected to a different port, and also has a
+    different resolution.
+
+ contrib/icewm-menu-xrandr | 14 +++-----------
+ 1 file changed, 3 insertions(+), 11 deletions(-)
+
+commit 7400e42dcccbfe5d4a2069b9c20a2b784fd77d44
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 25 17:43:10 2017 +0100
+
+    Fix for Tray Icon menu item not being properly disabled when
+    foIgnoreTaskBar is set.
+
+ src/decorate.cc | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 3f275e1e9c2d5fd53c85d1d9448eba2d9896a69f
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 25 17:42:42 2017 +0100
+
+    Properly free FileView resources.
+
+ src/icehelp.cc | 30 ++++++++++++++++++++++++++++--
+ 1 file changed, 28 insertions(+), 2 deletions(-)
+
+commit 28694ea1f173e39ee11752a6d0069e5d1cd88360
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 25 17:42:25 2017 +0100
+
+    Set About title + class.
+
+ src/wmabout.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 70ce774c1fa5fe446b94a31749f1a54db687ac4e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 25 17:42:09 2017 +0100
+
+    Set window list title + class.
+
+ src/wmwinlist.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit af7622ac80b641260265b3de515ac1bff9f0eeb1
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 25 17:41:25 2017 +0100
+
+    Check for overflow (conversion from negative width/height) in unsigned
+    dimensions.
+
+ src/yrect.h | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 74d9606cb4a5856c5626a192324d640dbaef750e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 25 17:40:16 2017 +0100
+
+    Fix for YRect r1.height being bigger than 2 billion due to widths and
+    height being unsigned since recently...
+
+ src/ywindow.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 759dbc3e91e0c5c2e0706410d3312c7fa3be6937
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 25 13:12:51 2017 +0100
+
+    undo titlebar bit gravity, but keep window gravity.
+
+ src/wmtitle.cc | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 24012241775f15d8a20589dac7bee844751615df
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 25 08:46:32 2017 +0100
+
+    Setting titlebar gravity reduces flicker when resizing.
+
+ src/wmtitle.cc | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 6e4069a8e3327bb7e9daa40aa78373a33c23b2ae
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 25 04:15:31 2017 +0100
+
+    Keep container on top of resize handles so as not to obstruct access to
+    the application window.
+
+ src/wmframe.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 604315ffbf6315da23fb9516393d8fdf91bfb23d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 25 03:46:02 2017 +0100
+
+    Substructure events didn't work for hexchat. Add
+    YXEmbedClient::handleConfigure to catch hexchat resizing its icon.
+    Add a small delay when registering a new tray app to avoid race
+    conditions. Avoid obnoxious error messages for already destroyed tray
+    apps.
+
+ src/yxembed.cc | 42 +++++++++++++++++++-------
+ src/yxtray.cc  | 87 +++++++++++++++++++++++++++++++++++++++---------------
+ 2 files changed, 94 insertions(+), 35 deletions(-)
+
+commit 392e83b4b1fd9c710b0079f346c57af8d26d9b86
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 25 03:45:43 2017 +0100
+
+    Tray header cleanup.
+
+ src/yxembed.h | 19 ++++++++-----------
+ src/yxtray.h  | 10 +++++-----
+ 2 files changed, 13 insertions(+), 16 deletions(-)
+
+commit 36fdf5bd380959f35fdd467729ca232badc6fd9d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 25 03:43:17 2017 +0100
+
+    If XGetWindowAttributes fails then set wfDestroyed.
+    Don't show or hide wfDestroyed windows.
+    Fix xmotion mismatch for xconfigure events.
+
+ src/ywindow.cc | 35 ++++++++++++++++++++++-------------
+ src/ywindow.h  |  5 ++++-
+ 2 files changed, 26 insertions(+), 14 deletions(-)
+
+commit 79ad68f33740691562e30d5756c810328b2c8315
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 25 03:42:33 2017 +0100
+
+    remove superfluous tests.
+
+ src/atasks.cc | 5 -----
+ src/atray.cc  | 5 -----
+ 2 files changed, 10 deletions(-)
+
+commit 632aec1b8a7efeb31578e1f87590312f7ed5aed3
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 25 03:39:41 2017 +0100
+
+    Window list skip taskbar.
+
+ src/wmwinlist.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit c0c51b95b398eab11d0f58eaa26915d8f55794a5
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 25 03:38:28 2017 +0100
+
+    Avoid needless call to updateUrgency. Make movingWindow, sizingWindow
+    boolean.
+
+ src/movesize.cc | 8 ++++----
+ src/wmframe.cc  | 9 ++++++---
+ src/wmframe.h   | 2 +-
+ 3 files changed, 11 insertions(+), 8 deletions(-)
+
+commit 63dab422fada6d15a0a02cb56826e63da6309cc0
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 25 03:37:20 2017 +0100
+
+    comments
+
+ src/WinMgr.h | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit ca243f89717802b1b08d990249cf1ffba30b65a6
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Nov 23 20:09:52 2017 -0700
+
+    working better, still have WM_HINTS icon issue
+
+ src/yximage.cc | 102 ++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 54 insertions(+), 48 deletions(-)
+
+commit e96834d4d34fa5c3da6983d64d2aebbf91a7057a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Nov 23 19:59:38 2017 -0700
+
+    tile pixmaps property for borders
+
+ src/decorate.cc | 18 ++++++++----------
+ src/ypaint.cc   | 16 ++++++++++++++++
+ 2 files changed, 24 insertions(+), 10 deletions(-)
+
+commit cce8fc59be3c3e4cd97a23f0363f46abc346a3c3
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Nov 23 11:32:32 2017 -0700
+
+    add non-super-sampling upscaling (Ice does)
+
+ src/yximage.cc | 341 ++++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 259 insertions(+), 82 deletions(-)
+
+commit 426bd4e31f2fadf9dd491244d06cc939f9c1ea29
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Nov 22 23:59:23 2017 -0700
+
+    wrong return from drawable()
+
+ src/ypaint.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 261b8affc27389d11ee090c0a697e982735140de
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Nov 22 23:32:14 2017 -0700
+
+    more detailed error logging
+
+ src/wmapp.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit e00e4ebddd969183dd7499531ed685d635d9a5c1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Nov 22 21:52:28 2017 -0700
+
+    handle XImage data allocation better
+
+ src/yximage.cc | 57 +++++++++++++++++++++++++++---------------------------
+ 1 file changed, 28 insertions(+), 29 deletions(-)
+
+commit f4af5be8c10be5d616534c4a31b13d0c92772ab5
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Nov 22 21:39:52 2017 -0700
+
+    working CONFIG_XPM a little better
+
+ src/wmapp.cc   |  6 ++++++
+ src/yximage.cc | 10 +---------
+ 2 files changed, 7 insertions(+), 9 deletions(-)
+
+commit ec4f97607091cef42dedab15d18e9026d8d1f4b9
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Nov 22 20:44:33 2017 -0700
+
+    compile without gdk-pixbuf
+
+ src/ycursor.cc |   4 +-
+ src/yimage.h   |   2 +-
+ src/yximage.cc | 416 +++++++++++++++++++++++++++--------------------------
+ 3 files changed, 213 insertions(+), 209 deletions(-)
+
+commit d9166c69773599985b2488f8b7eb8172550dcb07
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Nov 22 19:54:26 2017 -0700
+
+    add yximage.cc to build
+
+ src/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 900d4f41df06fd36f9fe6496ebd1c556d53a08f9
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Nov 22 19:53:21 2017 -0700
+
+    add libxpm libpng based image rendering
+
+ src/yximage.cc | 697 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 697 insertions(+)
+
+commit 541568c66b0af8cf22bcead44e3224baee8edd9b
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Nov 22 19:52:25 2017 -0700
+
+    move unused image files to attic
+
+ src/Makefile.am                 | 2 --
+ src/{ => attic}/yimage_imlib.cc | 0
+ src/{ => attic}/yimage_xpm.cc   | 0
+ 3 files changed, 2 deletions(-)
+
+commit 9d1bb6b702275144093e031cf478a7522bd25d4a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Nov 22 19:49:33 2017 -0700
+
+    prepare to remove gdk-pixbuf dependency
+
+ configure.ac | 56 +++++++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 43 insertions(+), 13 deletions(-)
+
+commit 0a37a3af95a11d2c42c814b8ac68dc951e98a2b0
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Nov 22 19:49:06 2017 -0700
+
+    add an ignore
+
+ .gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 54cb2edbece5e895d2527f8af75717ac3e549bfe
+Merge: 38b1c5a8 b72ef348
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Nov 22 19:18:53 2017 -0700
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit 38b1c5a8eb3551385f5c79154975e4467f632d37
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Nov 22 19:18:37 2017 -0700
+
+    add vim line
+
+ configure.ac | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit b72ef3486881f550d35860410b1139261c357eb0
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Nov 22 23:50:47 2017 +0100
+
+    OpenBSD sed requires file argument to be last.
+
+ autogen.sh | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 0ac4c8790bc2cd29cb9cf7dc814abec0e42103b0
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Nov 22 15:11:48 2017 -0700
+
+    proper checks for composited width and height
+
+ src/yimage_gdk.cc | 22 +++++++++++++---------
+ 1 file changed, 13 insertions(+), 9 deletions(-)
+
+commit 572d3b01891b79e3b8b67fbe528acbfddaf326f0
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Nov 22 14:59:37 2017 -0700
+
+    missed one unsigned
+
+ src/yimage.h      | 2 +-
+ src/yimage_gdk.cc | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit c54aa1f6ee6ab8248485f34e0f79dfc147c057e6
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Nov 22 12:10:34 2017 -0700
+
+    widths, heights, sizes, depths, are unsigned
+
+ src/atasks.cc       |  6 ++--
+ src/atray.cc        |  5 +--
+ src/aworkspaces.cc  | 10 +++---
+ src/genpref.cc      |  5 +++
+ src/icehelp.cc      | 26 +++++++--------
+ src/iceicon.cc      | 12 +++----
+ src/iceview.cc      |  4 +--
+ src/icewmbg.cc      | 27 +++++++--------
+ src/movesize.cc     |  8 ++---
+ src/objbar.cc       |  2 +-
+ src/themable.h      | 88 ++++++++++++++++++++++++-------------------------
+ src/wmabout.cc      |  3 +-
+ src/wmconfig.cc     |  3 ++
+ src/wmdialog.cc     |  7 ++--
+ src/wmdialog.h      |  2 +-
+ src/wmframe.cc      | 48 ++++++++++++++-------------
+ src/wmframe.h       |  4 +--
+ src/wmmgr.cc        | 23 ++++++-------
+ src/wmswitch.cc     |  5 +--
+ src/wmtaskbar.cc    | 19 ++++++-----
+ src/wmtaskbar.h     |  2 +-
+ src/wmwinlist.cc    | 10 +++---
+ src/yconfig.cc      | 13 ++++++++
+ src/yconfig.h       | 37 +++++++++++----------
+ src/yfont.cc        |  2 +-
+ src/yicon.cc        | 16 ++++-----
+ src/yicon.h         | 14 ++++----
+ src/yimage.h        | 24 +++++++-------
+ src/yimage_gdk.cc   | 36 ++++++++++----------
+ src/yimage_imlib.cc |  6 +++-
+ src/yimage_xpm.cc   | 68 ++++++++++++++++++++++++++------------
+ src/ylistbox.cc     |  6 ++--
+ src/ylistbox.h      |  4 +--
+ src/ymenu.cc        | 72 +++++++++++++++++++++-------------------
+ src/ymenu.h         |  8 ++---
+ src/ymenuitem.cc    |  4 +--
+ src/ymsgbox.cc      |  9 ++---
+ src/ypaint.cc       | 64 +++++++++++++++++------------------
+ src/ypaint.h        | 82 ++++++++++++++++++++++-----------------------
+ src/ypixmap.cc      | 12 +++----
+ src/ypixmap.h       | 24 +++++++-------
+ src/ypopup.cc       |  3 +-
+ src/yrect.h         | 13 ++++----
+ src/yscrollview.cc  |  4 +--
+ src/yscrollview.h   |  4 +--
+ src/ywindow.cc      | 18 +++++-----
+ src/ywindow.h       | 22 ++++++-------
+ src/yxtray.cc       | 32 +++++++++---------
+ src/yxtray.h        |  2 +-
+ 49 files changed, 497 insertions(+), 421 deletions(-)
+
+commit 25395d037271489120e8485429b8a304e20fcb19
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Nov 21 21:33:09 2017 -0700
+
+    add strong note about changes to src/Makefile.am
+
+ src/Makefile.am | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit c82127e8f90b71e954d812c8f591b833a5bf998d
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Nov 21 21:31:46 2017 -0700
+
+    icewmtray fails installcheck (no --help --version)
+
+ src/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit bddc9fcbd83c545aea2f8be560204babd2b1a934
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Nov 21 21:30:40 2017 -0700
+
+    add missing header just before distcheck failure
+
+ src/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 522c95004747983b806f40a41aeb0d0e02e6e51f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Nov 21 21:28:29 2017 -0700
+
+    update po files
+
+ po/ar.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/be.po     | 489 +++++++++++++++++++++++++++---------------------------
+ po/bg.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/ca.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/cs.po     | 497 +++++++++++++++++++++++++++----------------------------
+ po/da.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/de.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/el.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/en.po     | 484 ++++++++++++++++++++++++++---------------------------
+ po/es.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/fi.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/fr.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/he.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/hr.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/hu.po     | 489 +++++++++++++++++++++++++++---------------------------
+ po/icewm.pot | 486 +++++++++++++++++++++++++++--------------------------
+ po/id.po     | 491 +++++++++++++++++++++++++++---------------------------
+ po/it.po     | 491 +++++++++++++++++++++++++++---------------------------
+ po/ja.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/ko.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/lt.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/lv.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/mk.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/nb.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/nl.po     | 491 +++++++++++++++++++++++++++---------------------------
+ po/no.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/pl.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/pt_BR.po  | 487 +++++++++++++++++++++++++++--------------------------
+ po/ro.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/ru.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/sk.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/sl.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/sv.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/tr.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/uk.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/vi.po     | 487 +++++++++++++++++++++++++++--------------------------
+ po/zh_CN.po  | 487 +++++++++++++++++++++++++++--------------------------
+ po/zh_TW.po  | 487 +++++++++++++++++++++++++++--------------------------
+ 38 files changed, 9204 insertions(+), 9324 deletions(-)
+
+commit b536d4bb1de5651ca2faed01effc53336cc19db3
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Nov 21 21:16:02 2017 -0700
+
+    remove unused options from configure statement
+
+ README.md.in | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit dc69a12a7076ab541a477ecd39d16bd77aa87963
+Merge: 8455f2f8 10ac82c2
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Nov 21 21:10:09 2017 -0700
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit 10ac82c26302b7a67d76613812a67a5f890aa956
+Merge: 9a3513ad e06e8503
+Author: Brian Bidulock <bidulock@openss7.com>
+Date:   Tue Nov 21 21:09:26 2017 -0700
+
+    Merge pull request #199 from gam3/icewm-1-4-BRANCH
+
+    Remove random %s from po/sk.po to allow build
+
+commit 8455f2f87bbb553325097750bc71986635183011
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Nov 21 21:04:59 2017 -0700
+
+    remove options no longer supported
+
+ configure.sh | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit 1673f080e8e18ba92ee17de3139c4afcbf2e3641
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Nov 21 21:04:00 2017 -0700
+
+    add -f to autoreconf for autopoint
+
+ autogen.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9a3513ad7b41d1e3d4d8e2c2e9c45469cb9334e9
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:45:40 2017 +0100
+
+    /bin/echo doesn't work on OpenBSD, use printf instead.
+
+ autogen.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 36363eb700b3808a7f83fd54f4b28fb34ca70f80
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:44:55 2017 +0100
+
+    AX_CXX_GCC_ABI_DEMANGLE is buggy (free is undefined). Detect support
+    for demangle inline.
+
+ configure.ac | 1 -
+ src/misc.cc  | 3 +++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+commit cb0f5356e48ed57262bc7638876175fd223daaa6
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:43:37 2017 +0100
+
+    Drop icebar (never existed). Always make icehelp. Link with @LIBINTL@
+    for OpenBSD.
+
+ src/Makefile.am | 76 +++++++++++------------------------------------------
+ 1 file changed, 15 insertions(+), 61 deletions(-)
+
+commit 6116bc64bada46ca063da288b95ef2308cd56584
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:42:54 2017 +0100
+
+    Simplify use of XTextProperty for OpenBSD.
+
+ src/icehelp.cc        |  8 ++++----
+ src/testnetwmhints.cc |  9 +++++----
+ src/wmapp.cc          | 16 ++++++++--------
+ 3 files changed, 17 insertions(+), 16 deletions(-)
+
+commit 6dd8da07ad47fdca5b8b8fc5b824527d09370223
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:41:54 2017 +0100
+
+    Simplify use of MwmHints for OpenBSD by adding a constructor.
+
+ src/MwmUtil.h  | 14 +++++++++++++-
+ src/icesame.cc | 29 ++++++++++++-----------------
+ src/wmabout.cc | 11 ++++++-----
+ src/ymsgbox.cc | 20 ++++++--------------
+ 4 files changed, 37 insertions(+), 37 deletions(-)
+
+commit ed224bebb294875147c613b51eee84c740a177cc
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:40:49 2017 +0100
+
+    Port ylocale to OpenBSD.
+
+ src/ylocale.cc | 6 +++++-
+ src/ylocale.h  | 2 ++
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+commit 85514de3a4ea083cd0e6254a393903a75924b99a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:39:42 2017 +0100
+
+    Port to OpenBSD G++-4.9.
+
+ src/yarray.cc | 2 +-
+ src/yarray.h  | 7 ++++---
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+commit 3c107df4ba3e6862fdb26cf5193aba1d54ca8376
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:39:21 2017 +0100
+
+    Port taskbar to OpenBSD.
+
+ src/wmtaskbar.cc | 65 ++++++++++++++++++++++++++++++----------------------
+ 1 file changed, 38 insertions(+), 27 deletions(-)
+
+commit 97b35351eec4d0826a171dd2a369a9c99a8be822
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:38:58 2017 +0100
+
+    Fixs for OpenBSD.
+
+ src/wmclient.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 0e51334c845164ac814e657a0a42ff5e3bb5a7f8
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:38:24 2017 +0100
+
+    Replace sprintf by snprintf for OpenBSD.
+
+ src/testarray.cc | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+commit 3945a1ac12ea1ff29c9e15ae39ee7832d25ee8a9
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:38:03 2017 +0100
+
+    include signal.h.
+
+ src/sysdep.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit cce0fee590b55548b8fbc3a0256e820d7fae20db
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:37:43 2017 +0100
+
+    Replace strcpy by strlcpy for OpenBSD.
+
+ src/mstring.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 92cf497014c471eed1714f483f8164dad57da5a8
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:37:23 2017 +0100
+
+    include sys/socket.h
+
+ src/iceskt.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit f3945a0f931f532c6a1fbdfca277c073cf93a75e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:37:05 2017 +0100
+
+    Replace strcpy by memcpy in icelist for OpenBSD.
+
+ src/icelist.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4c99e4e7ffddde1d17679f17c46411137e9b0b97
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:36:12 2017 +0100
+
+    Replace strcpy by memcpy in iceicon for OpenBSD.
+
+ src/iceicon.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 23e6c726860fbae5a7013eb306c31ef9d34668aa
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:35:53 2017 +0100
+
+    Make iceclock compile again.
+
+ src/iceclock.cc | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit e6738ac384d0b595f4a5a82d9f7aa8dc16b10365
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:35:12 2017 +0100
+
+    Replace sprintf by snprintf for OpenBSD.
+
+ src/globit.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit 8bf5da7aeb5094b57df89cc69005855fde1e70fa
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:34:44 2017 +0100
+
+    Fix to NetStatus for OpenBSD.
+
+ src/apppstatus.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 4c864b7df376e8eb68e8b8ff64a7438794f2f6db
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 21 22:34:02 2017 +0100
+
+    YApm changes for OpenBSD
+
+ src/aapm.cc | 132 ++++++++++++++++++++++++++++++--------------------------
+ src/aapm.h  |   2 +-
+ 2 files changed, 72 insertions(+), 62 deletions(-)
+
+commit 117ea4dc56aff6f301cfdf168b2eb968b8a7f3f4
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Nov 19 21:21:52 2017 +0100
+
+    Update winoptions for ignorePagerPreview and document the
+    hitherto undocumented default winoption value for all windows.
+    Fix garbled display of font names. Add more formatting.
+
+ doc/icewm.adoc | 1057 ++++++++++++++++++++++++++--------------------------
+ 1 file changed, 532 insertions(+), 525 deletions(-)
+
+commit 30901684de215e16483312e6490511f5f1ae90a3
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Nov 19 21:19:18 2017 +0100
+
+    Update workspace buttons on screen changes when PagerShowPreview is on
+    for issue #189. Remove superfluous calls to taskBar->updateLocation(),
+    because this is already called by taskBar->relayoutNow().
+
+ src/wmmgr.cc | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit 4fd4681b369f0376056dd4a1324a2c106b13751d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Nov 19 21:14:21 2017 +0100
+
+    Simplify WindowOptions handling and remove obsolete code.
+    Add support for parsing new "ignorePagerPreview" frame option.
+    Use binary search  to speedup winoption lookup.
+    Check input values for validity.
+    Only allocate WindowOptions when required.
+
+ src/wmapp.cc    |  18 +---
+ src/wmframe.cc  |   6 --
+ src/wmmgr.cc    |   5 +-
+ src/wmoption.cc | 263 ++++++++++++++++++++++++++--------------------------
+ src/wmoption.h  |  25 +++--
+ src/wmprog.cc   |   3 +
+ 6 files changed, 151 insertions(+), 169 deletions(-)
+
+commit 4eb71a60f7b108f2256d9154d56f35a8551b7919
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Nov 19 21:10:15 2017 +0100
+
+    add frame option foIgnorePagerPreview. remove unused sizeByMouse and
+    fWinStateMask.
+
+ src/aworkspaces.cc |  4 +++-
+ src/movesize.cc    |  1 -
+ src/wmframe.h      | 47 +++++++++++++++++++++++------------------------
+ 3 files changed, 26 insertions(+), 26 deletions(-)
+
+commit 751c291b2d852881928f01046744fd2247b7cec0
+Author: Ferdinand Galko <galko.ferdinand@gmail.com>
+Date:   Sun Nov 19 17:39:32 2017 +0000
+
+    Translated using Weblate (Slovak)
+
+    Currently translated at 100.0% (319 of 319 strings)
+
+ po/sk.po | 34 +++++++++++++++++++---------------
+ 1 file changed, 19 insertions(+), 15 deletions(-)
+
+commit e3a4ca0274e5ceb0616ec175904da89fb757e5fb
+Author: Freek de Kruijf <freek@opensuse.org>
+Date:   Sun Nov 19 15:53:04 2017 +0000
+
+    Translated using Weblate (Dutch)
+
+    Currently translated at 84.6% (270 of 319 strings)
+
+ po/nl.po | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+commit a6f49f75181257b8f02ff1249050681d4bb62116
+Author: Ferdinand Galko <galko.ferdinand@gmail.com>
+Date:   Sun Nov 19 12:48:35 2017 +0000
+
+    Translated using Weblate (Slovak)
+
+    Currently translated at 95.2% (304 of 319 strings)
+
+ po/sk.po | 30 +++++++++++++++---------------
+ 1 file changed, 15 insertions(+), 15 deletions(-)
+
+commit e06e85034499285acf608cd54a02eb48ecdffcf0
+Author: G. Allen Morris III <gam3@gam3.net>
+Date:   Sun Nov 19 08:04:19 2017 +0100
+
+    Remove random %s from po/sk.po to allow build
+
+ po/sk.po | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d6345f778aafbab8a0d6e859c29b42638378e100
+Author: Ferdinand Galko <galko.ferdinand@gmail.com>
+Date:   Thu Nov 16 08:23:34 2017 +0000
+
+    Translated using Weblate (Slovak)
+
+    Currently translated at 90.9% (290 of 319 strings)
+
+ po/sk.po | 47 ++++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 38 insertions(+), 9 deletions(-)
+
+commit e7e679d9e5639210ef814fde9eff5fb148f8eac8
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Nov 15 21:38:17 2017 +0100
+
+    Replace ObjectContainer with ObjectMenu for 3rd parameter of
+    addContainer to avoid downcast to multi-inheriting subclass.
+
+ src/obj.h     | 6 ++++--
+ src/objbar.cc | 7 ++-----
+ src/objbar.h  | 2 +-
+ src/objmenu.h | 2 +-
+ src/wmprog.cc | 4 ++--
+ 5 files changed, 10 insertions(+), 11 deletions(-)
+
+commit f625ec6313c0c9fa1becc41e9e1c8941bd2a499f
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Nov 15 21:19:49 2017 +0100
+
+    Update winoptions to reflect current code for issue #197. Plus more
+    updates.
+
+ doc/icewm.adoc | 217 +++++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 135 insertions(+), 82 deletions(-)
+
+commit a67d29c1a472a2e2362f8e61d026954671a22bec
+Author: Ferdinand Galko <galko.ferdinand@gmail.com>
+Date:   Wed Nov 15 13:13:46 2017 +0000
+
+    Translated using Weblate (Slovak)
+
+    Currently translated at 89.0% (284 of 319 strings)
+
+ po/sk.po | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+commit 61a4e149fef01d7ea3562cd930452e69703669c1
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 14 22:16:14 2017 +0100
+
+    prefer using over typedef if possible.
+
+ src/yarray.h | 39 +++++++++++++++------------------------
+ 1 file changed, 15 insertions(+), 24 deletions(-)
+
+commit 6f80f5b76777f02c56cabd3617342791f761cc48
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 14 22:14:50 2017 +0100
+
+    On shutdown close any stray remaining windows in ~YDesktop.
+
+ src/ywindow.cc | 6 ++++++
+ src/ywindow.h  | 2 +-
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+commit 39ed1f12f6dd3d84de9657aafe94516142146e52
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 14 22:14:23 2017 +0100
+
+    initialize.
+
+ src/ypopup.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 0ac1cda092eeb0ff330dc312c02487a186af2bc7
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 14 22:14:15 2017 +0100
+
+    protect
+
+ src/ybutton.h | 5 +++--
+ src/ypopup.h  | 3 ++-
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+commit 797bc0d8be87634d4cb0eb7927737982e5d4b7b4
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 14 22:13:13 2017 +0100
+
+    on startup reap zombies which may remain on restart from previous icewm.
+
+ src/yapp.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 3f4b9b8fb11558e4b1f71fc937c13c4f71509e59
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 14 22:11:40 2017 +0100
+
+    assign contents of array to parameter of DProgram for EDIT Menu issue #195.
+
+ src/wmprog.cc | 4 ++--
+ src/wmprog.h  | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit d3aab7271a0544628bd6476d3d668e73041da704
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 14 22:11:19 2017 +0100
+
+    preserve virtual.
+
+ src/themes.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit fe29311fcd8dc4321a1439b0df6f110ad52c801a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 14 22:08:33 2017 +0100
+
+    Use dynamic_cast for downcast from container to menu and check the
+    result for issue #195.
+
+ src/objbar.cc | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 7b88d5ba799187e5618d9d785a308a46a0e16618
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 14 22:06:06 2017 +0100
+
+    add demangle.
+
+ configure.ac |  1 +
+ src/base.h   |  2 ++
+ src/misc.cc  | 14 +++++++++++++-
+ 3 files changed, 16 insertions(+), 1 deletion(-)
+
+commit 215563c49a2a1acd72e0da822300c375d58090af
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 14 21:56:54 2017 +0100
+
+    NOTE, INFO, CARP to report info about code problems if DEBUG or PRECON
+    is defined.
+
+ src/debug.h | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit a911d9a5513cc1614a41cfb186319da4154a8fcb
+Author: Ferdinand Galko <galko.ferdinand@gmail.com>
+Date:   Tue Nov 14 13:03:44 2017 +0000
+
+    Translated using Weblate (Slovak)
+
+    Currently translated at 87.4% (279 of 319 strings)
+
+ po/sk.po | 37 ++++++++++++++++++-------------------
+ 1 file changed, 18 insertions(+), 19 deletions(-)
+
+commit c8488e01abb05255e0a33c6b58ab26f5ae1dbc63
+Author: Vojtech Zeisek <Vojtech.Zeisek@opensuse.org>
+Date:   Tue Nov 14 13:52:35 2017 +0000
+
+    Translated using Weblate (Czech)
+
+    Currently translated at 98.7% (315 of 319 strings)
+
+ po/cs.po | 107 ++++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 54 insertions(+), 53 deletions(-)
+
+commit cbe71fabc94096a3da60492b8314603fe2910e6b
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 14 08:38:49 2017 +0100
+
+    Don't assume that a titlebar is always available in issue #195.
+
+ src/decorate.cc | 2 +-
+ src/wmbutton.cc | 8 +++++---
+ 2 files changed, 6 insertions(+), 4 deletions(-)
+
+commit 682498b0e06506d57a25afc9a3f3ada717b23802
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Nov 13 21:12:06 2017 +0100
+
+    Improvements to Switcher for when frames unexpectedly disappear.
+    Also close down the Switcher when there are no more windows.
+
+ src/wmswitch.cc | 25 +++++++++++++++++++------
+ 1 file changed, 19 insertions(+), 6 deletions(-)
+
+commit 6e5ee43eee6ac7e3af37959103b4943fb2de8034
+Author: Vojtech Zeisek <Vojtech.Zeisek@opensuse.org>
+Date:   Mon Nov 13 16:11:17 2017 +0000
+
+    Translated using Weblate (Czech)
+
+    Currently translated at 83.6% (267 of 319 strings)
+
+ po/cs.po | 93 +++++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 48 insertions(+), 45 deletions(-)
+
+commit 3869f3445070f58966d42f02aaabc3271cc458ae
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Nov 13 04:30:36 2017 +0100
+
+    Fix off by one bug for quickSwitchToAllWorkspaces. Reset fActiveWindow.
+    Use only valid array index parameters. Fix a SIGFP crash on modulo with
+    size 0. Make all switch window data local non-static. Refactor large
+    functions. Cancel or repaint switch window when a frame is destroyed.
+
+ src/wmswitch.cc | 130 +++++++++++++++++++++++++++-------------------------
+ src/wmswitch.h  |  23 ++++++----
+ 2 files changed, 81 insertions(+), 72 deletions(-)
+
+commit c721407d4c4e8553d031316547ecb839c32a8d99
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Nov 13 04:30:14 2017 +0100
+
+    Fix 3 bugs in YVec.
+
+ src/ycollections.h | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+commit c8a23f0ba1d327a5856d22f315d93373d706d91d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Nov 13 04:28:08 2017 +0100
+
+    Add option TaskBarEnableSystemTray.  Fix internal/external YXTray
+    parameter.
+
+ src/default.h    |  4 +++-
+ src/wmtaskbar.cc | 16 +++++++++++-----
+ 2 files changed, 14 insertions(+), 6 deletions(-)
+
+commit 45512fb6be7cd33200cdf259c904070a3216f3b0
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 11 15:37:52 2017 +0100
+
+    Weed out obsolete ifdefs and configure options.
+
+ configure.ac          | 212 +++++++++------------------------------
+ rebuild.sh            |  33 ++++---
+ src/CMakeLists.txt    | 197 +++++++++++++++----------------------
+ src/MwmUtil.h         |  78 ++-------------
+ src/aaddressbar.cc    |   3 -
+ src/aaddressbar.h     |   4 -
+ src/aapm.cc           |   7 --
+ src/aapm.h            |   2 -
+ src/aclock.cc         |   7 --
+ src/aclock.h          |   4 -
+ src/acpustatus.cc     |   9 --
+ src/acpustatus.h      |   2 -
+ src/amailbox.cc       |  11 ---
+ src/amailbox.h        |   7 --
+ src/amemstatus.cc     |  11 ---
+ src/amemstatus.h      |   2 -
+ src/apppstatus.cc     |   7 +-
+ src/apppstatus.h      |   5 -
+ src/atasks.cc         |  27 -----
+ src/atray.cc          |  28 ------
+ src/atray.h           |   6 --
+ src/aworkspaces.cc    |  15 ---
+ src/base.h            |   7 --
+ src/bindkey.h         |  16 ---
+ src/browse.cc         |   8 --
+ src/browse.h          |   4 -
+ src/config.cmake.h.in |  36 +------
+ src/decorate.cc       |  29 +-----
+ src/default.h         |  27 +----
+ src/genpref.cc        |   6 --
+ src/icesound.cc       |   4 -
+ src/icetray.cc        |   8 --
+ src/icewmbg.cc        |  22 -----
+ src/icewmbg_prefs.h   |   4 -
+ src/icewmhint.cc      |   3 -
+ src/movesize.cc       |  34 -------
+ src/objbar.cc         |  31 ++----
+ src/objbar.h          |   4 -
+ src/objmenu.h         |   2 -
+ src/sysdep.h          |   8 +-
+ src/testmenus.cc      |   2 -
+ src/themable.h        |  36 ++-----
+ src/themes.cc         |   4 -
+ src/themes.h          |   4 -
+ src/wmabout.cc        |   6 --
+ src/wmaction.h        |   2 -
+ src/wmapp.cc          | 227 +-----------------------------------------
+ src/wmapp.h           |  23 -----
+ src/wmbutton.cc       |  18 ----
+ src/wmclient.cc       | 100 -------------------
+ src/wmclient.h        |  32 +-----
+ src/wmconfig.cc       |  14 ---
+ src/wmcontainer.cc    |   2 -
+ src/wmdialog.cc       |   8 --
+ src/wmframe.cc        | 246 ++--------------------------------------------
+ src/wmframe.h         |  34 +------
+ src/wmmgr.cc          | 152 +---------------------------
+ src/wmmgr.h           |   6 --
+ src/wmminiicon.cc     |   3 -
+ src/wmoption.cc       |   8 --
+ src/wmoption.h        |   6 --
+ src/wmprog.cc         | 104 +-------------------
+ src/wmprog.h          |   4 -
+ src/wmstatus.cc       |   5 -
+ src/wmstatus.h        |   4 -
+ src/wmswitch.cc       |  29 +-----
+ src/wmswitch.h        |   3 -
+ src/wmtaskbar.cc      | 142 ++++----------------------
+ src/wmtaskbar.h       |  43 +-------
+ src/wmtitle.cc        |  51 +++-------
+ src/wmtitle.h         |   2 +-
+ src/wmwinlist.cc      |  15 ---
+ src/wmwinlist.h       |   4 -
+ src/wmwinmenu.cc      |  10 --
+ src/wpixmaps.h        |  10 --
+ src/wpixres.cc        |  54 +++-------
+ src/ybutton.cc        |   7 --
+ src/yconfig.cc        |  13 ---
+ src/yconfig.h         |   8 --
+ src/ycursor.cc        |  12 ---
+ src/ydialog.cc        |  11 +--
+ src/ydialog.h         |   4 -
+ src/yicon.cc          |   4 -
+ src/yinput.cc         |   3 -
+ src/ylabel.cc         |   5 -
+ src/ylistbox.cc       |  31 ++----
+ src/ylistbox.h        |   2 -
+ src/ylocale.cc        |   2 -
+ src/ymenu.cc          |  47 +++------
+ src/ymenu.h           |   6 --
+ src/ymenuitem.cc      |   6 --
+ src/ymsgbox.cc        |   7 --
+ src/ypaint.cc         |   8 --
+ src/ypaint.h          |  17 ----
+ src/yprefs.h          |   4 -
+ src/yscrollbar.cc     |   3 -
+ src/yscrollview.cc    |   4 -
+ src/ytooltip.cc       |   2 -
+ src/ytooltip.h        |   3 -
+ src/ywindow.cc        |  20 ----
+ src/ywindow.h         |  10 --
+ src/yxapp.cc          |  10 --
+ src/yxtray.cc         |   4 -
+ 103 files changed, 272 insertions(+), 2324 deletions(-)
+
+commit 405aba2c9d951959eaf795f090c69fc3712d0976
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 11 10:54:19 2017 +0100
+
+    Make icewm tray internal by default. This is much more reliable (and
+    cheaper) than an external icewmtray process.
+
+ src/icesm.cc     | 8 +++++++-
+ src/icetray.cc   | 6 ++++++
+ src/wmtaskbar.cc | 6 ++++++
+ 3 files changed, 19 insertions(+), 1 deletion(-)
+
+commit c6b4eb759f0d8f751328d116946405a284c4af3a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 11 10:53:18 2017 +0100
+
+    add last missing applet titles.
+
+ src/acpustatus.cc  | 3 +++
+ src/amailbox.cc    | 1 +
+ src/apppstatus.cc  | 1 +
+ src/aworkspaces.cc | 1 +
+ 4 files changed, 6 insertions(+)
+
+commit 42a293788f11996f0e87d75021b19594ceb89607
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Nov 10 21:35:23 2017 +0100
+
+    Set taskbar background. This then also becomes a default background for
+    tray icons in issue #188 while not hindering background pixmaps.
+
+ src/wmtaskbar.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 3727335c12b3ea94455a4ac1575b3e18d795b4d9
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Nov 10 21:33:59 2017 +0100
+
+    Revert "Set background for tray icons in issue #188."
+
+    This reverts commit fa7735303b95cc0229153deeaa3c09443a05ce48.
+
+ src/yxtray.cc | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit fff5ee86c23d1d5e65308a749903239ce190f367
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Nov 10 18:08:59 2017 +0100
+
+    _NET_WM_PING timeout also looks fir PID/HOST in group leader.
+
+ src/wmclient.cc | 17 +++++++++++++++--
+ src/wmclient.h  |  1 +
+ 2 files changed, 16 insertions(+), 2 deletions(-)
+
+commit fa7735303b95cc0229153deeaa3c09443a05ce48
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Nov 10 17:52:16 2017 +0100
+
+    Set background for tray icons in issue #188.
+
+ src/yxtray.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 28932d3c00fc39318f6d9994a3737deb20eb81c0
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Nov 9 20:40:25 2017 +0100
+
+    Slightly more accurate use of fSavedWinState in setWinStateHint reduces
+    superfluous property updates a bit more.
+
+ src/wmclient.cc | 20 ++++++++++++++------
+ 1 file changed, 14 insertions(+), 6 deletions(-)
+
+commit e9f6449071343ececa972fa10f15a3d9f358fdea
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Nov 9 20:39:45 2017 +0100
+
+    track 3 more properties.
+
+ src/testnetwmhints.cc | 46 ++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 44 insertions(+), 2 deletions(-)
+
+commit 7dd8ffc84520e64cac200e3f67c9784857c03666
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Nov 9 20:38:58 2017 +0100
+
+    TrayApps were not freed when restarting, causing ylist preconditions
+    to fail.
+    Replacing inline list with YObjectArray corrects that and gets rid of
+    list boilerplate.
+    Use of a smart private timer simplifies timer management.
+
+ src/atray.cc     | 62 +++++++++++-----------------------------------------
+ src/atray.h      | 24 +++++++++-----------
+ src/wmtaskbar.cc |  3 ---
+ 3 files changed, 23 insertions(+), 66 deletions(-)
+
+commit 089c97b6e3ceaf25178b9e0146b626fb25ad0057
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Nov 8 20:21:15 2017 +0100
+
+    also track WM_STATE details.
+
+ src/testnetwmhints.cc | 39 ++++++++++++++++++++++++++++-----------
+ 1 file changed, 28 insertions(+), 11 deletions(-)
+
+commit 6c606c2715896f0a394b44624c1b1940ddf29bab
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Nov 8 20:18:57 2017 +0100
+
+    Keep track of WM_STATE and WIN_STATE property values and only update
+    them when they have changed.
+
+ src/wmclient.cc | 62 +++++++++++++++++++++++++++++------------------------
+ src/wmclient.h  |  4 ++++
+ 2 files changed, 38 insertions(+), 28 deletions(-)
+
+commit 5e11ec32eccb2a861ec6a0a87f89d693d348e36c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Nov 8 20:17:28 2017 +0100
+
+    Keep track of frame extents and only update if changed.
+
+ src/wmframe.cc | 33 +++++++++++++++++----------------
+ 1 file changed, 17 insertions(+), 16 deletions(-)
+
+commit 0a083eff60235d2d02fa338634d115be23a5e75a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Nov 8 20:16:25 2017 +0100
+
+    flags and style can be unsigned.
+
+ src/ywindow.cc |  2 +-
+ src/ywindow.h  | 20 ++++++++++----------
+ 2 files changed, 11 insertions(+), 11 deletions(-)
+
+commit e8f1c4e4f8bf5e2c968d9f23248b952a69197b27
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Nov 8 20:15:39 2017 +0100
+
+    perf _NET_CLIENT_LIST is done: only update on stacking changes.
+
+ src/wmmgr.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 64006db0d3efc1762672d675811281fcc90472d2
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Nov 8 20:15:13 2017 +0100
+
+    corrections for _PING.
+
+ src/wmmgr.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit d4c506d76b1486c05da96a5668099fc11a0d85a3
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Nov 7 04:36:57 2017 +0100
+
+    support _NET_WM_PING.
+
+ COMPLIANCE            |   2 +-
+ TODO                  |   2 +-
+ src/testnetwmhints.cc | 105 ++++++++++++++++++++++++------------
+ src/wmapp.cc          |   2 +-
+ src/wmclient.cc       | 134 +++++++++++++++++++++++++++++++++++++++-------
+ src/wmclient.h        |  24 +++++++--
+ src/wmframe.cc        |   6 +++
+ src/wmmgr.cc          |   8 +++
+ src/wmmgr.h           |   2 +-
+ src/yxapp.cc          |  14 +++--
+ 10 files changed, 234 insertions(+), 65 deletions(-)
+
+commit 1e612cd62fb1356e8b4ba6751a35987a8f1eee87
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Nov 5 22:26:20 2017 +0100
+
+    Use YList class to keep track of sibling windows.
+
+ src/ylist.h    | 26 ++++++++++++++++++++++
+ src/ywindow.cc | 63 +++++++++++++++++++-----------------------------------
+ src/ywindow.h  |  8 +++----
+ 3 files changed, 51 insertions(+), 46 deletions(-)
+
+commit 75b3e4f6b0dcf05bc9a8386d71b54e8c6956a5f3
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Nov 5 22:25:14 2017 +0100
+
+    test _NET_DESKTOP_LAYOUT.
+
+ src/testnetwmhints.cc | 248 ++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 198 insertions(+), 50 deletions(-)
+
+commit eb4c8273c68db47505f46c4561332114f2944398
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Nov 5 22:24:29 2017 +0100
+
+    add support for _NET_DESKTOP_LAYOUT.
+
+ COMPLIANCE   |   4 +-
+ TODO         |   6 +-
+ src/wmapp.cc |   2 +-
+ src/wmmgr.cc | 223 ++++++++++++++++++++++++++++++++++++++++---------------
+ src/wmmgr.h  |  25 ++++++-
+ 5 files changed, 193 insertions(+), 67 deletions(-)
+
+commit cdafa217bf6b9c88f7579a3c3b43c084d1e3aec8
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Nov 5 22:20:56 2017 +0100
+
+    shrink, swap.
+
+ src/yarray.cc | 20 ++++++++++++++++++++
+ src/yarray.h  | 25 +++++++++++++++++++++++++
+ 2 files changed, 45 insertions(+)
+
+commit 7f111bb82842fcc9cedfd483c60f20aee317f3b5
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Nov 5 22:19:42 2017 +0100
+
+    free about dialog labels.
+
+ src/wmabout.cc | 34 ++++++++++++++++++++--------------
+ src/wmabout.h  |  1 +
+ 2 files changed, 21 insertions(+), 14 deletions(-)
+
+commit d4cdd683eb6a936ef67b7da875a157feeada368b
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Nov 5 15:10:55 2017 +0100
+
+    Checking all EDID descriptor blocks for name
+
+    Also sanitizing the ascii therein more carefully.
+
+ contrib/icewm-menu-xrandr | 15 +++++++--------
+ 1 file changed, 7 insertions(+), 8 deletions(-)
+
+commit 963bb98cf5a58a3c9ccb734da2ca1b621496522e
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Nov 4 13:00:09 2017 +0100
+
+    Fix more exotic configurations
+
+    No applet build when taskbar is disabled
+
+ src/aapm.cc       | 2 ++
+ src/aclock.cc     | 3 ++-
+ src/acpustatus.cc | 4 +++-
+ src/amailbox.cc   | 3 +++
+ src/amemstatus.cc | 3 +++
+ src/apppstatus.cc | 4 +++-
+ src/atray.cc      | 2 ++
+ src/wmapp.cc      | 2 ++
+ src/wmframe.cc    | 6 ++++++
+ 9 files changed, 26 insertions(+), 3 deletions(-)
+commit 666945f85fa5f97557690371c40a881912be31f0
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Nov 4 12:47:15 2017 +0100
+
+    Fixing build on architectures without power applet OS code
+
+ src/apppstatus.h | 5 ++---
+ src/base.h       | 9 +++++++++
+ src/wmtaskbar.cc | 4 ++--
+ src/wmtaskbar.h  | 7 ++++++-
+ 4 files changed, 19 insertions(+), 6 deletions(-)
+commit 65646f3b7b1d56a6525e44ab9e29176d66312202
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Nov 4 11:52:38 2017 +0100
+
+    Fixing LITE build with CMake
+
+    Avoid getIcon call, turn off impossible combinations in configuration.
+
+ src/CMakeLists.txt | 6 +++++-
+ src/atray.cc       | 3 ++-
+ src/wmswitch.cc    | 5 ++++-
+ src/wmwinlist.cc   | 5 +++--
+ 4 files changed, 14 insertions(+), 5 deletions(-)
+
+commit 31557e95f67df6061f9e1260b822ca6c42a92485
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Nov 4 11:30:48 2017 +0100
+
+    Force legacy C++ standard for now
+
+ src/CMakeLists.txt | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 118677d7f090bbf0d8a81d7bda76842c3ac4f647
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Nov 4 08:47:22 2017 +0100
+
+    add options. -t runs tests on combinations of configure options.
+
+ rebuild.sh | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 53 insertions(+), 4 deletions(-)
+
+commit fdd1c7150080774bf4228e5860b0a5e9a5a83f77
+Author: Arif Budiman <arifpedia@gmail.com>
+Date:   Fri Nov 3 07:12:36 2017 +0000
+
+    Translated using Weblate (Indonesian)
+
+    Currently translated at 88.0% (281 of 319 strings)
+
+ po/id.po | 69 ++++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 34 insertions(+), 35 deletions(-)
+
+commit 7597af09d149f5567879fa5a7350372b5cdc0699
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Nov 2 23:12:18 2017 +0100
+
+    better fix for include is ymenu.h.
+
+ src/yxapp.cc | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit f9d54d83e4b2fc2c2d8147e26c2d9ec71d905388
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Nov 2 22:48:50 2017 +0100
+
+    also include ytimer.h.
+
+ src/yxapp.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit f2a7349b06b3dd5e04bd6e4ce5fa49d3c5c226e5
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Nov 2 22:45:02 2017 +0100
+
+    fix includes
+
+ src/apppstatus.h | 1 -
+ src/wmswitch.h   | 1 -
+ src/wmtaskbar.cc | 1 -
+ src/yxapp.cc     | 2 ++
+ 4 files changed, 2 insertions(+), 3 deletions(-)
+
+commit d384254d6ea6367182cf5bdf8f81d62fd7e6f234
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Nov 2 22:43:40 2017 +0100
+
+    fix call to dumpZorder for 2nd arg.
+
+ src/wmmgr.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ac4ad65f7d593aded3acebc5d13da9b418eca4ad
+Author: Ferdinand Galko <galko.ferdinand@gmail.com>
+Date:   Thu Nov 2 15:31:01 2017 +0000
+
+    Translated using Weblate (Slovak)
+
+    Currently translated at 86.2% (275 of 319 strings)
+
+ po/sk.po | 46 ++++++++++++++++++++++++++++++----------------
+ 1 file changed, 30 insertions(+), 16 deletions(-)
+
+commit 23060f9812eb05218ea3fcc15ecb72511c893a26
+Author: Alessio Adamo <alessio.adamo@gmail.com>
+Date:   Thu Nov 2 10:59:43 2017 +0000
+
+    Translated using Weblate (Italian)
+
+    Currently translated at 84.0% (268 of 319 strings)
+
+ po/it.po | 41 ++++++++++++++++++++---------------------
+ 1 file changed, 20 insertions(+), 21 deletions(-)
+
+commit 8dd7edc407ee39e3bcfa68dba22ef59f5aa59533
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Nov 2 10:12:37 2017 +0100
+
+    prevent illegal window layer.
+
+ src/wmclient.cc | 2 +-
+ src/wmmgr.cc    | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 8d8d827f579ce833ba10daabad0252649a4dba91
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Nov 2 05:54:25 2017 +0100
+
+    Move brittle inline frame list manipulations into robust dedicated
+    list class.
+
+ src/wmconfig.cc |   1 +
+ src/wmframe.cc  | 160 +++---------------------------------
+ src/wmframe.h   |  41 +++-------
+ src/wmmgr.cc    | 227 +++++++++++++++++++++++++++++-----------------------
+ src/wmmgr.h     |  54 ++++++-------
+ src/wmprog.cc   |   2 +-
+ src/wmswitch.cc |   8 +-
+ src/ylist.h     | 222 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 8 files changed, 402 insertions(+), 313 deletions(-)
+
+commit b008a4fe39bdd9347a94243f579eb263399c950f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Nov 1 22:02:53 2017 -0600
+
+    update po files
+
+ po/ar.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/be.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/bg.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/ca.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/cs.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/da.po     | 108 +++++++++++++++++++++++++++----------------------------
+ po/de.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/el.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/en.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/es.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/fi.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/fr.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/he.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/hr.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/hu.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/icewm.pot | 104 ++++++++++++++++++++++++++---------------------------
+ po/id.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/it.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/ja.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/ko.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/lt.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/lv.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/mk.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/nb.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/nl.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/no.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/pl.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/pt_BR.po  | 104 ++++++++++++++++++++++++++---------------------------
+ po/ro.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/ru.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/sk.po     | 108 +++++++++++++++++++++++++++----------------------------
+ po/sl.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/sv.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/tr.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/uk.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/vi.po     | 104 ++++++++++++++++++++++++++---------------------------
+ po/zh_CN.po  | 104 ++++++++++++++++++++++++++---------------------------
+ po/zh_TW.po  | 104 ++++++++++++++++++++++++++---------------------------
+ 38 files changed, 1980 insertions(+), 1980 deletions(-)
+
+commit 1e5eef55087639569c371d11ad0190a8111ded97
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Nov 1 22:00:56 2017 -0600
+
+    added script to AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
+
+    - when distributing a script or program that does not support
+      --help and --version options (or doen't support them properly,
+      such as printing to standard error instead of standard out),
+      they must be added to AM_INSTALLCHECK_STD_OPTIONS_EXEMPT to
+      pass the distcheck target.
+
+ Makefile.am | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 114a926549ee2b61b5b35929a13f26ebe7279778
+Author: Ferdinand Galko <galko.ferdinand@gmail.com>
+Date:   Wed Nov 1 17:28:31 2017 +0000
+
+    Translated using Weblate (Slovak)
+
+    Currently translated at 85.8% (274 of 319 strings)
+
+ po/sk.po | 88 ++++++++++++++++++++++++++++++++++++------------------------
+ 1 file changed, 53 insertions(+), 35 deletions(-)
+
+commit e944b7e2f2491ce25c292eca8ce45846f39ea806
+Author: Eduard Bloch <blade@debian.org>
+Date:   Wed Nov 1 10:51:21 2017 +0100
+
+    Use custom macro to access override keyword
+
+    Overriding override causes overriding errors in Xproto header.
+
+ src/apppstatus.h |  7 ++++---
+ src/base.h       |  7 ++++---
+ src/wmprog.cc    | 24 ++++++++++++------------
+ src/wmswitch.cc  |  8 ++++----
+ src/wmswitch.h   |  1 +
+ src/wmtaskbar.cc |  1 +
+ 6 files changed, 26 insertions(+), 22 deletions(-)
+
+commit 6cb15e5da4440c8b5f5f8efb2733249554107bda
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Oct 31 14:31:48 2017 +0100
+
+    Make sure the next inactive monitor becomes the next choice
+
+ contrib/icewm-menu-xrandr | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit c5f3fe156b39b1e9a674b1ea1cfc4dc28d91bc50
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Oct 31 14:22:00 2017 +0100
+
+    Fix merge error
+
+    Actually drop unused code.
+
+ src/wmswitch.cc | 63 -----------------------------------------------------
+ 1 file changed, 63 deletions(-)
+
+commit e68d5b84d4e242f5434c71e12b56308548fb586a
+Merge: 325b81c3 9555fba5
+Author: gijsbers <gijsbers@users.noreply.github.com>
+Date:   Tue Oct 31 13:18:34 2017 +0100
+
+    Merge pull request #194 from scootergrisen/patch-4
+
+    flæskesteg med svær
+
+commit 325b81c316aa7b4843e45f81bac60829ebee268d
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Oct 31 12:07:42 2017 +0100
+
+    Install xrandr menu provider
+
+ CMakeLists.txt | 2 +-
+ Makefile.am    | 3 ++-
+ lib/keys.in    | 2 ++
+ 3 files changed, 5 insertions(+), 2 deletions(-)
+
+commit 01275e6e13c6056669b3a3a0c53cb28007ed3c96
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Oct 31 11:03:23 2017 +0100
+
+    Monitor mode switch mostly working
+
+ src/wmmgr.cc    | 14 ++++----
+ src/wmprog.cc   | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++---
+ src/wmprog.h    | 22 ++++++++----
+ src/wmswitch.cc | 12 ++++---
+ src/wmswitch.h  |  2 ++
+ 5 files changed, 123 insertions(+), 23 deletions(-)
+
+commit c5b540aef98c73f7840e0effc6646d99aaff0c2b
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Oct 30 18:15:40 2017 +0100
+
+    Use indices instead of obscure void pointers
+
+    Revisited the abstraction of quickswitch window control.
+
+ src/base.h      |   6 ++
+ src/wmswitch.cc | 206 +++++++++++++++-------------------------------------
+ src/wmswitch.h  |  33 ++++++++-
+ 3 files changed, 92 insertions(+), 153 deletions(-)
+
+commit 34f6d3b3c0e3571c0fda08a41d659e57bdbe5b16
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Oct 14 15:01:07 2017 +0200
+
+    Improve sysfs parsing
+
+ contrib/icewm-menu-xrandr | 54 ++++++++++++++++++++++++++-----------------
+ 1 file changed, 33 insertions(+), 21 deletions(-)
+
+commit 370ca99fccefa255bfd474eba9d1ed693a6937a0
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Oct 14 11:21:12 2017 +0200
+
+    Store quickswitch style in the object
+
+ src/wmapp.cc    | 2 +-
+ src/wmswitch.cc | 8 +++++---
+ src/wmswitch.h  | 6 ++++--
+ 3 files changed, 10 insertions(+), 6 deletions(-)
+
+commit 924f196edf4b3ba6ca05154c336f8baca7f2f613
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Oct 8 13:29:51 2017 +0200
+
+    Added sample generator for some predefined xrandr configurations
+
+ contrib/icewm-menu-xrandr | 190 ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 190 insertions(+)
+
+commit 0a08273caa31108981879b81754798bad7a4cafc
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Oct 8 01:01:12 2017 +0200
+
+    Arch. rework, splitting model and controller in quickswitch
+
+    Preparing for better reusability of quickswitch.
+
+ src/wmswitch.cc | 559 +++++++++++++++++++++++++++++++---------------------
+ src/wmswitch.h  |  33 ++--
+ 2 files changed, 349 insertions(+), 243 deletions(-)
+
+commit 76d618f1d136060508ffe3aba08748bd55232417
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Oct 7 23:11:04 2017 +0200
+
+    Better rounding of battery capa percentage
+
+    Only for Linux; stops showing a black pixel line although charging
+    finished, because of rounding errors.
+
+ src/aapm.cc | 13 ++++++++++---
+ 1 file changed, 10 insertions(+), 3 deletions(-)
+
+commit e2908906c7fbd960c764306613d992790679c8c0
+Author: scootergrisen <scootergrisen@gmail.com>
+Date:   Tue Oct 31 08:35:40 2017 +0000
+
+    Translated using Weblate (Danish)
+
+    Currently translated at 100.0% (319 of 319 strings)
+
+ po/da.po | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+commit 9555fba560cadcd81ed2bfe5cb83e0fe07f4e182
+Author: scootergrisen <scootergrisen@gmail.com>
+Date:   Tue Oct 31 09:33:23 2017 +0100
+
+    Add name[da]
+
+ lib/icewm-session.desktop | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit ad57ad8a8c86fce2dc346fa29549642dba534ac2
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 30 15:49:36 2017 -0600
+
+    mark it supported here too
+
+ COMPLIANCE | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6123e49d63fa1dd2773f976790d67d79e8ac53a0
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 29 21:40:25 2017 +0100
+
+    add support for _NET_REQUEST_FRAME_EXTENTS.
+
+ TODO                  |   6 +-
+ src/testnetwmhints.cc | 650 +++++++++++++++++++++++++++++++---------------
+ src/wmapp.cc          |   2 +-
+ src/wmmgr.cc          |  56 ++++
+ src/wmmgr.h           |   2 +-
+ src/yxapp.cc          |   8 +-
+ 6 files changed, 506 insertions(+), 218 deletions(-)
+
+commit 0bb8ada5b9120b69c668fd4d85b9049318c9d9d0
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Oct 29 17:25:56 2017 +0100
+
+    Better amixer commands
+
+    Setting volume to zero for muting is nonsense - there is a specific
+    on/off state and a toggle command (this also illuminates the mute LED
+    where available).
+
+    PCM channel is not available with PA but Master should work everywhere.
+
+ lib/keys.in | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit 30158eb0296e5ae533ab228698d548ef53329190
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Oct 27 18:53:56 2017 -0600
+
+    restore version file
+
+ VERSION | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f3217de8328f40c9cd079ec26839338daefc67c1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Oct 27 18:51:40 2017 -0600
+
+    update po files
+
+ po/ar.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/be.po     | 148 +++++++++++++++++++++++++--------------------------
+ po/bg.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/ca.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/cs.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/da.po     | 150 ++++++++++++++++++++++++++--------------------------
+ po/de.po     | 148 +++++++++++++++++++++++++--------------------------
+ po/el.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/en.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/es.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/fi.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/fr.po     | 148 +++++++++++++++++++++++++--------------------------
+ po/he.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/hr.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/hu.po     | 158 +++++++++++++++++++++++++++----------------------------
+ po/icewm.pot | 146 +++++++++++++++++++++++++-------------------------
+ po/id.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/it.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/ja.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/ko.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/lt.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/lv.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/mk.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/nb.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/nl.po     | 148 +++++++++++++++++++++++++--------------------------
+ po/no.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/pl.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/pt_BR.po  | 146 +++++++++++++++++++++++++-------------------------
+ po/ro.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/ru.po     | 148 +++++++++++++++++++++++++--------------------------
+ po/sk.po     | 150 ++++++++++++++++++++++++++--------------------------
+ po/sl.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/sv.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/tr.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/uk.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/vi.po     | 146 +++++++++++++++++++++++++-------------------------
+ po/zh_CN.po  | 146 +++++++++++++++++++++++++-------------------------
+ po/zh_TW.po  | 146 +++++++++++++++++++++++++-------------------------
+ 38 files changed, 2789 insertions(+), 2789 deletions(-)
+
+commit 0be0b5d058d6eb3ae16074bddc735e816003d73c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Oct 25 23:00:24 2017 +0200
+
+    option -j#JOBS
+
+ dist.sh | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 353c0bd653dd19172507fb305582fec3eff78496
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Oct 25 20:18:13 2017 +0200
+
+    Only create titlebar buttons and resize pointer windows
+    when it is apparent that they are really required.
+    This prevents superfluous internal windows which were never used.
+    Move titlebar buttons from wmframe.cc to wmtitle.cc.
+    Improve sensitivity of resize handles at top side of title bar.
+    Only create MiniIcon when it is going to be needed.
+
+ src/decorate.cc    | 205 +++++-----------------------
+ src/movesize.cc    |  34 +++--
+ src/wmbutton.cc    |   2 +-
+ src/wmcontainer.cc |   4 +-
+ src/wmframe.cc     | 298 ++++++++++++++++------------------------
+ src/wmframe.h      |  65 ++++-----
+ src/wmtitle.cc     | 364 +++++++++++++++++++++++++++++++++++++++++++++----
+ src/wmtitle.h      |  27 +++-
+ 8 files changed, 558 insertions(+), 441 deletions(-)
+
+commit 992556ed4330d149ce8620846a5b32aa7228ec69
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Oct 25 20:17:17 2017 +0200
+
+    convert from YCursor to Cursor.
+
+ src/ycursor.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit d5241fd364c6493db5f94c49bb2de2f87f664e95
+Merge: 5b084bff 6fc15d9c
+Author: gijsbers <gijsbers@users.noreply.github.com>
+Date:   Wed Oct 25 00:12:35 2017 +0200
+
+    Merge pull request #191 from scootergrisen/patch-4
+
+    Update da.po
+
+commit 6fc15d9c34e7b05653deeee1111308e822024a5e
+Author: scootergrisen <scootergrisen@gmail.com>
+Date:   Tue Oct 24 20:54:17 2017 +0200
+
+    Update da.po
+
+ po/da.po | 78 ++++++++++++++++++++++++++++++++++++------------------------
+ 1 file changed, 47 insertions(+), 31 deletions(-)
+
+commit 5b084bffe32db80d99496a9ec9d398dabca86452
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 23 09:23:37 2017 -0600
+
+    move constants to header
+
+ src/yxembed.cc |  3 ---
+ src/yxembed.h  | 18 ++++++++++++++++++
+ src/yxtray.cc  | 18 ------------------
+ 3 files changed, 18 insertions(+), 21 deletions(-)
+
+commit f54f4fefa38338fb0e2479200abf0d29648496c7
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Oct 23 17:08:52 2017 +0200
+
+    add titles to taskbar for helpful "xwininfo -tree" output.
+
+ src/atray.cc     |  1 +
+ src/icetray.cc   |  1 +
+ src/wmtaskbar.cc | 22 ++++++++++++++++++++--
+ src/yxtray.cc    |  3 +++
+ 4 files changed, 25 insertions(+), 2 deletions(-)
+
+commit c02457ac02a5b7532ef52abf9a0bf900938758df
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 23 08:59:43 2017 -0600
+
+    address #180 and #188 by enhancing system tray
+
+    - IceWM system tray did not support any of the XEMBED protocol.
+      This commit makes it follow at least the necessary part of the
+      protocol (embedding life-cycle) so as to play nicer with toolkits.
+
+ src/yxembed.cc | 43 ++++++++++++++++++++++++++++++++++++++++-
+ src/yxembed.h  |  6 ++++++
+ src/yxtray.cc  | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/yxtray.h   |  1 +
+ 4 files changed, 105 insertions(+), 1 deletion(-)
+
+commit 976b3512c701627a25cebd830eddc0f4d84cccc8
+Merge: 82e13e5b 0921f39b
+Author: openSUSE Weblate <weblate-noreply@opensuse.org>
+Date:   Mon Oct 23 12:38:33 2017 +0000
+
+    Merge remote-tracking branch 'origin/icewm-1-4-BRANCH' into
+    icewm-1-4-BRANCH
+
+commit 82e13e5bc5a09315d28ee199f0cfa2047628ebb2
+Author: Ferdinand Galko <galko.ferdinand@gmail.com>
+Date:   Mon Oct 23 12:21:31 2017 +0000
+
+    Translated using Weblate (Slovak)
+
+    Currently translated at 84.3% (269 of 319 strings)
+
+ po/sk.po | 27 +++++++++++++--------------
+ 1 file changed, 13 insertions(+), 14 deletions(-)
+
+commit 0921f39bcb2975de425ebc7fa320185fec058b2f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 23 06:36:24 2017 -0600
+
+    remainder of fix for #190 - restore focus
+
+    - Uses the _NET_WM_STATE_FOCUSED state on a window to restore focused
+      window on restart.  This commit also does not hide minimized windows
+      on restart.
+
+ src/wmclient.cc | 12 ++++++++++--
+ src/wmframe.cc  |  5 +++++
+ 2 files changed, 15 insertions(+), 2 deletions(-)
+
+commit ec09ecefc76fdbe3c5b5f10d937e8203919509bf
+Merge: e735002c 7153ded9
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 23 05:59:15 2017 -0600
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit e735002cf1cdfd0abcb621b61d9925df3d63aef4
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 23 05:54:43 2017 -0600
+
+    correct occupy all workspaces for #190
+
+    - IceWM was using the old WIN_STATE_STICKY incorrectly.  A sticky
+      window is one that sticks to the virtual desktop, not a window
+      that appears on all workspaces.  To acheive that, the workspace
+      or desktop must be set to 0xFFFFFFFF.  This commit corrects the
+      behaviour of _WIN_WORKSPACE, _NET_WM_DESKTOP, _WIN_STATE flag
+      WIN_STATE_STICK, atom _NET_WM_STATE atom _NET_WM_STATE_STICKY.
+
+      This should correct that part of #190.  Because the state was
+      not being stored correctly, it was not being retrieved correctly
+      on restart either.
+
+ src/WinMgr.h        |  4 ++--
+ src/decorate.cc     |  4 ++--
+ src/icesh.cc        |  3 +--
+ src/testwinhints.cc |  2 +-
+ src/wmabout.cc      |  2 +-
+ src/wmclient.cc     | 37 +++++++++++++++++++++----------------
+ src/wmclient.h      |  7 ++++---
+ src/wmframe.cc      | 44 +++++++++++++++++---------------------------
+ src/wmframe.h       | 21 +++++++++++----------
+ src/wmmgr.cc        | 39 ++++++++++++++++-----------------------
+ src/wmmgr.h         |  2 +-
+ src/wmsession.cc    |  2 +-
+ src/wmswitch.cc     |  2 +-
+ src/wmtaskbar.cc    |  5 ++---
+ src/wmwinlist.cc    |  9 ++++-----
+ src/ymsgbox.cc      |  2 +-
+ 16 files changed, 86 insertions(+), 99 deletions(-)
+
+commit 7153ded9692d84c5075b3300d93c0acfa03bc688
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Oct 23 12:55:25 2017 +0200
+
+    prevent a SEGV crash in announceWorkArea when restarting from a nonzero
+    workspace.
+
+ src/wmmgr.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d202107940e985b62ee6ffe963e09c97e6d5d8a1
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Oct 23 07:09:34 2017 +0200
+
+    Set tooltips on taskbar collapse button.
+
+ src/wmtaskbar.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit c253afad397c7506e1ff59c6e143f8d9d3fedc7e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Oct 23 06:48:32 2017 +0200
+
+    add CONFIG_RENDER to print_configured.
+
+ src/wmapp.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 5294024d68f97e5ea1c173553071e64788c63b69
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 23 01:11:16 2017 +0000
+
+    check for xrender
+
+ configure.ac | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit b57737057241fdddef2f167a4e4c6c0f82f3f64b
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 23 00:52:18 2017 +0000
+
+    always query version of extensions
+
+ VERSION      |  2 +-
+ src/yxapp.cc | 32 +++++++++++++++++++++-----------
+ 2 files changed, 22 insertions(+), 12 deletions(-)
+
+commit 47f04bf63e22ac38d3f0e1ab41f21571dbd42639
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 23 00:45:21 2017 +0000
+
+    prepare for Xrender
+
+ src/yxapp.cc | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit 4f14e5d98edffbd7c9c4cc7626a8faf9b7c66770
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Oct 22 15:37:46 2017 -0600
+
+    should still set frame options on startup
+
+    - just don't mark the window minimized on startup based
+      on initial mapping behavior.
+
+ src/wmframe.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 602d3433a5d876f1756107315297874125337fa3
+Merge: 22f29da8 da9ec580
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Oct 22 15:30:44 2017 -0600
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit 22f29da8b42668ee117f5101af7e28d774842052
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Oct 22 15:27:57 2017 -0600
+
+    try to address #190
+
+    - Ice was always loading _WIN_STATE after _NET_WM_STATE, which is
+      incorrect.  It should only attempt to load _WIN_STATE if the
+      _NET_WM_STATE does not exist.
+
+    - Ice was always setting the iconic state of the window to that
+      requested for initial mapping.  This is not true when restarting
+      and so it is now only checked when not starting.
+
+ src/wmframe.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit da9ec580cc319265afcfc99e0ddee8be59ff3a60
+Merge: ac242fcc 9a8b92e4
+Author: openSUSE Weblate <weblate-noreply@opensuse.org>
+Date:   Sun Oct 22 15:05:51 2017 +0000
+
+    Merge remote-tracking branch 'origin/icewm-1-4-BRANCH' into
+    icewm-1-4-BRANCH
+
+commit ac242fcc1f4f99e45708d433ba12e12869daa829
+Author: Ferdinand Galko <galko.ferdinand@gmail.com>
+Date:   Sun Oct 22 12:52:38 2017 +0000
+
+    Translated using Weblate (Slovak)
+
+    Currently translated at 82.7% (264 of 319 strings)
+
+ po/sk.po | 48 ++++++++++++++++++++++++------------------------
+ 1 file changed, 24 insertions(+), 24 deletions(-)
+
+commit 9a8b92e4899edd7cd216efb5f5327f093018a187
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 22 15:32:58 2017 +0200
+
+    Only set tooltip text once, not twice.
+
+ src/ywindow.cc | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+commit 60332643714645569faccf0bc3decea22fb355cb
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 22 15:31:52 2017 +0200
+
+    Split class YToolTip into a timer and a window. Only create the window
+    when needed. This saves about 25% of windows created (depends on theme).
+
+ src/ytooltip.cc | 93 +++++++++++++++++++++++++++++++----------------------
+ src/ytooltip.h  | 36 ++++++++++++++++-----
+ 2 files changed, 82 insertions(+), 47 deletions(-)
+
+commit f81d328d1a5e00e2e0f18445cf58c4e2d0d7b373
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 22 15:31:29 2017 +0200
+
+    Two convenience functions for easier starting/disabling timers.
+
+ src/ytimer.cc | 21 +++++++++++++++++++++
+ src/ytimer.h  |  2 ++
+ 2 files changed, 23 insertions(+)
+
+commit d0cd99b6408ca82f04bee3865b2270ff7735117c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 22 15:30:56 2017 +0200
+
+    Change ToolTipDelay from 1000 to 500. (1000 is really tedious).
+
+ src/yprefs.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 132d763f03d4924506b27be994ae72104ce00b34
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 22 15:30:18 2017 +0200
+
+    Ignore stray closing form tags. Increase margins. Support WM protocols.
+
+ src/icehelp.cc | 43 ++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 40 insertions(+), 3 deletions(-)
+
+commit 420611d6a0043474e46b2d169d883de98653f70b
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Oct 22 04:02:26 2017 -0600
+
+    update po files again
+
+ po/nl.po    |  6 +++---
+ po/pt_BR.po | 22 +++++++++++-----------
+ 2 files changed, 14 insertions(+), 14 deletions(-)
+
+commit 47fca2fb9304a083348061eb01c0221333e8d34d
+Merge: 57b09488 db1aacbf
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Oct 22 03:59:35 2017 -0600
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit 57b094882e6cac2fc230267c73baacf9301f57e2
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Oct 22 03:57:40 2017 -0600
+
+    update po files
+
+ po/ar.po     | 38 +++++++++++++++++++-------------------
+ po/be.po     | 38 +++++++++++++++++++-------------------
+ po/bg.po     | 38 +++++++++++++++++++-------------------
+ po/ca.po     | 38 +++++++++++++++++++-------------------
+ po/cs.po     | 38 +++++++++++++++++++-------------------
+ po/da.po     | 38 +++++++++++++++++++-------------------
+ po/de.po     | 38 +++++++++++++++++++-------------------
+ po/el.po     | 38 +++++++++++++++++++-------------------
+ po/en.po     | 38 +++++++++++++++++++-------------------
+ po/es.po     | 38 +++++++++++++++++++-------------------
+ po/fi.po     | 38 +++++++++++++++++++-------------------
+ po/fr.po     | 38 +++++++++++++++++++-------------------
+ po/he.po     | 38 +++++++++++++++++++-------------------
+ po/hr.po     | 38 +++++++++++++++++++-------------------
+ po/hu.po     | 38 +++++++++++++++++++-------------------
+ po/icewm.pot | 38 +++++++++++++++++++-------------------
+ po/id.po     | 38 +++++++++++++++++++-------------------
+ po/it.po     | 38 +++++++++++++++++++-------------------
+ po/ja.po     | 38 +++++++++++++++++++-------------------
+ po/ko.po     | 38 +++++++++++++++++++-------------------
+ po/lt.po     | 38 +++++++++++++++++++-------------------
+ po/lv.po     | 38 +++++++++++++++++++-------------------
+ po/mk.po     | 38 +++++++++++++++++++-------------------
+ po/nb.po     | 38 +++++++++++++++++++-------------------
+ po/nl.po     | 38 +++++++++++++++++++-------------------
+ po/no.po     | 38 +++++++++++++++++++-------------------
+ po/pl.po     | 38 +++++++++++++++++++-------------------
+ po/pt_BR.po  | 38 +++++++++++++++++++-------------------
+ po/ro.po     | 38 +++++++++++++++++++-------------------
+ po/ru.po     | 38 +++++++++++++++++++-------------------
+ po/sk.po     | 38 +++++++++++++++++++-------------------
+ po/sl.po     | 38 +++++++++++++++++++-------------------
+ po/sv.po     | 38 +++++++++++++++++++-------------------
+ po/tr.po     | 38 +++++++++++++++++++-------------------
+ po/uk.po     | 38 +++++++++++++++++++-------------------
+ po/vi.po     | 38 +++++++++++++++++++-------------------
+ po/zh_CN.po  | 38 +++++++++++++++++++-------------------
+ po/zh_TW.po  | 38 +++++++++++++++++++-------------------
+ 38 files changed, 722 insertions(+), 722 deletions(-)
+
+commit 2c9d6d97416d6091371d94e799a1a45f8188729d
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Oct 22 03:54:47 2017 -0600
+
+    solve merge conflict better
+
+ src/yxtray.cc | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+commit a1b47bf8ede7cd478e719d25f9f015ddbdcdb453
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Oct 22 03:52:22 2017 -0600
+
+    resolve conflict
+
+ src/yxtray.cc | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 563d73f4c0c90a886675442650daaaff6608f9af
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Oct 22 03:49:42 2017 -0600
+
+    do not need this anymore
+
+ src/wmtaskbar.cc | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit f550ba4c7d6824fe72b23a963d4a7403bd95ed2b
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Oct 22 03:49:09 2017 -0600
+
+    update compliance
+
+ COMPLIANCE | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 63 insertions(+), 6 deletions(-)
+
+commit db1aacbfa63f234b50a7c9b5b0cb31f5df1cbf5f
+Author: Luiz Fernando Ranghetti <elchevive68@gmail.com>
+Date:   Thu Oct 19 16:34:28 2017 +0000
+
+    Translated using Weblate (Portuguese (Brazil))
+
+    Currently translated at 100.0% (319 of 319 strings)
+
+ po/pt_BR.po | 44 ++++++++++++++++++++++----------------------
+ 1 file changed, 22 insertions(+), 22 deletions(-)
+
+commit 563c8cbea1d3304981c6ebf09ad179b29b54dd9f
+Author: Luiz Fernando Ranghetti <elchevive68@gmail.com>
+Date:   Wed Oct 18 21:38:50 2017 +0000
+
+    Translated using Weblate (Portuguese (Brazil))
+
+    Currently translated at 100.0% (319 of 319 strings)
+
+ po/pt_BR.po | 33 ++++++++++++++++++++++++++++++++-
+ 1 file changed, 32 insertions(+), 1 deletion(-)
+
+commit 9639670fef8a2dae8d3ba00489cac6e9d4fd400b
+Author: Luiz Fernando Ranghetti <elchevive68@gmail.com>
+Date:   Wed Oct 18 21:38:50 2017 +0000
+
+    Translated using Weblate (Portuguese (Brazil))
+
+    Currently translated at 99.6% (318 of 319 strings)
+
+ po/pt_BR.po | 34 ++++++++++++++++------------------
+ 1 file changed, 16 insertions(+), 18 deletions(-)
+
+commit 3f6a27de6eb5f3f556c622e6f20cbba97344655f
+Author: Freek de Kruijf <freek@opensuse.org>
+Date:   Wed Oct 18 21:20:51 2017 +0000
+
+    Translated using Weblate (Dutch)
+
+    Currently translated at 84.3% (269 of 319 strings)
+
+ po/nl.po | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 6bf8cfa144f4575ce393ee767a80a3109c1bb7d0
+Merge: 3ff115fb 5e8a6bdf
+Author: openSUSE Weblate <weblate-noreply@opensuse.org>
+Date:   Wed Oct 18 21:18:46 2017 +0000
+
+    Merge remote-tracking branch 'origin/icewm-1-4-BRANCH' into
+    icewm-1-4-BRANCH
+
+commit 3ff115fbba415cfd725484c119fbed93fa3f6990
+Author: Freek de Kruijf <freek@opensuse.org>
+Date:   Wed Oct 18 21:18:00 2017 +0000
+
+    Translated using Weblate (Dutch)
+
+    Currently translated at 83.6% (267 of 319 strings)
+
+ po/nl.po | 43 ++++++++++++++++++++-----------------------
+ 1 file changed, 20 insertions(+), 23 deletions(-)
+
+commit 5e8a6bdf8a60d5906f02593734808b09f2bed2fa
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Oct 18 23:16:42 2017 +0200
+
+    It has no use to call setColormap when XColormapEvent is a
+    ColormapUninstalled, but it can lead to X errors.
+
+ src/wmclient.cc | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+commit 25ae2eb14948330bc1c2e3c1b865cd1b18bb4d7c
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Oct 18 03:44:53 2017 -0600
+
+    fix for dark vertical lines mentioned in #184
+
+ src/yxtray.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 078ff1979ce5ee2a8513b16ce2260c1b5bf40831
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Oct 18 03:35:08 2017 -0600
+
+    update po files
+
+ po/ar.po     | 14 +++++++-------
+ po/be.po     | 14 +++++++-------
+ po/bg.po     | 14 +++++++-------
+ po/ca.po     | 14 +++++++-------
+ po/cs.po     | 14 +++++++-------
+ po/da.po     | 14 +++++++-------
+ po/de.po     | 14 +++++++-------
+ po/el.po     | 14 +++++++-------
+ po/en.po     | 14 +++++++-------
+ po/es.po     | 14 +++++++-------
+ po/fi.po     | 14 +++++++-------
+ po/fr.po     | 14 +++++++-------
+ po/he.po     | 14 +++++++-------
+ po/hr.po     | 14 +++++++-------
+ po/hu.po     | 14 +++++++-------
+ po/icewm.pot | 14 +++++++-------
+ po/id.po     | 14 +++++++-------
+ po/it.po     | 14 +++++++-------
+ po/ja.po     | 14 +++++++-------
+ po/ko.po     | 14 +++++++-------
+ po/lt.po     | 14 +++++++-------
+ po/lv.po     | 14 +++++++-------
+ po/mk.po     | 14 +++++++-------
+ po/nb.po     | 14 +++++++-------
+ po/nl.po     | 14 +++++++-------
+ po/no.po     | 14 +++++++-------
+ po/pl.po     | 14 +++++++-------
+ po/pt_BR.po  | 14 +++++++-------
+ po/ro.po     | 14 +++++++-------
+ po/ru.po     | 14 +++++++-------
+ po/sk.po     | 14 +++++++-------
+ po/sl.po     | 14 +++++++-------
+ po/sv.po     | 14 +++++++-------
+ po/tr.po     | 14 +++++++-------
+ po/uk.po     | 14 +++++++-------
+ po/vi.po     | 14 +++++++-------
+ po/zh_CN.po  | 14 +++++++-------
+ po/zh_TW.po  | 14 +++++++-------
+ 38 files changed, 266 insertions(+), 266 deletions(-)
+
+commit d9916e35731af6906da5374019f30f343b4b90c7
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Oct 18 03:33:24 2017 -0600
+
+    fix ca.po again
+
+ po/ca.po | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 24de67d3f043c40e382ff83a2b247b5afa486980
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Oct 18 03:28:14 2017 -0600
+
+    corrections
+
+ po/ca.po | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit cf927a5af379a26eb63c934320ce89fb03672b71
+Merge: 5efc64d0 1255368f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Oct 18 03:10:31 2017 -0600
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit 5efc64d0fcc3359fee85f731e85d22a7f2ae3eab
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Oct 18 03:06:32 2017 -0600
+
+    metering to debug #184
+
+    From the looks of it a lot of pixmaps that are generated with the
+    root window depth are created and Icewm just expects frames to have
+    the same depth as the root window.
+
+    What will have to be done is to create a YFrameDecor window as a
+    child of YFrameWindow with a default visual and depth so that frame
+    decorations can be moved to that window.  It only needs to be placed
+    below all of the other children and things will display correctly.
+
+    This is non-trivial and requires creating a new class that takes over
+    all the graphics work of the actual frame.
+
+ src/decorate.cc   |  2 +-
+ src/icewmbg.cc    |  2 +-
+ src/wmbutton.cc   |  5 +++++
+ src/wmframe.cc    |  7 ++++++-
+ src/wmtitle.cc    |  2 +-
+ src/yimage.h      |  2 +-
+ src/yimage_gdk.cc |  7 ++++---
+ src/ypaint.cc     | 44 ++++++++++++++++++++++++++++++++++++++------
+ src/ypaint.h      | 13 +++++--------
+ src/ypixmap.cc    | 20 +++++++++++---------
+ src/ypixmap.h     |  7 +++++--
+ src/ywindow.cc    |  2 +-
+ 12 files changed, 79 insertions(+), 34 deletions(-)
+
+commit 1255368f70f07c2b390c430403e85030f845e546
+Author: Eduard Bloch <blade@debian.org>
+Date:   Wed Oct 18 06:52:55 2017 +0200
+
+    Argh, that API needs extra definitions on kFreeBSD as well
+
+ src/apppstatus.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0865edd60b0ce3503e4765f6733838743ba74d06
+Merge: 430b1654 6bd07a62
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 17 19:53:10 2017 -0600
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit 430b165470f2263240d2f3579cf44d8de1309376
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 17 19:52:27 2017 -0600
+
+    final fix for #184 reconfigure client too
+
+ src/yxtray.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 25deed71296c419d2f3adf1a777a11f910da8ef0
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 17 19:31:06 2017 -0600
+
+    this is workable but tray 2 pixels too high with bevel
+
+ src/yxtray.cc | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit b7dc944ab442854129edfb8929eadf76a99103e0
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 17 18:59:33 2017 -0600
+
+    remove unused code
+
+ src/yxtray.cc | 28 ----------------------------
+ 1 file changed, 28 deletions(-)
+
+commit 6bd07a62bf8007d4183be2eb9b73ac521aa4f8d2
+Merge: 7af0965b 8c5bca30
+Author: openSUSE Weblate <weblate-noreply@opensuse.org>
+Date:   Tue Oct 17 19:37:38 2017 +0000
+
+    Merge remote-tracking branch 'origin/icewm-1-4-BRANCH' into
+    icewm-1-4-BRANCH
+
+commit 7af0965b38ee38f4ad18eaa19778fa8d4ea6319e
+Author: Luiz Fernando Ranghetti <elchevive68@gmail.com>
+Date:   Tue Oct 17 19:36:38 2017 +0000
+
+    Translated using Weblate (Portuguese (Brazil))
+
+    Currently translated at 99.3% (317 of 319 strings)
+
+ po/pt_BR.po | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 8c5bca30b954dd2bf793ab8ae045d91f1ac82861
+Merge: 0ab485db dc7c525b
+Author: Stanislav Brabec <sbrabec@suse.com>
+Date:   Tue Oct 17 21:31:21 2017 +0200
+
+    Merge remote-tracking branch 'weblate/icewm-1-4-BRANCH' into
+    icewm-1-4-BRANCH
+
+commit dc7c525b51dac9f4c44b48188581015ef0436ce9
+Author: Luiz Fernando Ranghetti <elchevive68@gmail.com>
+Date:   Tue Oct 17 19:04:20 2017 +0000
+
+    Translated using Weblate (Portuguese (Brazil))
+
+    Currently translated at 99.0% (316 of 319 strings)
+
+ po/pt_BR.po | 201 ++++++++++++++++++++++++++++++++------------------------
+ 1 file changed, 116 insertions(+), 85 deletions(-)
+
+commit 88eb37696cc92a9269aac26f26ff888b21bffa8e
+Author: David Medina <medipas@gmail.com>
+Date:   Mon Oct 16 16:07:42 2017 +0000
+
+    Translated using Weblate (Catalan)
+
+    Currently translated at 100.0% (319 of 319 strings)
+
+ po/ca.po | 31 +++++++++++++------------------
+ 1 file changed, 13 insertions(+), 18 deletions(-)
+
+commit 0ab485dbfdf40e52894bb1b48d952682075041e6
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Oct 17 21:18:52 2017 +0200
+
+    Don't attempt to resize destroyed windows as this is needless
+    and only causes X errors.
+
+ src/wmmgr.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a585b3ad569b6e17324535b5b4c6615c953a8904
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Oct 17 21:14:40 2017 +0200
+
+    SaveSet only applies to adopted clients, not to icewm internal windows.
+    Only call XRemoveFromSaveSet and XAddToSaveSet if the frame is adopted.
+    This saves needless operations which only result in X errors.
+    When a window is destroyed then prevent it from being focused.
+    Check the return value of XGetWindowAttributes as this may fail
+    if window was destroyed.
+    Fix a swapped parameter order for XSelectInput.
+
+ src/wmframe.cc | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+commit 94de0a0f3884ea36f25a4995e11e64e88f971def
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Oct 17 21:12:52 2017 +0200
+
+    When an unmap event is due to a destroy and we have the DestroyNotify
+    then set the wfDestroyed flag. This will prevent some operations
+    which are invalid for destroyed windows and only cause X errors.
+
+ src/wmclient.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit fc146cc170eb2802fb40bdeb2f71526e6bef1d5b
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Oct 17 21:11:23 2017 +0200
+
+    Don't layout resize indicators when window is fullscreen, because then
+    window widths/heights will be zero, which causes X errors.
+
+ src/decorate.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit e601faa3bd74e5c4180cc9c33befd44b5aa37561
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Oct 17 21:10:41 2017 +0200
+
+    When printing X errors use tlog instead of warn so we get the time in ms.
+
+ src/wmapp.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d4d30066c39e4659c90d5b1fd7f46fb747401f17
+Author: David Medina <medipas@gmail.com>
+Date:   Mon Oct 16 15:57:29 2017 +0000
+
+    Translated using Weblate (Catalan)
+
+    Currently translated at 99.6% (318 of 319 strings)
+
+ po/ca.po | 174 ++++++++++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 120 insertions(+), 54 deletions(-)
+commit f7b3732c4005d94213a1935480ce3b74c3778543
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 16 10:06:32 2017 -0600
+
+    update po files
+
+ po/ar.po     |  52 ++++++++++-----------
+ po/be.po     |  52 ++++++++++-----------
+ po/bg.po     |  52 ++++++++++-----------
+ po/ca.po     |  56 +++++++++++-----------
+ po/cs.po     |  52 ++++++++++-----------
+ po/da.po     |  52 ++++++++++-----------
+ po/de.po     |  52 ++++++++++-----------
+ po/el.po     |  52 ++++++++++-----------
+ po/en.po     |  52 ++++++++++-----------
+ po/es.po     |  52 ++++++++++-----------
+ po/fi.po     |  52 ++++++++++-----------
+ po/fr.po     |  52 ++++++++++-----------
+ po/he.po     |  52 ++++++++++-----------
+ po/hr.po     |  52 ++++++++++-----------
+ po/hu.po     |  52 ++++++++++-----------
+ po/icewm.pot |  52 ++++++++++-----------
+ po/id.po     |  52 ++++++++++-----------
+ po/it.po     |  56 +++++++++++-----------
+ po/ja.po     | 138 +++++++++++++++++++++++++++++++++----------------------
+ po/ko.po     |  52 ++++++++++-----------
+ po/lt.po     |  52 ++++++++++-----------
+ po/lv.po     |  52 ++++++++++-----------
+ po/mk.po     |  52 ++++++++++-----------
+ po/nb.po     |  52 ++++++++++-----------
+ po/nl.po     |  52 ++++++++++-----------
+ po/no.po     |  52 ++++++++++-----------
+ po/pl.po     |  52 ++++++++++-----------
+ po/pt_BR.po  |  56 +++++++++++-----------
+ po/ro.po     |  52 ++++++++++-----------
+ po/ru.po     |  52 ++++++++++-----------
+ po/sk.po     |  52 ++++++++++-----------
+ po/sl.po     |  52 ++++++++++-----------
+ po/sv.po     |  52 ++++++++++-----------
+ po/tr.po     |  52 ++++++++++-----------
+ po/uk.po     |  52 ++++++++++-----------
+ po/vi.po     |  52 ++++++++++-----------
+ po/zh_CN.po  |  52 ++++++++++-----------
+ po/zh_TW.po  |  52 ++++++++++-----------
+ 38 files changed, 1051 insertions(+), 1023 deletions(-)
+
+commit 09cfe43b982fb67c4dfd3b0d16879ab5ea9390b9
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 16 07:52:44 2017 -0600
+
+    do not know why this works but it does
+
+ src/wmtaskbar.cc | 3 +++
+ src/yxtray.cc    | 5 ++---
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+commit 103716c2274a954a08b3f5ab3c6681ac489cb4fc
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 16 07:01:10 2017 -0600
+
+    Revert "do not need this function anymore"
+
+    This reverts commit 9598300f5d8a1e9206d389fc18dc396346e1845b.
+
+    Yes we do.
+
+ src/icetray.cc | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 3c5533ac66903165b9061175fb43c9ea45898c8c
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 16 05:10:12 2017 -0600
+
+    address #160 .png is nicer than .svg
+
+ src/yicon.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 460bd0042624716d7c0c697490945aa0d3bde976
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 16 05:05:36 2017 -0600
+
+    address #149 new focus and order .svg .png .xpm
+
+ lib/Makefile.am           |   2 ++
+ lib/icons/focus_16x16.png | Bin 0 -> 691 bytes
+ lib/icons/focus_32x32.png | Bin 0 -> 1475 bytes
+ src/yicon.cc              |   2 +-
+ 4 files changed, 3 insertions(+), 1 deletion(-)
+
+commit 9598300f5d8a1e9206d389fc18dc396346e1845b
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 16 04:24:23 2017 -0600
+
+    do not need this function anymore
+
+ src/icetray.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 5262fcbadc09068b95e4b846823866a839c2f619
+Merge: b136512c 34e1510d
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 16 04:05:17 2017 -0600
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit b136512c2a13907c40182d40d1e9d7ba08663819
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 16 04:02:46 2017 -0600
+
+    fix for #72 make windows transparent down to taskbar
+
+    - now if the taskbar has a gradient, it appears under systray icons
+
+ src/icetray.cc |  1 +
+ src/ywindow.cc |  5 +++++
+ src/ywindow.h  |  2 ++
+ src/yxembed.cc |  2 ++
+ src/yxtray.cc  | 18 +++++++++++++++---
+ 5 files changed, 25 insertions(+), 3 deletions(-)
+
+commit 34e1510d1c8a04b9f399c4642b4e1345d207a6c3
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Oct 16 12:00:35 2017 +0200
+
+    Fix documentation of NIC detection pattern
+
+    Fixes #182
+
+ doc/icewm.adoc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 57b2083cd31dd4bab64132d194f142692ceb6f47
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 16 00:46:41 2017 -0600
+
+    Revert "raise input windows"
+
+    This reverts commit b00a371e5ed5244d18c785bebd68e128f72c11ad.
+
+    Doesn't really work to raise these windows: they raise over titlebar
+    buttons.  Also, if they are over the client, bad things happen in the
+    corners.
+
+ src/decorate.cc | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+commit 302189bddb7c64c76a97ad8ee2406bf744e9a6a9
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 16 00:44:23 2017 -0600
+
+    allocate non-default colormaps for frames
+
+ src/wmframe.cc |  4 ++--
+ src/wmframe.h  |  2 +-
+ src/wmmgr.cc   |  3 +--
+ src/ywindow.cc | 14 +++++++++-----
+ src/ywindow.h  |  5 ++---
+ 5 files changed, 15 insertions(+), 13 deletions(-)
+
+commit 04795a62394f676df93028611767c5d4a83f4c6a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Oct 15 23:48:31 2017 -0600
+
+    Revert "prefer CopyFromParent if possible."
+
+    This reverts commit 6aab9f63976a35121c546383ff4e422530d02db1.
+
+ src/ywindow.cc | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+commit a0f801dbba41c896d78e7868b29db2b436738413
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Oct 15 23:34:11 2017 -0600
+
+    remove debugs
+
+ src/wmframe.cc | 8 --------
+ 1 file changed, 8 deletions(-)
+
+commit b00a371e5ed5244d18c785bebd68e128f72c11ad
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Oct 15 23:33:35 2017 -0600
+
+    raise input windows
+
+ src/decorate.cc | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit 4c45dc9255d97f1ded87edaf15117a64e00d9dab
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Oct 15 23:25:23 2017 -0600
+
+    create windows under parent before reparenting
+
+    - general problem was that windows were being reparented
+      before being created.  They must be created before being
+      reparented for CopyFromParent to be determinate.
+
+ src/wmbutton.cc   | 2 --
+ src/wmminiicon.cc | 2 --
+ src/wmtitle.cc    | 2 --
+ src/ywindow.cc    | 2 ++
+ 4 files changed, 2 insertions(+), 6 deletions(-)
+
+commit 71da4befc876a1e4e15e1a58ba964568a642f9e4
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Oct 15 23:19:22 2017 -0600
+
+    create decorations top-level and reparent after creation
+
+     - problem with deferred creation is that the parent can
+       change between creation of the YWindow object and the
+       later call to create (reparent() method does not
+       create the window before reparenting it).
+
+     - nevertheless, this commit creates decorations as a
+       child of "desktop" and then reparents them under the
+       intended parent (the frame).  Thus they wind up with
+       a default depth, visual and colormap instead of that
+       of the frame which can be 32.
+
+ src/wmbutton.cc   | 5 ++++-
+ src/wmminiicon.cc | 5 ++++-
+ src/wmtitle.cc    | 5 ++++-
+ 3 files changed, 12 insertions(+), 3 deletions(-)
+
+commit f38234d10b5fd9466b7ada4d078a4e3b314463a4
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Oct 15 22:50:33 2017 -0600
+
+    Revert "Better initialization of YDesktop window."
+
+    This reverts commit a361ee856953853ef428a5d1d8fe5b7f75be3857.
+
+ src/ywindow.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0f6e75fdbe43e47495ccb1a6c70b420c1bec5661
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Oct 15 22:24:00 2017 -0600
+
+    create inputOnly windows with correct parameters
+
+ src/wmframe.cc | 35 +++++++++++++++++------------------
+ 1 file changed, 17 insertions(+), 18 deletions(-)
+
+commit ef33bc55a5ff38a50c85e32c9d6ccdd87f7713ef
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Oct 15 20:31:13 2017 -0600
+
+    always report X errors
+
+ src/wmapp.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a361ee856953853ef428a5d1d8fe5b7f75be3857
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 15 17:59:02 2017 +0200
+
+    Better initialization of YDesktop window.
+
+ src/ywindow.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6aab9f63976a35121c546383ff4e422530d02db1
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 15 17:07:30 2017 +0200
+
+    prefer CopyFromParent if possible.
+
+ src/ywindow.cc | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit d8546f2d53259857cd064a339d327cf3d6802239
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 15 16:28:17 2017 +0200
+
+    prevent disturbing flashing on miniicons
+
+ src/wmminiicon.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ef69ff639c510b5bdd2b42ab9344a0d1cdc983a8
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 15 15:55:51 2017 +0200
+
+    use CopyFromParent by default as this prevents disturbing flashing on
+    frame borders when switching focus.
+
+ src/wmframe.h |  2 +-
+ src/wmmgr.cc  | 11 +++++++----
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+commit 92a4d4bd3473e63ff2176c95e374ab7688fce918
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 15 14:12:20 2017 +0200
+
+    Prevent disturbing flashing when switching focus.
+
+ src/wmtitle.cc | 2 +-
+ src/ybutton.cc | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit b5cb3779b0457884b6c56fe8fe884d202ccf357b
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Oct 15 13:11:58 2017 +0200
+
+    Fix list handling in audio library CFLAGS
+
+ src/CMakeLists.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+commit 8cdf7311f57bead9caf03b5883b50da683d7082d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 15 11:05:47 2017 +0200
+
+    should have class
+
+ doc/icewm.adoc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7bac495dd1eded28703cf2c7899af82261008d88
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 15 10:56:34 2017 +0200
+
+    workspaces Shift + left button click
+
+ doc/icewm.1.adoc | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 9caab519510becf9e4be5efb49c4100111eb008a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Oct 13 05:18:30 2017 -0600
+
+    make sure installed colormaps are correct
+
+    - when making the client container and frame a depth of 32 with an
+      ARGB visual, the colormaps must match the visual.  This corrects
+      that.  There are still some BadDrawables, so the WM must be attempting
+      to use a depth 24 GC on a depth 32 window (i.e. drawing on either
+      the client container or the frame or both).  Next commit will
+      address that.
+
+ src/wmframe.cc    | 49 +++++++++++++++++++++++++++++++------------------
+ src/wmframe.h     |  2 +-
+ src/wmmgr.cc      |  6 ++++--
+ src/wmminiicon.cc |  3 ++-
+ src/wmtitle.cc    |  2 +-
+ src/ybutton.cc    |  2 +-
+ src/ywindow.cc    | 21 ++++++++++++++++++---
+ src/ywindow.h     |  6 +++++-
+ 8 files changed, 63 insertions(+), 28 deletions(-)
+
+commit 3820eb78755e3a0dd0260f9ba9c73147a74c1bfa
+Merge: 4ea99428 cef22c38
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Oct 12 23:00:47 2017 -0600
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit 4ea99428b5d61ed21b0776c616722c30d26e8721
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Oct 12 22:52:23 2017 -0600
+
+    make frame inherit ARGB visual from client (#130)
+
+    - Some (if not all) compositors only use the visual of top-level
+      windows when compositing.  This causes problems when the frame
+      of a reparented client has an RGB visual and the client has an
+      ARGB visual.  When creating a frame as a parent of the root
+      window, it will always get an RGB visual (the root window
+      cannot be transparent as there is nothing behind it so the
+      root (and default) visual is an RGB visual (depth == 24)).
+      Therefore, when the client has an ARGB visual (depth == 32),
+      we remember that depth and visual and use it when creating
+      the frame window.
+
+    - This could be a fix for #130.
+
+ src/wmframe.cc | 4 ++--
+ src/wmframe.h  | 2 +-
+ src/wmmgr.cc   | 7 ++++++-
+ src/ywindow.cc | 7 ++++---
+ src/ywindow.h  | 5 ++++-
+ 5 files changed, 17 insertions(+), 8 deletions(-)
+
+commit cef22c38ab41a26e09f807e538fe673be6e6706b
+Merge: d6bfa510 94b7555b
+Author: openSUSE Weblate <weblate-noreply@opensuse.org>
+Date:   Fri Oct 13 02:37:43 2017 +0000
+
+    Merge remote-tracking branch 'origin/icewm-1-4-BRANCH' into
+    icewm-1-4-BRANCH
+
+commit d6bfa510933a7ef4979e3ee981991b4fddd66782
+Author: Luiz Fernando Ranghetti <elchevive68@gmail.com>
+Date:   Thu Oct 12 18:25:31 2017 +0000
+
+    Translated using Weblate (Portuguese (Brazil))
+
+    Currently translated at 88.7% (283 of 319 strings)
+
+ po/pt_BR.po | 81 +++++++++++++++++++++++++++------------------------------
+ 1 file changed, 39 insertions(+), 42 deletions(-)
+
+commit ce75833039e074b6ab96bf66e096c3148ca9c776
+Author: David Medina <medipas@gmail.com>
+Date:   Wed Oct 11 17:02:05 2017 +0000
+
+    Translated using Weblate (Catalan)
+
+    Currently translated at 97.4% (311 of 319 strings)
+
+ po/ca.po | 43 ++++++++++++++++++++-----------------------
+ 1 file changed, 20 insertions(+), 23 deletions(-)
+
+commit 94b7555b4869386f5cf54ae15ace70b024084609
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Oct 12 20:20:29 2017 -0600
+
+    support _NET_WM_WINDOW_OPACITY (fix for #130 ?)
+
+    - Compositors look for the property _NET_WM_WINDOW_OPACITY on
+      top-level windows only.  Client set _NET_WM_WINDOW_OPACITY on
+      on their top-level windows (override redirect or not).
+      Reparenting window managers (such as IceWM) need to propagate
+      changes in the _NET_WM_WINDOW_OPACITY property to the frame
+      so that compositors will see it.
+
+      The same might also true for the _NET_WM_WINDOW_TYPE which
+      clients also should set on override redirect windows as well as
+      managed top-level windows.  Two other properties that might have
+      to be propagated to the frame are: _NET_WM_OPAQUE_REGION and
+      _NET_WM_BYPASS_COMPOSITOR.
+
+      To really fix #130, it may be necessary to ensure that the root
+      window and frame uses an ARGB visual when available instead of
+      the default, which is usually an RGB visual.
+
+ COMPLIANCE      |  2 +-
+ src/wmapp.cc    |  2 +-
+ src/wmclient.cc | 34 ++++++++++++++++++++++++++++++++++
+ src/wmclient.h  |  2 ++
+ src/wmframe.cc  | 11 +++++++++++
+ src/wmframe.h   |  1 +
+ src/wmmgr.h     |  2 +-
+ 7 files changed, 51 insertions(+), 3 deletions(-)
+
+commit b87a88c90d0642390771240138e122779ace1cab
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Oct 11 02:27:14 2017 -0600
+
+    rename notifyFocus() to notifyActive()
+
+    - function changes _NET_ACTIVE_WINDOW which is notification
+      that the active window changed not the focussed window
+
+ src/wmmgr.cc | 4 ++--
+ src/wmmgr.h  | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit ae57e64c2f441c86c0e2c5073a2b5af3173b8e54
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Oct 11 01:24:24 2017 -0600
+
+    do not update _NET_ACTIVE_WINDOW when unnecessary
+
+    - IceWM calls notifyFocus() even when the active client
+      has not changed.  This can be very often and changing
+      _NET_ACTIVE_WINDOW to the same value still raises a
+      property notification each time.  This change simply
+      checks if the new value to set is the same as the last
+      value that was set and does not update otherwise.
+
+    - Note that the same is true of updateClientList() and
+      _NET_CLIENT_LIST and _NET_CLIENT_LIST_STACKING.  These
+      really need to check whether anything has changed
+      before updating these root window properties with the
+      same list as before and very frequently, causing any
+      other progrm interested in the list to reload and
+      analyze the entire list again on each update.
+
+ src/wmmgr.cc | 17 ++++++++++-------
+ src/wmmgr.h  |  1 +
+ 2 files changed, 11 insertions(+), 7 deletions(-)
+
+commit a35b86a71dffd3427453b900d1df618007097f85
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Oct 11 01:21:09 2017 -0600
+
+    a little purer ICCMS 2.0 getInputFocusHint behaviour
+
+ src/wmframe.cc |  9 ---------
+ src/wmmgr.cc   | 10 ++++------
+ 2 files changed, 4 insertions(+), 15 deletions(-)
+
+commit 72e281302979986b52da1210c1c6ff543409bb4b
+Author: Yasuhiko Kamata <belphegor@belbel.or.jp>
+Date:   Wed Oct 11 02:11:20 2017 +0000
+
+    Translated using Weblate (Japanese)
+
+    Currently translated at 100.0% (319 of 319 strings)
+
+ po/ca.po | 111 +++++++++----------
+ po/it.po |  18 +--
+ po/ja.po | 353 ++++++++++++++++++++++++++++++++---------------------------
+ 3 files changed, 257 insertions(+), 225 deletions(-)
+
+commit 6c2b2d14f047b101c7193b200e6e2a4734cef722
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 23:47:52 2017 -0600
+
+    document perl requirement
+
+ README.md.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit ea67114cba02789d2eb207dd91461b7e9de3157d
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 23:36:25 2017 -0600
+
+    update po files
+
+ po/ar.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/be.po     | 138 +++++++++++++++++++++++++++++------------------
+ po/bg.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/ca.po     | 138 +++++++++++++++++++++++++++++------------------
+ po/cs.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/da.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/de.po     | 161 +++++++++++++++++++++++++++++--------------------------
+ po/el.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/en.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/es.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/fi.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/fr.po     | 138 +++++++++++++++++++++++++++++------------------
+ po/he.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/hr.po     | 138 +++++++++++++++++++++++++++++------------------
+ po/hu.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/icewm.pot | 134 ++++++++++++++++++++++++++++-----------------
+ po/id.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/it.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/ja.po     | 138 +++++++++++++++++++++++++++++------------------
+ po/ko.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/lt.po     | 138 +++++++++++++++++++++++++++++------------------
+ po/lv.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/mk.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/nb.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/nl.po     | 138 +++++++++++++++++++++++++++++------------------
+ po/no.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/pl.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/pt_BR.po  | 134 ++++++++++++++++++++++++++++-----------------
+ po/ro.po     | 138 +++++++++++++++++++++++++++++------------------
+ po/ru.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/sk.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/sl.po     | 138 +++++++++++++++++++++++++++++------------------
+ po/sv.po     | 138 +++++++++++++++++++++++++++++------------------
+ po/tr.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/uk.po     | 138 +++++++++++++++++++++++++++++------------------
+ po/vi.po     | 134 ++++++++++++++++++++++++++++-----------------
+ po/zh_CN.po  | 134 ++++++++++++++++++++++++++++-----------------
+ po/zh_TW.po  | 134 ++++++++++++++++++++++++++++-----------------
+ 38 files changed, 3241 insertions(+), 1922 deletions(-)
+
+commit 2709fe934fd5765608ec991ad08e16a2a1ade7cf
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 23:31:16 2017 -0600
+
+    add missing source files to po/POTFILES.in
+
+ po/POTFILES.in | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 5b947cfff09e3780b8df5b3d442510c61d527dee
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 23:22:36 2017 -0600
+
+    remove removed file
+
+ po/POTFILES.in | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 1cc09042025768d573dabff492e580af28bf0515
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 23:16:59 2017 -0600
+
+    update TODO
+
+ TODO | 26 +++++++++++++++++++++++++-
+ 1 file changed, 25 insertions(+), 1 deletion(-)
+
+commit 29c67752bef90cf261b03a0d4d2b3e860c24419b
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 23:08:21 2017 -0600
+
+    update COMPLIANCE
+
+ COMPLIANCE | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit b4c7a2bbbbc0b4dbe17b9cec08bbd5f828e8036e
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 21:21:47 2017 -0600
+
+    just activate window regardless of focus
+
+ src/wmcontainer.cc | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit f31dd152f6254e8bd72a673c051cbb6455feb554
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 21:10:44 2017 -0600
+
+    more wat was intended here
+
+ src/wmcontainer.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 74689f564c49d3a39cc99589e337f1b8e42add72
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 20:49:54 2017 -0600
+
+    missing qualify on constant
+
+ src/wmmgr.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 63a4cb8765fccb0c3d64a61090677dc949a92a39
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 20:47:40 2017 -0600
+
+    getInputFocusHint() is never true when client takes focus
+
+ src/wmframe.cc | 15 +++++++--------
+ 1 file changed, 7 insertions(+), 8 deletions(-)
+
+commit a33f78d42a4f831dd280f33758e94365ef4b8fc9
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 20:44:57 2017 -0600
+
+    simplify and document setFocus() behaviour
+
+ src/wmmgr.cc | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+commit 933c61f36bd51a459f553ac866ad8d2a73db2e90
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 20:24:52 2017 -0600
+
+    document getInputFocusHint behaviour in code
+
+ src/wmframe.cc | 19 ++++++++++++-------
+ 1 file changed, 12 insertions(+), 7 deletions(-)
+
+commit 406709455f744d5f5f1fa8f467e5276bf2fe4a37
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 20:15:21 2017 -0600
+
+    Revert "Revert erroneous commit d3b00cc4ed07f4f55695b9b91b20e0e9b08d9cf7
+    "JDK7 focus fix" as this makes IceWM focus behavior non-conformant. See
+    issue #23."
+
+    This reverts commit dad0795135a24c24ee49e733011eabbfcd474c0b.
+
+ src/wmframe.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 67e61e0d05e1afe9b882d3caf859c025bd70e08e
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 20:14:28 2017 -0600
+
+    Revert "fix getInputFocusHint"
+
+    This reverts commit 7ffddee7a0f08cee554b3b9ae3521f5e85cf9e44.
+
+ src/wmframe.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 4b3ce9ddf95353f33a881bfe04ba00aeee91c8fa
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 20:05:39 2017 -0600
+
+    remove unused code
+
+ src/wmmgr.cc | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+commit 37ffbbf8bd5bb1a1b9c230c46b8dc866a7930a21
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 20:03:02 2017 -0600
+
+    remove unnecessary java7 hack
+
+ src/default.h |  2 --
+ src/wmmgr.cc  | 33 +++------------------------------
+ 2 files changed, 3 insertions(+), 32 deletions(-)
+
+commit 753d0cca794747dab569ede1ece66d3bc18cd59b
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 19:58:17 2017 -0600
+
+    don't set focus if sent WM_TAKE_FOCUS (ICCCM 2.0)
+
+ src/wmmgr.cc | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit 893eb31a85e40f4a34ab4a1bd1e20b37bcd8bbc4
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 19:56:13 2017 -0600
+
+    more vim swap files to ignore
+
+ .gitignore | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 268a29a7eaaa52c09223e3417c67592667139f1b
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 19:48:56 2017 -0600
+
+    remove unnecessary check for frame
+
+ src/wmcontainer.cc | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+commit ec11ac5a1a4da8ffc877ed43e2b4b359e6c9b6d9
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 16:33:07 2017 -0600
+
+    Revert "Taskbar never needs focus and should never get focus"
+
+    This reverts commit fa0f5a30f089b3e967cf8d1c8803fa11492d6ae9.
+
+ src/wmtaskbar.cc | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+commit 8c257c51854d6da6227243b095f992e81a2c74d7
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 16:32:56 2017 -0600
+
+    Revert "no need to activate the taskbar."
+
+    This reverts commit e368aba4be508991b0f8406e6c9f9d9b4dc43446.
+
+ src/wmtaskbar.cc | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+commit 335d41764e9d2656f5a2f045758241e634ef927b
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 16:28:06 2017 -0600
+
+    Revert "avoid RevertToNone when setting focus. use RevertToPointerRoot."
+
+    This reverts commit 635bc8c1bc7e689d390f54b60bad7e0a24717ec5.
+
+ src/wmmgr.cc   | 13 +++++++------
+ src/ywindow.cc |  2 +-
+ src/yxapp.cc   |  8 --------
+ src/yxapp.h    |  2 --
+ 4 files changed, 8 insertions(+), 17 deletions(-)
+
+commit 7ffddee7a0f08cee554b3b9ae3521f5e85cf9e44
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Oct 9 16:26:46 2017 -0600
+
+    fix getInputFocusHint
+
+ src/wmframe.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit ce94e59fc45def23de402cd8b438c36b098f4a2e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Oct 9 22:47:31 2017 +0200
+
+    Turn predefined actions into an enumerated type.
+    This allows to switch-case on them and saves a little space.
+
+ src/CMakeLists.txt |  2 +-
+ src/Makefile.am    |  3 --
+ src/decorate.cc    |  2 +-
+ src/objbutton.h    |  4 +-
+ src/testmenus.cc   |  2 +-
+ src/themes.cc      |  2 +-
+ src/wmaction.cc    | 60 ------------------------------
+ src/wmaction.h     | 99 ++++++++++++++++++++++++++------------------------
+ src/wmbutton.cc    | 20 +++++-----
+ src/wmbutton.h     |  4 +-
+ src/wmframe.cc     |  4 +-
+ src/wmwinlist.cc   |  8 ++--
+ src/yaction.h      | 17 ++++++---
+ src/ybutton.cc     |  2 +-
+ src/ymenu.cc       | 32 ++++++++--------
+ src/ymenuitem.cc   |  6 +--
+ 16 files changed, 107 insertions(+), 160 deletions(-)
+
+commit 635bc8c1bc7e689d390f54b60bad7e0a24717ec5
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Oct 9 21:24:05 2017 +0200
+
+    avoid RevertToNone when setting focus. use RevertToPointerRoot.
+
+ src/wmmgr.cc   | 13 ++++++-------
+ src/ywindow.cc |  2 +-
+ src/yxapp.cc   |  8 ++++++++
+ src/yxapp.h    |  2 ++
+ 4 files changed, 17 insertions(+), 8 deletions(-)
+
+commit e368aba4be508991b0f8406e6c9f9d9b4dc43446
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Oct 9 21:06:07 2017 +0200
+
+    no need to activate the taskbar.
+
+ src/wmtaskbar.cc | 16 +---------------
+ 1 file changed, 1 insertion(+), 15 deletions(-)
+
+commit 1ce5acf42f94652d3d6d943cf9d3b405a4f943f6
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Oct 9 21:05:28 2017 +0200
+
+    remove 2 unused actions.
+
+ src/wmaction.cc | 2 --
+ src/wmaction.h  | 5 -----
+ 2 files changed, 7 deletions(-)
+
+commit 4948e468fd6f688e14be4fb29a06f36f9d01cf67
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Oct 9 01:47:01 2017 +0200
+
+    Inheritance from YAction is not needed.
+
+ src/objmenu.h       | 2 +-
+ src/wmprog.cc       | 3 +--
+ src/wmwinmenu.cc    | 5 ++---
+ src/yactionbutton.h | 7 ++++---
+ src/ybutton.h       | 1 +
+ 5 files changed, 9 insertions(+), 9 deletions(-)
+
+commit fa0f5a30f089b3e967cf8d1c8803fa11492d6ae9
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 8 06:28:08 2017 +0200
+
+    Taskbar never needs focus and should never get focus
+    as focus must reside with applications. See issue #23.
+
+ src/wmtaskbar.cc | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit 9afc0fcdf9500340ca356090b5a0249ca4f1699a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 8 06:25:34 2017 +0200
+
+    Correction for seconds interval not being milliseconds.
+
+ src/wmmgr.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit dad0795135a24c24ee49e733011eabbfcd474c0b
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 8 06:20:00 2017 +0200
+
+    Revert erroneous commit d3b00cc4ed07f4f55695b9b91b20e0e9b08d9cf7 "JDK7
+    focus fix" as this makes IceWM focus behavior non-conformant. See
+    issue #23.
+
+ src/wmframe.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 83b94fcc0af6639bf337804752fd9c806761d95a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 8 02:06:20 2017 +0200
+
+    Replace pointer based *YAction with value based YAction.
+
+ src/aworkspaces.cc  |   7 +-
+ src/aworkspaces.h   |   2 +-
+ src/decorate.cc     |   2 +-
+ src/icehelp.cc      |   3 +-
+ src/icelist.cc      |  15 ++--
+ src/icesame.cc      |   9 +-
+ src/iceview.cc      |  10 +--
+ src/objbar.cc       |   2 +-
+ src/objbutton.h     |   8 +-
+ src/objmenu.h       |   4 +-
+ src/testmenus.cc    |   6 +-
+ src/themes.cc       |   2 +-
+ src/wmaction.cc     | 216 +++++++++++-------------------------------------
+ src/wmaction.h      |  98 +++++++++++-----------
+ src/wmapp.cc        |   5 +-
+ src/wmapp.h         |   2 +-
+ src/wmbutton.cc     |  35 ++++----
+ src/wmbutton.h      |  10 +--
+ src/wmclient.h      |   2 +-
+ src/wmconfig.cc     |   8 +-
+ src/wmdialog.cc     |  20 ++---
+ src/wmdialog.h      |   2 +-
+ src/wmframe.cc      |   6 +-
+ src/wmframe.h       |   2 +-
+ src/wmmgr.cc        |  23 +-----
+ src/wmmgr.h         |   8 +-
+ src/wmprog.cc       |   7 +-
+ src/wmtaskbar.cc    |   2 +-
+ src/wmtaskbar.h     |   2 +-
+ src/wmwinlist.cc    |  10 +--
+ src/wmwinlist.h     |   2 +-
+ src/wmwinmenu.cc    |   7 +-
+ src/yaction.h       |  28 ++++++-
+ src/yactionbutton.h |   7 +-
+ src/ybutton.cc      |   8 +-
+ src/ybutton.h       |  11 ++-
+ src/yinput.cc       |  14 +---
+ src/yinputline.h    |   2 +-
+ src/ymenu.cc        |  49 +++++------
+ src/ymenu.h         |  16 ++--
+ src/ymenuitem.cc    |   8 +-
+ src/ymenuitem.h     |  11 ++-
+ src/ymsgbox.cc      |   7 +-
+ src/ymsgbox.h       |   2 +-
+ 44 files changed, 283 insertions(+), 417 deletions(-)
+
+commit c288a445819e3fc5c3e2eab9a96307564e2e2b9b
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 8 02:02:06 2017 +0200
+
+    remove superfluous includes
+
+ src/ydialog.cc | 8 --------
+ 1 file changed, 8 deletions(-)
+
+commit 419fda791ff1c64229613398af43c05c94b71075
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 8 01:56:31 2017 +0200
+
+    make it compile.
+
+ src/strtest.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 71652dd23acdda09734d46794ddffe31e6f70baa
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 8 01:56:01 2017 +0200
+
+    make it compile
+
+ src/iceskt.cc | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+commit 8ecd7bd05a0047a071bc9e2694817750c3161acd
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 8 01:55:16 2017 +0200
+
+    make it compile.
+
+ src/iceclock.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit fd81cafe3b14cc0d4bd87aaea1679d39724364c8
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 8 01:54:43 2017 +0200
+
+    link Xlib.
+
+ src/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c93bf5112ddebbc6ff4fa15e24419d3d07fab38d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 8 01:54:10 2017 +0200
+
+    Increase sprintf buffer size.
+
+ src/testlocale.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit dcadbb3d3e1acfcbc4d599f297333e91105dc510
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Oct 7 17:10:58 2017 +0200
+
+    Revert "Stop misusing dynamic allocator as enumeration manager"
+
+    This reverts commit 60584512f323e8f152c58e88e8f1885616610792.
+
+ src/aworkspaces.cc  |  11 +--
+ src/aworkspaces.h   |   2 +-
+ src/icehelp.cc      |  39 ++++++-----
+ src/icelist.cc      |  10 +--
+ src/icesame.cc      |   4 +-
+ src/iceview.cc      |   6 +-
+ src/misc.cc         |   2 -
+ src/objbar.cc       |   2 +-
+ src/objbutton.h     |   4 +-
+ src/objmenu.h       |   4 +-
+ src/testmenus.cc    |   2 +-
+ src/wmaction.cc     | 180 ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/wmaction.h      | 105 ++++++++++++++--------------
+ src/wmapp.cc        |   8 ++-
+ src/wmapp.h         |   2 +-
+ src/wmbutton.cc     |   8 +--
+ src/wmbutton.h      |  10 +--
+ src/wmclient.h      |   2 +-
+ src/wmconfig.cc     |  13 ++--
+ src/wmdialog.cc     |  20 +++---
+ src/wmdialog.h      |   2 +-
+ src/wmframe.cc      |   2 +-
+ src/wmframe.h       |   2 +-
+ src/wmmgr.cc        |  30 +++++---
+ src/wmmgr.h         |   8 +--
+ src/wmprog.cc       |   6 +-
+ src/wmtaskbar.cc    |   2 +-
+ src/wmtaskbar.h     |   2 +-
+ src/wmwinlist.cc    |   2 +-
+ src/wmwinlist.h     |   2 +-
+ src/wmwinmenu.cc    |   6 +-
+ src/yaction.h       |   8 +--
+ src/yactionbutton.h |   4 +-
+ src/ybutton.cc      |   6 +-
+ src/ybutton.h       |  10 +--
+ src/yinput.cc       |  24 ++++---
+ src/yinputline.h    |   2 +-
+ src/ymenu.cc        |  16 ++---
+ src/ymenu.h         |  18 ++---
+ src/ymenuitem.cc    |   6 +-
+ src/ymenuitem.h     |  10 +--
+ src/ymsgbox.cc      |   6 +-
+ src/ymsgbox.h       |   2 +-
+ 43 files changed, 410 insertions(+), 200 deletions(-)
+
+commit bc5ca9d97c1861985952817cf9de991ac9376ad2
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Oct 7 17:07:45 2017 +0200
+
+    Revert "Give static/acquired action IDs odd values"
+
+    This reverts commit 1e4bf101c41118a93250a591ede0b83d63979e68.
+
+ src/misc.cc     |  6 +---
+ src/wmaction.h  | 99 ++++++++++++++++++++++++++---------------------------
+ src/wmconfig.cc |  4 +--
+ src/wmmgr.cc    |  6 ++--
+ src/yaction.h   |  2 +-
+ src/yinput.cc   | 10 +++---
+ 6 files changed, 61 insertions(+), 66 deletions(-)
+
+commit fe519d763e6021fb458dc59c4d0453b9f71de128
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Oct 7 17:07:30 2017 +0200
+
+    Revert "Make the initial generated value really odd"
+
+    This reverts commit 29e6a209c8d1aa7595c14c9357ebd80117a469c1.
+
+ src/misc.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit cc17c6fda8510de70f7a57bbd1f04782aa2cedd6
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Oct 7 17:07:21 2017 +0200
+
+    Revert "Document action id assignment rules"
+
+    This reverts commit 1a72e63ddc89feb97338cd7007a8d561eee4ae34.
+
+ src/icehelp.cc |  3 +--
+ src/misc.cc    |  2 +-
+ src/wmaction.h | 18 +-----------------
+ src/yaction.h  | 10 +---------
+ src/yinput.cc  | 15 ++++++---------
+ 5 files changed, 10 insertions(+), 38 deletions(-)
+
+commit 26396010f3afacdcf79d8e852e6d90e695f272ed
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Oct 7 17:07:07 2017 +0200
+
+    Revert "Modify typedef name, tActionId to TActionId"
+
+    This reverts commit 48ad1e0a136de129e41ff76108d8dfb802f8ee78.
+
+ src/aworkspaces.cc  |  4 ++--
+ src/aworkspaces.h   |  2 +-
+ src/icehelp.cc      | 36 ++++++++++++++++++------------------
+ src/icelist.cc      | 10 +++++-----
+ src/icesame.cc      |  4 ++--
+ src/iceview.cc      |  6 +++---
+ src/objbar.cc       |  2 +-
+ src/objbutton.h     |  4 ++--
+ src/objmenu.h       |  2 +-
+ src/testmenus.cc    |  2 +-
+ src/wmapp.cc        |  2 +-
+ src/wmapp.h         |  2 +-
+ src/wmbutton.cc     |  8 ++++----
+ src/wmbutton.h      | 10 +++++-----
+ src/wmclient.h      |  2 +-
+ src/wmconfig.cc     |  4 ++--
+ src/wmdialog.cc     | 20 ++++++++++----------
+ src/wmdialog.h      |  2 +-
+ src/wmframe.cc      |  2 +-
+ src/wmframe.h       |  2 +-
+ src/wmmgr.cc        |  4 ++--
+ src/wmmgr.h         |  8 ++++----
+ src/wmprog.cc       |  6 +++---
+ src/wmtaskbar.cc    |  2 +-
+ src/wmtaskbar.h     |  2 +-
+ src/wmwinlist.cc    |  2 +-
+ src/wmwinlist.h     |  2 +-
+ src/wmwinmenu.cc    |  4 ++--
+ src/yaction.h       |  8 ++++----
+ src/yactionbutton.h |  2 +-
+ src/ybutton.cc      |  6 +++---
+ src/ybutton.h       |  8 ++++----
+ src/yinput.cc       |  2 +-
+ src/yinputline.h    |  2 +-
+ src/ymenu.cc        | 16 ++++++++--------
+ src/ymenu.h         | 16 ++++++++--------
+ src/ymenuitem.cc    |  4 ++--
+ src/ymenuitem.h     |  8 ++++----
+ src/ymsgbox.cc      |  6 +++---
+ src/ymsgbox.h       |  2 +-
+ 40 files changed, 118 insertions(+), 118 deletions(-)
+
+commit ca18c24e9bb58d4593242ed2ff72d196b170620e
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Oct 7 17:06:55 2017 +0200
+
+    Revert "Reduce the need of some TActionId casts"
+
+    This reverts commit 982cc6cf2fcd677b33e8983a7c2a558e984ca1f1.
+
+ src/aworkspaces.cc |  2 +-
+ src/icehelp.cc     | 12 ++++++------
+ src/icelist.cc     |  8 ++++----
+ src/wmdialog.cc    | 19 +++++++++----------
+ 4 files changed, 20 insertions(+), 21 deletions(-)
+
+commit a48f0607b96839a53461a59c2399dcef2098858c
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Oct 7 17:06:46 2017 +0200
+
+    Revert "Change some occurences of YAction references"
+
+    This reverts commit 1e9ec22ab04e20f50c5cde2616c792840a288a4b.
+
+ src/icesame.cc   | 8 ++++----
+ src/iceview.cc   | 8 ++++----
+ src/testmenus.cc | 2 +-
+ 3 files changed, 9 insertions(+), 9 deletions(-)
+
+commit 51645e1603bee9989e85d968be75d4459289ea0c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Oct 7 11:32:24 2017 +0200
+
+    reuse memory in setMwmHints.
+
+ src/wmclient.cc | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+commit 2f6e4a8fcfbdf38792799eea8063fc1671175955
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Oct 7 11:30:27 2017 +0200
+
+    Prefer private themes over system ones. Als have checked theme menu
+    items if a theme alternative is used (non-default.theme). Expand tabs.
+
+ src/themes.cc | 63 ++++++++++++++++++++++++++++++++-----------------------
+ 1 file changed, 37 insertions(+), 26 deletions(-)
+
+commit 1e9ec22ab04e20f50c5cde2616c792840a288a4b
+Author: Eduard Bloch <blade@debian.org>
+Date:   Wed Oct 4 19:40:08 2017 +0200
+
+    Change some occurences of YAction references
+
+    ... those used in the unofficial demo apps of the "icewm toolkit"
+
+ src/icesame.cc   | 8 ++++----
+ src/iceview.cc   | 8 ++++----
+ src/testmenus.cc | 2 +-
+ 3 files changed, 9 insertions(+), 9 deletions(-)
+
+commit 982cc6cf2fcd677b33e8983a7c2a558e984ca1f1
+Author: Eduard Bloch <blade@debian.org>
+Date:   Wed Oct 4 19:38:13 2017 +0200
+
+    Reduce the need of some TActionId casts
+
+ src/aworkspaces.cc |  2 +-
+ src/icehelp.cc     | 12 ++++++------
+ src/icelist.cc     |  8 ++++----
+ src/wmdialog.cc    | 19 ++++++++++---------
+ 4 files changed, 21 insertions(+), 20 deletions(-)
+
+commit 48ad1e0a136de129e41ff76108d8dfb802f8ee78
+Author: Eduard Bloch <blade@debian.org>
+Date:   Wed Oct 4 19:27:16 2017 +0200
+
+    Modify typedef name, tActionId to TActionId
+
+ src/aworkspaces.cc  |  4 ++--
+ src/aworkspaces.h   |  2 +-
+ src/icehelp.cc      | 36 ++++++++++++++++++------------------
+ src/icelist.cc      | 10 +++++-----
+ src/icesame.cc      |  4 ++--
+ src/iceview.cc      |  6 +++---
+ src/objbar.cc       |  2 +-
+ src/objbutton.h     |  4 ++--
+ src/objmenu.h       |  2 +-
+ src/testmenus.cc    |  2 +-
+ src/wmapp.cc        |  2 +-
+ src/wmapp.h         |  2 +-
+ src/wmbutton.cc     |  8 ++++----
+ src/wmbutton.h      | 10 +++++-----
+ src/wmclient.h      |  2 +-
+ src/wmconfig.cc     |  4 ++--
+ src/wmdialog.cc     | 20 ++++++++++----------
+ src/wmdialog.h      |  2 +-
+ src/wmframe.cc      |  2 +-
+ src/wmframe.h       |  2 +-
+ src/wmmgr.cc        |  4 ++--
+ src/wmmgr.h         |  8 ++++----
+ src/wmprog.cc       |  6 +++---
+ src/wmtaskbar.cc    |  2 +-
+ src/wmtaskbar.h     |  2 +-
+ src/wmwinlist.cc    |  2 +-
+ src/wmwinlist.h     |  2 +-
+ src/wmwinmenu.cc    |  4 ++--
+ src/yaction.h       |  8 ++++----
+ src/yactionbutton.h |  2 +-
+ src/ybutton.cc      |  6 +++---
+ src/ybutton.h       |  8 ++++----
+ src/yinput.cc       |  2 +-
+ src/yinputline.h    |  2 +-
+ src/ymenu.cc        | 16 ++++++++--------
+ src/ymenu.h         | 16 ++++++++--------
+ src/ymenuitem.cc    |  4 ++--
+ src/ymenuitem.h     |  8 ++++----
+ src/ymsgbox.cc      |  6 +++---
+ src/ymsgbox.h       |  2 +-
+ 40 files changed, 118 insertions(+), 118 deletions(-)
+
+commit 1a72e63ddc89feb97338cd7007a8d561eee4ae34
+Author: Eduard Bloch <blade@debian.org>
+Date:   Wed Oct 4 18:53:35 2017 +0200
+
+    Document action id assignment rules
+
+    Also set some static values in yinput.cc to give the compiler better
+    chance to optimize code.
+
+ src/icehelp.cc |  3 ++-
+ src/misc.cc    |  2 +-
+ src/wmaction.h | 18 +++++++++++++++++-
+ src/yaction.h  | 10 +++++++++-
+ src/yinput.cc  | 15 +++++++++------
+ 5 files changed, 38 insertions(+), 10 deletions(-)
+
+commit 29e6a209c8d1aa7595c14c9357ebd80117a469c1
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Oct 3 23:44:04 2017 +0200
+
+    Make the initial generated value really odd
+
+ src/misc.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 62bfadd59078cfb3f9b9c191099209268e727b98
+Merge: 452c47fe 1e4bf101
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 3 15:31:02 2017 -0600
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit 452c47fe1b296d038280d6735a3e9ff8680d9b9d
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 3 15:30:48 2017 -0600
+
+    remove gnits for development builds
+
+ autogen.sh | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 1e4bf101c41118a93250a591ede0b83d63979e68
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Oct 3 23:13:07 2017 +0200
+
+    Give static/acquired action IDs odd values
+
+    There is a (far-fetched) possibility of head/stack clash. To avoid any
+    conflicts with pointer-based IDs, make sure the predefined or
+    dynamically assigned action ID numbers are odd.
+
+ src/misc.cc     |  6 +++-
+ src/wmaction.h  | 99 +++++++++++++++++++++++++++--------------------------
+ src/wmconfig.cc |  4 +--
+ src/wmmgr.cc    |  6 ++--
+ src/yaction.h   |  2 +-
+ src/yinput.cc   | 10 +++---
+ 6 files changed, 66 insertions(+), 61 deletions(-)
+
+commit c876a6ed7f5bd529b0639e865cbcf7089e968464
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 3 15:21:49 2017 -0600
+
+    move to gnits autoconf compliance
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6ed41ce4ecb3b3810c2cfe784d1b60fb13131c41
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 3 15:21:16 2017 -0600
+
+    update po files
+
+ po/ar.po     | 254 ++++++++++++++++++++++++++--------------------
+ po/be.po     | 255 ++++++++++++++++++++++++++--------------------
+ po/bg.po     | 254 ++++++++++++++++++++++++++--------------------
+ po/ca.po     | 256 ++++++++++++++++++++++++++--------------------
+ po/cs.po     | 256 ++++++++++++++++++++++++++--------------------
+ po/da.po     | 301 ++++++++++++++++++++++++++++++++-----------------------
+ po/de.po     | 254 ++++++++++++++++++++++++++--------------------
+ po/el.po     | 256 ++++++++++++++++++++++++++--------------------
+ po/en.po     | 239 ++++++++++++++++++++++++-------------------
+ po/es.po     | 256 ++++++++++++++++++++++++++--------------------
+ po/fi.po     | 256 ++++++++++++++++++++++++++--------------------
+ po/fr.po     | 254 ++++++++++++++++++++++++++--------------------
+ po/he.po     | 252 +++++++++++++++++++++++++++-------------------
+ po/hr.po     | 239 ++++++++++++++++++++++++-------------------
+ po/hu.po     | 255 ++++++++++++++++++++++++++--------------------
+ po/icewm.pot | 241 +++++++++++++++++++++++++-------------------
+ po/id.po     | 256 ++++++++++++++++++++++++++--------------------
+ po/it.po     | 256 ++++++++++++++++++++++++++--------------------
+ po/ja.po     | 254 ++++++++++++++++++++++++++--------------------
+ po/ko.po     | 254 ++++++++++++++++++++++++++--------------------
+ po/lt.po     | 254 ++++++++++++++++++++++++++--------------------
+ po/lv.po     | 254 ++++++++++++++++++++++++++--------------------
+ po/mk.po     | 256 ++++++++++++++++++++++++++--------------------
+ po/nb.po     | 254 ++++++++++++++++++++++++++--------------------
+ po/nl.po     | 254 ++++++++++++++++++++++++++--------------------
+ po/no.po     | 254 ++++++++++++++++++++++++++--------------------
+ po/pl.po     | 254 ++++++++++++++++++++++++++--------------------
+ po/pt_BR.po  | 256 ++++++++++++++++++++++++++--------------------
+ po/ro.po     | 255 ++++++++++++++++++++++++++--------------------
+ po/ru.po     | 254 ++++++++++++++++++++++++++--------------------
+ po/sk.po     | 255 ++++++++++++++++++++++++++--------------------
+ po/sl.po     | 254 ++++++++++++++++++++++++++--------------------
+ po/sv.po     | 255 ++++++++++++++++++++++++++--------------------
+ po/tr.po     | 256 ++++++++++++++++++++++++++--------------------
+ po/uk.po     | 254 ++++++++++++++++++++++++++--------------------
+ po/vi.po     | 256 ++++++++++++++++++++++++++--------------------
+ po/zh_CN.po  | 254 ++++++++++++++++++++++++++--------------------
+ po/zh_TW.po  | 254 ++++++++++++++++++++++++++--------------------
+ 38 files changed, 5632 insertions(+), 4049 deletions(-)
+
+commit 84d786335829d22c74352e8f76a58806b1ab73e0
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 3 15:17:21 2017 -0600
+
+    add missing source files to automake
+
+ src/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 52a77fc54e9e03719b241b09e24e99fbf3331d93
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 3 15:02:18 2017 -0600
+
+    typo in vim makers
+
+ src/MwmUtil.h         | 2 +-
+ src/WinMgr.h          | 2 +-
+ src/aaddressbar.cc    | 2 +-
+ src/aaddressbar.h     | 2 +-
+ src/aapm.cc           | 2 +-
+ src/aapm.h            | 2 +-
+ src/aclock.cc         | 2 +-
+ src/aclock.h          | 2 +-
+ src/acpustatus.cc     | 2 +-
+ src/acpustatus.h      | 2 +-
+ src/amailbox.cc       | 2 +-
+ src/amailbox.h        | 2 +-
+ src/amemstatus.cc     | 2 +-
+ src/amemstatus.h      | 2 +-
+ src/appnames.h        | 2 +-
+ src/apppstatus.cc     | 2 +-
+ src/apppstatus.h      | 2 +-
+ src/argument.h        | 2 +-
+ src/ascii.h           | 2 +-
+ src/atasks.cc         | 2 +-
+ src/atasks.h          | 2 +-
+ src/atray.cc          | 2 +-
+ src/atray.h           | 2 +-
+ src/aworkspaces.cc    | 2 +-
+ src/aworkspaces.h     | 2 +-
+ src/base.h            | 2 +-
+ src/binascii.h        | 2 +-
+ src/bindkey.h         | 2 +-
+ src/browse.cc         | 2 +-
+ src/browse.h          | 2 +-
+ src/debug.h           | 2 +-
+ src/decorate.cc       | 2 +-
+ src/default.h         | 2 +-
+ src/fdomenu.cc        | 2 +-
+ src/genpref.cc        | 2 +-
+ src/globit.cc         | 2 +-
+ src/globit.h          | 2 +-
+ src/gnome.cc          | 2 +-
+ src/gnome2.cc         | 2 +-
+ src/guievent.h        | 2 +-
+ src/iceclock.cc       | 2 +-
+ src/icehelp.cc        | 2 +-
+ src/iceicon.cc        | 2 +-
+ src/icelist.cc        | 2 +-
+ src/icerun.cc         | 2 +-
+ src/icesame.cc        | 2 +-
+ src/icesh.cc          | 2 +-
+ src/iceskt.cc         | 2 +-
+ src/icesm.cc          | 2 +-
+ src/icesound.cc       | 2 +-
+ src/icetray.cc        | 2 +-
+ src/iceview.cc        | 2 +-
+ src/icewmbg.cc        | 2 +-
+ src/icewmbg_prefs.h   | 2 +-
+ src/icewmhint.cc      | 2 +-
+ src/intl.h            | 2 +-
+ src/misc.cc           | 2 +-
+ src/movesize.cc       | 2 +-
+ src/mstring.cc        | 2 +-
+ src/mstring.h         | 2 +-
+ src/obj.h             | 2 +-
+ src/objbar.cc         | 2 +-
+ src/objbar.h          | 2 +-
+ src/objbutton.h       | 2 +-
+ src/objmenu.h         | 2 +-
+ src/prefs.h           | 2 +-
+ src/ref.cc            | 2 +-
+ src/ref.h             | 2 +-
+ src/strtest.cc        | 2 +-
+ src/sysdep.h          | 2 +-
+ src/testarray.cc      | 2 +-
+ src/testlocale.cc     | 2 +-
+ src/testmap.cc        | 2 +-
+ src/testmenus.cc      | 2 +-
+ src/testnetwmhints.cc | 2 +-
+ src/testwinhints.cc   | 2 +-
+ src/themable.h        | 2 +-
+ src/themes.cc         | 2 +-
+ src/themes.h          | 2 +-
+ src/udir.cc           | 2 +-
+ src/udir.h            | 2 +-
+ src/upath.cc          | 2 +-
+ src/upath.h           | 2 +-
+ src/wmabout.cc        | 2 +-
+ src/wmabout.h         | 2 +-
+ src/wmaction.cc       | 2 +-
+ src/wmaction.h        | 2 +-
+ src/wmapp.cc          | 2 +-
+ src/wmapp.h           | 2 +-
+ src/wmbutton.cc       | 2 +-
+ src/wmbutton.h        | 2 +-
+ src/wmclient.cc       | 2 +-
+ src/wmclient.h        | 2 +-
+ src/wmconfig.cc       | 2 +-
+ src/wmconfig.h        | 2 +-
+ src/wmcontainer.cc    | 2 +-
+ src/wmcontainer.h     | 2 +-
+ src/wmdialog.cc       | 2 +-
+ src/wmdialog.h        | 2 +-
+ src/wmframe.cc        | 2 +-
+ src/wmframe.h         | 2 +-
+ src/wmmgr.cc          | 2 +-
+ src/wmmgr.h           | 2 +-
+ src/wmminiicon.cc     | 2 +-
+ src/wmminiicon.h      | 2 +-
+ src/wmoption.cc       | 2 +-
+ src/wmoption.h        | 2 +-
+ src/wmprog.cc         | 2 +-
+ src/wmprog.h          | 2 +-
+ src/wmsession.cc      | 2 +-
+ src/wmsession.h       | 2 +-
+ src/wmstatus.cc       | 2 +-
+ src/wmstatus.h        | 2 +-
+ src/wmswitch.cc       | 2 +-
+ src/wmswitch.h        | 2 +-
+ src/wmtaskbar.cc      | 2 +-
+ src/wmtaskbar.h       | 2 +-
+ src/wmtitle.cc        | 2 +-
+ src/wmtitle.h         | 2 +-
+ src/wmwinlist.cc      | 2 +-
+ src/wmwinlist.h       | 2 +-
+ src/wmwinmenu.cc      | 2 +-
+ src/wmwinmenu.h       | 2 +-
+ src/wpixmaps.h        | 2 +-
+ src/wpixres.cc        | 2 +-
+ src/wpixres.h         | 2 +-
+ src/yaction.h         | 2 +-
+ src/yactionbutton.h   | 2 +-
+ src/yapp.cc           | 2 +-
+ src/yapp.h            | 2 +-
+ src/yarray.cc         | 2 +-
+ src/yarray.h          | 2 +-
+ src/ybutton.cc        | 2 +-
+ src/ybutton.h         | 2 +-
+ src/ycollections.cc   | 2 +-
+ src/ycollections.h    | 2 +-
+ src/yconfig.cc        | 2 +-
+ src/yconfig.h         | 2 +-
+ src/ycursor.cc        | 2 +-
+ src/ycursor.h         | 2 +-
+ src/ydialog.cc        | 2 +-
+ src/ydialog.h         | 2 +-
+ src/yfont.cc          | 2 +-
+ src/yfontcore.cc      | 2 +-
+ src/yfontxft.cc       | 2 +-
+ src/yfull.h           | 2 +-
+ src/yicon.cc          | 2 +-
+ src/yicon.h           | 2 +-
+ src/yimage.h          | 2 +-
+ src/yimage_gdk.cc     | 2 +-
+ src/yimage_imlib.cc   | 2 +-
+ src/yimage_xpm.cc     | 2 +-
+ src/yinput.cc         | 2 +-
+ src/yinputline.h      | 2 +-
+ src/ykey.h            | 2 +-
+ src/ylabel.cc         | 2 +-
+ src/ylabel.h          | 2 +-
+ src/ylib.h            | 2 +-
+ src/ylistbox.cc       | 2 +-
+ src/ylistbox.h        | 2 +-
+ src/ylocale.cc        | 2 +-
+ src/ylocale.h         | 2 +-
+ src/ymenu.cc          | 2 +-
+ src/ymenu.h           | 2 +-
+ src/ymenuitem.cc      | 2 +-
+ src/ymenuitem.h       | 2 +-
+ src/ymsgbox.cc        | 2 +-
+ src/ymsgbox.h         | 2 +-
+ src/ypaint.cc         | 2 +-
+ src/ypaint.h          | 2 +-
+ src/ypaths.cc         | 2 +-
+ src/ypaths.h          | 2 +-
+ src/ypipereader.cc    | 2 +-
+ src/ypipereader.h     | 2 +-
+ src/ypixmap.cc        | 2 +-
+ src/ypixmap.h         | 2 +-
+ src/ypoint.h          | 2 +-
+ src/ypointer.h        | 2 +-
+ src/ypoll.h           | 2 +-
+ src/ypopup.cc         | 2 +-
+ src/ypopup.h          | 2 +-
+ src/yprefs.cc         | 2 +-
+ src/yprefs.h          | 2 +-
+ src/yrect.h           | 2 +-
+ src/yscrollbar.cc     | 2 +-
+ src/yscrollbar.h      | 2 +-
+ src/yscrollview.cc    | 2 +-
+ src/yscrollview.h     | 2 +-
+ src/ysmapp.cc         | 2 +-
+ src/ysmapp.h          | 2 +-
+ src/ysocket.cc        | 2 +-
+ src/ysocket.h         | 2 +-
+ src/ystring.h         | 2 +-
+ src/ytimer.cc         | 2 +-
+ src/ytimer.h          | 2 +-
+ src/ytooltip.cc       | 2 +-
+ src/ytooltip.h        | 2 +-
+ src/yurl.cc           | 2 +-
+ src/yurl.h            | 2 +-
+ src/ywindow.cc        | 2 +-
+ src/ywindow.h         | 2 +-
+ src/yxapp.cc          | 2 +-
+ src/yxapp.h           | 2 +-
+ src/yxembed.cc        | 2 +-
+ src/yxembed.h         | 2 +-
+ src/yxtray.cc         | 2 +-
+ src/yxtray.h          | 2 +-
+ 207 files changed, 207 insertions(+), 207 deletions(-)
+
+commit 3335c73a3be86053238795d5246cb02b9eb2064e
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 3 15:00:41 2017 -0600
+
+    add vim markers to all source files
+
+ src/MwmUtil.h         | 2 ++
+ src/WinMgr.h          | 2 ++
+ src/aaddressbar.cc    | 2 ++
+ src/aaddressbar.h     | 2 ++
+ src/aapm.cc           | 2 ++
+ src/aapm.h            | 2 ++
+ src/aclock.cc         | 2 ++
+ src/aclock.h          | 2 ++
+ src/acpustatus.cc     | 2 ++
+ src/acpustatus.h      | 2 ++
+ src/amailbox.cc       | 2 ++
+ src/amailbox.h        | 2 ++
+ src/amemstatus.cc     | 2 ++
+ src/amemstatus.h      | 2 ++
+ src/appnames.h        | 2 ++
+ src/apppstatus.cc     | 2 ++
+ src/apppstatus.h      | 2 ++
+ src/argument.h        | 2 ++
+ src/ascii.h           | 2 ++
+ src/atasks.cc         | 2 ++
+ src/atasks.h          | 2 ++
+ src/atray.cc          | 2 ++
+ src/atray.h           | 2 ++
+ src/aworkspaces.cc    | 2 ++
+ src/aworkspaces.h     | 2 ++
+ src/base.h            | 2 ++
+ src/binascii.h        | 2 ++
+ src/bindkey.h         | 2 ++
+ src/browse.cc         | 2 ++
+ src/browse.h          | 2 ++
+ src/debug.h           | 2 ++
+ src/decorate.cc       | 2 ++
+ src/default.h         | 2 ++
+ src/fdomenu.cc        | 2 ++
+ src/genpref.cc        | 2 ++
+ src/globit.cc         | 2 ++
+ src/globit.h          | 2 ++
+ src/gnome.cc          | 2 ++
+ src/gnome2.cc         | 2 ++
+ src/guievent.h        | 2 ++
+ src/iceclock.cc       | 2 ++
+ src/icehelp.cc        | 2 ++
+ src/iceicon.cc        | 2 ++
+ src/icelist.cc        | 2 ++
+ src/icerun.cc         | 2 ++
+ src/icesame.cc        | 2 ++
+ src/icesh.cc          | 2 ++
+ src/iceskt.cc         | 2 ++
+ src/icesm.cc          | 2 ++
+ src/icesound.cc       | 2 ++
+ src/icetray.cc        | 2 ++
+ src/iceview.cc        | 2 ++
+ src/icewmbg.cc        | 2 ++
+ src/icewmbg_prefs.h   | 2 ++
+ src/icewmhint.cc      | 2 ++
+ src/intl.h            | 2 ++
+ src/misc.cc           | 2 ++
+ src/movesize.cc       | 2 ++
+ src/mstring.cc        | 2 ++
+ src/mstring.h         | 2 ++
+ src/obj.h             | 2 ++
+ src/objbar.cc         | 2 ++
+ src/objbar.h          | 2 ++
+ src/objbutton.h       | 2 ++
+ src/objmenu.h         | 2 ++
+ src/prefs.h           | 2 ++
+ src/ref.cc            | 2 ++
+ src/ref.h             | 2 ++
+ src/strtest.cc        | 2 ++
+ src/sysdep.h          | 2 ++
+ src/testarray.cc      | 2 ++
+ src/testlocale.cc     | 2 ++
+ src/testmap.cc        | 2 ++
+ src/testmenus.cc      | 2 ++
+ src/testnetwmhints.cc | 2 ++
+ src/testwinhints.cc   | 2 ++
+ src/themable.h        | 2 ++
+ src/themes.cc         | 2 ++
+ src/themes.h          | 2 ++
+ src/udir.cc           | 2 ++
+ src/udir.h            | 2 ++
+ src/upath.cc          | 2 ++
+ src/upath.h           | 2 ++
+ src/wmabout.cc        | 2 ++
+ src/wmabout.h         | 2 ++
+ src/wmaction.cc       | 2 ++
+ src/wmaction.h        | 2 ++
+ src/wmapp.cc          | 2 ++
+ src/wmapp.h           | 2 ++
+ src/wmbutton.cc       | 2 ++
+ src/wmbutton.h        | 2 ++
+ src/wmclient.cc       | 2 ++
+ src/wmclient.h        | 2 ++
+ src/wmconfig.cc       | 2 ++
+ src/wmconfig.h        | 2 ++
+ src/wmcontainer.cc    | 2 ++
+ src/wmcontainer.h     | 2 ++
+ src/wmdialog.cc       | 2 ++
+ src/wmdialog.h        | 2 ++
+ src/wmframe.cc        | 2 ++
+ src/wmframe.h         | 2 ++
+ src/wmmgr.cc          | 2 ++
+ src/wmmgr.h           | 2 ++
+ src/wmminiicon.cc     | 2 ++
+ src/wmminiicon.h      | 2 ++
+ src/wmoption.cc       | 2 ++
+ src/wmoption.h        | 2 ++
+ src/wmprog.cc         | 2 ++
+ src/wmprog.h          | 2 ++
+ src/wmsession.cc      | 2 ++
+ src/wmsession.h       | 2 ++
+ src/wmstatus.cc       | 2 ++
+ src/wmstatus.h        | 2 ++
+ src/wmswitch.cc       | 2 ++
+ src/wmswitch.h        | 2 ++
+ src/wmtaskbar.cc      | 2 ++
+ src/wmtaskbar.h       | 2 ++
+ src/wmtitle.cc        | 2 ++
+ src/wmtitle.h         | 2 ++
+ src/wmwinlist.cc      | 2 ++
+ src/wmwinlist.h       | 2 ++
+ src/wmwinmenu.cc      | 2 ++
+ src/wmwinmenu.h       | 2 ++
+ src/wpixmaps.h        | 2 ++
+ src/wpixres.cc        | 2 ++
+ src/wpixres.h         | 2 ++
+ src/yaction.h         | 2 ++
+ src/yactionbutton.h   | 2 ++
+ src/yapp.cc           | 2 ++
+ src/yapp.h            | 2 ++
+ src/yarray.cc         | 2 ++
+ src/yarray.h          | 2 ++
+ src/ybutton.cc        | 2 ++
+ src/ybutton.h         | 2 ++
+ src/ycollections.cc   | 2 ++
+ src/ycollections.h    | 2 ++
+ src/yconfig.cc        | 2 ++
+ src/yconfig.h         | 2 ++
+ src/ycursor.cc        | 2 ++
+ src/ycursor.h         | 2 ++
+ src/ydialog.cc        | 2 ++
+ src/ydialog.h         | 2 ++
+ src/yfont.cc          | 2 ++
+ src/yfontcore.cc      | 2 ++
+ src/yfontxft.cc       | 2 ++
+ src/yfull.h           | 2 ++
+ src/yicon.cc          | 2 ++
+ src/yicon.h           | 2 ++
+ src/yimage.h          | 2 ++
+ src/yimage_gdk.cc     | 2 ++
+ src/yimage_imlib.cc   | 2 ++
+ src/yimage_xpm.cc     | 2 ++
+ src/yinput.cc         | 2 ++
+ src/yinputline.h      | 2 ++
+ src/ykey.h            | 2 ++
+ src/ylabel.cc         | 2 ++
+ src/ylabel.h          | 2 ++
+ src/ylib.h            | 2 ++
+ src/ylistbox.cc       | 2 ++
+ src/ylistbox.h        | 2 ++
+ src/ylocale.cc        | 2 ++
+ src/ylocale.h         | 2 ++
+ src/ymenu.cc          | 2 ++
+ src/ymenu.h           | 2 ++
+ src/ymenuitem.cc      | 2 ++
+ src/ymenuitem.h       | 2 ++
+ src/ymsgbox.cc        | 2 ++
+ src/ymsgbox.h         | 2 ++
+ src/ypaint.cc         | 2 ++
+ src/ypaint.h          | 2 ++
+ src/ypaths.cc         | 2 ++
+ src/ypaths.h          | 2 ++
+ src/ypipereader.cc    | 2 ++
+ src/ypipereader.h     | 2 ++
+ src/ypixmap.cc        | 2 ++
+ src/ypixmap.h         | 2 ++
+ src/ypoint.h          | 2 ++
+ src/ypointer.h        | 2 ++
+ src/ypoll.h           | 2 ++
+ src/ypopup.cc         | 2 ++
+ src/ypopup.h          | 2 ++
+ src/yprefs.cc         | 2 ++
+ src/yprefs.h          | 2 ++
+ src/yrect.h           | 2 ++
+ src/yscrollbar.cc     | 2 ++
+ src/yscrollbar.h      | 2 ++
+ src/yscrollview.cc    | 2 ++
+ src/yscrollview.h     | 2 ++
+ src/ysmapp.cc         | 2 ++
+ src/ysmapp.h          | 2 ++
+ src/ysocket.cc        | 2 ++
+ src/ysocket.h         | 2 ++
+ src/ystring.h         | 2 ++
+ src/ytimer.cc         | 2 ++
+ src/ytimer.h          | 2 ++
+ src/ytooltip.cc       | 2 ++
+ src/ytooltip.h        | 2 ++
+ src/yurl.cc           | 2 ++
+ src/yurl.h            | 2 ++
+ src/ywindow.cc        | 2 ++
+ src/ywindow.h         | 2 ++
+ src/yxapp.cc          | 2 ++
+ src/yxapp.h           | 2 ++
+ src/yxembed.cc        | 2 ++
+ src/yxembed.h         | 2 ++
+ src/yxtray.cc         | 2 ++
+ src/yxtray.h          | 2 ++
+ 207 files changed, 414 insertions(+)
+
+commit 889c82e392c5e9546c134b420e1796717689eb2a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 3 14:55:35 2017 -0600
+
+    remove leading tabs
+
+ src/aapm.h       |  6 +++---
+ src/acpustatus.h |  2 +-
+ src/amailbox.cc  |  6 +++---
+ src/wmdialog.cc  |  6 +++---
+ src/wmoption.cc  |  4 ++--
+ src/wmtaskbar.cc | 12 ++++++------
+ src/ybutton.cc   |  4 ++--
+ src/yicon.cc     | 12 ++++++------
+ src/ypaint.cc    |  2 +-
+ src/yxapp.h      |  2 +-
+ src/yxtray.cc    |  6 +++---
+ 11 files changed, 31 insertions(+), 31 deletions(-)
+
+commit 1ca0d2a302e40ce29e3b38934d83ded25b8f3e69
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 3 14:53:57 2017 -0600
+
+    remove leading tabs
+
+ src/apppstatus.cc | 54 +++++++++++++++++++++++++--------------------------
+ src/misc.cc       | 52 ++++++++++++++++++++++++-------------------------
+ src/wmclient.cc   |  4 ++--
+ src/wmmgr.h       | 10 +++++-----
+ src/wmstatus.cc   |  4 ++--
+ src/yapp.cc       | 30 ++++++++++++++--------------
+ src/yinput.cc     | 20 +++++++++----------
+ src/ywindow.cc    | 12 ++++++------
+ 8 files changed, 93 insertions(+), 93 deletions(-)
+
+commit 196b4c0a62f3b1ec3639cd700aa87880e01118c4
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 3 14:52:03 2017 -0600
+
+    remove leading tabs
+
+ src/aapm.cc     | 244 ++++++++++++++++++++++++++--------------------------
+ src/decorate.cc |   4 +-
+ 2 files changed, 124 insertions(+), 124 deletions(-)
+
+commit bbb362885d1ce93bac6730a4b547c999a3d03321
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 3 14:50:17 2017 -0600
+
+    remove leading tabs
+
+ src/fdomenu.cc  | 492 ++++++++++++++++++++++++++--------------------------
+ src/wmapp.cc    |  14 +-
+ src/wmframe.cc  |  30 ++--
+ src/wmmgr.cc    |  44 ++---
+ src/yfontxft.cc |  46 ++---
+ src/ypixmap.cc  |  16 +-
+ 6 files changed, 321 insertions(+), 321 deletions(-)
+
+commit e4cdcb6c3ac313eaf85bc0ad02ae9ac239abf9f3
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 3 14:44:10 2017 -0600
+
+    remove trailing space from lots of source files
+
+ src/WinMgr.h          | 10 +++++-----
+ src/aclock.cc         |  6 +++---
+ src/acpustatus.cc     |  2 +-
+ src/acpustatus.h      |  2 +-
+ src/amailbox.cc       |  2 +-
+ src/amailbox.h        |  4 ++--
+ src/apppstatus.cc     | 10 +++++-----
+ src/apppstatus.h      |  2 +-
+ src/argument.h        |  2 +-
+ src/atasks.cc         |  4 ++--
+ src/atasks.h          |  2 +-
+ src/atray.cc          | 12 ++++++------
+ src/atray.h           |  6 +++---
+ src/aworkspaces.cc    |  6 +++---
+ src/base.h            |  8 ++++----
+ src/browse.h          |  2 +-
+ src/decorate.cc       | 14 +++++++-------
+ src/genpref.cc        |  2 +-
+ src/icehelp.cc        |  2 +-
+ src/icesame.cc        |  2 +-
+ src/icetray.cc        |  8 ++++----
+ src/icewmhint.cc      |  2 +-
+ src/movesize.cc       | 12 ++++++------
+ src/mstring.cc        |  6 +++---
+ src/objbar.h          |  2 +-
+ src/objbutton.h       |  2 +-
+ src/objmenu.h         |  2 +-
+ src/testlocale.cc     |  2 +-
+ src/testmap.cc        |  8 ++++----
+ src/testnetwmhints.cc | 10 +++++-----
+ src/testwinhints.cc   | 12 ++++++------
+ src/themes.h          |  6 +++---
+ src/wmabout.cc        | 12 ++++++------
+ src/wmapp.cc          | 14 +++++++-------
+ src/wmapp.h           | 10 +++++-----
+ src/wmclient.cc       |  2 +-
+ src/wmclient.h        |  6 +++---
+ src/wmdialog.cc       |  6 +++---
+ src/wmframe.cc        | 14 +++++++-------
+ src/wmframe.h         |  8 ++++----
+ src/wmmgr.cc          |  2 +-
+ src/wmmgr.h           | 12 ++++++------
+ src/wmoption.cc       |  2 +-
+ src/wmprog.cc         |  4 ++--
+ src/wmprog.h          | 10 +++++-----
+ src/wmsession.cc      |  6 +++---
+ src/wmsession.h       |  2 +-
+ src/wmstatus.cc       | 12 ++++++------
+ src/wmstatus.h        |  6 +++---
+ src/wmswitch.cc       |  2 +-
+ src/wmswitch.h        |  2 +-
+ src/wmtaskbar.cc      |  8 ++++----
+ src/wmtaskbar.h       |  4 ++--
+ src/wmwinlist.h       |  4 ++--
+ src/wmwinmenu.cc      |  4 ++--
+ src/yapp.cc           |  2 +-
+ src/yarray.h          | 20 ++++++++++----------
+ src/ybutton.h         |  8 ++++----
+ src/ycursor.cc        | 20 ++++++++++----------
+ src/ydialog.cc        |  4 ++--
+ src/yfontxft.cc       |  6 +++---
+ src/yimage_gdk.cc     |  2 +-
+ src/ylabel.cc         |  6 +++---
+ src/ylistbox.cc       |  6 +++---
+ src/ylistbox.h        | 10 +++++-----
+ src/ylocale.h         |  4 ++--
+ src/ymenu.cc          |  8 ++++----
+ src/ymenu.h           |  2 +-
+ src/ymenuitem.cc      |  4 ++--
+ src/ymenuitem.h       |  6 +++---
+ src/ymsgbox.cc        |  6 +++---
+ src/ypaint.h          |  8 ++++----
+ src/ypaths.h          |  4 ++--
+ src/ypointer.h        |  2 +-
+ src/yscrollview.cc    |  4 ++--
+ src/yscrollview.h     |  2 +-
+ src/ystring.h         | 10 +++++-----
+ src/ytimer.h          |  2 +-
+ src/ywindow.cc        |  4 ++--
+ src/ywindow.h         | 12 ++++++------
+ src/yxapp.cc          | 10 +++++-----
+ 81 files changed, 248 insertions(+), 248 deletions(-)
+
+commit 3d0bb77eb64b17392009ff0ac885e46dcf4560f8
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 3 14:39:58 2017 -0600
+
+    make sure X supports locale from start
+
+    - also get rid of trailing space and tabs
+
+ src/ylocale.cc | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+commit 88b1e02254b1f6e1fc07c1f00407efd15ba024c2
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 3 14:15:05 2017 -0600
+
+    WIN_WORKSPACE_NAMES must be standard ICCCM 2.0
+
+    - it cannot be UTF8_STRING
+
+ src/wmmgr.cc | 12 +++---------
+ 1 file changed, 3 insertions(+), 9 deletions(-)
+
+commit 193c2d641c5450b1bff3c6a2a710cb8727cf65d7
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Oct 3 21:48:25 2017 +0200
+
+    Prevent creating a hole with undefined data if array insert is beyond
+    the current count.
+
+ src/yarray.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 86856d26336afc98264cc61c3bd98c3a394420ce
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Oct 3 21:24:28 2017 +0200
+
+    fix a memory leak for YRect in updateLayout.
+
+ src/wmframe.cc | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit b6259646d4d6c3d76ae29a4c6402d8d79620b779
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Oct 3 21:21:12 2017 +0200
+
+    Incorporate two remarks:
+    1. Use a smart pointer to reduce boilerplate in readDesktopNames.
+    2. Restore XmbTextListToTextProperty in setNetDesktopNames,
+    but now use a better return code checking, to fix the setting of
+    _NET_DESKTOP_NAMES.
+
+ src/wmmgr.cc | 25 ++++++-------------------
+ 1 file changed, 6 insertions(+), 19 deletions(-)
+
+commit 7c2964847e1d661f8b36b204c7ecad8150e4dc4f
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Oct 3 21:15:46 2017 +0200
+
+    Create ~/.icewm/ with mode 0755.
+
+ src/ysmapp.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4e7bc3a2b5c2b0159dfcf046beeccb693af1be79
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Oct 3 08:45:30 2017 -0600
+
+    distribute COMPLIANCE, longer ChangeLog
+
+ Makefile.am  | 16 ++++++++--------
+ configure.ac |  1 +
+ 2 files changed, 9 insertions(+), 8 deletions(-)
+
+commit e0b7bf337015cf9a74a2d55bc0da68216669d3b8
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Oct 3 15:23:52 2017 +0200
+
+    Prevent crash on shutdown when aboutDlg was freed
+
+ src/wmapp.cc |  1 +
+ src/wmapp.h  | 10 ++++++++++
+ 2 files changed, 11 insertions(+)
+
+commit 60584512f323e8f152c58e88e8f1885616610792
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Oct 3 14:21:48 2017 +0200
+
+    Stop misusing dynamic allocator as enumeration manager
+
+    The YAction class was a hack to manage identities of predefined and
+    dynamically generated actions. However, this came with runtime
+    allocation costs where simple enumberation is sufficient for static IDs
+    or a global counter for dynamic ids.
+
+    The type is still pointer-sized and not int for the few cases where the
+    pointer of derived class was used as key.
+
+ src/aworkspaces.cc  |  11 ++-
+ src/aworkspaces.h   |   2 +-
+ src/icehelp.cc      |  39 +++++------
+ src/icelist.cc      |  10 +--
+ src/icesame.cc      |   4 +-
+ src/iceview.cc      |   6 +-
+ src/misc.cc         |   2 +
+ src/objbar.cc       |   2 +-
+ src/objbutton.h     |   4 +-
+ src/objmenu.h       |   4 +-
+ src/testmenus.cc    |   2 +-
+ src/themes.cc       |   2 +-
+ src/wmaction.cc     | 180 ------------------------------------------------
+ src/wmaction.h      | 105 ++++++++++++++--------------
+ src/wmapp.cc        |   8 +--
+ src/wmapp.h         |   2 +-
+ src/wmbutton.cc     |   8 +--
+ src/wmbutton.h      |  10 +--
+ src/wmclient.h      |   2 +-
+ src/wmconfig.cc     |  13 ++--
+ src/wmdialog.cc     |  20 +++---
+ src/wmdialog.h      |   2 +-
+ src/wmframe.cc      |   2 +-
+ src/wmframe.h       |   2 +-
+ src/wmmgr.cc        |  30 +++-----
+ src/wmmgr.h         |   8 +--
+ src/wmprog.cc       |   6 +-
+ src/wmtaskbar.cc    |   2 +-
+ src/wmtaskbar.h     |   2 +-
+ src/wmwinlist.cc    |   2 +-
+ src/wmwinlist.h     |   2 +-
+ src/wmwinmenu.cc    |   6 +-
+ src/yaction.h       |   8 +--
+ src/yactionbutton.h |   4 +-
+ src/ybutton.cc      |   6 +-
+ src/ybutton.h       |  10 +--
+ src/yinput.cc       |  24 +++----
+ src/yinputline.h    |   2 +-
+ src/ymenu.cc        |  16 ++---
+ src/ymenu.h         |  18 ++---
+ src/ymenuitem.cc    |   6 +-
+ src/ymenuitem.h     |  10 +--
+ src/ymsgbox.cc      |   6 +-
+ src/ymsgbox.h       |   2 +-
+ 44 files changed, 201 insertions(+), 411 deletions(-)
+
+commit f17ab9cf5093bd1dbb673a2232768239a9e79cd7
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Oct 3 10:18:39 2017 +0200
+
+    Untangle selection of audio libs parameters
+
+    Fix build failure when building without esd or alsa or both
+
+ src/CMakeLists.txt | 83 +++++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 59 insertions(+), 24 deletions(-)
+
+commit 33c2cb8913efea0c295c461cae2cf78d66c9ee19
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Oct 3 10:17:04 2017 +0200
+
+    Fix some signedness inconsistencies triggered in Debug build
+
+ src/mstring.cc | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+commit 9cf0e5178fbdc44987ee25518810f659a285e353
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Oct 3 06:52:51 2017 +0200
+
+    Split readDesktopNames in smaller functions and also limit count by
+    workspaceCount. Only set _WIN_WORKSPACE_NAMES if GNOME1_HINTS.
+    Only set _NET_DESKTOP_NAMES if WMSPEC_HINTS.
+    Fix for setting _NET_DESKTOP_NAMES where XmbTextListToTextProperty
+    always failed for style XUTF8StringStyle.
+
+ src/wmmgr.cc | 176 ++++++++++++++++++++++++++++++-------------------------
+ src/wmmgr.h  |   3 +
+ 2 files changed, 99 insertions(+), 80 deletions(-)
+
+commit 8ac88c4eb7c8ae6ee50afb750f812ed5476f6134
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Oct 3 01:17:35 2017 +0200
+
+    [cmake] clean linker list explicitly if user disabled some audio backend
+
+    Also add sndfile check even with esd, and check OSS header only if OSS
+    use requested.
+
+ src/CMakeLists.txt | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit 360ec120d296ceb4cb9121041103351580edc0ef
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Oct 2 23:54:12 2017 +0200
+
+    Added confirmation for restart-as-xterm option
+
+    Long outstanding Debian bug 224537.
+
+ src/wmaction.cc |  3 +++
+ src/wmaction.h  |  1 +
+ src/wmapp.cc    | 27 ++++++++++++++++++++++-----
+ src/wmframe.cc  | 31 +++++++++++++++++++------------
+ src/wmframe.h   |  1 +
+ src/wmprog.cc   |  4 ++--
+ src/wmprog.h    |  4 ++--
+ 7 files changed, 50 insertions(+), 21 deletions(-)
+
+commit ecdf256c43e8a9945d010237d4a12eba1657ee90
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Oct 2 23:03:39 2017 +0200
+
+    add TOC. fix email
+
+ doc/icesound.1.adoc | 1 +
+ doc/icewm.1.adoc    | 7 ++++++-
+ doc/icewm.adoc      | 4 ++--
+ doc/icewmbg.1.adoc  | 1 +
+ 4 files changed, 10 insertions(+), 3 deletions(-)
+
+commit c2744b23309084ef9c2d1061a9fbe8bc3b984ae1
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Oct 2 22:23:59 2017 +0200
+
+    XDG base dir spec: "If, when attempting to write a file,
+    the destination directory is non-existant an attempt should
+    be made to create it with permission 0700."
+
+ src/upath.h   | 2 +-
+ src/ysmapp.cc | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+commit ff84cb909f30eb30943f825f34ae291d1493c66f
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Oct 2 18:55:08 2017 +0200
+
+    Added forgotten file (currently unused)
+
+ src/ycollections.cc | 24 ++++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+commit 65d5deb7dbab4cc95335f6dd2eb5b1a21c1580e7
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Oct 2 12:46:13 2017 +0200
+
+    Fix remaining GCC7 warnings
+
+    Including switching from signed to unsigned/size_t in string
+    classes/functions where negative values were not possible or not making
+    sense.
+
+ src/aworkspaces.cc |  2 +-
+ src/icehelp.cc     |  2 +-
+ src/mstring.cc     | 31 +++++++++++--------------
+ src/mstring.h      | 18 +++++++--------
+ src/wmmgr.cc       |  2 +-
+ src/yarray.cc      |  2 +-
+ src/yinput.cc      | 63 +++++++++++++++++++-------------------------------
+ src/yinputline.h   | 12 +++++-----
+ src/ymenuitem.cc   |  2 +-
+ src/yurl.cc        |  2 +-
+ src/ywindow.cc     |  2 +-
+ src/yxtray.cc      |  4 ++--
+ 12 files changed, 62 insertions(+), 80 deletions(-)
+
+commit 33004abf15b3b08fad190ec1fb418411ed356351
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Oct 2 11:52:25 2017 +0200
+
+    Set default nesting threshhold Xephyr-friendly
+
+ src/default.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 224a4f65150d09fda0c0097fb1cd4a5307da8b19
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Oct 2 10:45:27 2017 +0200
+
+    Restore extra libs passing to linkage of icewm-session
+
+    Allow to be more static again if linking with libsupc++.
+
+ src/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 917498a552cc271606f825c79542cedb8355da8b
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Oct 2 00:56:09 2017 +0200
+
+    Dynamic network devices mostly working
+
+    Lookup dictionary not used for now, kept for possible optimization in
+    future.
+
+ src/CMakeLists.txt |   2 +-
+ src/apppstatus.cc  | 207 +++++++++++++++++++++++++++++--------------------
+ src/apppstatus.h   |  33 ++++----
+ src/default.h      |   2 +-
+ src/mstring.cc     |   5 +-
+ src/mstring.h      |   3 +
+ src/wmtaskbar.cc   |   5 +-
+ src/yarray.h       |  11 +--
+ src/ycollections.h |  72 +++++++++--------
+ 9 files changed, 200 insertions(+), 140 deletions(-)
+
+commit f65a975ea259a6cd8dd9fc656a91e6d0aa8056e5
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Sep 26 19:35:36 2017 +0200
+
+    Moved experimental collections into an own header
+
+    And started implementing a fast lookup structure.
+
+ src/CMakeLists.txt |   2 +-
+ src/apppstatus.cc  |   2 +-
+ src/apppstatus.h   |   2 +
+ src/udir.h         |   2 +-
+ src/yarray.h       |  68 ---------------------
+ src/ycollections.h | 158 +++++++++++++++++++++++++++++++++++++++++++++++++
+ 6 files changed, 163 insertions(+), 71 deletions(-)
+
+commit 4eeb7bd30070b83caea5a87a0cc216d909d92b00
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Sep 25 23:31:26 2017 +0200
+
+    No multiple procfs opening for multiple network devices
+
+ src/apppstatus.cc | 99 ++++++++++++++++++++++++++++-----------------------
+ src/apppstatus.h  |  6 ++--
+ src/yarray.h      | 22 ++++++------
+ 3 files changed, 70 insertions(+), 57 deletions(-)
+
+commit 04e9bf4b5e70a7a8fc5cf252dcd1f8a591d4f753
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Sep 24 21:09:02 2017 +0200
+
+    Refactored NetStatus setup to use fewer timer structures
+
+ src/apppstatus.cc | 90 ++++++++++++++++++++++++++++++++++++++++++++-------
+ src/apppstatus.h  | 31 +++++++++++++++---
+ src/wmtaskbar.cc  | 50 ++--------------------------
+ src/wmtaskbar.h   |  4 +--
+ src/yarray.h      | 17 +++++++++-
+ 5 files changed, 125 insertions(+), 67 deletions(-)
+
+commit 0aaef157b2b59b476c347d1db83fde6aac43659d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Oct 1 10:29:03 2017 +0200
+
+    document workspaces scroll wheel.
+
+ doc/icewm.1.adoc | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit 8f18005aaaeb875a2f7ef14e468e64c9abbc2ad8
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Sep 30 14:47:36 2017 +0200
+
+    Document task button behaviors.
+
+ doc/icewm.1.adoc | 35 +++++++++++++++++++++++++++++++++--
+ 1 file changed, 33 insertions(+), 2 deletions(-)
+
+commit 556b5356f38cd00300b6e746b0eb05fcc6f2d9a1
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Sep 29 21:55:22 2017 +0200
+
+    Manipulate tasks in the task pane more like the tabs in a web
+    browser. Improved interaction and feel. Use left mouse button instead
+    of third. Use Alt+Button2 to close a task. See issues #172.
+
+ src/atasks.cc | 164 ++++++++++++++++++++++++------------------------------
+ src/atasks.h  |  16 ++----
+ 2 files changed, 78 insertions(+), 102 deletions(-)
+
+commit 159b447cd7b187a659927995323e5dfac1d0dc19
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Sep 29 21:52:37 2017 +0200
+
+    swap two elements in an array. findRemove.
+
+ src/yarray.h | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit ee7af1ae935166e942e5f604c1190b47fec99a59
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Sep 29 21:52:14 2017 +0200
+
+    swap.
+
+ src/base.h | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 158a3f397602315d21911212ed0232f6c31499bc
+Merge: d9f45547 94bbccea
+Author: gijsbers <gijsbers@users.noreply.github.com>
+Date:   Thu Sep 28 21:18:14 2017 +0200
+
+    Merge pull request #175 from scootergrisen/patch-3
+
+    rød grød med fløde
+
+commit 94bbccea5ef55c5feb1f159378d4fc1a72be7a54
+Author: scootergrisen <scootergrisen@gmail.com>
+Date:   Thu Sep 28 19:48:44 2017 +0200
+
+    A few more spell check for da.po
+
+ po/da.po | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit 4df1d7c35c922d98e1292a8374416c14460d0cfc
+Author: scootergrisen <scootergrisen@gmail.com>
+Date:   Thu Sep 28 19:37:22 2017 +0200
+
+    Spell check for da.po
+
+    As suggested by Alan.
+
+ po/da.po | 40 ++++++++++++++++++++--------------------
+ 1 file changed, 20 insertions(+), 20 deletions(-)
+
+commit d9f45547b848e2cf02f896ec591a40433b4859d0
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Sep 27 20:49:15 2017 +0200
+
+    Make pagerShowNumbers default false so that workspace names are shown
+    in PagerShowPreview mode.
+
+ src/default.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 108a9387f6c2f1bbb1803161a1142c32158d1e21
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Sep 27 20:47:43 2017 +0200
+
+    Fix a memory leak. Add support for showing workspace names also when
+    PagerShowPreview is on.
+
+ src/aworkspaces.cc | 74 +++++++++++++++++++++-----------------------------
+ src/aworkspaces.h  |  3 ++
+ 2 files changed, 34 insertions(+), 43 deletions(-)
+
+commit 11d3bf4fb26b8c448d25d139b83e359ff31e62ee
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Sep 27 20:46:38 2017 +0200
+
+    Add some convenient options and a much more detailed help message.
+
+ src/icehelp.cc | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 53 insertions(+), 4 deletions(-)
+
+commit a2879d95f23cf5f3026122c8b9a09ea585425685
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Sep 27 20:46:09 2017 +0200
+
+    add type symmetry for mstring plus operator.
+
+ src/mstring.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit d154a98280bbd26444b45140941aea3ab4c40081
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Sep 27 20:45:26 2017 +0200
+
+    keep expiry timer running (if nonempty).
+
+ src/yxtray.cc | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 367db0c34a9a9a0952e84156b13b4ebc8ad43ee5
+Merge: 7ff1bf30 830b4214
+Author: gijsbers <gijsbers@users.noreply.github.com>
+Date:   Wed Sep 27 20:16:47 2017 +0200
+
+    Merge pull request #173 from scootergrisen/patch-1
+
+    Update da.po to 1.4.2.438
+
+commit 7ff1bf30e5cf084e3292401331e060e39a9ccaf3
+Merge: 899fa9a7 fd8e0bfd
+Author: gijsbers <gijsbers@users.noreply.github.com>
+Date:   Wed Sep 27 20:14:09 2017 +0200
+
+    Merge pull request #174 from scootergrisen/patch-2
+
+    Update da
+
+commit fd8e0bfd40d94459c12909e2308b02a48d53d346
+Author: scootergrisen <scootergrisen@gmail.com>
+Date:   Wed Sep 27 18:46:33 2017 +0200
+
+    Update da
+
+ lib/icewm-session.desktop | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 830b42143f60268cef362a88c5ed5276a40030ad
+Author: scootergrisen <scootergrisen@gmail.com>
+Date:   Wed Sep 27 18:42:22 2017 +0200
+
+    Update da.po to 1.4.2.438
+
+ po/da.po | 559 ++++++++++++++++++++++++++++-------------------------------
+ 1 file changed, 267 insertions(+), 292 deletions(-)
+
+commit 899fa9a771d6a638c1cdfcb029a36265488b1366
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Sep 26 08:46:27 2017 -0600
+
+    update po files
+
+ po/ar.po     |  95 ++++++++++++++++++++++++++++++++++----------------
+ po/be.po     | 103 ++++++++++++++++++++++++++++++++++++-------------------
+ po/bg.po     |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/ca.po     |  96 +++++++++++++++++++++++++++++++++++----------------
+ po/cs.po     |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/da.po     |  95 ++++++++++++++++++++++++++++++++++----------------
+ po/de.po     |  96 +++++++++++++++++++++++++++++++++++----------------
+ po/el.po     |  95 ++++++++++++++++++++++++++++++++++----------------
+ po/en.po     |  94 ++++++++++++++++++++++++++++++++++----------------
+ po/es.po     |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/fi.po     |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/fr.po     |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/he.po     |  95 ++++++++++++++++++++++++++++++++++----------------
+ po/hr.po     |  94 ++++++++++++++++++++++++++++++++++----------------
+ po/hu.po     |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/icewm.pot |  96 ++++++++++++++++++++++++++++++++++-----------------
+ po/id.po     |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/it.po     |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/ja.po     |  96 +++++++++++++++++++++++++++++++++++----------------
+ po/ko.po     |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/lt.po     |  96 +++++++++++++++++++++++++++++++++++----------------
+ po/lv.po     |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/mk.po     |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/nb.po     | 103 ++++++++++++++++++++++++++++++++++++-------------------
+ po/nl.po     |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/no.po     | 103 ++++++++++++++++++++++++++++++++++++-------------------
+ po/pl.po     |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/pt_BR.po  |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/ro.po     |  95 ++++++++++++++++++++++++++++++++++----------------
+ po/ru.po     |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/sk.po     |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/sl.po     |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/sv.po     |  95 ++++++++++++++++++++++++++++++++++----------------
+ po/tr.po     |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/uk.po     |  96 +++++++++++++++++++++++++++++++++++----------------
+ po/vi.po     |  99 ++++++++++++++++++++++++++++++++++------------------
+ po/zh_CN.po  |  96 +++++++++++++++++++++++++++++++++++----------------
+ po/zh_TW.po  |  96 +++++++++++++++++++++++++++++++++++----------------
+ 38 files changed, 2500 insertions(+), 1216 deletions(-)
+
+commit 1f505e40bf2719f087cfe4150f4fc5af3e344876
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Sep 25 20:06:19 2017 -0600
+
+    double the number of cores
+
+ dist.sh    | 3 +--
+ rebuild.sh | 4 ++--
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+commit 17a091c3d088b9e0d88378507edd143b168e77f7
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Sep 25 19:59:03 2017 +0200
+
+    Limit parallel thread count to number of cores, not unlimited
+
+ dist.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 158083b32df199cd4e01199dee074cb588dc61ef
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 24 19:50:43 2017 +0200
+
+    Fix a use-after-free error (valgrind) for destroyed tray icon windows.
+    Support system tray orientation (and visual, but is now commented out).
+    Support system tray notification messages.
+    Reduce the number of superfluous tray relayouts a little bit.
+
+ src/yxembed.cc |   8 +-
+ src/yxembed.h  |   2 +-
+ src/yxtray.cc  | 279 +++++++++++++++++++++++++++++++++++++++++++++--------
+ src/yxtray.h   |   7 +-
+ 4 files changed, 252 insertions(+), 44 deletions(-)
+
+commit b1936b7c3ed7d0c89ecb619d8297cf88fa20fd12
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 24 19:36:17 2017 +0200
+
+    More tags. Less warnings. Support website links to local absolute paths.
+    More html special chars. Better error message translations.
+
+ src/icehelp.cc | 82 +++++++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 66 insertions(+), 16 deletions(-)
+
+commit e05e29c998483fba0cd4a135f4098f1e62b19745
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 24 19:35:08 2017 +0200
+
+    remove erroneous csmart array index operator to fix compile error.
+
+ src/ypointer.h | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 6c965ea47430a85b99b74303accc6b77a1d7c213
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 24 19:34:24 2017 +0200
+
+    construct YObjectArray with a defined capacity.
+
+ src/yarray.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 4a46137a90c19a8da11b0706a353cc0bd9b0fb2d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 24 19:33:56 2017 +0200
+
+    free workspaceItem[].
+
+ src/wmwinlist.cc | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit e3cd8b3792554399fbd29b94ee29799e1a7bd1dc
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 24 19:33:36 2017 +0200
+
+    free fTasks and fWindowTray.
+
+ src/wmtaskbar.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit f7e3b3c8af080166b0cfa83ea04d1c3bcfd9c186
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 24 19:33:20 2017 +0200
+
+    free rootProxy.
+
+ src/wmmgr.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 170c0d29ed319c7bd952ea7b48dc374b86b3fde1
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 24 19:31:41 2017 +0200
+
+    Replace fmax/fmin by max/min as this is all integers, not FP.
+
+ src/yrect.h | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+commit e09c6ae976701b1e476a31f89ee8e1255a35c1f0
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 24 19:30:30 2017 +0200
+
+    include math.h because it uses round(3).
+
+ src/aworkspaces.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 9a6b8b7a70977e3324587293d1d2e6441f522210
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 24 02:08:59 2017 -0600
+
+    update po files
+
+ po/ar.po     | 164 ++++++++++++++++++++++++++--------------------------
+ po/be.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/bg.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/ca.po     | 164 ++++++++++++++++++++++++++--------------------------
+ po/cs.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/da.po     | 164 ++++++++++++++++++++++++++--------------------------
+ po/de.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/el.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/en.po     | 164 ++++++++++++++++++++++++++--------------------------
+ po/es.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/fi.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/fr.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/he.po     | 164 ++++++++++++++++++++++++++--------------------------
+ po/hr.po     | 164 ++++++++++++++++++++++++++--------------------------
+ po/hu.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/icewm.pot | 166 ++++++++++++++++++++++++++---------------------------
+ po/id.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/it.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/ja.po     | 164 ++++++++++++++++++++++++++--------------------------
+ po/ko.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/lt.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/lv.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/mk.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/nb.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/nl.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/no.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/pl.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/pt_BR.po  | 172 ++++++++++++++++++++++++++++---------------------------
+ po/ro.po     | 164 ++++++++++++++++++++++++++--------------------------
+ po/ru.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/sk.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/sl.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/sv.po     | 164 ++++++++++++++++++++++++++--------------------------
+ po/tr.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/uk.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/vi.po     | 172 ++++++++++++++++++++++++++++---------------------------
+ po/zh_CN.po  | 172 ++++++++++++++++++++++++++++---------------------------
+ po/zh_TW.po  | 172 ++++++++++++++++++++++++++++---------------------------
+ 38 files changed, 3285 insertions(+), 3173 deletions(-)
+
+commit 509ba5e59dbde949572cdb303c8435001bdb9527
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 24 02:07:54 2017 -0600
+
+    add parallel build to distribution
+
+ dist.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit b6d76f6b6a5281225b09a50e7269f3e5003992ee
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 24 01:59:29 2017 -0600
+
+    support parallel build for development
+
+ rebuild.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 27953089862755d46c38c463b3f03aabc2e827af
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Sep 23 18:14:30 2017 +0200
+
+    Fix compilation for g++-4.8 for issue #152.
+
+ src/ytimer.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit cc92cdaa1d839b1c4b05236791bc6225697c7f43
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Sep 22 00:05:44 2017 +0200
+
+    New tests for MStringArray and YRefArray. Add class stringcounted.
+
+ src/testarray.cc | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 160 insertions(+), 1 deletion(-)
+
+commit 620f709fc893c96a51c7fa6047927cc23c28e0dc
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Sep 22 00:02:35 2017 +0200
+
+    Memory leak fix and improvements for YRefArray.
+    Derive YStringArray from YArray instead of YBaseArray.
+    Add new class MStringArray for efficient array for mstrings.
+
+ src/mstring.h |  5 +++
+ src/yarray.cc |  5 ++-
+ src/yarray.h  | 97 ++++++++++++++++++++++++++++++++++++++++++-------------
+ 3 files changed, 81 insertions(+), 26 deletions(-)
+
+commit 123b8b2e5b5acf81f1e436a4e2f9363f68d7efa0
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Sep 22 00:00:38 2017 +0200
+
+    When including both yarray.h and mstring.h then include mstring before
+    yarray.
+
+ src/wmconfig.cc | 2 --
+ src/wmoption.h  | 3 +--
+ src/yapp.h      | 2 +-
+ src/yxembed.h   | 2 +-
+ 4 files changed, 3 insertions(+), 6 deletions(-)
+
+commit 61c65d5d317af1861e299be51edf0dfaa93f3c9a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Sep 21 23:56:12 2017 +0200
+
+    Changes to tray. Solutions for bug #152.
+
+ src/icetray.cc   | 88 +++++++++++++++++++++++---------------------------
+ src/wmapp.cc     | 12 +++----
+ src/wmmgr.cc     |  4 +--
+ src/wmtaskbar.cc |  3 +-
+ src/ywindow.cc   | 45 ++++++++++++++------------
+ src/ywindow.h    |  2 +-
+ src/yxembed.cc   |  3 --
+ src/yxtray.cc    | 91 +++++++++++++++++++++++-----------------------------
+ src/yxtray.h     |  7 ++--
+ 9 files changed, 120 insertions(+), 135 deletions(-)
+
+commit 50db37490189f37f92e143734674dd694c885799
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Sep 21 23:51:29 2017 +0200
+
+    class YAtom.
+
+ src/yxapp.cc | 16 ++++++++++++++++
+ src/yxapp.h  | 22 +++++++++++++++++++++-
+ 2 files changed, 37 insertions(+), 1 deletion(-)
+
+commit 7f72388be0f67812d154eabc1573d348da9a8b4d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Sep 21 23:49:22 2017 +0200
+
+    boolstr.
+
+ src/base.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit cb9478ff6e71bba40ca22a4c4aaf1c4ca2fc04f6
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Sep 18 16:18:02 2017 +0200
+
+    Fix unsigned comparisson after change from int
+
+ src/udir.cc | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit c7d3d336845f8d2b38c090cbe151b90a18da457e
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 17 22:34:34 2017 -0600
+
+    update file search order
+
+ man/icewm-env.pod          | 20 ++++++++++++++------
+ man/icewm-focus_mode.pod   | 20 ++++++++++++++------
+ man/icewm-keys.pod         | 20 ++++++++++++++------
+ man/icewm-menu.pod         | 20 ++++++++++++++------
+ man/icewm-preferences.pod  | 20 ++++++++++++++------
+ man/icewm-prefoverride.pod | 20 ++++++++++++++------
+ man/icewm-programs.pod     | 20 ++++++++++++++------
+ man/icewm-shutdown.pod     | 20 ++++++++++++++------
+ man/icewm-startup.pod      | 20 ++++++++++++++------
+ man/icewm-theme.pod        | 20 ++++++++++++++------
+ man/icewm-toolbar.pod      | 20 ++++++++++++++------
+ man/icewm-winoptions.pod   | 20 ++++++++++++++------
+ 12 files changed, 168 insertions(+), 72 deletions(-)
+
+commit 0860ca4f0e6def3cf0f9b6711ed7a28c4dba964f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 17 21:56:03 2017 -0600
+
+    fix signed vs. unsigned comparisons
+
+ src/udir.cc | 2 +-
+ src/udir.h  | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 1111aac102e9b4b82d388f8ab057a785dcb7a7cc
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Sep 17 22:38:33 2017 +0200
+
+    Avoid almost half of readdir syscalls on directory scan
+
+    ... which were made just for counting in order to allocate memory for
+    sorting.
+
+ src/udir.cc | 24 ++++++++----------------
+ src/udir.h  | 11 ++++++-----
+ 2 files changed, 14 insertions(+), 21 deletions(-)
+
+commit 15aedb401da5391b23d4acf975b12319eea6ff55
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Sep 17 22:00:10 2017 +0200
+
+    Handles to preserve memory explicitly
+
+ src/yarray.h | 20 +++++++++++++-------
+ 1 file changed, 13 insertions(+), 7 deletions(-)
+
+commit 299b0aa4260f95173a99b16cb12739625c19b01f
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Sep 17 21:52:20 2017 +0200
+
+    Use reliable order for detected interfaces
+
+ src/wmtaskbar.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5b3eec2727abcbfcaf491fa90241271dd9bce9ee
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Sep 17 21:51:17 2017 +0200
+
+    Present the network devices in actually specified order
+
+ src/wmtaskbar.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 270e17fc0cc4bb7af28260f40246746c23fac9c2
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Sep 17 17:27:59 2017 +0200
+
+    Fix of e7c0230acad38fc192a997a4979a8fe2f3a2c2ae in debug build
+
+    Build failure after c_str removal
+
+ src/wmtaskbar.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1c8e95c6aab9b226af8daaeb7417fb8633d13b44
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 17 19:53:08 2017 +0200
+
+    No lazy or static needed for initialization of mailbox app.
+
+ src/wmtaskbar.cc | 16 ++++++----------
+ 1 file changed, 6 insertions(+), 10 deletions(-)
+
+commit bfb21a6f7ac2e23917088ce111ff2846aa321d1c
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 17 15:47:52 2017 +0000
+
+    correct possible overflow
+
+ src/aworkspaces.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 2f619750904bf0d379c4d31bcb270ebd45482458
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 17 14:31:29 2017 +0200
+
+    Be more explicit about test results. Some extra newlines for
+    readability.
+
+ src/testarray.cc | 31 ++++++++++++++++++++++++++++---
+ 1 file changed, 28 insertions(+), 3 deletions(-)
+
+commit 1fd28e9b95e05eb8ffc3b076aaab5e595d10bb73
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 17 14:30:03 2017 +0200
+
+    Eliminate duplicate code, cleanup and simplify.
+
+ src/yarray.cc | 20 ++++++-----------
+ src/yarray.h  | 64 ++++++++++++++++++++++++++++++++++++-------------------
+ 2 files changed, 48 insertions(+), 36 deletions(-)
+
+commit b3471eb4e67cce3e8361ee1c685dc7b6ab936f36
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 17 07:54:46 2017 +0200
+
+    automake 1.13.4 still works fine
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 286f79f71872d4bf784fe853b770a3a39e240601
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 17 07:44:49 2017 +0200
+
+    Revert "Added sane c_str shortcut".
+    Because is a naieve mistake. If it were possible than class cstring
+    is superfluous.
+
+    This reverts commit 1b6cce780831c5af734324d105cedf9ebf935256.
+
+ src/mstring.cc | 5 -----
+ src/mstring.h  | 1 -
+ 2 files changed, 6 deletions(-)
+
+commit e7c0230acad38fc192a997a4979a8fe2f3a2c2ae
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Sep 16 15:41:52 2017 +0200
+
+    Fixing another debug warning
+
+    Found with clang. Also avoid redundant string copy ctor call.
+
+ src/wmtaskbar.cc | 2 +-
+ src/ylocale.cc   | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 2a4388bb332f746fbcc42203f95e4da96fd8c61f
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Sep 16 13:29:13 2017 +0200
+
+    Automated lookup of known network devices on Linux
+
+ doc/icewm.adoc   |  1 +
+ src/default.h    |  5 +++++
+ src/wmtaskbar.cc | 57 ++++++++++++++++++++++++++++++++--------------------
+ 3 files changed, 41 insertions(+), 22 deletions(-)
+
+commit e57a38bc5ba8f1da74b2f452f043b330c4c9d99b
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Sep 16 13:16:08 2017 +0200
+
+    Added simple value-typed dynamic array handler
+
+ src/yarray.h | 36 ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 36 insertions(+)
+
+commit 1b6cce780831c5af734324d105cedf9ebf935256
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Sep 16 11:50:34 2017 +0200
+
+    Added sane c_str shortcut
+
+ src/mstring.cc | 5 +++++
+ src/mstring.h  | 1 +
+ 2 files changed, 6 insertions(+)
+
+commit ab9024b1d17f66ef7cfefae5fdea8df4b95d82dc
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Sep 16 09:55:12 2017 +0200
+
+    Fixed spelling of ColorApmBattery
+
+ src/themable.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 38866a01f8efe5c8cfcb6eaa1d2e0769d6e4b716
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Sep 16 01:29:40 2017 +0200
+
+    Initialize object members (cosmetics)
+
+ src/atasks.cc      | 1 +
+ src/aworkspaces.cc | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+commit ee32165ead9d126b51650b1b5d951ce3dc551a20
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Sep 16 01:24:48 2017 +0200
+
+    Fix broken math of current energy bar calculation
+
+    The battery bar would display incorrect estimation when batteries have
+    different capacities. Also cope with the case when the last seen "full"
+    charged value increases (for sysfs).
+
+ src/aapm.cc | 39 +++++++++++++++++++--------------------
+ src/aapm.h  |  5 +++--
+ 2 files changed, 22 insertions(+), 22 deletions(-)
+
+commit 6623b53218abf08e7527e5f9b98b3abb1010f201
+Author: Eduard Bloch <blade@debian.org>
+Date:   Fri Sep 15 17:48:27 2017 +0200
+
+    Use factory method rather instead of crude function pointers
+
+    constexpr would also be possible to waste less CPU cycles but would
+    still look weird, and we are not in C++11 world yet.
+
+ src/wmapp.cc    |  2 +-
+ src/wmstatus.cc | 21 ++++++++++-----------
+ src/wmstatus.h  |  8 +++-----
+ 3 files changed, 14 insertions(+), 17 deletions(-)
+
+commit 782e517869d515d4e9380bb8aafbdf956332e6a6
+Author: Eduard Bloch <blade@debian.org>
+Date:   Fri Sep 15 17:41:04 2017 +0200
+
+    Use less CPU cycles on duplicates on getting $MAIL
+
+ src/wmtaskbar.cc | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit f199ce63fcb96e5879fcd3c1568bc29db39046c1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 13 01:09:17 2017 -0600
+
+    update po files
+
+ po/ar.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/be.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/bg.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/ca.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/cs.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/da.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/de.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/el.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/en.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/es.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/fi.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/fr.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/he.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/hr.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/hu.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/icewm.pot | 113 ++++++++++++++++++++++++++++---------------------------
+ po/id.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/it.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/ja.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/ko.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/lt.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/lv.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/mk.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/nb.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/nl.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/no.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/pl.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/pt_BR.po  | 111 ++++++++++++++++++++++++++++--------------------------
+ po/ro.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/ru.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/sk.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/sl.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/sv.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/tr.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/uk.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/vi.po     | 111 ++++++++++++++++++++++++++++--------------------------
+ po/zh_CN.po  | 111 ++++++++++++++++++++++++++++--------------------------
+ po/zh_TW.po  | 111 ++++++++++++++++++++++++++++--------------------------
+ 38 files changed, 2167 insertions(+), 2053 deletions(-)
+
+commit 47758ee8ed6c87c33629308b8f7b5818485e367a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 13 00:48:54 2017 -0600
+
+    put versions back to last release
+
+ configure.ac | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit e6fa78f6f03ba6f6e97f1d93cbf7f1288681c7b3
+Merge: d129564b 42921623
+Author: Brian Bidulock <bidulock@openss7.com>
+Date:   Wed Sep 13 06:46:29 2017 +0000
+
+    Merge pull request #169 from
+    Code7R/feature/proposal_removing_legacy_xft_support
+
+    Dropping support for ancient xft versions
+
+commit d129564b3f9885ea410b47edeba96bee98252042
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Sep 12 23:42:57 2017 -0600
+
+    describe proper XDG_CONFIG_HOME behaviour in man page
+
+ man/icewm.pod | 67 ++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 37 insertions(+), 30 deletions(-)
+
+commit c892aefb979494f27462bc18520e84b71fdbd362
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Sep 12 23:24:22 2017 -0600
+
+    should be dirExists instead of fileExists
+
+ src/yapp.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 09efa510a70ef359f5e7fdbc854002316216eee8
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Sep 12 23:20:10 2017 -0600
+
+    fix incorrect use of XDG_CONFIG_DIR
+
+ src/themes.cc   |  5 +----
+ src/wmapp.cc    |  4 +---
+ src/wmconfig.cc | 10 ----------
+ src/yapp.cc     | 30 ++++++++++--------------------
+ src/yapp.h      |  1 -
+ src/ypaths.cc   | 15 +++++----------
+ 6 files changed, 17 insertions(+), 48 deletions(-)
+
+commit f48f13800de6c1f9aa0b30eb30a35318e1bea8b3
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Sep 12 23:18:37 2017 -0600
+
+    do not need this line in configure.sh
+
+ configure.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 265f6922369dd735909778e8cbd03f89c86249d3
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Sep 11 09:53:35 2017 -0600
+
+    use non-builtin echo
+
+ autogen.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4292162398f2f4f8150d6da4474b2ba2934f09f0
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Sep 11 17:07:31 2017 +0200
+
+    Dropping support for ancient xft versions
+
+ configure.ac       | 21 +++++++--------------
+ src/CMakeLists.txt | 13 ++++++-------
+ src/wmapp.cc       |  2 +-
+ src/yconfig.h      |  2 +-
+ src/yfont.cc       | 38 +++++---------------------------------
+ src/ypaint.cc      | 12 ++++++------
+ src/ypaint.h       |  2 --
+ 7 files changed, 26 insertions(+), 64 deletions(-)
+
+commit 102c7425765d4e2d9d234b2470be4c1070a7b570
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Sep 11 03:28:53 2017 +0000
+
+    some tweaks
+
+ README.md.in | 66 ++++++++++++++++++++++++++++++++------------------------
+ 1 file changed, 38 insertions(+), 28 deletions(-)
+
+commit 0e7386aabadc7c4a9578d42ec880dc2e6249af56
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Sep 11 00:34:09 2017 +0200
+
+    Added a system suspend function trigger
+
+    The user can specify the actual command via SuspendCommand option, i.e.
+    something running a suspend-to-ram or suspend-to-disk script.
+    On Linux, STR (via systemd) is preselected.
+
+    Also added a very basic suspend/sleep mode icon and related action
+    button in the CtrlAltDel dialog.
+
+ lib/icons/suspend_16x16.xpm | 21 +++++++++++++++++++++
+ lib/icons/suspend_32x32.xpm | 37 +++++++++++++++++++++++++++++++++++++
+ src/default.h               |  8 ++++++--
+ src/wmaction.cc             |  3 +++
+ src/wmaction.h              |  6 ++++++
+ src/wmapp.cc                | 12 ++++++++++++
+ src/wmdialog.cc             | 18 +++++++++++++++---
+ src/wmdialog.h              |  1 +
+ src/wmmgr.cc                |  6 +++++-
+ src/wmmgr.h                 |  2 +-
+ 10 files changed, 107 insertions(+), 7 deletions(-)
+
+commit b1477fc01bc22e07b5f3f974f5e9276f6752994a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 10 16:56:07 2017 -0600
+
+    Revert "Remove old debug warning."
+
+    This reverts commit c4faec9b9c3cb4a0d2e3c67e6c757c5587b363f7.
+
+    It is still a valid warning.
+
+ src/icewmbg.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 1d6ab02d9d1ef2dd7a0f98f97af6730df3b771de
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 10 16:54:14 2017 -0600
+
+    Revert "LogoutCommand should not affect the menu entries for Shutdown and"
+
+    This reverts commit 3054d3310324e2c52477c8213e52e2093c8e7e9a.
+
+    It has been that way from the start.
+
+ src/wmdialog.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 13899d3324af2def9729f9d79cf17d9b0d91e6cf
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 10 16:45:32 2017 -0600
+
+    Revert "Remove Atoms which are: not used and defined in X11/Xatom.h."
+
+    This reverts commit 6180b23e36ca4f464b74b38a7f171910778fa578.
+
+    I put them there on purpose.
+
+ src/ywindow.h | 10 ++++++++++
+ src/yxapp.cc  | 22 ++++++++++++++++++++++
+ 2 files changed, 32 insertions(+)
+
+commit eee40077c97886df81d37c9eb4ace98d79757d03
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 10 16:44:59 2017 -0600
+
+    Revert "Remove unused _XA_WM_CLIENT_MACHINE and _XA_NET_WM_OPACITY."
+
+    This reverts commit 3c77983e05c40d52af3b275cace153ba1cfd7876.
+
+    Do not remove my todo list.
+
+ src/wmmgr.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit d016a52641598f0c011bbd3c76df016e5531b4f2
+Merge: f9201986 8f1da162
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 10 16:34:06 2017 -0600
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit f920198678f394b2fbd7cc778a99d5a865bd1cac
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 10 16:33:42 2017 -0600
+
+    more authors
+
+ AUTHORS | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit 80bd1839652202a1f1b5fb028857c228ad450646
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 10 16:32:27 2017 -0600
+
+    add branch to substitution
+
+ autogen.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit c5198bf59d8c5abca991f0fc644298fb296301aa
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 10 16:31:56 2017 -0600
+
+    add links command and disable static libs by default
+
+ configure.ac | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+commit c5b7db5dc8956d7b68b0f65e7fbcec946b172541
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 10 16:29:32 2017 -0600
+
+    adjust default flags for test build
+
+ configure.sh | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit cbdd3ac27d51cd32b2bb2f621cefcefabd5292b3
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 10 16:28:44 2017 -0600
+
+    silent is now default
+
+ rebuild.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit b14bb4f93749a54c7238b466a8eb7e7cf04dc451
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 10 16:28:16 2017 -0600
+
+    update po files
+
+ po/ar.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/be.po     | 76 +++++++++++++++++++++++++++++++------------------------
+ po/bg.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/ca.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/cs.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/da.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/de.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/el.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/en.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/es.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/fi.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/fr.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/he.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/hr.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/hu.po     | 76 +++++++++++++++++++++++++++++++------------------------
+ po/icewm.pot | 77 +++++++++++++++++++++++++++++++-------------------------
+ po/id.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/it.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/ja.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/ko.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/lt.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/lv.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/mk.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/nb.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/nl.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/no.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/pl.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/pt_BR.po  | 75 ++++++++++++++++++++++++++++++------------------------
+ po/ro.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/ru.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/sk.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/sl.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/sv.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/tr.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/uk.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/vi.po     | 75 ++++++++++++++++++++++++++++++------------------------
+ po/zh_CN.po  | 75 ++++++++++++++++++++++++++++++------------------------
+ po/zh_TW.po  | 75 ++++++++++++++++++++++++++++++------------------------
+ 38 files changed, 1599 insertions(+), 1255 deletions(-)
+
+commit 6389c2deed59cda28d375692d30c4be9fc2e0be1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 10 16:27:56 2017 -0600
+
+    do not use literal package name
+
+ README.md.in | 42 +++++++++++++++++++++---------------------
+ 1 file changed, 21 insertions(+), 21 deletions(-)
+
+commit 8f1da1626b024069d45e7b44646721ad04c44d08
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Sep 10 23:39:06 2017 +0200
+
+    Avoid rare crash on shutdown
+
+    Segfault was possible when icewm is existing before any decorated
+    window was shown at least once, due to premature unsetting of some
+    members or insufficient checks.
+
+ src/ypaint.cc | 6 +++---
+ src/yxapp.cc  | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 59434563c1b01d860321f83d3826fc1dd3558bcb
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Sep 10 23:12:01 2017 +0200
+
+    Refactor copy-pasta in CtrlAltDel dialog
+
+ src/wmdialog.cc | 76 ++++++++++++++---------------------------------------
+ src/wmdialog.h  |  1 +
+ 2 files changed, 21 insertions(+), 56 deletions(-)
+
+commit 68d1f4509eafd8d7d9df734e303b2f4652e9972a
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Sep 10 20:37:16 2017 +0200
+
+    Simplifying signature definition
+
+ src/yfont.cc | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+commit c4faec9b9c3cb4a0d2e3c67e6c757c5587b363f7
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 10 14:19:00 2017 +0200
+
+    Remove old debug warning.
+
+ src/icewmbg.cc | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit f49b5d41812415316f593a235677ae8abfcdc756
+Merge: 3054d331 973ea256
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 10 12:59:52 2017 +0200
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit 3054d3310324e2c52477c8213e52e2093c8e7e9a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 10 12:58:40 2017 +0200
+
+    LogoutCommand should not affect the menu entries for Shutdown and
+    Reboot. See issue #167.
+
+ src/wmdialog.cc | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 973ea25694a5188d53b42c52d2674e73458ea8de
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sun Sep 10 12:41:20 2017 +0200
+
+    Pass-through libXt own options without warnings
+
+ src/wmapp.cc | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 3c77983e05c40d52af3b275cace153ba1cfd7876
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 10 11:24:40 2017 +0200
+
+    Remove unused _XA_WM_CLIENT_MACHINE and _XA_NET_WM_OPACITY.
+
+ src/wmmgr.h | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 13269d8e7b6a3f0ac105b9c15048364065a99288
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 10 11:24:08 2017 +0200
+
+    Remove unused occupyMenu and maximizeMenu.
+
+ src/wmapp.h | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 6180b23e36ca4f464b74b38a7f171910778fa578
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 10 10:36:24 2017 +0200
+
+    Remove Atoms which are: not used and defined in X11/Xatom.h.
+
+ src/ywindow.h | 10 ----------
+ src/yxapp.cc  | 22 ----------------------
+ 2 files changed, 32 deletions(-)
+
+commit 4f16d8caa1ee8eaf354dbafa4d90957275853e9a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Sep 9 17:14:08 2017 +0200
+
+    Remove include "config.h" from yarray.h (must be included in .cc).
+
+ src/yarray.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit f1fe31cdd4fa36954550ae6b1c1819410b4214e0
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Sep 9 16:38:49 2017 +0200
+
+    Ensure X11/Xutil.h is included in wmclient.h
+
+ src/wmclient.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 705298f7c81e77768fdd83f99ea91425243900d8
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Sep 9 16:37:44 2017 +0200
+
+    Ensure X11/keysym.h is included in icehelp.
+
+ src/icehelp.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 7c010461aaaf0c0881bfd3434fbd856213e4fd6e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Sep 9 16:36:47 2017 +0200
+
+    Fix ifndef/define WMACTION_H.
+
+ src/wmaction.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit cb2851c179cf424cc4a7c538a056f088507b7dbe
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Sep 9 14:07:52 2017 +0200
+
+    NO_CONFIGURE only applies to preferences options. Other options like
+    --notify must still work when NO_CONFIGURE is defined.
+
+ src/wmapp.cc | 54 ++++++++++++++++++++++++++++++++----------------------
+ 1 file changed, 32 insertions(+), 22 deletions(-)
+
+commit 6107cd8c4b5c5407b2d1f7f95287a911955cfebc
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Sep 9 14:05:42 2017 +0200
+
+    Move OS2 files to contrib/.
+
+ config.cmd => contrib/config.cmd | 0
+ sysdep.os2 => contrib/sysdep.os2 | 0
+ 2 files changed, 0 insertions(+), 0 deletions(-)
+
+commit 325ff026b7dd2f2dc89eb6e505ae02f239e4b9fa
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Sep 9 14:02:48 2017 +0200
+
+    Move fd-leak-patch.txt to contrib/.
+
+ fd-leak-patch.txt => contrib/fd-leak-patch.txt | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+
+commit 64088b306be43e600edc79ba38a951354a73c4d5
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Sep 7 16:54:49 2017 -0600
+
+    md no like bold in tt
+
+ README.md.in | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+commit 9717942078296beacb8ce4339928d7263a559baf
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Sep 7 16:53:14 2017 -0600
+
+    highlight manpages different
+
+ README.md.in | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+commit a8d25bd676c156bd87ac544e021dc8510583b337
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Sep 7 10:55:16 2017 -0600
+
+    s/COMPLIANCE/CONFORMING TO/
+
+ man/icewmtray.pod | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 59cf786706b67a26d39e3df47742b7fb513c208f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Sep 7 10:54:40 2017 -0600
+
+    working up icewm-menu-gnome2 manpage
+
+ man/icewm-menu-gnome2.pod | 59 +++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 57 insertions(+), 2 deletions(-)
+
+commit 48eddc284e6f199e71de8b8b621b7dabccf1a511
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Sep 7 10:54:23 2017 -0600
+
+    working up icewm-menu-fdo manpage
+
+ man/icewm-menu-fdo.pod | 57 ++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 55 insertions(+), 2 deletions(-)
+
+commit 57db510d12bf4843b8c54d2f498600ad8666729d
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Sep 7 05:04:35 2017 -0600
+
+    conditionally install utility manual pages
+
+ man/Makefile.am | 31 ++++++++++++++++++++++++++-----
+ 1 file changed, 26 insertions(+), 5 deletions(-)
+
+commit 94c866da5cd2ec5adfdee4789b8be7b003a37aa7
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Sep 7 04:53:51 2017 -0600
+
+    add icewm-menu-gnome2 manual page
+
+ man/icewm-menu-gnome2.pod | 53 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 53 insertions(+)
+
+commit a1888a733279e41f968a4de5fab323dc701b285e
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Sep 7 04:50:52 2017 -0600
+
+    complete the icewm-theme manual page
+
+ man/icewm-theme.pod | 45 ++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 32 insertions(+), 13 deletions(-)
+
+commit 4bde14cec83adc22a6a8493c2a7f70e4d88e2f88
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Sep 7 03:24:59 2017 -0600
+
+    reference manual pages
+
+ README.md.in | 35 +++++++++++++++++++++--------------
+ 1 file changed, 21 insertions(+), 14 deletions(-)
+
+commit 0bf2d7407e8bc7493b9fce2814dee745f4ff126d
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Sep 7 03:24:42 2017 -0600
+
+    typo
+
+ README.md | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 392502e290519cf0f39aeac5f790f0f5d5d87873
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Sep 7 03:10:10 2017 -0600
+
+    add examples section
+
+ man/icewm-prefoverride.pod | 2 ++
+ man/icewm-shutdown.pod     | 2 ++
+ man/icewm-startup.pod      | 2 ++
+ man/icewm-theme.pod        | 2 ++
+ 4 files changed, 8 insertions(+)
+
+commit fc368f8f9cce19ccde2c2f3b68a40b16428ea478
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Sep 7 03:07:26 2017 -0600
+
+    update search path
+
+ man/icewm-env.pod          |  8 ++++++--
+ man/icewm-focus_mode.pod   | 17 +++++++++++++++--
+ man/icewm-keys.pod         |  8 ++++++--
+ man/icewm-menu.pod         |  8 ++++++--
+ man/icewm-preferences.pod  |  8 ++++++--
+ man/icewm-prefoverride.pod |  8 ++++++--
+ man/icewm-programs.pod     |  8 ++++++--
+ man/icewm-shutdown.pod     |  8 ++++++--
+ man/icewm-startup.pod      |  8 ++++++--
+ man/icewm-theme.pod        |  8 ++++++--
+ man/icewm-toolbar.pod      |  8 ++++++--
+ man/icewm-winoptions.pod   |  8 ++++++--
+ 12 files changed, 81 insertions(+), 24 deletions(-)
+
+commit bcbcea91c128c0afa25a9e68b0daa43be67eebee
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Sep 7 02:52:21 2017 -0600
+
+    complete icewm-env manual page
+
+ man/icewm-env.pod | 16 +++++++++++++---
+ 1 file changed, 13 insertions(+), 3 deletions(-)
+
+commit e2ef30b0112c5120211fc46a0c44c761a3de8aa1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 19:25:40 2017 -0600
+
+    add description to winoptions manpage
+
+ man/icewm-winoptions.pod | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit ea0775d3d83bfb4df156ed08923cbe19d9ebd4e1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 19:25:23 2017 -0600
+
+    add description to toolbar manpage
+
+ man/icewm-toolbar.pod | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+commit 1778bc6a98d48ad94204c8807fcc1b9e533311a6
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 19:25:07 2017 -0600
+
+    add description to theme manpage
+
+ man/icewm-theme.pod | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit 77ad6060632cd9f523dfee292a72ac31f3cc0329
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 19:24:53 2017 -0600
+
+    add description to startup manpage
+
+ man/icewm-startup.pod | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit ab0b119de869c3de89824655fca1143258bffedf
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 19:24:37 2017 -0600
+
+    add description to shutdown manpage
+
+ man/icewm-shutdown.pod | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 4bcaf068e0d62ee9ce4c423945dcb7bc14fb6418
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 19:24:21 2017 -0600
+
+    add description to programs manpage
+
+ man/icewm-programs.pod | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit ee33f4557ce812eb6ba8004b63c77ce766d41981
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 19:24:06 2017 -0600
+
+    add description to prefoverride manpage
+
+ man/icewm-prefoverride.pod | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 0c99708bdc5a8b78c14a3a8744f4e44ef8e5ea59
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 19:23:49 2017 -0600
+
+    add description to preferences manpage
+
+ man/icewm-preferences.pod | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit ded3d1622a77883cf17818fc318fe91f6fda486f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 19:23:31 2017 -0600
+
+    add description to menu manpage
+
+ man/icewm-menu.pod | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 0252e63f057b27f810073013b993f4ec8ea40959
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 19:23:14 2017 -0600
+
+    add description to keys manpage
+
+ man/icewm-keys.pod | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit 50efe5dfdbb63913d2658747e9733c187df44421
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 19:22:57 2017 -0600
+
+    add description to focus_mode manpage
+
+ man/icewm-focus_mode.pod | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 60e2e2d594cedf88ac40ffe784f7c788dbd64b48
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 19:22:42 2017 -0600
+
+    add description to env manpage
+
+ man/icewm-env.pod | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 2aefcfe428af12b91598c95f93ec403de33adb9b
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 19:17:33 2017 -0600
+
+    cross reference manual pages
+
+ man/icewm.pod | 74 +++++++++++++++++++++++++++++++++++++++++++------------
+ 1 file changed, 58 insertions(+), 16 deletions(-)
+
+commit 078b2a421f002b59eaca40028b4e8dd682f37a0e
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 19:17:00 2017 -0600
+
+    add new manpages to makefile
+
+ man/Makefile.am | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 6f2f8ae322b45d32706315f52a9dc9c92cf9f9a6
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 19:16:29 2017 -0600
+
+    add manual pages for minor configuration files
+
+ man/icewm-env.pod          | 40 ++++++++++++++++++++++++++++++++++++++++
+ man/icewm-focus_mode.pod   | 40 ++++++++++++++++++++++++++++++++++++++++
+ man/icewm-prefoverride.pod | 40 ++++++++++++++++++++++++++++++++++++++++
+ man/icewm-shutdown.pod     | 40 ++++++++++++++++++++++++++++++++++++++++
+ man/icewm-startup.pod      | 41 +++++++++++++++++++++++++++++++++++++++++
+ man/icewm-theme.pod        | 40 ++++++++++++++++++++++++++++++++++++++++
+ 6 files changed, 241 insertions(+)
+
+commit 5a5bf49a6476d3d38559b333bebdd66e7c437bf1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 17:41:11 2017 -0600
+
+    add more themables
+
+ doc/icewm.adoc | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 4f0a22b9948fe7bb5e001fbab1399d168d388653
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 17:40:27 2017 -0600
+
+    quiet down makefiles
+
+ Makefile.am     | 28 ++++++++++++++--------------
+ doc/Makefile.am |  2 +-
+ man/Makefile.am |  4 ++--
+ src/Makefile.am |  2 +-
+ 4 files changed, 18 insertions(+), 18 deletions(-)
+
+commit a83e97d6b31f4c4896a9b5414921c13f472e89b1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 21:53:24 2017 +0000
+
+    more themables
+
+ man/icewm-preferences.pod | 64 ++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 63 insertions(+), 1 deletion(-)
+
+commit 013f3fbfccf2386c0d71f76632af3883d35bc502
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 21:35:01 2017 +0000
+
+    describe themable
+
+ man/icewm-preferences.pod | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 0fd29ee098f05e6217afc4749562236199e00ca2
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 21:22:45 2017 +0000
+
+    document missing borders
+
+ doc/icewm.adoc | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 20760f6647ed95a28894a59f6dc5cc7042283866
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 21:22:31 2017 +0000
+
+    document borders
+
+ man/icewm-preferences.pod | 52 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 52 insertions(+)
+
+commit 9fc989ad9f8aeecb8561032a6a4402cf32538c31
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Sep 6 22:19:10 2017 +0200
+
+    clarify setBorder configureRequest.
+
+ src/base.h     | 10 ++++++++++
+ src/wmframe.cc |  4 +++-
+ 2 files changed, 13 insertions(+), 1 deletion(-)
+
+commit 558c648cbd5ec49cfec66e32bdf3259ba213846f
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Sep 6 22:16:04 2017 +0200
+
+    XQueryTree may fail, so ensure winClients is properly initialized.
+
+ src/wmmgr.cc | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 600eedc2bf47b9ea866eafa2961462ed17be874a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Sep 6 22:15:37 2017 +0200
+
+    Support HTML special double quotes.
+
+ src/icehelp.cc | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit e4a4f622e55fd81f1a0f10c6e07b019d71e971dd
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 10:46:01 2017 -0600
+
+    add fonts to manual
+
+ doc/icewm.adoc | 52 +++++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 41 insertions(+), 11 deletions(-)
+
+commit 570e67a439fca997dff336c9aa2208df27c2cd47
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 10:45:50 2017 -0600
+
+    add fonts to manual page
+
+ man/icewm-preferences.pod | 118 ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 118 insertions(+)
+
+commit e70129f06f6903c2adae0186eff07f540a53aebd
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 10:45:37 2017 -0600
+
+    add descriptions for fonts
+
+ src/themable.h | 38 +++++++++++++++++++-------------------
+ 1 file changed, 19 insertions(+), 19 deletions(-)
+
+commit be3e4846e62690d2d9d09289c5ab43eb80d0309f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 10:20:44 2017 -0600
+
+    a couple more colors
+
+ doc/icewm.adoc            |  2 ++
+ man/icewm-preferences.pod | 12 ++++++++++--
+ 2 files changed, 12 insertions(+), 2 deletions(-)
+
+commit b1b87237118f92d48d4eb395d38661fef252596c
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 10:19:45 2017 -0600
+
+    reverse descriptions
+
+ src/icewmbg_prefs.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 85d2f74f378d85e4c72cf90ef22a8de2138ab9b5
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 10:16:10 2017 -0600
+
+    add color documentation
+
+ doc/icewm.adoc            |  88 ++++++++++-
+ man/icewm-preferences.pod | 349 ++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 435 insertions(+), 2 deletions(-)
+
+commit 2018c751b864b748bb1a9cb381634f5c2f396cba
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 10:15:57 2017 -0600
+
+    add crossref
+
+ man/icewmbg.pod | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 23e33b22bcae791aba1327c7599d5867279487f6
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 09:51:51 2017 -0600
+
+    reorder background items
+
+ doc/icewm.adoc            |  8 ++++----
+ man/icewm-preferences.pod | 24 ++++++++++++------------
+ man/icewmbg.pod           | 10 ++++++++--
+ 3 files changed, 24 insertions(+), 18 deletions(-)
+
+commit 72534639bf4c8562c713c6fc738aa6f6b6d14b3a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 09:44:47 2017 -0600
+
+    s/Transparancy/Transparency/
+
+ doc/icewm.adoc            | 4 ++--
+ man/icewm-preferences.pod | 4 ++--
+ src/icewmbg.cc            | 4 ++--
+ src/icewmbg_prefs.h       | 4 ++--
+ 4 files changed, 8 insertions(+), 8 deletions(-)
+
+commit 0f45486f34e2604392f77ceaa38afb637d4dcba1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 09:40:24 2017 -0600
+
+    document desktop background
+
+ doc/icewm.adoc            | 12 ++++++++----
+ man/icewm-preferences.pod | 41 ++++++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 48 insertions(+), 5 deletions(-)
+
+commit 7008817ace878efc6ec1472b7707bdd9a60938ad
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 09:32:12 2017 -0600
+
+    asciidoc make poor manual pages
+
+ doc/Makefile.am | 15 ++-------------
+ 1 file changed, 2 insertions(+), 13 deletions(-)
+
+commit 7489c4b132eaf5f07f0660fe632332f256c364f4
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 00:10:47 2017 -0600
+
+    add command preferences
+
+ man/icewm-preferences.pod | 106 ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 106 insertions(+)
+
+commit d264e09ee3e5708b9b31edec60a61c0ff26207cc
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 00:10:30 2017 -0600
+
+    add more missing preferences
+
+ doc/icewm.adoc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 1e66108d8de47c109006ab19c2c959b4f6f1b1be
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Sep 5 22:32:14 2017 -0600
+
+    correction
+
+ doc/icewm.adoc | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit e16ec8f15ccd2da9468b0a4b57ec7f0cf525bfdd
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Sep 5 22:29:47 2017 -0600
+
+    split out and add menus preferences
+
+ doc/icewm.adoc | 18 +++++++++++++++---
+ 1 file changed, 15 insertions(+), 3 deletions(-)
+
+commit c8f7158ddf420b16c5bb2d86e184cccfc506baa1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Sep 5 22:22:12 2017 -0600
+
+    include more preferences
+
+ man/icewm-preferences.pod | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit edf98991bb9545c066c648f7ed0a225c1a7600a0
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Sep 5 22:21:55 2017 -0600
+
+    add more missing preferences
+
+ doc/icewm.adoc | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 8611d039a6590e4a3aae757a567d21e3c6d58dbe
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Sep 5 22:13:03 2017 -0600
+
+    document more preferences
+
+ man/icewm-preferences.pod | 72 +++++++++++++++++++++++++++++++++----------
+ 1 file changed, 56 insertions(+), 16 deletions(-)
+
+commit 5801234d16b12ad39fb16ec7675d481bb18ead24
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Sep 5 22:12:49 2017 -0600
+
+    more missing preferences
+
+ doc/icewm.adoc | 23 +++++++++++++++++++----
+ 1 file changed, 19 insertions(+), 4 deletions(-)
+
+commit 735cb994d56987bd8d23e83e671aece1f3b717f5
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 03:57:13 2017 +0000
+
+    document timing preferences
+
+ man/icewm-preferences.pod | 46 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+commit 00d50cc688560da2d9a10b85863c8f0cec1c33e5
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 03:56:50 2017 +0000
+
+    add more preferences
+
+ doc/icewm.adoc | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 5bbf94107188614efe91682e76b519156f7b7850
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 02:18:13 2017 +0000
+
+    working up preferences man page
+
+ man/icewm-preferences.pod | 98 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 98 insertions(+)
+
+commit e20920389bbe6ae2c9a86b10345480a3d0f4394c
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Sep 6 02:17:45 2017 +0000
+
+    add more preferences
+
+ doc/icewm.adoc | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+commit 943cc9355118410f7830bf6b58b9fccf0786afb6
+Author: Dmitry Semyonov <linulin@gmail.com>
+Date:   Mon Sep 4 20:07:11 2017 +0300
+
+    Properly reserve taskbar area in vertical dualhead configurations
+
+    Prevents windows placement under the taskbar when TaskBarAtTop=0, and fixes
+    placement of maximized windows on lower screen when TaskBarAtTop=1.
+
+ src/wmtaskbar.cc | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+commit 55518d3d635618a64c202cea73ddc4cb301e5a6b
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Sep 4 20:56:48 2017 -0600
+
+    regroup and add more preferences
+
+ man/icewm-preferences.pod | 68 ++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 55 insertions(+), 13 deletions(-)
+
+commit 4f2b8826e592aba3aed1a1c54edd654147f95b35
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Sep 4 20:56:13 2017 -0600
+
+    regroup and add missing preferences
+
+ doc/icewm.adoc | 96 +++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 52 insertions(+), 44 deletions(-)
+
+commit fa9bd6bf5ec95dd25994860c8a483843a9d7389d
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Sep 4 20:27:07 2017 +0000
+
+    add menu preferences
+
+ man/icewm-preferences.pod | 59 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 59 insertions(+)
+
+commit c55346d1f40770e3e147d7cfe6c82cc4592c814c
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Sep 4 20:15:39 2017 +0000
+
+    oops
+
+ doc/icewm.adoc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 313c97e81638561ff59eeed0e6ee315bc290e13a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Sep 4 20:14:07 2017 +0000
+
+    add missing preferences
+
+ doc/icewm.adoc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit c81b63cf1bc336bc3aab30bbb65c93f7ea51aaa7
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Sep 4 20:13:40 2017 +0000
+
+    add task bar preferences
+
+ man/icewm-preferences.pod | 84 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 84 insertions(+)
+
+commit 37c0fb75057d55a245021f35861a5cc4940ff06a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Sep 4 19:31:46 2017 +0000
+
+    add more preferences
+
+ man/icewm-preferences.pod | 90 +++++++++++++++++++++----------------------
+ 1 file changed, 44 insertions(+), 46 deletions(-)
+
+commit 6e1e337dc122ff7a0a6a654fb2e303b167def513
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Sep 4 19:31:20 2017 +0000
+
+    add missing preferences
+
+ doc/icewm.adoc | 51 +++++++++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 43 insertions(+), 8 deletions(-)
+
+commit 95a90d4e069e3685c6c75ab989df64d754b98119
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Sep 4 08:40:15 2017 +0000
+
+    working up icewm-preferences man page
+
+ man/icewm-preferences.pod | 402 ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 402 insertions(+)
+
+commit 4e2ab85f9af5d9f88a03c50e483ab4f25b2171f1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Sep 4 04:59:08 2017 +0000
+
+    update po files
+
+ po/ar.po     | 198 +++++++++++++++++++++++++++++------------------------
+ po/be.po     | 201 +++++++++++++++++++++++++++++-------------------------
+ po/bg.po     | 201 +++++++++++++++++++++++++++++-------------------------
+ po/ca.po     | 200 +++++++++++++++++++++++++++++------------------------
+ po/cs.po     | 203 +++++++++++++++++++++++++++++-------------------------
+ po/da.po     | 198 +++++++++++++++++++++++++++++------------------------
+ po/de.po     | 204 ++++++++++++++++++++++++++++++-------------------------
+ po/el.po     | 201 +++++++++++++++++++++++++++++-------------------------
+ po/en.po     | 197 +++++++++++++++++++++++++++++------------------------
+ po/es.po     | 201 +++++++++++++++++++++++++++++-------------------------
+ po/fi.po     | 201 +++++++++++++++++++++++++++++-------------------------
+ po/fr.po     | 202 +++++++++++++++++++++++++++++-------------------------
+ po/he.po     | 198 +++++++++++++++++++++++++++++------------------------
+ po/hr.po     | 198 +++++++++++++++++++++++++++++------------------------
+ po/hu.po     | 203 +++++++++++++++++++++++++++++-------------------------
+ po/icewm.pot | 199 +++++++++++++++++++++++++++++------------------------
+ po/id.po     | 203 +++++++++++++++++++++++++++++-------------------------
+ po/it.po     | 203 +++++++++++++++++++++++++++++-------------------------
+ po/ja.po     | 200 +++++++++++++++++++++++++++++------------------------
+ po/ko.po     | 201 +++++++++++++++++++++++++++++-------------------------
+ po/lt.po     | 202 +++++++++++++++++++++++++++++-------------------------
+ po/lv.po     | 201 +++++++++++++++++++++++++++++-------------------------
+ po/mk.po     | 201 +++++++++++++++++++++++++++++-------------------------
+ po/nb.po     | 201 +++++++++++++++++++++++++++++-------------------------
+ po/nl.po     | 204 ++++++++++++++++++++++++++++++-------------------------
+ po/no.po     | 201 +++++++++++++++++++++++++++++-------------------------
+ po/pl.po     | 201 +++++++++++++++++++++++++++++-------------------------
+ po/pt_BR.po  | 203 +++++++++++++++++++++++++++++-------------------------
+ po/ro.po     | 198 +++++++++++++++++++++++++++++------------------------
+ po/ru.po     | 202 +++++++++++++++++++++++++++++-------------------------
+ po/sk.po     | 203 +++++++++++++++++++++++++++++-------------------------
+ po/sl.po     | 201 +++++++++++++++++++++++++++++-------------------------
+ po/sv.po     | 198 +++++++++++++++++++++++++++++------------------------
+ po/tr.po     | 201 +++++++++++++++++++++++++++++-------------------------
+ po/uk.po     | 204 ++++++++++++++++++++++++++++++-------------------------
+ po/vi.po     | 201 +++++++++++++++++++++++++++++-------------------------
+ po/zh_CN.po  | 201 +++++++++++++++++++++++++++++-------------------------
+ po/zh_TW.po  | 201 +++++++++++++++++++++++++++++-------------------------
+ 38 files changed, 4157 insertions(+), 3479 deletions(-)
+
+commit 085a8ca3c8b1fe90b282b952cb273304104fa3aa
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Sep 4 04:58:05 2017 +0000
+
+    start icewm-preferences manual page
+
+ man/icewm-preferences.pod | 17 ++++++++++++-----
+ 1 file changed, 12 insertions(+), 5 deletions(-)
+
+commit cba655643920284eacae215656d5a4872f6451da
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Sep 4 04:57:53 2017 +0000
+
+    correction
+
+ man/icewm-keys.pod | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f7b3fba883e428b5bb0276707dc9928feb612073
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Sep 4 04:54:50 2017 +0000
+
+    complete icewm-keys manual page
+
+ man/icewm-keys.pod | 82 +++++++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 77 insertions(+), 5 deletions(-)
+
+commit ab040fb990ff505b5b94b7dab5b60ba4099f9e53
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Mon Sep 4 04:35:43 2017 +0000
+
+    proper section 5 title
+
+ man/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 121c5419c1e5cfc81ce6b42013cd5db0cc082726
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 3 22:16:37 2017 +0200
+
+    use False instead of 0.
+
+ src/wmcontainer.cc | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 6231c4f224f64249891afbc413bd547bd56e1215
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 3 22:15:52 2017 +0200
+
+    Before exec or exit XFlush suffices.
+
+ src/wmapp.cc | 4 ++--
+ src/yxapp.cc | 3 +--
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+commit bbc9e9d5db938c1b6359ec975471294ef18e7968
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 3 21:22:24 2017 +0200
+
+    Remove 2 superfluous XSyncs.
+
+ src/wmmgr.cc | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+commit f7ae5a4bb9231eab68324c637b17ddd0287333f6
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 3 21:20:57 2017 +0200
+
+    No need for XSync when this is implicit in a subsequent function call.
+
+ src/atasks.cc   | 1 -
+ src/movesize.cc | 3 ---
+ 2 files changed, 4 deletions(-)
+
+commit 266425e66d97094b2692c3ea3a0e15218c2f8ca1
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 3 21:18:47 2017 +0200
+
+    Give each help page its own resource class name.
+
+ src/wmprog.cc | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+commit 8e87473aedff6f71ce9930832a7a6e942be8635b
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 3 21:17:08 2017 +0200
+
+    Add the word "Manual" to the title to more easily differentiate it
+    from manpages.
+
+ doc/icewm.adoc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 76371c3d4421048c55d95436eaea22a9e65c93d7
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 3 20:49:57 2017 +0200
+
+    undo inadvertent DEBUG define
+
+ src/yapp.cc | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit b5e7831fd3be22215644a4466a406a6e8e12659e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 3 19:46:42 2017 +0200
+
+    rename ignore_enternotify_hack to EnterNotifySerial and put in class
+    YWindow.
+
+ src/wmframe.cc   | 14 ++++++--------
+ src/wmtaskbar.cc | 10 +++++-----
+ src/yapp.cc      |  1 +
+ src/ywindow.cc   | 21 +++++++++++----------
+ src/ywindow.h    |  3 +++
+ 5 files changed, 26 insertions(+), 23 deletions(-)
+
+commit 3301bc2ce96b04772c11daf29798d341c5a79a98
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 3 19:42:48 2017 +0200
+
+    Inline zerotime. Remove coarse timers (too coarse).
+
+ src/ytimer.cc | 24 +++---------------------
+ src/ytimer.h  |  3 ++-
+ 2 files changed, 5 insertions(+), 22 deletions(-)
+
+commit 01e2589a927db18f337c7ca88fe273f1a371fca1
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 3 19:41:34 2017 +0200
+
+    enable translations for registerProtocols.
+
+ src/wmapp.cc | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 11944e3eb028adfe2a2c8a2493488430be84eaf7
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 3 08:14:40 2017 +0000
+
+    complete icewm-programs manual page
+
+ man/icewm-programs.pod | 185 +++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 180 insertions(+), 5 deletions(-)
+
+commit 7ad7e6f691fc864146ec308cc105390b3875caf5
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 3 08:14:20 2017 +0000
+
+    complete icewm-menu manual page
+
+ man/icewm-menu.pod | 131 +++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 126 insertions(+), 5 deletions(-)
+
+commit 5c2e059048cc08ea4e955b70bc2290937af751a6
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 3 07:25:00 2017 +0000
+
+    provide toolbar file manual page
+
+ man/icewm-toolbar.pod | 70 +++++++++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 65 insertions(+), 5 deletions(-)
+
+commit d282964ef0a716d589a8677e50483d4c7e756936
+Merge: b01371e6 7e7621f1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 3 06:20:19 2017 +0000
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit b01371e65655db0070dfca06f54df07c4c3c734c
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 3 06:20:08 2017 +0000
+
+    compact icewm-winoptions manual page
+
+ man/icewm-winoptions.pod | 228 ++++++++++---------------------------------
+ 1 file changed, 50 insertions(+), 178 deletions(-)
+
+commit 15e1536bfb15551e8a5db1deaa1ae86e0a19510c
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 3 06:19:43 2017 +0000
+
+    minor changes
+
+ man/icewmhint.pod | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7e7621f120428894d9d5602fe4ed3b965e7569e7
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 3 07:00:15 2017 +0200
+
+    Document new behavior of the -r, --restart option.
+
+ doc/icewm.1.adoc | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+commit f0b6ac5e1e7469aa93024ff489f1f1a95b21bf39
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 3 06:49:07 2017 +0200
+
+    Make the icewm -r, --restart flag restart the running icewm.
+
+ src/wmapp.cc | 20 +++++++++++++++-----
+ 1 file changed, 15 insertions(+), 5 deletions(-)
+
+commit 85cfc606f5f0985340d6b014f5bdeb78a1a4dc79
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 3 06:35:58 2017 +0200
+
+    Make doWMAction static so we can use it elsewhere without a manager.
+
+ src/wmmgr.cc | 4 ++--
+ src/wmmgr.h  | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 3be71da119cf7cb1ba5e548eae19eebe9b2973a9
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Sep 3 06:34:55 2017 +0200
+
+    Add root() to xapp to easily get the X Root window.
+
+ src/ywindow.cc | 8 ++++----
+ src/yxapp.cc   | 2 +-
+ src/yxapp.h    | 1 +
+ 3 files changed, 6 insertions(+), 5 deletions(-)
+
+commit eb417bc95274a3706401ecbef8a8da77c9aaa5b9
+Merge: 7d728fb3 ce7bd9f0
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 3 03:49:36 2017 +0000
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit 7d728fb31f0fc5ae384e1d8d5cf37b9dc6963dc4
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Sep 3 03:47:54 2017 +0000
+
+    compact icewmhint manual page
+
+ man/icewmhint.pod | 348 +++++++++++++-------------------------------------
+ 1 file changed, 91 insertions(+), 257 deletions(-)
+
+commit ce7bd9f019b2f844744a9702e5950d72568c966e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Sep 2 22:41:11 2017 +0200
+
+    Better fix for ledPixSpace being only 1 pixel wide.
+
+ src/aclock.cc | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit ff06f8b55a1e07494e35a567f2fa29ddfe4904ee
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Sep 2 07:42:54 2017 +0000
+
+    complete winoptions file manual page
+
+ man/icewm-winoptions.pod | 356 ++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 350 insertions(+), 6 deletions(-)
+
+commit 379149e7e2faed46760644ebb14b90f9bf18c441
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Sep 2 05:15:49 2017 +0000
+
+    build/inst configuration file man pages
+
+ man/Makefile.am | 42 +++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 35 insertions(+), 7 deletions(-)
+
+commit b8af21030f6b2cbb6d8c42627a70064ed1d36124
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Sep 2 05:14:45 2017 +0000
+
+    add manual pavge for winoptions file
+
+ man/icewm-winoptions.pod | 35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+commit 7dbb219bf73efe1a59003b07ff8bf1179302597f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Sep 2 05:14:25 2017 +0000
+
+    add manual page for toolbar file
+
+ man/icewm-toolbar.pod | 35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+commit 298b3069223cbae1eb8550d05561ae2227ee3a8d
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Sep 2 05:14:05 2017 +0000
+
+    add manual page for programs file
+
+ man/icewm-programs.pod | 35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+commit 83176a7af981d8870cbd72cd0eb0753791e1656d
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Sep 2 05:13:47 2017 +0000
+
+    add manual page for preferences file
+
+ man/icewm-preferences.pod | 35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+commit 3caa9fb5322fe2dbbcb6a1a1d588e7605acf490f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Sep 2 05:13:30 2017 +0000
+
+    add manual page for menu file
+
+ man/icewm-menu.pod | 35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+commit aee905941d45a2598436a232b2cf038f0678bb3f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Sep 2 05:13:13 2017 +0000
+
+    add manual page for keys file
+
+ man/icewm-keys.pod | 35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+commit 3803a3db630970dd915b12404d3a39267814d923
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Sep 2 05:12:55 2017 +0000
+
+    more manual updates
+
+ man/icewmhint.pod | 38 ++++++++++++++++++++++++++------------
+ 1 file changed, 26 insertions(+), 12 deletions(-)
+
+commit ae331839209c4c7964d09d61f1f0c6535a021cae
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Sep 2 03:55:29 2017 +0000
+
+    more icewmhint manual page workup
+
+ man/icewmhint.pod | 116 ++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 113 insertions(+), 3 deletions(-)
+
+commit cd763a9576b802258b6230824df34f601142d086
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Sep 2 03:28:17 2017 +0000
+
+    more work in icewmhint manual page
+
+ man/icewmhint.pod | 37 ++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 36 insertions(+), 1 deletion(-)
+
+commit db0c3083067f6b30904fcf461f490bf0c722e7d0
+Merge: 328daae3 e22ce840
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Sep 1 21:11:44 2017 -0600
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit 328daae37cfe823a6a70a5ab862bf3f1890e31a1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Sep 1 21:11:26 2017 -0600
+
+    do not change VERSION or configure.ac
+
+ VERSION      |  2 +-
+ configure.ac | 10 +++++-----
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+commit 34229c12e6467dd4f4e3b81fd90b1769f62e3c56
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Sep 1 21:08:43 2017 -0600
+
+    working up icewmhint manual page
+
+ VERSION           |   2 +-
+ configure.ac      |  10 +--
+ man/icewmhint.pod | 171 +++++++++++++++++++++++++++++++++++++++++++++++++-
+ 3 files changed, 174 insertions(+), 9 deletions(-)
+
+commit e22ce8401c0d18965aa5f9b66297e4739fdbbd38
+Author: Eduard Bloch <blade@debian.org>
+Date:   Fri Sep 1 21:37:32 2017 +0200
+
+    Fix declaration of assert function
+
+ src/icesound.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+commit 97823a66fbd821c148a69ff69d0381f7dda09b75
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Aug 31 23:44:04 2017 +0000
+
+    complete icewmtray manual page
+
+ man/icewmtray.pod | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+commit a312e96cb848f299881aded85984e80b8a999581
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Aug 31 16:38:01 2017 -0600
+
+    more work on icewmtray manual page
+
+ man/icewmtray.pod | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 83beb68fdd6d355e48abd96c652a0e833fd2ef84
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Aug 31 15:47:18 2017 -0600
+
+    working up icewmtray manual page
+
+ man/icewmtray.pod | 35 +++++++++++++++++++++++++++++++++--
+ 1 file changed, 33 insertions(+), 2 deletions(-)
+
+commit 2c0282774051fd9b16d02285aeffacb36767cba4
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Aug 31 13:49:12 2017 -0600
+
+    complete icesh manual page
+
+ man/icesh.pod | 84 ++++++++++++++++++++++++++++++++++++++-----------------
+ 1 file changed, 58 insertions(+), 26 deletions(-)
+
+commit a52cd14a143a1c81ac61f51a2557e5646e8bb13b
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Aug 31 13:33:01 2017 -0600
+
+    building up icesh manual page
+
+ man/icesh.pod | 125 ++++++++++++++++++++++++++++++++----------------------
+ 1 file changed, 74 insertions(+), 51 deletions(-)
+
+commit 9f859af20e7aca39efd758eca923fd9d323d284a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Aug 31 09:46:20 2017 -0600
+
+    more updates to icesh manual page
+
+ man/icesh.pod | 113 +++++++++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 82 insertions(+), 31 deletions(-)
+
+commit 0a2a609d31c05afa1e512a660be2d9f5f08e6f10
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Aug 31 05:30:46 2017 -0600
+
+    working up icesh manual page
+
+ man/icesh.pod | 124 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 123 insertions(+), 1 deletion(-)
+
+commit 199b657cb436943a6c1398bcd8a4ed26439ca1da
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Aug 31 04:45:09 2017 -0600
+
+    syntax error
+
+ man/icewm.pod | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 099fbefe91c75b4960c2a06d3c76e912f95e6a99
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Aug 31 04:44:36 2017 -0600
+
+    strap in icehelp manual page
+
+ man/icehelp.pod | 19 +++++++++++++++++--
+ 1 file changed, 17 insertions(+), 2 deletions(-)
+
+commit a569631c9dd223d78ff1973704a434692b9eee1a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Aug 31 00:51:35 2017 -0600
+
+    comaplete icesound manual page
+
+ man/icesound.pod | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 150 insertions(+), 1 deletion(-)
+
+commit 6955d2d4daec387b3c2a39698cbdbbbc5f17a92b
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Aug 31 00:33:08 2017 -0600
+
+    strap in manual page for icewmbg
+
+ man/icewmbg.pod | 142 +++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 141 insertions(+), 1 deletion(-)
+
+commit 68549fe748a74a558f2b043f5361d5f4c2c6a5bc
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:26:21 2017 -0600
+
+    add standard usage option to icewmtray manual page
+
+ man/icewmtray.pod | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit 28abfe396746f394f4c595064c4ed69a9cc9f6d1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:26:08 2017 -0600
+
+    add standard usage option to icewmhint manual page
+
+ man/icewmhint.pod | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit c6c5dac733aa206b0eb97b202a1691169561fe04
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:25:55 2017 -0600
+
+    add standard usage option to icewmbg manual page
+
+ man/icewmbg.pod | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit eb494559c9757d82db56fca1491527457737d99e
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:25:40 2017 -0600
+
+    add standard usage option to icewm-set-gnomewm manual page
+
+ man/icewm-set-gnomewm.pod | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit e7da683817cd5c0de08551d82c7c3ee231988f08
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:25:20 2017 -0600
+
+    add standard usage option to icewm-session manual page
+
+ man/icewm-session.pod | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit 8064ad76215519923aea7a23bbad164b53076906
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:25:01 2017 -0600
+
+    add standard usage option to icewm-menu-fdo manual page
+
+ man/icewm-menu-fdo.pod | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit 8fa51108b9a58907d11b83f8a836ae0fb3521d2a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:24:41 2017 -0600
+
+    add standard usage option to icesound manual page
+
+ man/icesound.pod | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit b191d256af35b530b084b294a2de1fa17adac0a9
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:24:30 2017 -0600
+
+    add standard usage option to icesh manual page
+
+ man/icesh.pod | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit aed6d5d4ae16eea9b1cb13f48866e65329d59e2d
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:24:16 2017 -0600
+
+    add standard usage option to icehelp manual page
+
+ man/icehelp.pod | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit e140336ded813622841ea1f22e0a32758186ad28
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:18:02 2017 -0600
+
+    sort manual pages alphabetic
+
+ man/Makefile.am | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+commit 541c4668a65618969882d0c30b3012bd19011523
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:17:10 2017 -0600
+
+    add icewm-set-gnomewm manual page to Makefile
+
+ man/Makefile.am | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 32667ea1b08f21a5ba25a460e63b6ecca8610ef1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:16:36 2017 -0600
+
+    add icewm-set-gnomewm manual page
+
+ man/icewm-set-gnomewm.pod | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+commit d0f6d47ff8bc927935dad3374ac17f529467ba85
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:15:04 2017 -0600
+
+    add icewwm-menu-fdo manual page
+
+ man/Makefile.am | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit c9867f718b993c4352792f9de00b17d919b6fc50
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:14:15 2017 -0600
+
+    add icewm-menu-fdo manual page
+
+ man/icewm-menu-fdo.pod | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+commit 844593cbd331e8108892a230729276ad01f51924
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:12:52 2017 -0600
+
+    add icewmhint manual page to makefile
+
+ man/Makefile.am | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 0a222e7b9d9b5152d1f04279d40f9a80461de06b
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:12:10 2017 -0600
+
+    add icewmhint manual page
+
+ man/icewmhint.pod | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+commit a3f1e5054142be978062fb81bbb1de3c69468444
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:10:56 2017 -0600
+
+    add icehelp manual page to makefile
+
+ man/Makefile.am | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 1448d3b8ef2a12885715f015b287e91efb87b436
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:10:19 2017 -0600
+
+    add icehelp manual page
+
+ man/icehelp.pod | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+commit e1e3591141d04b9aa8793befb91da25794ddb71c
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:09:28 2017 -0600
+
+    add icesh manual page to makefile
+
+ man/Makefile.am | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit a0299b8e75a47b1a7af7319ad82f06f4984a2a86
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:09:01 2017 -0600
+
+    add icesh manual page
+
+ man/icesh.pod | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+commit 50825bdc965566e68033a210661a7d90888070c5
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:07:10 2017 -0600
+
+    add icesound manual page to makefile
+
+ man/Makefile.am | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 78078498dcd18db6694f522f077ba9c8251481cf
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:06:34 2017 -0600
+
+    add icesound manual page
+
+ man/icesound.pod | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+commit 962913d5751b2842b42720cc3e4d7f75eb112e1c
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:05:25 2017 -0600
+
+    add icewmtray manual page to makefile
+
+ man/Makefile.am | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 3aac2badd1efcf4fd24d23931a84fde42228f53f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:04:48 2017 -0600
+
+    add icewmtray manual page
+
+ man/icewmtray.pod | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+commit 59f17deb883a3170a386af9214eb2b280e161621
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:02:58 2017 -0600
+
+    add icewm-session manual page to makefile
+
+ man/Makefile.am | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit c8a7446cf5298dfd08c6de4ac1a7c58dee9d95a1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:02:19 2017 -0600
+
+    add icewm-session manual page
+
+ man/icewm-session.pod | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+commit 31d7e66d12c86ab03b1d6283d018e119aaa7f321
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 23:01:06 2017 -0600
+
+    use package name
+
+ man/icewm.pod | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e284e7f9f7d28c6df1a0772f240cfd3a8965f0cf
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 22:59:50 2017 -0600
+
+    spelling
+
+ man/icewmbg.pod | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 461b00d1dbd4b5e11264e862cdaac518d0ae3ac5
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 22:59:14 2017 -0600
+
+    add icewmbg to makefile
+
+ man/Makefile.am | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 95c3ee3007e1ba7de8613858d5b1cef88d730c6f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 22:58:30 2017 -0600
+
+    add skeleton for icewmbg manual page
+
+ man/icewmbg.pod | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+commit 05d5e6f0537a1be9c5da0ecf6abc5973233f162f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 22:57:58 2017 -0600
+
+    ignore file for this directory
+
+ man/.gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 790d149e1b5e1416dfb06e91a19398a920ea6baf
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 22:55:18 2017 -0600
+
+    yet another correction
+
+ man/icewm.pod | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 7d6906a5f85df90efcc60f72c40c4cd0ca8bf1db
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 22:53:34 2017 -0600
+
+    another correction
+
+ man/icewm.pod | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 30cf44c64e824073b66282e3df5616ef46d88cfd
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 22:46:04 2017 -0600
+
+    add manual page directory to make
+
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 213467af599a859d30f32110296cb3df5b8bc553
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 22:45:36 2017 -0600
+
+    add manual makefile to configure
+
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 365be7679187012d45d7999efe669c339ad3d7d1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 22:42:51 2017 -0600
+
+    add initial pod file for icewm
+
+ man/icewm.pod | 1036 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 1036 insertions(+)
+
+commit a71ec83456b2b8de036b5a05bfa0851b36975e7f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 22:40:10 2017 -0600
+
+    add makefile for manual pages
+
+ man/Makefile.am | 25 +++++++++++++++++++++++++
+ 1 file changed, 25 insertions(+)
+
+commit a2b1df26165f4465eace70db729eeb712154fbad
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 19:15:47 2017 -0600
+
+    proper references
+
+ doc/icewm.1.adoc | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+commit 5017dfe7d82c7fc9947e427caab39e41dc2e3d21
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 19:11:15 2017 -0600
+
+    correct name
+
+ doc/icewm.1.adoc | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+commit cb525beb3ea5476a5d0f9af4998623bf66509109
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 19:10:09 2017 -0600
+
+    not correct
+
+ doc/icewm.1.adoc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 67f3e07fae30be83839a7a0aa528014c6b2d620e
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 18:47:50 2017 -0600
+
+    distribute manual pages
+
+ doc/Makefile.am | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+commit b27f9c989b9c93be5d574e9b65e3ddf1c4d21d78
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 18:46:55 2017 -0600
+
+    more ignores
+
+ .gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 57bdc67a9082ab03db9f7f5ec4ab4bd275ef1439
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 18:45:42 2017 -0600
+
+    update po files
+
+ po/ar.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/be.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/bg.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/ca.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/cs.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/da.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/de.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/el.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/en.po     | 90 +++++++++++++++++++++++++++++++++++++++---------------
+ po/es.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/fi.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/fr.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/he.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/hr.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/hu.po     | 93 +++++++++++++++++++++++++++++++++++++++++---------------
+ po/icewm.pot | 92 +++++++++++++++++++++++++++++++++++++++----------------
+ po/id.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/it.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/ja.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/ko.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/lt.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/lv.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/mk.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/nb.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/nl.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/no.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/pl.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/pt_BR.po  | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/ro.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/ru.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/sk.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/sl.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/sv.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/tr.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/uk.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/vi.po     | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/zh_CN.po  | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ po/zh_TW.po  | 91 +++++++++++++++++++++++++++++++++++++++---------------
+ 38 files changed, 2509 insertions(+), 951 deletions(-)
+
+commit 3a0021d222b94476e125d3c0d05e3e480f720f02
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 17:57:24 2017 -0600
+
+    asciidoc -D option only applies to html
+
+ doc/Makefile.am | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+commit f086a897cc99409c64d5810556341f09f93285a1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 17:56:00 2017 -0600
+
+    suppress warnings
+
+ src/yapp.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit a6b7aa87425c4585ffd2d4fa0e58705d6705bd53
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 17:55:15 2017 -0600
+
+    Revert "suppress warnings on open files"
+
+    This reverts commit 7063a5a1913180d25ce1d08daf0ee9b6f0fac213.
+
+ AUTHORS      |    2 +-
+ ChangeLog    | 8780 ++++++++++++++++++++++++++++++++++--------------------
+ NEWS         |  281 +-
+ README.md    |   43 +-
+ VERSION      |    2 +-
+ configure.ac |   10 +-
+ src/yapp.cc  |    2 -
+ 7 files changed, 5602 insertions(+), 3518 deletions(-)
+
+commit 7063a5a1913180d25ce1d08daf0ee9b6f0fac213
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 17:54:44 2017 -0600
+
+    suppress warnings on open files
+
+ AUTHORS      |    2 +-
+ ChangeLog    | 8154 +++++++++++++++++++-----------------------------------
+ NEWS         |  281 +-
+ README.md    |   43 +-
+ VERSION      |    2 +-
+ configure.ac |   10 +-
+ src/yapp.cc  |    2 +
+ 7 files changed, 3205 insertions(+), 5289 deletions(-)
+
+commit f9349d3b34401db51b802ed4639afce961785070
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 30 17:42:11 2017 -0600
+
+    Revert "Let icewm-session close unwanted file descriptors on startup
+    without making any disturbing noise. See issue #165."
+
+    This reverts commit 40ebc8d29b10ef8cb2f5a04565ddc1073ec782bc.
+
+ src/icesm.cc |  1 -
+ src/yapp.cc  | 42 ++++++++++++++++++++----------------------
+ src/yapp.h   |  2 +-
+ 3 files changed, 21 insertions(+), 24 deletions(-)
+
+commit bbab9e54ff18b5dc8ec24d19f083017814a67c11
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Aug 30 20:30:45 2017 +0200
+
+    Update for icesound --play and list of sounds (dialogs).
+
+ doc/icesound.1.adoc | 8 +++++---
+ doc/icewm.1.adoc    | 2 ++
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+commit 994715a0e99ce5fdcc9a9374dee35955efdaa11a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Aug 30 20:30:03 2017 +0200
+
+    Close OSS device when done.
+
+ src/icesound.cc | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 40ebc8d29b10ef8cb2f5a04565ddc1073ec782bc
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Aug 30 12:43:21 2017 +0200
+
+    Let icewm-session close unwanted file descriptors on startup without
+    making any disturbing noise. See issue #165.
+
+ src/icesm.cc |  1 +
+ src/yapp.cc  | 42 ++++++++++++++++++++++--------------------
+ src/yapp.h   |  2 +-
+ 3 files changed, 24 insertions(+), 21 deletions(-)
+
+commit 04d2a558ebb9ab56e9fbae9b182210eea5158c35
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Tue Aug 29 01:43:33 2017 +0000
+
+    dashify gennews
+
+ gennews.sh | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+commit 2ff785f2bf41d582df5bb4bbeca2704df4ea70ed
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 27 16:29:55 2017 +0200
+
+    cmake for the new OSS.
+
+ src/CMakeLists.txt    | 21 ++++++++++++---------
+ src/config.cmake.h.in |  3 ++-
+ 2 files changed, 14 insertions(+), 10 deletions(-)
+
+commit ee85eca0d9f27b370d3219306003d7eee3c0c75f
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 27 12:41:44 2017 +0200
+
+    Fully support OSS.
+
+ doc/icesound.1.adoc | 10 ++++------
+ 1 file changed, 4 insertions(+), 6 deletions(-)
+
+commit 7aafba53a4e7ea60059fea8fb383ad156b967364
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 27 12:36:47 2017 +0200
+
+    Add proper support for the OSS audio interface.
+
+ src/icesound.cc | 162 +++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 121 insertions(+), 41 deletions(-)
+
+commit 3dba50b748e3ab5ad3e1825464bbdb99fb0e1c50
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 27 12:35:32 2017 +0200
+
+    New OSS requires sndfile and sys/soundcard.h.
+
+ configure.ac | 21 +++++++++++++--------
+ 1 file changed, 13 insertions(+), 8 deletions(-)
+
+commit b4cb06ecbcc562faf56717312f0d2b20ba1bd7fe
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Aug 26 05:36:24 2017 +0000
+
+    should fix #162 anyway
+
+ autogen.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 35c4265e71ede01529bb8dc16d09bfbb909296db
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Aug 26 05:02:21 2017 +0200
+
+    Fix AO for single channel sound files. Add --play to easily test sounds.
+
+ src/icesound.cc | 73 +++++++++++++++++++++++++++++++++++++++++------------
+ 1 file changed, 57 insertions(+), 16 deletions(-)
+
+commit 2633f439a14fa678f9d26a95f2d4653e7827766b
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Aug 26 05:01:37 2017 +0200
+
+    install _mandir/man1/*
+
+ icewm.spec.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit ab962e379777d25222a0fb3761179e825dcb1682
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Aug 25 14:44:15 2017 -0600
+
+    add version to statement
+
+ README.md.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 107e1cea355751a1fd9f244c908f371e26facdca
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Aug 25 14:40:32 2017 -0600
+
+    add ignore
+
+ .gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 439a995219cecaac07f5be38c0080d1edb59f873
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Aug 25 14:38:56 2017 -0600
+
+    restore README.md to previous release version
+
+ README.md | 43 +++++++++++++++++++------------------------
+ 1 file changed, 19 insertions(+), 24 deletions(-)
+
+commit 71dbef0e608be8eade703e2a9b9740bcdf519e3e
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Aug 25 14:30:05 2017 -0600
+
+    update AUTHORS file
+
+ AUTHORS | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+commit 0f34aab54435a28c6622979424d9cf4995b4f822
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Aug 25 14:28:58 2017 -0600
+
+    update po files
+
+ po/ar.po     | 720 ++++++++++++++++++++++++++++++-----------------------
+ po/be.po     | 734 +++++++++++++++++++++++++++++++-----------------------
+ po/bg.po     | 728 ++++++++++++++++++++++++++++++-----------------------
+ po/ca.po     | 730 +++++++++++++++++++++++++++++++-----------------------
+ po/cs.po     | 735 +++++++++++++++++++++++++++++++-----------------------
+ po/da.po     | 726 ++++++++++++++++++++++++++++++-----------------------
+ po/de.po     | 735 +++++++++++++++++++++++++++++++-----------------------
+ po/el.po     | 733 +++++++++++++++++++++++++++++++-----------------------
+ po/en.po     | 639 +++++++++++++++++++++++++----------------------
+ po/es.po     | 733 +++++++++++++++++++++++++++++++-----------------------
+ po/fi.po     | 723 ++++++++++++++++++++++++++++++-----------------------
+ po/fr.po     | 736 +++++++++++++++++++++++++++++++-----------------------
+ po/he.po     | 696 +++++++++++++++++++++++++++++----------------------
+ po/hr.po     | 669 +++++++++++++++++++++++++++----------------------
+ po/hu.po     | 732 +++++++++++++++++++++++++++++++-----------------------
+ po/icewm.pot | 641 +++++++++++++++++++++++++----------------------
+ po/id.po     | 733 +++++++++++++++++++++++++++++++-----------------------
+ po/it.po     | 735 +++++++++++++++++++++++++++++++-----------------------
+ po/ja.po     | 742 ++++++++++++++++++++++++++++++++-----------------------
+ po/ko.po     | 726 ++++++++++++++++++++++++++++++-----------------------
+ po/lt.po     | 738 +++++++++++++++++++++++++++++++-----------------------
+ po/lv.po     | 726 ++++++++++++++++++++++++++++++-----------------------
+ po/mk.po     | 728 ++++++++++++++++++++++++++++++-----------------------
+ po/nb.po     | 727 ++++++++++++++++++++++++++++++-----------------------
+ po/nl.po     | 733 +++++++++++++++++++++++++++++++-----------------------
+ po/no.po     | 727 ++++++++++++++++++++++++++++++-----------------------
+ po/pl.po     | 728 ++++++++++++++++++++++++++++++-----------------------
+ po/pt_BR.po  | 735 +++++++++++++++++++++++++++++++-----------------------
+ po/ro.po     | 726 ++++++++++++++++++++++++++++++-----------------------
+ po/ru.po     | 727 ++++++++++++++++++++++++++++++-----------------------
+ po/sk.po     | 733 +++++++++++++++++++++++++++++++-----------------------
+ po/sl.po     | 726 ++++++++++++++++++++++++++++++-----------------------
+ po/sv.po     | 727 ++++++++++++++++++++++++++++++-----------------------
+ po/tr.po     | 723 ++++++++++++++++++++++++++++++-----------------------
+ po/uk.po     | 732 +++++++++++++++++++++++++++++++-----------------------
+ po/vi.po     | 728 ++++++++++++++++++++++++++++++-----------------------
+ po/zh_CN.po  | 717 ++++++++++++++++++++++++++++++-----------------------
+ po/zh_TW.po  | 722 ++++++++++++++++++++++++++++++-----------------------
+ 38 files changed, 15772 insertions(+), 11677 deletions(-)
+
+commit 9cc55d5059964cd590de9ee661b9083567a4f320
+Author: Eduard Bloch <blade@debian.org>
+Date:   Fri Aug 25 20:35:11 2017 +0200
+
+    Fix build failure on kFreeBSD
+
+    Also prevent warnings there by moving some variables closer to their usage.
+
+ src/aapm.cc | 32 +++++++++++++++-----------------
+ 1 file changed, 15 insertions(+), 17 deletions(-)
+
+commit 913de56b8646e89101ecfdbed73e802da8308837
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Aug 25 18:38:40 2017 +0200
+
+    Better explain how to add a toolbar button. See issue #163.
+
+ doc/icewm.1.adoc | 17 ++++++++++++-----
+ 1 file changed, 12 insertions(+), 5 deletions(-)
+
+commit bf26416a129e833b1d5766dd878b852bfd581d75
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Aug 25 18:38:27 2017 +0200
+
+    Update for -z, -l.
+
+ doc/icesound.1.adoc | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 542f11006fbc4ae92a824c09f468afa0b24d6265
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Aug 25 18:36:09 2017 +0200
+
+    If sound could not be played then don't ignore next event.
+    Add -z ad -l options. Support geDialogOpened and geDialogClosed.
+    Report which audio interface is used if verbose.
+
+ src/icesound.cc | 79 +++++++++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 58 insertions(+), 21 deletions(-)
+
+commit 7dd8048a6a498e38a7af5feddbb6786dd3516fb8
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Aug 25 18:35:40 2017 +0200
+
+    Also support geDialogClosed and geDialogOpened GUI events.
+
+ src/guievent.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit c66d721e268882978f43a1b39af375113ce8a760
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Aug 25 18:34:16 2017 +0200
+
+    Also support geDialogClosed and geDialogOpened GUI events.
+    Don't generate a geWindowLower GUI event when the window is minimized,
+    otherwise geWindowMin will be overwritten and missed by icesound.
+    See issue #159.
+
+ src/wmframe.cc | 13 ++++++++++---
+ 1 file changed, 10 insertions(+), 3 deletions(-)
+
+commit 1e3d118971d205be5526faa467da04556a54c92c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Aug 25 18:33:09 2017 +0200
+
+    When signalling GUI events:
+    The first event must be geStartup, Ignore all other events before that.
+    Because there is no event buffering, when multiple events occur in a
+    burst, only signal the first event of the burst.
+    See issue #159.
+
+ src/wmapp.cc | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+commit 4813c2c82bf39274606bd49e60fb8087381a91a9
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Aug 25 18:32:16 2017 +0200
+
+    Let tlog also report milliseconds.
+
+ src/misc.cc | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+commit bfc65e2ea8630ce392fae392d4f7af571bf2a11b
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Aug 25 18:30:56 2017 +0200
+
+    Start icesound before icewm so it can catch the geStartup event.
+
+ src/icesm.cc | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit f5cf45ab37c8c4771681a2bfb85194e48086026e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Aug 25 18:30:17 2017 +0200
+
+    Use tlog for MSG reports.
+
+ src/debug.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9510e404d500f6beedf96fa4f83d5e32496c88fd
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Aug 25 18:28:56 2017 +0200
+
+    When ledPixSpace is 1 pixel wide then replicate it 5 times per space.
+
+ src/aclock.cc | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit f6e545e8e65ae0a9902e4aaaa9c3e2db4aecd43a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Aug 24 23:55:49 2017 +0200
+
+    Docked iterator simplifies 8 loops.
+
+ src/yxtray.cc | 53 ++++++++++++++++++++---------------------------------
+ src/yxtray.h  |  4 +++-
+ 2 files changed, 23 insertions(+), 34 deletions(-)
+
+commit 844f19020c6625440c6cb8ecea2062fb2e5f2b5d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Aug 24 23:25:48 2017 +0200
+
+    Only apply TimeFormat hack when it is still equal to '%X'. See issue #159.
+
+ src/aclock.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ea25f6c32dcbae9120558b298081d8589920f0e2
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Aug 24 23:24:15 2017 +0200
+
+    +ledclock, +collapse.xpm, +expand.xpm.
+
+ lib/Makefile.am | 20 +++++++++++++++++++-
+ 1 file changed, 19 insertions(+), 1 deletion(-)
+
+commit 4410c4d81b4128697ee54e566d22a57a2837f652
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Aug 24 21:58:06 2017 +0200
+
+    Update NanoBlue to version 1.2 by SolisX.
+
+ lib/themes/NanoBlue/default.theme                |  33 +--
+ lib/themes/NanoBlue/ledclock/a.xpm               |  71 ++++++
+ lib/themes/NanoBlue/ledclock/colon.xpm           |  38 ++++
+ lib/themes/NanoBlue/ledclock/dot.xpm             |  38 ++++
+ lib/themes/NanoBlue/ledclock/m.xpm               |  56 +++++
+ lib/themes/NanoBlue/ledclock/n0.xpm              |  69 ++++++
+ lib/themes/NanoBlue/ledclock/n1.xpm              |  43 ++++
+ lib/themes/NanoBlue/ledclock/n2.xpm              |  67 ++++++
+ lib/themes/NanoBlue/ledclock/n3.xpm              |  77 +++++++
+ lib/themes/NanoBlue/ledclock/n4.xpm              |  53 +++++
+ lib/themes/NanoBlue/ledclock/n5.xpm              |  67 ++++++
+ lib/themes/NanoBlue/ledclock/n6.xpm              |  78 +++++++
+ lib/themes/NanoBlue/ledclock/n7.xpm              |  61 ++++++
+ lib/themes/NanoBlue/ledclock/n8.xpm              |  79 +++++++
+ lib/themes/NanoBlue/ledclock/n9.xpm              |  83 +++++++
+ lib/themes/NanoBlue/ledclock/p.xpm               |  59 +++++
+ lib/themes/NanoBlue/ledclock/slash.xpm           |  62 ++++++
+ lib/themes/NanoBlue/ledclock/space.xpm           |  38 ++++
+ lib/themes/NanoBlue/taskbar/collapse.xpm         |  74 +++++++
+ lib/themes/NanoBlue/taskbar/desktop.xpm          | 167 ++++++---------
+ lib/themes/NanoBlue/taskbar/expand.xpm           |  74 +++++++
+ lib/themes/NanoBlue/taskbar/icewm.xpm            | 214 ++++++++-----------
+ lib/themes/NanoBlue/taskbar/taskbarbg.xpm        | 121 ++++++-----
+ lib/themes/NanoBlue/taskbar/taskbuttonactive.xpm | 115 ++++++----
+ lib/themes/NanoBlue/taskbar/taskbuttonbg.xpm     | 119 +++++------
+ .../NanoBlue/taskbar/taskbuttonminimized.xpm     | 121 ++++++-----
+ lib/themes/NanoBlue/taskbar/toolbuttonbg.xpm     | 121 ++++++-----
+ lib/themes/NanoBlue/taskbar/windows.xpm          | 156 ++++++--------
+ .../NanoBlue/taskbar/workspacebuttonbg.xpm       | 121 ++++++-----
+ 29 files changed, 1792 insertions(+), 683 deletions(-)
+commit d87695932b9e1117dcb75bf4f5cc86ed59cd5fbd
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Aug 22 21:00:50 2017 +0200
+
+    Enforce that a ref cannot be initialized with a NULL or, but require
+    a null.
+
+ src/ref.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit a24b942393a5d51bd4c39b75f2b2817ec9bc0e17
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Aug 22 20:58:15 2017 +0200
+
+    Don't initialize a ref with NULL, but use null.
+    Free fBrighter and fDarker when YColor is done.
+    Prevent copying YColor.
+    Fix indentation of Graphics::drawSurface.
+    Cleanup and simplify.
+
+ src/ypaint.cc | 99 +++++++++++++++++++++++++++----------------------------
+ src/ypaint.h  | 25 +++++---------
+ 2 files changed, 57 insertions(+), 67 deletions(-)
+
+commit a01218d208f80ad009c4bb6d635e1f81d656819f
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Aug 22 20:57:23 2017 +0200
+
+    Don't initialize a ref with NULL, but use null.
+
+ src/wmswitch.cc  | 2 +-
+ src/wmtaskbar.cc | 2 +-
+ src/ydialog.cc   | 2 +-
+ src/ylistbox.cc  | 2 +-
+ src/ymenu.cc     | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+commit 3c69fdd08c13fe6fa865cdd7a7bdf5da57fc98ec
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 20 23:29:21 2017 +0200
+
+    Move obsolete sources to attic and have make distcheck OK!
+
+ src/{ => attic}/ycmdline.cc | 0
+ src/{ => attic}/ycmdline.h  | 0
+ src/{ => attic}/yimage.cc   | 0
+ src/{ => attic}/ylibrary.cc | 0
+ src/{ => attic}/ylibrary.h  | 0
+ src/{ => attic}/ypixbuf.cc  | 0
+ src/{ => attic}/ypixbuf.h   | 0
+ 7 files changed, 0 insertions(+), 0 deletions(-)
+
+commit 18832a712b874faf9329f24a0d6cf6964bf1c788
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 20 21:53:16 2017 +0200
+
+    AM_INSTALLCHECK_STD_OPTIONS_EXEMPT is no longer needed to make distcheck
+    succesful.
+
+ src/Makefile.am | 11 -----------
+ 1 file changed, 11 deletions(-)
+
+commit b0d2c1274c85abd5e2bdba9d408e1fab138bc8fa
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 20 21:52:18 2017 +0200
+
+    Make --help output go to stdout and exit success.
+
+ src/fdomenu.cc | 20 ++++++++++++++------
+ 1 file changed, 14 insertions(+), 6 deletions(-)
+
+commit a96cb34dd78c435816ac758500a3f40ffe7d6ca7
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 20 21:51:14 2017 +0200
+
+    Redirect the help message output to stdout.
+
+ src/icewmbg.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 04faafa33ab5552a45c7e59ddb0ec33d0a7f26dd
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 20 21:25:52 2017 +0200
+
+    CMake much smaller icewm-session by not linking any X11/font/image libs.
+
+ src/CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 29bf3d8128f5d876bfb897a82505e20f02ef0694
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 20 21:24:41 2017 +0200
+
+    Make icewm-session much smaller by not linking any X11/font/image libs.
+
+ src/Makefile.am | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit ee6e8c9249f548804db27c24773cbc7d1ce53dc0
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 20 21:05:15 2017 +0200
+
+    Add icesound.
+
+ README.md    | 7 +++++--
+ README.md.in | 7 +++++--
+ 2 files changed, 10 insertions(+), 4 deletions(-)
+
+commit 740a2ba7561a5c6ee9f7ad2c15e6f8702a5a1b1d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 20 20:43:51 2017 +0200
+
+    CMake support for generating manpages from AsciiDoc.
+
+ doc/CMakeLists.txt | 141 ++++++++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 121 insertions(+), 20 deletions(-)
+
+commit 88c187d7b42074bac7964fad02feccd086f6eb7c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 20 20:00:19 2017 +0200
+
+    Generate .1 manpages from AsciiDoc.
+
+ doc/Makefile.am | 38 +++++++++++++++++++++++++++++---------
+ 1 file changed, 29 insertions(+), 9 deletions(-)
+
+commit 690c9d74678982df4a7da59305a4340673825905
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 20 19:56:05 2017 +0200
+
+    ASCIIMAN variables for adoc to manpage conversion.
+
+ configure.ac | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+commit ee73e3a83167fd245208ad9645f2c42232de07b0
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 20 18:26:30 2017 +0200
+
+    Add new AsciiDoc manpages icesound.1.adoc icewm.1.adoc icewmbg.1.adoc.
+
+ doc/icesound.1.adoc |  160 +++++++
+ doc/icewm.1.adoc    | 1070 +++++++++++++++++++++++++++++++++++++++++++++++
+ doc/icewmbg.1.adoc  |  164 ++++++++
+ 3 files changed, 1394 insertions(+)
+
+commit a81db00bd4fcb30d618dd828e5767274ffbf67ba
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 20 18:14:31 2017 +0200
+
+    Make distcheck work again by removing obsolete sources src/ycmdline.cc
+    src/yimage.cc src/ylibrary.cc src/ypixbuf.cc.
+
+ po/POTFILES.in | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit c8927283362ec6e3ce883c7b50881bb33b9ee9d8
+Merge: d2c98e53 4c50e7f0
+Author: Brian Bidulock <bidulock@openss7.com>
+Date:   Tue Aug 15 13:15:37 2017 -0600
+
+    Merge pull request #158 from attilakinali/icewm-1-4-BRANCH
+
+    Use byte/s instead of bit/s for NetStatus App tooltip
+
+commit 4c50e7f091839dc458662c9c7fe620d7130531a0
+Author: Attila Kinali <attila@kinali.ch>
+Date:   Tue Aug 15 17:21:08 2017 +0200
+
+    Use byte/s instead of bit/s for NetStatus App tooltip
+
+    Signed-off-by: Attila Kinali <attila@kinali.ch>
+
+ src/apppstatus.cc | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+commit d2c98e53b6fcea5eec042a187cd1d9247f17b403
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Aug 13 22:04:20 2017 -0600
+
+    correct format
+
+ src/ywindow.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 878d3836f6713f7123fb8d5946a6639edc86489a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Aug 13 22:03:13 2017 -0600
+
+    correct format
+
+ src/ywindow.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit fd479683f1cc9cf62a5fb2b7c8250d993fbf6bc3
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Aug 13 22:01:54 2017 -0600
+
+    correct format error
+
+ src/ylocale.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 74f9d0c07db125b18cbdfe26fdcf5d2dfbc956d8
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Aug 13 21:59:42 2017 -0600
+
+    restore device name
+
+ src/icesound.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d33fd32d0bfbd7333e6ff963bd7f34851c265f20
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Aug 13 21:59:06 2017 -0600
+
+    correct format errors
+
+ src/wmmgr.cc | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 166b147bd4d06abf99e52c6295a389894a139118
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Aug 13 21:58:22 2017 -0600
+
+    correct format errors
+
+ src/wmframe.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 2bfdbd341101a30b9728452a5f8539c5fb282a5e
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Aug 13 21:57:32 2017 -0600
+
+    correct warning
+
+ src/wmapp.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 5a37cbecdd37f339222ea2b7378f7ad33dd527ca
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Aug 13 21:40:21 2017 -0600
+
+    O0 useless for debug
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6d0d95b0320c6822a493626e8b5d2168e9cb7978
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Aug 13 20:39:12 2017 -0600
+
+    Revert VERSION
+
+ VERSION | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit b9b07198b03466b58426e6d434a1a61b2718d673
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Aug 13 20:38:53 2017 -0600
+
+    Revert "Updates for upcoming release."
+
+    This reverts commit 5b8e8808ee2fd550ee80c921dcd3a3bb12fa3676.
+
+    Premature.
+
+ AUTHORS        |   10 +-
+ ChangeLog      | 8345 +++++++++++++++++++++++++++++++++-------------------
+ NEWS           |  208 +-
+ README.md      |    2 +-
+ VERSION        |    2 +-
+ po/POTFILES.in |    4 +
+ po/ar.po       |  700 ++---
+ po/be.po       |  714 ++---
+ po/bg.po       |  708 ++---
+ po/ca.po       |  710 ++---
+ po/cs.po       |  715 ++---
+ po/da.po       |  706 ++---
+ po/de.po       |  715 ++---
+ po/el.po       |  713 ++---
+ po/en.po       |  617 ++--
+ po/es.po       |  713 ++---
+ po/fi.po       |  703 ++---
+ po/fr.po       |  714 ++---
+ po/he.po       |  674 ++---
+ po/hr.po       |  647 ++--
+ po/hu.po       |  712 ++---
+ po/icewm.pot   |  621 ++--
+ po/id.po       |  713 ++---
+ po/it.po       |  715 ++---
+ po/ja.po       |  722 ++---
+ po/ko.po       |  706 ++---
+ po/lt.po       |  718 ++---
+ po/lv.po       |  706 ++---
+ po/mk.po       |  708 ++---
+ po/nb.po       |  707 ++---
+ po/nl.po       |  713 ++---
+ po/no.po       |  707 ++---
+ po/pl.po       |  708 ++---
+ po/pt_BR.po    |  715 ++---
+ po/ro.po       |  706 ++---
+ po/ru.po       |  705 ++---
+ po/sk.po       |  713 ++---
+ po/sl.po       |  706 ++---
+ po/sv.po       |  707 ++---
+ po/tr.po       |  703 ++---
+ po/uk.po       |  712 ++---
+ po/vi.po       |  708 ++---
+ po/zh_CN.po    |  697 ++---
+ po/zh_TW.po    |  702 ++---
+ 44 files changed, 16966 insertions(+), 18284 deletions(-)
+
+commit 2faa6548aa7cbeffe4674166a0a9b39413719400
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Aug 13 20:27:10 2017 -0600
+
+    breaks distcheck
+
+ icewm-set-gnomewm | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 0d1bc31d9e42cc335cf3ca155c2c987ce1d6b500
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Aug 13 20:17:47 2017 -0600
+
+    Revert "Move obsolete sources to attic (ycmdline, yimage, ylibrary,
+    ypixbuf)."
+
+    This reverts commit 1df436671c91689329186c4e593f117141199cba.
+
+    Breaks distcheck.
+
+ src/{attic => }/ycmdline.cc | 0
+ src/{attic => }/ycmdline.h  | 0
+ src/{attic => }/yimage.cc   | 0
+ src/{attic => }/ylibrary.cc | 0
+ src/{attic => }/ylibrary.h  | 0
+ src/{attic => }/ypixbuf.cc  | 0
+ src/{attic => }/ypixbuf.h   | 0
+ 7 files changed, 0 insertions(+), 0 deletions(-)
+
+commit 72a1ebf670af410740f2bc45058c786d664f3832
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Aug 13 20:14:53 2017 -0600
+
+    Revert "Make icewm-session much smaller in size by not linking any X11,
+    image or font library."
+
+    This reverts commit 7fb95b28e9e6610679b785ffffc63c1a26a76c1b.
+
+    Breaks distcheck.
+
+ src/CMakeLists.txt |  4 ++--
+ src/Makefile.am    | 12 ++++++++++--
+ 2 files changed, 12 insertions(+), 4 deletions(-)
+
+commit 8f3b1b0bf61c60204dd4093a1a8f0173331a70cc
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Aug 13 20:08:47 2017 -0600
+
+    Revert "Manual pages in AsciiDoc."
+
+    This reverts commit 7ec44f3fe9196f755de4b76b8168ff07ee648050.
+
+    Breaks distcheck.
+
+ doc/icewm.1.adoc   | 1070 ------------------------------------------------
+ doc/icewmbg.1.adoc |  164 --------
+ 2 files changed, 1234 deletions(-)
+
+commit e4403b84b07127fc202e5bbe2f46f0c144abbe85
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Aug 13 20:07:54 2017 -0600
+
+    Revert "Generate manpages and html files from AsciiDoc."
+
+    This reverts commit 8b2b034fb79d9201300b8c2f677c35afef172f1f.
+
+    Breaks distcheck.
+
+ doc/CMakeLists.txt | 140 +++++++------------------------------------------
+ 1 file changed, 20 insertions(+), 120 deletions(-)
+
+commit 322592eb070089309ba28dd5053b7a7972701931
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Aug 13 20:07:44 2017 -0600
+
+    Revert "ASCIIMAN and ASCIIMAN_FORMAT variables for generating manpages
+    from AsciiDoc."
+
+    This reverts commit c48a58a5066e5b2eab1c8246de93ed949b1256b0.
+
+    Breaks distcheck.
+
+ configure.ac | 21 ++++-----------------
+ 1 file changed, 4 insertions(+), 17 deletions(-)
+
+commit 22bba7b4b0f23fac837cd1d521dab4fd0336c58f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Aug 13 20:06:28 2017 -0600
+
+    Revert "Generate manpages + their html from AsciiDoc."
+
+    This reverts commit 01530d7110369e5f1e732dae90c68f2aad097e3b.
+
+    Breaks distcheck.
+
+ doc/Makefile.am | 30 +++++++++---------------------
+ 1 file changed, 9 insertions(+), 21 deletions(-)
+
+commit 3a0e80d02dacf5eac1180d7b80b471c763d5dcf2
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sun Aug 13 20:06:02 2017 -0600
+
+    Revert "icesound manpage and html."
+
+    This reverts commit 57825cea10edd30827dc9bc3add57c5d0681c86c.
+
+    Breaks distcheck.
+
+ doc/CMakeLists.txt  |   4 +-
+ doc/Makefile.am     |   7 +--
+ doc/icesound.1.adoc | 160 ------------------------------------------------
+ 3 files changed, 4 insertions(+), 167 deletions(-)
+
+commit 5b8e8808ee2fd550ee80c921dcd3a3bb12fa3676
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 13 21:28:26 2017 +0200
+
+    Updates for upcoming release.
+
+ AUTHORS        |   10 +-
+ ChangeLog      | 8251 ++++++++++++++++++----------------------------------
+ NEWS           |  208 +-
+ README.md      |    2 +-
+ VERSION        |    2 +-
+ configure.ac   |    4 +-
+ po/POTFILES.in |    4 -
+ po/ar.po       |  700 +++--
+ po/be.po       |  714 +++--
+ po/bg.po       |  708 +++--
+ po/ca.po       |  710 +++--
+ po/cs.po       |  715 +++--
+ po/da.po       |  706 +++--
+ po/de.po       |  715 +++--
+ po/el.po       |  713 +++--
+ po/en.po       |  617 ++--
+ po/es.po       |  713 +++--
+ po/fi.po       |  703 +++--
+ po/fr.po       |  714 +++--
+ po/he.po       |  674 +++--
+ po/hr.po       |  647 ++--
+ po/hu.po       |  712 +++--
+ po/icewm.pot   |  621 ++--
+ po/id.po       |  713 +++--
+ po/it.po       |  715 +++--
+ po/ja.po       |  722 +++--
+ po/ko.po       |  706 +++--
+ po/lt.po       |  718 +++--
+ po/lv.po       |  706 +++--
+ po/mk.po       |  708 +++--
+ po/nb.po       |  707 +++--
+ po/nl.po       |  713 +++--
+ po/no.po       |  707 +++--
+ po/pl.po       |  708 +++--
+ po/pt_BR.po    |  715 +++--
+ po/ro.po       |  706 +++--
+ po/ru.po       |  705 +++--
+ po/sk.po       |  713 +++--
+ po/sl.po       |  706 +++--
+ po/sv.po       |  707 +++--
+ po/tr.po       |  703 +++--
+ po/uk.po       |  712 +++--
+ po/vi.po       |  708 +++--
+ po/zh_CN.po    |  697 +++--
+ po/zh_TW.po    |  702 +++--
+ 45 files changed, 18239 insertions(+), 16921 deletions(-)
+
+commit 6cd522dc9d2478c138bad712eab2b2df6a0ea45e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 13 20:58:34 2017 +0200
+
+    Changes for debug build.
+
+ VERSION            | 2 +-
+ configure.ac       | 4 ++--
+ src/CMakeLists.txt | 2 +-
+ src/icesh.cc       | 8 ++++----
+ src/icesound.cc    | 2 +-
+ src/ylocale.cc     | 2 +-
+ src/ypopup.cc      | 2 +-
+ src/ywindow.cc     | 6 +++---
+ 8 files changed, 14 insertions(+), 14 deletions(-)
+
+commit 4c686a28bf778fed2693a5847996657f951ce3b7
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 13 19:15:12 2017 +0200
+
+    More icesound support.
+
+ doc/icewm.1.adoc |  6 ++++--
+ src/appnames.h   |  4 ++++
+ src/icesm.cc     | 32 +++++++++++++++++++++++++++++++-
+ src/wmprog.cc    |  1 +
+ 4 files changed, 40 insertions(+), 3 deletions(-)
+
+commit 57825cea10edd30827dc9bc3add57c5d0681c86c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 13 19:13:18 2017 +0200
+
+    icesound manpage and html.
+
+ doc/CMakeLists.txt  |   4 +-
+ doc/Makefile.am     |   7 ++-
+ doc/icesound.1.adoc | 160 ++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 167 insertions(+), 4 deletions(-)
+
+commit d2884fc23369e2011e7a9d5ab1a0137375275c9a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 13 14:17:14 2017 +0200
+
+    Update CMake build for icesound with libAO.
+
+ src/CMakeLists.txt    | 6 +++---
+ src/config.cmake.h.in | 3 ++-
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+commit 1df436671c91689329186c4e593f117141199cba
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 13 13:15:30 2017 +0200
+
+    Move obsolete sources to attic (ycmdline, yimage, ylibrary, ypixbuf).
+
+ src/{ => attic}/ycmdline.cc | 0
+ src/{ => attic}/ycmdline.h  | 0
+ src/{ => attic}/yimage.cc   | 0
+ src/{ => attic}/ylibrary.cc | 0
+ src/{ => attic}/ylibrary.h  | 0
+ src/{ => attic}/ypixbuf.cc  | 0
+ src/{ => attic}/ypixbuf.h   | 0
+ 7 files changed, 0 insertions(+), 0 deletions(-)
+
+commit f706ece0317099f88b26976be4a9f680b2fe7ab0
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 13 13:11:12 2017 +0200
+
+    Redesign/rewrite icesound. Try all enabled sound drivers until one
+    works, from AO, ESD, ALSA, OSS, but the order can be specified. Drop
+    support for YIFF. Add support for libAO. Fix support for ALSA. Make class
+    YCommandLine obsolete. Make verbose more usefully verbose. Add -O and -A
+    options. Also check in ~/.config/icewm/sounds/ for audio files. Replace
+    the busy-wait polling with a blocking select. Identify which GUI events
+    are not implemented yet. Update CMake, autoconf/automake and manpage.
+
+ README.md             |    4 +-
+ VERSION               |    2 +-
+ configure.ac          |   35 +-
+ configure.sh          |    2 +-
+ doc/icewm.1.adoc      |   27 +-
+ src/CMakeLists.txt    |   20 +-
+ src/Makefile.am       |   15 +-
+ src/config.cmake.h.in |    1 +
+ src/guievent.h        |   84 +--
+ src/icesound.cc       | 1552 ++++++++++++++++++---------------------------
+ src/wmapp.cc          |    6 +-
+ 11 files changed, 738 insertions(+), 1010 deletions(-)
+
+commit a76e6cc0852a50b5b45b56adf2653cae848f9e32
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 13 13:03:08 2017 +0200
+
+    mstring additions to reduce very-short-lived memory allocations.
+
+ src/mstring.cc | 39 +++++++++++++++++++++++++++++++++++----
+ src/mstring.h  |  5 +++++
+ src/strtest.cc | 20 ++++++++++++++++++++
+ src/ysmapp.cc  |  4 ++--
+ 4 files changed, 62 insertions(+), 6 deletions(-)
+
+commit 1025965b636a717654e438e37edd736c4f40e7dd
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 13 12:56:53 2017 +0200
+
+    Remove superfluous GUI_EVENT_NAMES to prevent a warning.
+
+ src/icewmhint.cc | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 649f80ef6ec73c0bb169cc5f9fc3e34493ceb891
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 13 12:54:59 2017 +0200
+
+    include strings.h for strcasecmp.
+    Make History::get() return a const char*.
+
+ src/icehelp.cc | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit cbd6823658e1e66f48db59fe1812ba7ba2db4d8e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 13 12:51:40 2017 +0200
+
+    Three fixes for correctly drawing taskbarbg.xpm when it is a Gradient.
+    See issue https://github.com/bbidulock/icewm/issues/87.
+
+ src/atasks.cc    |  4 +++-
+ src/wmtaskbar.cc | 10 ++++++----
+ src/wpixres.cc   | 22 ++++++++++------------
+ 3 files changed, 19 insertions(+), 17 deletions(-)
+
+commit bb6922a48404cdbeff1dd6bb9a4ebe77424d9098
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Aug 12 21:26:27 2017 -0600
+
+    Revert "mstring additions to reduce memory allocations."
+
+    This reverts commit c7a56426247982f21aa30c78e8089945cc9d0fe5.
+
+ src/icehelp.cc |  2 +-
+ src/mstring.cc | 39 ++++-----------------------------------
+ src/mstring.h  |  5 -----
+ src/strtest.cc | 20 --------------------
+ src/ysmapp.cc  |  4 ++--
+ 5 files changed, 7 insertions(+), 63 deletions(-)
+
+commit 11fa5d4f1408dc55c076e93e29ce5635f9021cd1
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Aug 12 21:26:24 2017 -0600
+
+    Revert "Fixes for correctly drawing taskbarbg.xpm when it is a Gradient."
+
+    This reverts commit 4846de1bb5ed561d292a347c961982bf6f7d3afd.
+
+ src/atasks.cc    |  4 +---
+ src/wmtaskbar.cc | 10 ++++------
+ src/wpixres.cc   | 22 ++++++++++++----------
+ 3 files changed, 17 insertions(+), 19 deletions(-)
+
+commit aed2cd66bdfc694dd0f5efedc31ae4ca6094b486
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Aug 12 21:26:18 2017 -0600
+
+    Revert "Move obsolete source to attic."
+
+    This reverts commit aca0268bea8a60951589491b4e9020db991a7f02.
+
+ src/{attic => }/ycmdline.cc | 0
+ src/{attic => }/ycmdline.h  | 0
+ src/{attic => }/yimage.cc   | 0
+ src/{attic => }/ylibrary.cc | 0
+ src/{attic => }/ylibrary.h  | 0
+ src/{attic => }/ypixbuf.cc  | 0
+ src/{attic => }/ypixbuf.h   | 0
+ 7 files changed, 0 insertions(+), 0 deletions(-)
+
+commit 57ce0630af07b83124225136ffd6b481a71d5e83
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Aug 12 21:26:10 2017 -0600
+
+    Revert "More sounds info. Add keys example."
+
+    This reverts commit 977e11612d92de5762c0feaab335ec76bafcc536.
+
+ doc/icewm.1.adoc | 27 +--------------------------
+ 1 file changed, 1 insertion(+), 26 deletions(-)
+
+commit 769b955a77521506e86eb0d8947f7af0c9e5346a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Aug 12 21:26:04 2017 -0600
+
+    Revert "Update build for new icesound."
+
+    This reverts commit eabc8bbce744aea42d12a921b2b9f1f67ba458a2.
+
+ VERSION            |  2 +-
+ configure.ac       | 24 ++++++++++++++++--------
+ src/CMakeLists.txt | 14 +++++++++-----
+ src/Makefile.am    | 15 ++++++++-------
+ 4 files changed, 34 insertions(+), 21 deletions(-)
+
+commit ab6873a0e84d991913563d206d10996b82b9bd92
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Aug 12 21:26:01 2017 -0600
+
+    Revert "include strings.h for strcasecmp."
+
+    This reverts commit 8f847f26642ba573f64e404eba5b975bdd20868e.
+
+ src/icehelp.cc | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit 548725bcd0b392e67524988c413076b599d69e28
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Aug 12 21:25:57 2017 -0600
+
+    Revert "GUI_EVENT_NAMES were not used (prevent a warning)."
+
+    This reverts commit 33ddb9981017bd2426e06a08296225fe33e565e1.
+
+ src/icewmhint.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit ad0ea1a94d4f31520b441e99f12893ca5b2c6178
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Aug 12 21:25:38 2017 -0600
+
+    Revert "drop YIFF."
+
+    This reverts commit 9797010a02402d12eacf5977ecc80dba61c84089.
+
+ src/wmapp.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 370951341ba66ddbbac050a9ad8ed18726736bd5
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Aug 12 21:25:23 2017 -0600
+
+    Revert "Redesign/rewrite icesound. Try all enabled sound drivers until one
+    works, from ESD, ALSA, OSS, but the order can be specified. Drop support
+    for YIFF. Fix support for ALSA. Make class YCommandLine obsolete. Make
+    verbose more usefully verbose. Add -O and -A options. Also check in
+    ~/.config/icewm/sounds/ for audio files. Identify which GUI events are
+    not implemented yet."
+
+    This reverts commit 2ba788b58e5ecd844b600d3c0cb4fa67f3445a1c.
+
+ src/guievent.h  |   84 ++-
+ src/icesound.cc | 1406 +++++++++++++++++++++++++++++++++------------------
+ 2 files changed, 942 insertions(+), 548 deletions(-)
+
+commit c7a56426247982f21aa30c78e8089945cc9d0fe5
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 13 00:42:15 2017 +0200
+
+    mstring additions to reduce memory allocations.
+
+ src/icehelp.cc |  2 +-
+ src/mstring.cc | 39 +++++++++++++++++++++++++++++++++++----
+ src/mstring.h  |  5 +++++
+ src/strtest.cc | 20 ++++++++++++++++++++
+ src/ysmapp.cc  |  4 ++--
+ 5 files changed, 63 insertions(+), 7 deletions(-)
+
+commit 4846de1bb5ed561d292a347c961982bf6f7d3afd
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Aug 13 00:33:29 2017 +0200
+
+    Fixes for correctly drawing taskbarbg.xpm when it is a Gradient.
+    See issue https://github.com/bbidulock/icewm/issues/87.
+
+ src/atasks.cc    |  4 +++-
+ src/wmtaskbar.cc | 10 ++++++----
+ src/wpixres.cc   | 22 ++++++++++------------
+ 3 files changed, 19 insertions(+), 17 deletions(-)
+
+commit aca0268bea8a60951589491b4e9020db991a7f02
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Aug 12 00:24:55 2017 +0200
+
+    Move obsolete source to attic.
+
+ src/{ => attic}/ycmdline.cc | 0
+ src/{ => attic}/ycmdline.h  | 0
+ src/{ => attic}/yimage.cc   | 0
+ src/{ => attic}/ylibrary.cc | 0
+ src/{ => attic}/ylibrary.h  | 0
+ src/{ => attic}/ypixbuf.cc  | 0
+ src/{ => attic}/ypixbuf.h   | 0
+ 7 files changed, 0 insertions(+), 0 deletions(-)
+
+commit 977e11612d92de5762c0feaab335ec76bafcc536
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Aug 11 23:59:19 2017 +0200
+
+    More sounds info. Add keys example.
+
+ doc/icewm.1.adoc | 27 ++++++++++++++++++++++++++-
+ 1 file changed, 26 insertions(+), 1 deletion(-)
+
+commit eabc8bbce744aea42d12a921b2b9f1f67ba458a2
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Aug 11 23:58:53 2017 +0200
+
+    Update build for new icesound.
+
+ VERSION            |  2 +-
+ configure.ac       | 24 ++++++++----------------
+ src/CMakeLists.txt | 14 +++++---------
+ src/Makefile.am    | 15 +++++++--------
+ 4 files changed, 21 insertions(+), 34 deletions(-)
+
+commit 8f847f26642ba573f64e404eba5b975bdd20868e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Aug 11 23:57:55 2017 +0200
+
+    include strings.h for strcasecmp.
+
+ src/icehelp.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 33ddb9981017bd2426e06a08296225fe33e565e1
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Aug 11 23:57:25 2017 +0200
+
+    GUI_EVENT_NAMES were not used (prevent a warning).
+
+ src/icewmhint.cc | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 9797010a02402d12eacf5977ecc80dba61c84089
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Aug 11 23:57:09 2017 +0200
+
+    drop YIFF.
+
+ src/wmapp.cc | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit 2ba788b58e5ecd844b600d3c0cb4fa67f3445a1c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Aug 11 23:49:32 2017 +0200
+
+    Redesign/rewrite icesound. Try all enabled sound drivers until one works,
+    from ESD, ALSA, OSS, but the order can be specified. Drop support for
+    YIFF. Fix support for ALSA. Make class YCommandLine obsolete. Make
+    verbose more usefully verbose. Add -O and -A options. Also check in
+    ~/.config/icewm/sounds/ for audio files. Identify which GUI events are
+    not implemented yet.
+
+ src/guievent.h  |   84 +--
+ src/icesound.cc | 1406 ++++++++++++++++++---------------------------------
+ 2 files changed, 548 insertions(+), 942 deletions(-)
+
+commit 7acdedaef6b2540f6263ae74c941dae6d0d8351c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Wed Aug 9 22:47:13 2017 +0200
+
+    Change Menu Help into a submenu with 3 items for all manual pages.
+
+ src/wmprog.cc | 66 ++++++++++++++++++++++++++++++++++++++++---------------
+ src/wmprog.h  |  7 ++++++
+ 2 files changed, 55 insertions(+), 18 deletions(-)
+
+commit a704f3512846af8e1de84ba80698dce43f1d4a83
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Aug 8 21:55:14 2017 +0200
+
+    icewm-session --notray.
+
+ doc/icewm.1.adoc | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 7fb95b28e9e6610679b785ffffc63c1a26a76c1b
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Aug 8 21:52:03 2017 +0200
+
+    Make icewm-session much smaller in size by not linking any X11, image
+    or font library.
+    ylibrary.cc and ylibrary.h are obsolete.
+    Reduce AM_INSTALLCHECK_STD_OPTIONS_EXEMPT programs.
+
+ src/CMakeLists.txt |  4 ++--
+ src/Makefile.am    | 12 ++----------
+ 2 files changed, 4 insertions(+), 12 deletions(-)
+
+commit 3154fefaa1069c5bd7f783b6e6ab4a3d7b4d6f6b
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Aug 8 21:49:40 2017 +0200
+
+    Make icewm-session resilient against a missing icewmtray.
+    Add a --notray option to not start icewmtray.
+    See issue https://github.com/bbidulock/icewm/issues/154.
+
+ src/icesm.cc | 83 ++++++++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 53 insertions(+), 30 deletions(-)
+
+commit 28c7643eeb9f8e7681c715ba4e61a5b15c4c8b26
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Aug 8 21:48:11 2017 +0200
+
+    Have --help and --version exit not with 1, but with 0.
+
+ src/icehelp.cc   | 2 +-
+ src/icesound.cc  | 2 +-
+ src/icewmbg.cc   | 3 ++-
+ src/icewmhint.cc | 2 +-
+ src/misc.cc      | 4 ++--
+ 5 files changed, 7 insertions(+), 6 deletions(-)
+
+commit 2ddcbbfd4957833ce91cbdd2e37aa097152dde2d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Aug 8 21:43:01 2017 +0200
+
+    Move ypaths.h out of yapp.h, because a pure-yapps may not need X11.
+    Include ypaths.h into some C++ files which do need it.
+
+ src/aworkspaces.cc | 2 +-
+ src/wmapp.cc       | 1 +
+ src/wmdialog.cc    | 2 +-
+ src/wmprog.cc      | 3 +--
+ src/yapp.h         | 2 +-
+ src/ycursor.cc     | 1 +
+ src/yicon.cc       | 2 +-
+ src/yprefs.h       | 1 +
+ 8 files changed, 8 insertions(+), 6 deletions(-)
+commit ef3f80af7f4c6ee0fd34f6ac1b9d3ec48bdedc7a
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Aug 5 17:54:10 2017 +0200
+
+    Use case-insensitive sorting for the theme menu
+
+    The collation rules for different locales added "weird" sorting rules to
+    the themes menu. That "problem" has probably existed for a while now but
+    was not noticeable due to too aggressive menu nesting algorithm.
+
+ src/mstring.cc | 7 +++++--
+ src/mstring.h  | 2 +-
+ src/themes.cc  | 4 ++--
+ src/ymenu.cc   | 4 ++--
+ src/ymenu.h    | 2 +-
+ 5 files changed, 11 insertions(+), 8 deletions(-)
+
+commit 18d85d3ae978a8f4a8a8fdf660e05a68508ead08
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Aug 5 13:27:46 2017 +0200
+
+    Fix URL formatting.
+
+ README.md    | 2 +-
+ README.md.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit f521595772fa3384d9d40576753c6bf05d2370b2
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Aug 5 13:22:42 2017 +0200
+
+    Update links to online docs.
+
+ README.md    | 38 ++++++++++++++++++++------------------
+ README.md.in | 12 +++++++-----
+ VERSION      |  2 +-
+ configure.ac |  6 +++---
+ 4 files changed, 31 insertions(+), 27 deletions(-)
+
+commit 0eef32c74e22e27ec823e2eb21fe8cf5e35e2131
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Aug 5 13:12:09 2017 +0200
+
+    Explicitly control which themes are installed.
+
+ lib/CMakeLists.txt | 23 +++++++++++++++++++----
+ 1 file changed, 19 insertions(+), 4 deletions(-)
+
+commit 01530d7110369e5f1e732dae90c68f2aad097e3b
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Aug 5 13:11:22 2017 +0200
+
+    Generate manpages + their html from AsciiDoc.
+
+ doc/Makefile.am | 30 +++++++++++++++++++++---------
+ 1 file changed, 21 insertions(+), 9 deletions(-)
+
+commit c48a58a5066e5b2eab1c8246de93ed949b1256b0
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Aug 5 13:10:47 2017 +0200
+
+    ASCIIMAN and ASCIIMAN_FORMAT variables for generating manpages from
+    AsciiDoc.
+
+ configure.ac | 21 +++++++++++++++++----
+ 1 file changed, 17 insertions(+), 4 deletions(-)
+
+commit 8b2b034fb79d9201300b8c2f677c35afef172f1f
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Aug 5 13:09:57 2017 +0200
+
+    Generate manpages and html files from AsciiDoc.
+
+ doc/CMakeLists.txt | 140 ++++++++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 120 insertions(+), 20 deletions(-)
+
+commit 7ec44f3fe9196f755de4b76b8168ff07ee648050
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Aug 5 13:09:01 2017 +0200
+
+    Manual pages in AsciiDoc.
+
+ doc/icewm.1.adoc   | 1041 ++++++++++++++++++++++++++++++++++++++++++++++++
+ doc/icewmbg.1.adoc |  164 ++++++++
+ 2 files changed, 1205 insertions(+)
+
+commit 9efc87a8e222cd8ae989c661a56bd38523b54be8
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Thu Aug 3 00:19:04 2017 -0600
+
+    update contributing in readme
+
+ CONTRIBUTING.md | 22 +++++++++++++++++++---
+ README.md       | 15 +++++++++++----
+ README.md.in    | 15 +++++++++++----
+ 3 files changed, 41 insertions(+), 11 deletions(-)
+
+commit ce576f14acd924a940f496af03320f58d1d5dd3f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 2 23:56:39 2017 -0600
+
+    more comments on contributing
+
+ CONTRIBUTING.md | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+commit 52ee75edd07fe397fc4bc7ceed785f3830c0a23a
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 2 23:46:56 2017 -0600
+
+    add contributing file per github policy
+
+ CONTRIBUTING.md | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 48 insertions(+)
+
+commit ec0f736cee854062acb74df04daf118201355a49
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 2 23:46:41 2017 -0600
+
+    place correct subdir for version or branch
+
+ README.md | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+commit b13ceed58a3d6f880eee2366f6d0ce8b7d7365ce
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 2 23:43:55 2017 -0600
+
+    substitute branch when generating release files
+
+ Makefile.am | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 2d2dd67b32c912c6f570e515e52334c79ec33115
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 2 23:42:06 2017 -0600
+
+    new default branch
+
+ README.md.in | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 8cb943cffd21ec16f47a707051a93e2788d07193
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 2 23:39:53 2017 -0600
+
+    add branch to readme
+
+ README.md.in | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+commit 27b78dc030e2f039fbe32608acf366e40e42a444
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 2 23:38:59 2017 -0600
+
+    substitute BRANCH for release version or github branch
+
+ autogen.sh | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit d3f7fd3c27b6a8d79df96af9d517e54e7c2fda1c
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 2 23:38:35 2017 -0600
+
+    add a branch to configure.ac
+
+ configure.ac | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 120dc73cad48abfad6290c34d9603eec7bc283d9
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Wed Aug 2 23:38:05 2017 -0600
+
+    new INSTALL file
+
+ INSTALL | 320 ++++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 159 insertions(+), 161 deletions(-)
+
+commit ea2749a75953ca3714e18d3637d7cacde16ba0e9
+Author: Brian Bidulock <bidulock@openss7.com>
+Date:   Wed Aug 2 20:42:56 2017 -0600
+
+    Create CODE_OF_CONDUCT.md
+
+ CODE_OF_CONDUCT.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+commit 8a73a2a010bdd6c1fd3a9cf04fa5875586431f6e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Tue Aug 1 23:38:20 2017 +0200
+
+    Prefer AC_DEFINE/AH_TEMPLATE over AC_DEFINE_UNQUOTED.
+    This gives an #undef instead of a #define to 0, which is what we want.
+
+ configure.ac | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit a1616d450f6a9dbb2f746ca5e1eb120dc0eceb5e
+Author: Eduard Bloch <blade@debian.org>
+Date:   Tue Aug 1 00:05:38 2017 +0200
+
+    Copying the current theme indicator flag to the nested submenu
+
+ src/themes.cc | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+commit 4c5f65eee12b338598d8dbcbdb8374797469c8bd
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Jul 31 23:38:57 2017 +0200
+
+    Recreated/improved original smart theme menu nesting algorithm
+
+ src/themes.cc | 58 ++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 32 insertions(+), 26 deletions(-)
+
+commit c09062266999606521a8fdf35cd58c21a593c0cb
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Jul 31 20:03:10 2017 +0200
+
+    Prevent accidental deletion of potfile
+
+    Since the output file was among regular target (even if not a default
+    dependency), it would be accidentally deleted by the make clean target.
+
+    Working around with a dummy output file.
+
+ po/CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 6fb516ddc1411704b6ac3dcf197fdc5dacfc2fce
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Jul 31 19:53:50 2017 +0200
+
+    Fix Debug build with CMake
+
+ src/CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 78157d56c035f56d665f6fcb10199a053e2353ff
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Jul 31 19:53:33 2017 +0200
+
+    Fix most creepy format errors/warnings in Debug build
+
+ src/misc.cc  | 36 ++++++++++++++++++------------------
+ src/wmapp.cc |  2 +-
+ 2 files changed, 19 insertions(+), 19 deletions(-)
+
+commit ddae2c44635637a63da5512e99ee096bc0af5e47
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Jul 31 19:00:44 2017 +0200
+
+    Minor binary size improvement with -fvisibility=hidden for CMake build
+
+ src/CMakeLists.txt | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+commit fb84975f9e775c646a820dd4fd5e1dae8281845f
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Jul 31 18:55:49 2017 +0200
+
+    Added a dedicated CMake option for LTO enabling
+
+ INSTALL.cmakebuild |  6 ++++--
+ src/CMakeLists.txt | 17 ++++++++++++++++-
+ 2 files changed, 20 insertions(+), 3 deletions(-)
+
+commit 177b22f0a98ceff75fd5f7b297c6693374913202
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Jul 31 23:12:51 2017 +0200
+
+    Also mention HAVE_STRLCPY and HAVE_STRLCAT.
+    Remove obsolete and duplicate defines.
+    Define defines always with a true numeric value of 1.
+
+ src/config.cmake.h.in | 217 ++++++++++++++++++++++------------------------
+ 1 file changed, 104 insertions(+), 113 deletions(-)
+
+commit 28c76e4973571b5805aa59622c291469af56acea
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Jul 31 21:44:02 2017 +0200
+
+    Better fix for HAVE_STRLCPY/HAVE_STRLCAT.
+
+ src/base.h  | 4 ++--
+ src/misc.cc | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 57b8f15fbd67709055c245222b0c20cd27d3c3a1
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Mon Jul 31 21:30:20 2017 +0200
+
+    Changes for ALTLinux which has its own prototypes for strlcpy/strlcat.
+    Also cleanup obsolete AC_FUNC_*s and sort -u the CHECK_FUNCs.
+    Add two AC_RUN_IFELSE to detect correct operations of strlcpy/strcat.
+    Define HAVE_STRLCPY / HAVE_STRLCAT if they do.
+    Don't include our own strlcpy/strlcat if these are defined.
+
+ configure.ac       | 49 ++++++++++++++++++++++++++++++++++++++++---------
+ src/CMakeLists.txt | 19 +++++++------------
+ src/base.h         |  5 +++++
+ src/misc.cc        |  4 ++++
+ 4 files changed, 56 insertions(+), 21 deletions(-)
+
+commit 35092643f93482cdedde2c3bbd2f60814943018d
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Jul 31 18:23:16 2017 +0200
+
+    Fixing all Clang-5 warnings found so far
+
+ src/CMakeLists.txt |  7 ++++++-
+ src/icetray.cc     |  3 ++-
+ src/icewmbg.cc     |  3 ++-
+ src/themes.cc      |  2 +-
+ src/wmtaskbar.cc   |  5 ++++-
+ src/yapp.cc        | 10 +++++-----
+ src/ytimer.cc      |  8 ++++----
+ 7 files changed, 24 insertions(+), 14 deletions(-)
+
+commit 3025c9bbb531abf65f7b8594c64d99254329a39d
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Jul 31 17:51:58 2017 +0200
+
+    Fix CMake build (yarray dependency after recent refactorings)
+
+ src/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e947fdecfa3916a4837de2667dbd155bc83ad4a4
+Merge: ac7770e1 01d7fa76
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Jul 31 17:45:07 2017 +0200
+
+    Merge branch 'icewm-1-4-BRANCH' of https://github.com/bbidulock/icewm
+    into icewm-1-4-BRANCH
+
+commit ac7770e17b6848052d2bf31280f52d405e7afacd
+Author: Eduard Bloch <blade@debian.org>
+Date:   Mon Jul 31 17:38:41 2017 +0200
+
+    Document stamp files, added exception for build dir from CMake build
+    instructions
+
+ .gitignore | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 01d7fa76e50efd4670844274fd1eada3b896a03e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 22:20:39 2017 +0200
+
+    Add some ifdefs/ifndefs to support different configure --enable/--disable
+    option combinations.
+
+ src/icetray.cc  |  2 ++
+ src/icewmbg.cc  | 16 +++++++++++++---
+ src/wmapp.cc    |  7 ++++++-
+ src/wmapp.h     |  2 ++
+ src/wmclient.cc |  2 ++
+ src/wmconfig.cc |  2 ++
+ src/wmframe.cc  |  2 +-
+ src/wmprog.cc   |  2 ++
+ 8 files changed, 30 insertions(+), 5 deletions(-)
+
+commit d7f32c40f9a507e5d659863a13653025302e1a06
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 18:50:21 2017 +0200
+
+    Remove the ifdef CONFIG_GUIEVENTS around "extern YWMApp* wmapp", so that
+    it is always available.
+
+ src/wmapp.h | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 523b8ade53f0e71228c3dcdcb10796edbd322846
+Merge: 54dcb3a9 72eeb820
+Author: gijsbers <gijsbers@users.noreply.github.com>
+Date:   Sun Jul 30 15:13:02 2017 +0200
+
+    Merge pull request #151 from gijsbers/post42
+
+    icewmbg rewrite, UserTime, Focus models, new applet/tray options, etc
+
+commit 72eeb8209a70e8df82990e7dda822708146c837e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:57:45 2017 +0200
+
+    Rewrite icewmbg to support unique colors and images per workspace.
+    Backgrounds are periodically checked for changes on filesystem when
+    switching workspace.
+    New option for one large full multi-head monitor background.
+    Can now also scale an image to fully cover a single monitor.
+    Suppors all configuration options also from the command line.
+
+ src/icewmbg.cc      | 1064 ++++++++++++++++++++++++++++++++---------------
+ src/icewmbg_prefs.h |   52 ++-
+ 2 files changed, 767 insertions(+), 349 deletions(-)
+
+commit 0c34542b2da288595afa4202b854d9036b86b2b3
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:57:24 2017 +0200
+
+    initialize prop before using it.
+
+ src/testnetwmhints.cc | 2 +-
+ src/testwinhints.cc   | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 2edc1a807c8229568ae907bbe67426ad7df2616b
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:56:50 2017 +0200
+
+    Remove globals.
+
+ src/wmabout.cc  | 2 --
+ src/wmabout.h   | 2 --
+ src/wmswitch.cc | 2 --
+ src/wmswitch.h  | 2 --
+ src/ydialog.cc  | 1 -
+ 5 files changed, 9 deletions(-)
+
+commit 3fd8c2c269ec72062fae94e91cc73ca23af09b7c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:55:51 2017 +0200
+
+    No longer include ypixbuf.h.
+
+ src/gnome.cc     | 1 -
+ src/gnome2.cc    | 1 -
+ src/iceicon.cc   | 1 -
+ src/icelist.cc   | 1 -
+ src/wmbutton.cc  | 1 -
+ src/wmwinlist.cc | 2 +-
+ src/ybutton.cc   | 1 -
+ src/yimage.cc    | 1 -
+ src/ylistbox.cc  | 1 -
+ src/ymenu.cc     | 1 -
+ src/ymenuitem.cc | 1 -
+ src/ymenuitem.h  | 1 -
+ src/yxapp.cc     | 3 ++-
+ 13 files changed, 3 insertions(+), 13 deletions(-)
+
+commit eb553e03d30210c845fee3848782c5e3d2b9ac4f
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:53:00 2017 +0200
+
+    We no longer need ypixbuf.cc ypixbuf.h yimage.cc.
+
+ src/CMakeLists.txt | 4 ++--
+ src/Makefile.am    | 3 ---
+ 2 files changed, 2 insertions(+), 5 deletions(-)
+
+commit 982e3a36cedbd0e91fe248f8fd92518761e58667
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:51:08 2017 +0200
+
+    Fix getNetWMStrutPartial. Initialize property data pointer before testing
+    if it is non-null.
+
+ src/wmclient.cc | 50 ++++++++++++++++++++++----------------------------
+ 1 file changed, 22 insertions(+), 28 deletions(-)
+
+commit 8fffcde08e00c8ebdc0a6e70825d9a8fec36fab2
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:50:21 2017 +0200
+
+    Implement UserTime in a separate class with an extra seconds field.
+
+ src/wmframe.cc | 39 ++++++++++++++----------------
+ src/wmframe.h  |  2 +-
+ src/wmmgr.cc   | 69 ++++++++++++++++++++++++++++++------------------------
+ src/wmmgr.h    | 48 +++++++++++++++++++++++++++++++++----
+ 4 files changed, 101 insertions(+), 57 deletions(-)
+
+commit a20aa52678813bfc441da63013558f0a585a2352
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:48:45 2017 +0200
+
+    Create the dialog buttons in the order such that tabbing through them is
+    in reading order left-right-top-to-bottom.
+
+ src/wmdialog.cc | 40 +++++++++++++++++++++-------------------
+ src/wmdialog.h  |  2 --
+ 2 files changed, 21 insertions(+), 21 deletions(-)
+
+commit edad79f50a01db934fe488ff23727338a3cc42cd
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:46:44 2017 +0200
+
+    Don't init a upath with NULL, but use null.
+
+ src/yicon.cc | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 543e90f8eeb011794f6ab251a2c1261876f3ff3d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:46:22 2017 +0200
+
+    remove unused code.
+
+ src/yimage_gdk.cc | 21 ++-------------------
+ 1 file changed, 2 insertions(+), 19 deletions(-)
+
+commit 9fc098f9d05512295ed231210e1fcf3a4afb14b2
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:46:08 2017 +0200
+
+    free when done.
+
+ src/yinput.cc | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+commit 0c91ec97a375b94dbbb77c08a140caa962d2fac7
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:41:25 2017 +0200
+
+    Add 3 more focus models. freeActions() when done. Hide globals behind a
+    function. Restart icewm from same executable location.
+    Don't initialize upath to 0 but to null.
+    If an item could not be added to a menu then free it.
+
+ src/wmaction.cc |  62 ++++++++++++++
+ src/wmaction.h  |   4 +
+ src/wmapp.cc    | 228 ++++++++++++++++++++++++++++++++++++----------------
+ src/wmapp.h     |  32 +++++++-
+ src/wmprog.cc   |  70 ++++++++--------
+ src/wmprog.h    |  10 ++-
+ 6 files changed, 296 insertions(+), 110 deletions(-)
+
+commit d92148b0f18ff6e590ab74c54affb4a7a6e1c755
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:38:33 2017 +0200
+
+    Check if directories are searchable.
+
+ src/ypaths.cc | 10 +++++-----
+ src/ypaths.h  |  6 ++++--
+ 2 files changed, 9 insertions(+), 7 deletions(-)
+
+commit 02f128ee70898c3da4db70bf9941fba62ba487fd
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:35:18 2017 +0200
+
+    timers for mainLoop.
+
+ src/yapp.h | 25 ++++++-------------------
+ 1 file changed, 6 insertions(+), 19 deletions(-)
+
+commit 8d16c0b614ef6d519a88317af0e2d7f2f48bc36d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:25:17 2017 +0200
+
+    Make Graphics smaller/cheaper. Add more precise drawPixmap for speed
+    improvements to large images like backgrounds.
+    Make YDimension use ints to prevent warnings.
+    Remove obsolete CONFIG_ANTIALIASING code.
+
+ src/ypaint.cc | 216 +++++++++++++++++++++---------------------------------
+ src/ypaint.h  |  30 ++++----
+ 2 files changed, 98 insertions(+), 148 deletions(-)
+
+commit 5bdf8c47089e97eadb02cbfeb2c34a627c2212c6
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:23:41 2017 +0200
+
+    Calculate stringOffset just once (clang-analyze).
+
+ src/wmtitle.cc | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+commit 8243ea5b69274ade64e859f3d38e4e0ca2dfc983
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:20:28 2017 +0200
+
+    use getTaskBarBg().
+
+ src/objbar.cc | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+commit 74da279c04aa649930d923a325be1a4777904183
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:18:51 2017 +0200
+
+    Define getTaskBarBg(). Prevent leaks. Details.
+
+ src/icetray.cc | 45 ++++++++++++++++++++++++---------------------
+ 1 file changed, 24 insertions(+), 21 deletions(-)
+
+commit b6413e61cf62ce4c543895a6ed853707b0a3fefb
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:17:46 2017 +0200
+
+    Use monotonic time. Fix interval calculation.
+
+ src/icesound.cc | 16 +++++-----------
+ 1 file changed, 5 insertions(+), 11 deletions(-)
+
+commit 0d7892a5f2a7025945ea5ac98877c3d114686da7
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:17:20 2017 +0200
+
+    use getTaskBarBg().
+
+ src/atray.cc | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+commit 25b2cf16a1bb443f5b585a13a38c6f4a5fbc1c57
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:17:03 2017 +0200
+
+    free workspace data when done.
+
+ src/aworkspaces.cc | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 3bd85bdef310a0bd90b12e92d0dd4d73aabf86f6
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:15:11 2017 +0200
+
+    Make flash time have sub-second precision.
+    Changes to make clang-analyze happy.
+
+ src/atasks.cc | 24 ++++++++----------------
+ src/atasks.h  |  2 +-
+ 2 files changed, 9 insertions(+), 17 deletions(-)
+
+commit 3cbb6d20633f3e925a511a52a377c65e52886633
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:14:42 2017 +0200
+
+    use getTaskBarBg().
+
+ src/amailbox.cc | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+commit 07d00a4c045ed77b568469bcadbcd79f7abcadb8
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:11:01 2017 +0200
+
+    Add two new options to control applet dimensions: TaskBarGraphHeight,
+    TaskBarGraphWidth.
+    Free resources when done. No globals. Fix MEMStatus::parseField.
+
+ src/aclock.cc     | 25 ++++++++-----------------
+ src/aclock.h      |  9 ++++-----
+ src/acpustatus.cc | 23 ++++++++++++++---------
+ src/amemstatus.cc |  4 ++--
+ src/apppstatus.cc | 18 +++++-------------
+ src/default.h     | 16 +++++++++-------
+ 6 files changed, 42 insertions(+), 53 deletions(-)
+
+commit e4621b92790d846069a77f5584770ff46fad4715
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:07:56 2017 +0200
+
+    Cleanup battery code. Free all resources. No globals.
+
+ src/aapm.cc | 301 +++++++++++++++++---------------------------------------
+ src/aapm.h  |  36 +++----
+ 2 files changed, 107 insertions(+), 230 deletions(-)
+
+commit 155e0f944898eab5dc6f33424beb0481848654f3
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 14:01:32 2017 +0200
+
+    Add some handy operators for struct timeval.
+    Add support for clock_gettime and prefer it over gettimeofday.
+    Use monotonic clocks for interval measurements.
+    Simplify timer management.
+    Simplify YApplication::mainLoop.
+    When HOME is undefined get its value from getpwuid.
+
+ src/yapp.cc   | 531 +++++++++++++++---------------------------------------
+ src/ytimer.cc | 191 ++++++++++++++------
+ src/ytimer.h  |  51 +++++-
+ 3 files changed, 325 insertions(+), 448 deletions(-)
+
+commit 374d553147999fa2a6298bf8507f50a27135330e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 13:57:36 2017 +0200
+
+    Add two options to control the max tray icon dimensions.
+
+ src/themable.h | 17 +++++++++++------
+ src/yxtray.cc  | 49 ++++++++++++++++++-------------------------------
+ 2 files changed, 29 insertions(+), 37 deletions(-)
+
+commit 6cf6993694a59421d600c3de4e58e8079623ccb9
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 13:54:42 2017 +0200
+
+    Replace the taskBarBg global, which was initialed everywhere,
+    by the function getTaskBarBg().
+    Properly free data on when taskbar is done.
+    Sanitize taskBarAtTop (clang-analyze).
+
+ src/wmtaskbar.cc | 107 +++++++++++++++++++++++----------------------------
+ src/wmtaskbar.h  |   2 +
+ 2 files changed, 50 insertions(+), 59 deletions(-)
+
+commit baccd67acd2bfc0bfd8d2a825a9ebfba4aa05ca2
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 13:49:18 2017 +0200
+
+    Fix the calculation in the comment for DECIMAL_DIGIT_COUNT.
+    Base max on less than. Add inrange. Add GetArgument.
+    Fix an off-by-one error in intersection and reduce it to a one-liner.
+
+ src/base.h  | 33 +++++++++------------------------
+ src/misc.cc | 13 +++++++++++++
+ 2 files changed, 22 insertions(+), 24 deletions(-)
+
+commit b414637ec17d982f35fb317a64ed7a85a55d0bff
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 13:48:29 2017 +0200
+
+    Adding a menu item may fail. If this happens then the items must be
+    freed to prevent a leak.
+
+ src/browse.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 722a5cf5bb7ccb33d94a98ed17fabe4d857c38f8
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 13:47:13 2017 +0200
+
+    Also print a string option if it has only just a description, but not
+    a non-null value.
+
+ src/genpref.cc | 28 +++++++++++++++++++---------
+ 1 file changed, 19 insertions(+), 9 deletions(-)
+
+commit 1669a0c3ca7d48808a6aa0d56f8c64544174827b
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 13:45:47 2017 +0200
+
+    When executing a child program check if it can be found alongside the
+    absolute path of icewm-session. Also fix the examination of exit status
+    of icewm and the detection of crashes.
+
+ src/icesm.cc | 35 +++++++++++++++++++++++++++--------
+ 1 file changed, 27 insertions(+), 8 deletions(-)
+
+commit 930d89979d4efd5f0a866b4827e65dd7e2789d7c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 13:45:26 2017 +0200
+
+    Prevent a memory leak.
+
+ src/objbutton.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 59c7785e02a7fb4a1657a200aea387ed40756b6c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 13:44:36 2017 +0200
+
+    container->addSorted may refuse to add an item its name is a duplicate.
+    Detect this and free the item to prevent a leak (3x).
+
+ src/themes.cc | 19 +++++++++++++++----
+ 1 file changed, 15 insertions(+), 4 deletions(-)
+
+commit 733ece669c2be197f4e69a03d55b59ea1b40d396
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 13:44:00 2017 +0200
+
+    Free theme_preferences when done.
+
+ src/wmconfig.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 84e69e497680e7471d269569d76a90f8c4729b5d
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 13:43:28 2017 +0200
+
+    Simplify rd_str and prevent a corruption on bad input.
+
+ src/wmsession.cc | 35 +++++++++++++----------------------
+ 1 file changed, 13 insertions(+), 22 deletions(-)
+
+commit bad1ad02be116bd892a56dac9a8392d82147ea68
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 13:42:43 2017 +0200
+
+    Make sure *key is initialized (clang-analyze). Add YConfig::cfoptionSize()
+    for genpref.
+
+ src/yconfig.cc | 5 +++++
+ src/yconfig.h  | 1 +
+ 2 files changed, 6 insertions(+)
+
+commit 9150dcfa7022b57b48ee38c58d1d1586149a3124
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 13:41:41 2017 +0200
+
+    Make tabPos not unsigned but int to prevent warnings, in multilineAlloc.
+
+ src/yfont.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9777ee6df76b1ac40403168cbeff16dca43d560f
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 13:40:58 2017 +0200
+
+    Reduce clutter and clarify.
+
+ src/ypixmap.cc | 31 ++++++-------------------------
+ 1 file changed, 6 insertions(+), 25 deletions(-)
+
+commit c5667caa2efd00f04ac2830fd0381c4f53a03397
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 13:40:35 2017 +0200
+
+    make scrollGC not static but local.
+
+ src/ywindow.cc | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+commit 9e57215a0639b2ffa96a28b6e3e8cee5f14d3d3e
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 13:39:56 2017 +0200
+
+    prevent a leak on nstr in unescape.
+
+ src/yurl.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 35470079dde273547625beb149f72dfce2429a85
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 13:39:18 2017 +0200
+
+    4 assignment operators for easy initialization of smart pointers.
+
+ src/ypointer.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 0b4de4581ae646c90d1adee15a83e17cec29f8e8
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 13:38:47 2017 +0200
+
+    Move definition of null to ref.cc to make clang-analyze happy.
+
+ src/ref.cc | 3 +++
+ src/ref.h  | 4 +---
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+commit 939e4de6f1d25bfcf95e479052602f18210ef150
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 13:38:00 2017 +0200
+
+    Add class YArrayIterator for easy iteratation over YArrays.
+
+ src/yarray.h | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 105 insertions(+), 8 deletions(-)
+
+commit 54dcb3a9b454437386dc1ccbd2f4d8f201823f9a
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 10:59:06 2017 +0200
+
+    Prepare for release 1.4.2.
+
+ NEWS         | 36 +++++++++++++++++++++++++++---------
+ README.md    |  6 +++---
+ VERSION      |  2 +-
+ configure.ac |  8 ++++----
+ 4 files changed, 35 insertions(+), 17 deletions(-)
+
+commit a1e2b7c8fc13ac53d74874cc814a3662ddbd9424
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sun Jul 30 03:29:14 2017 +0200
+
+    Always show icon in the top left corner of a window in issue #144.
+
+ src/wmbutton.cc | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit 128d004a1fe97e264e88903b0c666a64a074c170
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Sat Jul 29 21:59:08 2017 +0200
+
+    New function copyPixmaps adds more defaults for missing pixmaps.
+    When some pixmaps are missing then they are copied from others.
+    This restores backward compatibility in issue #144.
+
+ src/wpixres.cc | 38 ++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 36 insertions(+), 2 deletions(-)
+
+commit a5e88958218fad9b7cc1fd6846e6155dcbd34e91
+Merge: d42f8b93 6469ee85
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Jul 29 12:21:53 2017 -0600
+
+    Merge branch 'icewm-1-4-BRANCH' of github.com:bbidulock/icewm into
+    icewm-1-4-BRANCH
+
+commit d42f8b933fdc5097620a8b7ecad01a0f0d214f7d
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Sat Jul 29 12:21:22 2017 -0600
+
+    final tweak for #146
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6469ee85309bf5e6ffc57d9b86a71ec03d30057f
+Merge: 1a4a384c 293ec537
+Author: Brian Bidulock <bidulock@openss7.com>
+Date:   Sat Jul 29 08:15:49 2017 -0600
+
+    Merge pull request #150 from
+    Code7R/feature/increase_theme_menu_collapsing_threshold
+
+    Increased the trigger value for the theme menu nesting algorithm
+
+commit 293ec537171e2f25153608d3fb3ed0333db4a5ff
+Author: Eduard Bloch <blade@debian.org>
+Date:   Sat Jul 29 15:39:27 2017 +0200
+
+    Increased the trigger value for the theme menu nesting algorithm
+
+    IIRC I chose the value originally with an old small-res screen in mind
+    but that was 15 years ago.
+
+ src/default.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1a4a384c56ab2c474406023b7ca19e553b8fcd3b
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Jul 28 17:37:50 2017 -0600
+
+    better fix for issue #146
+
+ configure.ac    | 24 ++++++++++++++++--------
+ doc/Makefile.am |  2 +-
+ 2 files changed, 17 insertions(+), 9 deletions(-)
+
+commit cb5b554f2cd2034667472e73c4d5c154dcb22f1f
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Jul 28 17:04:19 2017 -0600
+
+    partially address issue #146
+
+    - using --backend=html4 gets rid of the CSS
+
+ doc/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0edd2a7c6263c85c89a4a8feb859387d5ba356a5
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Jul 28 16:25:19 2017 -0600
+
+    icewm-1-4-BRANCH is now the default
+
+ README.md | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 908e6812e70d710da9a92f02db57d6bcb6ea015d
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Jul 28 16:23:51 2017 -0600
+
+    update NEWS file
+
+ NEWS | 93 ++++++++++++++++++++++++++++++++++++++++++----------------------
+ 1 file changed, 61 insertions(+), 32 deletions(-)
+
+commit 7ee3cdbe4a1e442274dbb92acb1dc2291de5c9b8
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Jul 28 16:23:40 2017 -0600
+
+    generate more news
+
+ gennews.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 414dc055a1653efb1a9ed60d98f198f76df83aaf
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Jul 28 16:20:31 2017 -0600
+
+    update AUTHORS file
+
+ AUTHORS | 75 ++++++++++++++++++++++++++++++++++++++++++++-----------------
+ 1 file changed, 55 insertions(+), 20 deletions(-)
+
+commit 3c296ea65b038998f6d9fcdafcbac6589156cfbb
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Jul 28 16:19:38 2017 -0600
+
+    update po files
+
+ po/ar.po     | 10 +++++-----
+ po/be.po     | 10 +++++-----
+ po/bg.po     | 10 +++++-----
+ po/ca.po     | 10 +++++-----
+ po/cs.po     | 14 +++++++-------
+ po/da.po     | 10 +++++-----
+ po/de.po     | 10 +++++-----
+ po/el.po     | 14 +++++++-------
+ po/en.po     | 10 +++++-----
+ po/es.po     | 14 +++++++-------
+ po/fi.po     | 10 +++++-----
+ po/fr.po     | 14 +++++++-------
+ po/he.po     | 10 +++++-----
+ po/hr.po     | 10 +++++-----
+ po/hu.po     | 10 +++++-----
+ po/icewm.pot | 12 ++++++------
+ po/id.po     | 14 +++++++-------
+ po/it.po     | 18 +++++++++---------
+ po/ja.po     | 10 +++++-----
+ po/ko.po     | 10 +++++-----
+ po/lt.po     | 10 +++++-----
+ po/lv.po     | 10 +++++-----
+ po/mk.po     | 10 +++++-----
+ po/nb.po     | 10 +++++-----
+ po/nl.po     | 10 +++++-----
+ po/no.po     | 10 +++++-----
+ po/pl.po     | 10 +++++-----
+ po/pt_BR.po  | 10 +++++-----
+ po/ro.po     | 10 +++++-----
+ po/ru.po     | 10 +++++-----
+ po/sk.po     | 10 +++++-----
+ po/sl.po     | 10 +++++-----
+ po/sv.po     | 10 +++++-----
+ po/tr.po     | 10 +++++-----
+ po/uk.po     | 22 +++++++++++-----------
+ po/vi.po     | 10 +++++-----
+ po/zh_CN.po  | 10 +++++-----
+ po/zh_TW.po  | 10 +++++-----
+ 38 files changed, 211 insertions(+), 211 deletions(-)
+
+commit 82a976c283e69fe9d8de873896007934ee2a2121
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Jul 28 18:38:35 2017 +0200
+
+    Update ChangeLog to 1.4.1 and remove all changes for the 1.3.12 release
+    and older.
+
+ ChangeLog | 3432 +--------------------------------------------------------
+ 1 file changed, 55 insertions(+), 3377 deletions(-)
+
+commit 77340d01f7c28d44311eb9d84c24020e71cb4236
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Fri Jul 28 18:37:41 2017 +0200
+
+    Specify output with -o icewm.html.
+
+ doc/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0b05ed496992eb1bb36a9c8c295a303960437041
+Merge: 8f1eed9c 5a4e1e05
+Author: Brian Bidulock <bidulock@openss7.org>
+Date:   Fri Jul 28 06:56:13 2017 -0600
+
+    Merge remote-tracking branch 'origin/icewm-1-3-BRANCH' into
+    icewm-1-4-BRANCH
+
+commit 5a4e1e0551e15a54a9a5c4604ec3e323a38d306c
+Author: Bert Gijsbers <gijsbers@science.uva.nl>
+Date:   Thu Jul 27 19:19:22 2017 +0200
+
+    Omit -b in git checkout icewm-1-4-BRANCH.
+
+ README.md    | 2 +-
+ README.md.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
 
 commit 8f1eed9cd44455a198c2f2d31a3927823f2c81ef
 Author: Bert Gijsbers <gijsbers@science.uva.nl>
--- icewm-1.4.3.0~pre-20180217.orig/README.md
+++ icewm-1.4.3.0~pre-20180217/README.md
@@ -71,6 +71,9 @@ Building from tarball requires:
  - libxft (_for font rendering_)
  - libxinerama (_for XINERAMA support_)
  - gdk-pixbuf2 (_for pixmap rendering_)
+ - libxpm (_for reading XPM icons_)
+ - libjpeg (_for reading JPEG images_)
+ - libpng (_for reading PNG images_)
  - libxrandr (_for XRANDR support_)
  - libxrender (_for XRENDER support_)
  - libsndfile (_for sound support_)
--- icewm-1.4.3.0~pre-20180217.orig/README.md.in
+++ icewm-1.4.3.0~pre-20180217/README.md.in
@@ -80,6 +80,9 @@ Building from tarball requires:
  - libxft (_for font rendering_)
  - libxinerama (_for XINERAMA support_)
  - gdk-pixbuf2 (_for pixmap rendering_)
+ - libxpm (_for reading XPM icons_)
+ - libjpeg (_for reading JPEG images_)
+ - libpng (_for reading PNG images_)
  - libxrandr (_for XRANDR support_)
  - libxrender (_for XRENDER support_)
  - libsndfile (_for sound support_)
--- icewm-1.4.3.0~pre-20180217.orig/configure.ac
+++ icewm-1.4.3.0~pre-20180217/configure.ac
@@ -351,7 +351,7 @@ else
 	IMAGE_LIBS="$LIBPNG_LIBS $IMAGE_LIBS"
 	AC_DEFINE([CONFIG_LIBPNG],[1],[Define to enable libpng rendering.])
 	image_library="$image_library libpng"])
-    PKG_CHECK_MODULES([LIBJPEG],[libjpeg >= 1.0],[
+    PKG_CHECK_MODULES([LIBJPEG],[libjpeg],[
         IMAGE_CFLAGS="$LIBJPEG_CFLAGS $IMAGE_CFLAGS"
         IMAGE_LIBS="$LIBJPEG_LIBS $IMAGE_LIBS"
         AC_DEFINE([CONFIG_LIBJPEG],[1],[Define to enable libjpeg rendering.])
--- icewm-1.4.3.0~pre-20180217.orig/lib/keys.in
+++ icewm-1.4.3.0~pre-20180217/lib/keys.in
@@ -9,9 +9,9 @@
 # You'll have to omit XK_ prefixs and to replace XF86XK_ prefixes by
 # XF86. Valid modifiers are Alt, Ctrl, Shift, Meta, Super and Hyper.
 #
-key "Alt+Ctrl+t"			xterm
-key "Alt+Ctrl+b"			xdg-open about:blank
-key "Alt+Ctrl+s"			xdg-open http://www.google.com
+key "Alt+Ctrl+t"			x-terminal-emulator
+key "Alt+Ctrl+b"			sensible-browser about:blank
+key "Alt+Ctrl+s"			sensible-browser http://www.duckduckgo.com
 
 key "Super+KP_Subtract"			amixer sset Master 5%-
 key "Super+KP_Add"			amixer sset Master 5%+
@@ -28,8 +28,8 @@ key "Super+KP_Add"			amixer sset Master
 key "XF86AudioLowerVolume"		amixer sset Master 5%-
 key "XF86AudioRaiseVolume"		amixer sset Master 5%+
 key "XF86AudioMute"			amixer sset Master toggle
-key "XF86HomePage"			xdg-open about:blank
-key "XF86Search"			xdg-open http://www.google.com
+key "XF86HomePage"			sensible-browser about:blank
+key "XF86Search"			sensible-browser http://www.duckduckgo.com
 key "XF86Eject"				eject
 key "XF86Calculator"			/bin/sh -c "gnome-calculator || xcalc || ( type bc >/dev/null 2>&1 && xterm -e bc -l)"
 
--- icewm-1.4.3.0~pre-20180217.orig/lib/menu.in
+++ icewm-1.4.3.0~pre-20180217/lib/menu.in
@@ -5,10 +5,10 @@
 # (re)install icewm.
 #
 prog xterm xterm xterm
-prog rxvt xterm rxvt -bg black -cr green -fg white -C -fn 9x15 -sl 500
+prog rxvt xterm rxvt -rv -C -fn 9x15 -sl 500
 prog fte fte fte
 prog NEdit nedit nedit
-prog Mozilla mozilla mozilla
+prog "Iceweasel" iceweasel iceweasel
 prog XChat xchat xchat
 prog Gimp gimp gimp
 separator
--- icewm-1.4.3.0~pre-20180217.orig/lib/toolbar.in
+++ icewm-1.4.3.0~pre-20180217/lib/toolbar.in
@@ -4,6 +4,5 @@
 # since modifications to this file will be discarded when you
 # (re)install icewm.
 #
-prog xterm utilities-terminal xterm
-prog "Web browser" web-browser xdg-open about:blank
-
+prog Terminal /usr/share/icons/gnome/16x16/apps/terminal.png x-terminal-emulator
+prog "Web browser" /usr/share/icewm/icons/mozilla_16x16.xpm sensible-browser about:blank
--- icewm-1.4.3.0~pre-20180217.orig/lib/winoptions.in
+++ icewm-1.4.3.0~pre-20180217/lib/winoptions.in
@@ -6,6 +6,8 @@
 
 xterm.icon: xterm
 rxvt.icon: xterm
+urxvtc.icon: urxvt
+urxvt.icon: urxvt
 nxterm.icon: xterm
 fte.icon: fte
 emacs.Emacs.icon: emacs
--- icewm-1.4.3.0~pre-20180217.orig/po/de.po
+++ icewm-1.4.3.0~pre-20180217/po/de.po
@@ -373,12 +373,11 @@ msgid "Failed to create a temporary file
 msgstr "Konnte eine temporäre Datei nicht erstellen"
 
 #: src/icehelp.cc:2108
-#, c-format
 msgid "Failed to execute system(%s) (%d)"
 msgstr "Fehlerhafte Ausführung von system(%s) (%d)"
 
 #: src/icehelp.cc:2131
-#, c-format
+#, fuzzy, c-format
 msgid "Failed to decompress %s"
 msgstr "Konnte %s nicht entpacken"
 
@@ -469,7 +468,7 @@ msgstr ""
 #: src/icehelp.cc:2257
 #, c-format
 msgid "Ignoring option '%s'"
-msgstr "Option '%s' ignorieren"
+msgstr "Option '%s' wird ignoriert"
 
 #: src/icelist.cc:80
 msgid "List View"
@@ -788,14 +787,14 @@ msgstr "Fehler <%d> beim Hochladen von `
 #: src/icesound.cc:518
 #, c-format
 msgid "Sample <%d> uploaded as `%s:%s'"
-msgstr "Beispiel <%d> wurde als `%s:%s` hochgeladen"
+msgstr "Sample <%d> wurde als »%s:%s« geladen"
 
-#: src/icesound.cc:576
+#: src/icesound.cc:569
 #, c-format
 msgid "Playing sample #%d: %d"
-msgstr "Spiele Beispiel #%d: %d"
+msgstr "Spiele Sample #%d: %d"
 
-#: src/icesound.cc:651
+#: src/icesound.cc:644
 #, c-format
 msgid "ao_open_live failed with %d"
 msgstr "ao_open_live schlug mit %d fehl"
--- icewm-1.4.3.0~pre-20180217.orig/po/nl.po
+++ icewm-1.4.3.0~pre-20180217/po/nl.po
@@ -7,8 +7,8 @@ msgstr ""
 "Project-Id-Version: icewm 1.2.23\n"
 "Report-Msgid-Bugs-To: https://github.com/bbidulock/icewm/issues\n"
 "POT-Creation-Date: 2018-02-03 20:04-0700\n"
-"PO-Revision-Date: 2018-02-08 21:06+0000\n"
-"Last-Translator: Eva van Rein <vistatec@globaltextware.nl>\n"
+"PO-Revision-Date: 2018-02-22 01:01+0000\n"
+"Last-Translator: anonymous <>\n"
 "Language-Team: Dutch "
 "<https://l10n.opensuse.org/projects/icewm/icewm-1-4-branch/nl/>\n"
 "Language: nl\n"
@@ -20,7 +20,7 @@ msgstr ""
 
 #: src/aapm.cc:177 src/aapm.cc:459 src/aapm.cc:681 src/aapm.cc:806
 msgid " - Power"
-msgstr " - Voeding"
+msgstr " - Vermogen"
 
 #: src/aapm.cc:179 src/aapm.cc:462 src/aapm.cc:684
 msgid "P"
--- icewm-1.4.3.0~pre-20180217.orig/src/CMakeLists.txt
+++ icewm-1.4.3.0~pre-20180217/src/CMakeLists.txt
@@ -227,6 +227,14 @@ if(CONFIG_LIBPNG)
     LIST(APPEND icewm_img_libs ${libpng_LDFLAGS})
 endif()
 
+if(CONFIG_LIBJPEG)
+    pkg_check_modules(libjpeg libjpeg)
+    if(NOT libjpeg_FOUND)
+        message(FATAL_ERROR "JPEG image loader selected but libjpeg dev files not found.")
+    endif()
+    LIST(APPEND icewm_img_libs ${libjpeg_LDFLAGS})
+endif()
+
 IF(CONFIG_SESSION)
     LIST(APPEND sm_LIBS SM)
     LIST(APPEND sm_LIBS ICE)
@@ -406,7 +414,7 @@ SET(ICE_COMMON_SRCS mstring.cc udir.cc u
     ywindow.cc ypaint.cc ypopup.cc misc.cc ycursor.cc ysocket.cc ypaths.cc
     ylocale.cc yarray.cc ycollections.cc ypipereader.cc yxembed.cc yconfig.cc
     yprefs.cc yfont.cc ypixmap.cc
-    yimage_gdk.cc yximage.cc ytooltip.cc)
+    yimage_gdk.cc yximage.cc ycolor.cc ytooltip.cc)
 
 if(CONFIG_XFREETYPE)
     list(APPEND ICE_COMMON_SRCS yfontxft.cc)
--- icewm-1.4.3.0~pre-20180217.orig/src/Makefile.am
+++ icewm-1.4.3.0~pre-20180217/src/Makefile.am
@@ -106,6 +106,8 @@ libice_la_SOURCES = \
 	ylist.h \
 	ywindow.cc \
 	ywindow.h \
+	ycolor.cc \
+	ycolor.h \
 	ypaint.cc \
 	ypaint.h \
 	ypopup.cc \
--- icewm-1.4.3.0~pre-20180217.orig/src/aapm.cc
+++ icewm-1.4.3.0~pre-20180217/src/aapm.cc
@@ -13,7 +13,6 @@
 #include "config.h"
 #include "aapm.h"
 
-#include "ylib.h"
 #include "sysdep.h"
 #include "wpixmaps.h"
 #include "prefs.h"
@@ -40,7 +39,7 @@
 
 #include <math.h>
 
-extern YColor* getTaskBarBg();
+extern YColorName taskBarBg;
 
 #define AC_UNKNOWN      0
 #define AC_ONLINE       1
@@ -55,6 +54,7 @@ extern YColor* getTaskBarBg();
 #define BAT_FULL        3
 
 #define SYS_STR_SIZE    64
+#define APM_LINE_LEN    80
 
 void YApm::ApmStr(char *s, bool Tool) {
 #if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__)) && defined(i386)
@@ -62,7 +62,7 @@ void YApm::ApmStr(char *s, bool Tool) {
 #elif defined __NetBSD__
     struct apm_power_info ai;
 #else
-    char buf[80];
+    char buf[APM_LINE_LEN];
 #endif
     int len, i, fd = open(APMDEV, O_RDONLY);
     char driver[16];
@@ -214,7 +214,7 @@ void YApm::AcpiStr(char *s, bool Tool) {
     //the file in /proc/acpi will contain unexpected values
     int ACstatus = -1;
 #if !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__)
-    char buf2[80];
+    char buf2[APM_LINE_LEN];
     if (acpiACName && acpiACName[0] != 0) {
         strcat3(buf, "/proc/acpi/ac_adapter/", acpiACName, "/state", sizeof(buf));
         FILE* fd = fopen(buf, "r");
@@ -696,9 +696,9 @@ void YApm::PmuStr(char *s, const bool to
       return;
    }
 
-   char line[80];
+   char line[APM_LINE_LEN];
    int power_present(0);
-   while ( fgets(line, ACOUNT(line), fd) != NULL )
+   while ( fgets(line, APM_LINE_LEN, fd) != NULL )
    {
       if (strncmp("AC Power", line, strlen("AC Power")) == 0) {
          sscanf(strchr(line, ':')+2, "%d", &power_present);
@@ -712,8 +712,8 @@ void YApm::PmuStr(char *s, const bool to
 
    char* s_end = s;
    for (int i=0; i < batteryNum; ++i) {
-      char file_name[30];
-      snprintf(file_name, ACOUNT(file_name), "/proc/pmu/battery_%d", i);
+      char file_name[SYS_STR_SIZE];
+      snprintf(file_name, SYS_STR_SIZE, "/proc/pmu/battery_%d", i);
       fd = fopen(file_name, "r");
       if (fd == NULL) {
          strlcpy(s_end, "Err", SYS_STR_SIZE - (s_end - s));
@@ -811,8 +811,11 @@ void YApm::PmuStr(char *s, const bool to
 
 YApm::YApm(YWindow *aParent, bool autodetect):
     YWindow(aParent), YTimerListener(),
-    apmTimer(0), apmBg(0), apmFg(0), apmFont(null),
-    apmColorOnLine(0), apmColorBattery(0), apmColorGraphBg(0),
+    apmTimer(0), apmBg(&clrApm), apmFg(&clrApmText),
+    apmFont(YFont::getFont(XFA(apmFontName))),
+    apmColorOnLine(&clrApmLine),
+    apmColorBattery(&clrApmBat),
+    apmColorGraphBg(&clrApmGraphBg),
     mode(APM), batteryNum(0), acpiACName(0), fCurrentState(0),
     acIsOnLine(false), energyNow(0), energyFull(0)
 {
@@ -880,8 +883,8 @@ YApm::YApm(YWindow *aParent, bool autode
 #endif
     else if ( (pmu_info = fopen("/proc/pmu/info", "r")) != NULL) {
        mode = PMU;
-       char line[80];
-       while ( fgets(line, 80, pmu_info) != NULL )
+       char line[APM_LINE_LEN];
+       while ( fgets(line, APM_LINE_LEN, pmu_info) != NULL )
          if (strncmp("Battery count", line, strlen("Battery count")) == 0)
            sscanf(strchr(line, ':')+2, "%d", &batteryNum);
 
@@ -895,19 +898,9 @@ YApm::YApm(YWindow *aParent, bool autode
     if (autodetect && 0 == batteryNum)
         return;
 
-    if (apmBg == 0 && *clrApm) apmBg = new YColor(clrApm);
-    if (apmFg == 0) apmFg = new YColor(clrApmText);
-    if (apmFont == null) apmFont = YFont::getFont(XFA(apmFontName));
-
-    if (apmColorOnLine  == 0) apmColorOnLine  = new YColor(clrApmLine);
-    if (apmColorBattery == 0) apmColorBattery = new YColor(clrApmBat);
-    if (apmColorGraphBg == 0) apmColorGraphBg = new YColor(clrApmGraphBg);
-
     updateState();
 
-    apmTimer = new YTimer(1000 * batteryPollingPeriod);
-    apmTimer->setTimerListener(this);
-    apmTimer->startTimer();
+    apmTimer->setTimer(1000 * batteryPollingPeriod, this, true);
 
     if (taskBarShowApmGraph)
        setSize(taskBarApmGraphWidth, taskBarGraphHeight);
@@ -918,7 +911,6 @@ YApm::YApm(YWindow *aParent, bool autode
 }
 
 YApm::~YApm() {
-    delete apmTimer; apmTimer = 0;
     if (ACPI == mode || mode == SYSFS) {
         for (int i = batteryNum; --i >= 0; --batteryNum) {
             delete acpiBatteries[i]; acpiBatteries[i] = 0;
@@ -926,12 +918,6 @@ YApm::~YApm() {
         delete[] acpiACName; acpiACName = 0;
     }
     delete[] fCurrentState; fCurrentState = 0;
-    delete apmBg; apmBg = 0;
-    delete apmFg; apmFg = 0;
-    apmFont = null;
-    delete apmColorOnLine; apmColorOnLine = 0;
-    delete apmColorBattery; apmColorBattery = 0;
-    delete apmColorGraphBg; apmColorGraphBg = 0;
 }
 
 void YApm::updateToolTip() {
@@ -956,7 +942,7 @@ void YApm::updateToolTip() {
 }
 
 int YApm::calcInitialWidth() {
-    char buf[80] = { 0 };
+    char buf[APM_LINE_LEN] = { 0 };
     int i;
     int n = 0;
 
@@ -1023,7 +1009,7 @@ void YApm::paint(Graphics &g, const YRec
                      this->x(), this->y());
     }
     else {
-        g.setColor(getTaskBarBg());
+        g.setColor(taskBarBg);
         g.fillRect(0, 0, width(), height());
     }
 
--- icewm-1.4.3.0~pre-20180217.orig/src/aapm.h
+++ icewm-1.4.3.0~pre-20180217/src/aapm.h
@@ -38,7 +38,7 @@ public:
     inline bool hasBatteries() { return batteryNum; }
 
 private:
-    YTimer *apmTimer;
+    lazy<YTimer> apmTimer;
 
     ref<YPixmap> getPixmap(char ch);
     int calcInitialWidth();
@@ -51,13 +51,13 @@ private:
     bool ignore_directory_bat_entry(const char* name);
     bool ignore_directory_ac_entry(const char* name);
 
-    YColor *apmBg;
-    YColor *apmFg;
+    YColorName apmBg;
+    YColorName apmFg;
     ref<YFont> apmFont;
 
-    YColor *apmColorOnLine;
-    YColor *apmColorBattery;
-    YColor *apmColorGraphBg;
+    YColorName apmColorOnLine;
+    YColorName apmColorBattery;
+    YColorName apmColorGraphBg;
 
     // inspection mode: legacy APM, legacy ACPI (procfs), PMU (Mac), ACPI (sysfs)
     enum { APM, ACPI, PMU, SYSFS } mode;
--- icewm-1.4.3.0~pre-20180217.orig/src/aclock.cc
+++ icewm-1.4.3.0~pre-20180217/src/aclock.cc
@@ -24,33 +24,28 @@ inline char const * strTimeFmt(struct tm
     return AppletClockTimeFmt;
 }
 
-YClock::YClock(YSMListener *smActionListener, YWindow *aParent): YWindow(aParent) {
-    this->smActionListener = smActionListener;
-    clockBg = *clrClock ? new YColor(clrClock) : 0;
-    clockFg = new YColor(clrClockText);
-    clockFont = YFont::getFont(XFA(clockFontName));
-
-    clockUTC = false;
-    toolTipUTC = false;
-    transparent = -1;
+YClock::YClock(YSMListener *smActionListener, YWindow *aParent):
+    YWindow(aParent),
+    clockUTC(false),
+    toolTipUTC(false),
+    transparent(-1),
+    smActionListener(smActionListener),
+    clockBg(&clrClock),
+    clockFg(&clrClockText),
+    clockFont(YFont::getFont(XFA(clockFontName)))
+{
 
     if (prettyClock && ledPixSpace != null && ledPixSpace->width() == 1)
         ledPixSpace = ledPixSpace->scale(5, ledPixSpace->height());
 
-    clockTimer = new YTimer(1000);
     clockTimer->setFixed();
-    clockTimer->setTimerListener(this);
-    clockTimer->startTimer();
+    clockTimer->setTimer(1000, this, true);
     autoSize();
     updateToolTip();
     setDND(true);
 }
 
 YClock::~YClock() {
-    delete clockTimer; clockTimer = 0;
-    delete clockBg; clockBg = 0;
-    delete clockFg; clockFg = 0;
-    clockFont = null;
 }
 
 void YClock::autoSize() {
@@ -184,7 +179,7 @@ void YClock::paint(Graphics &g, const YR
                          width(), height(), this->x(), this->y());
         }
         else {
-            g.setColor(getTaskBarBg());
+            g.setColor(taskBarBg);
             g.fillRect(0, 0, width(), height());
         }
     }
--- icewm-1.4.3.0~pre-20180217.orig/src/aclock.h
+++ icewm-1.4.3.0~pre-20180217/src/aclock.h
@@ -22,7 +22,7 @@ public:
     virtual bool handleTimer(YTimer *t);
 
 private:
-    YTimer *clockTimer;
+    lazy<YTimer> clockTimer;
     bool clockUTC;
     bool toolTipUTC;
     int transparent;
@@ -32,8 +32,8 @@ private:
     int calcWidth(const char *s, int count);
     bool hasTransparency();
 
-    YColor *clockBg;
-    YColor *clockFg;
+    YColorName clockBg;
+    YColorName clockFg;
     ref<YFont> clockFont;
 };
 #endif
--- icewm-1.4.3.0~pre-20180217.orig/src/acpustatus.cc
+++ icewm-1.4.3.0~pre-20180217/src/acpustatus.cc
@@ -71,26 +71,21 @@ CPUStatus::CPUStatus(YSMListener *smActi
     }
     memset(last_cpu, 0, sizeof(last_cpu));
 
-    fUpdateTimer = new YTimer(taskBarCPUDelay);
-    if (fUpdateTimer) {
-        fUpdateTimer->setTimerListener(this);
-        fUpdateTimer->startTimer();
-    }
+    fUpdateTimer->setTimer(taskBarCPUDelay, this, true);
 
     if (tempFont == null)
         tempFont = YFont::getFont(XFA(tempFontName));
 
-    tempColor = new YColor(clrCpuTemp);
+    tempColor = &clrCpuTemp;
 
-    color[IWM_USER] = new YColor(clrCpuUser);
-    color[IWM_NICE] = new YColor(clrCpuNice);
-    color[IWM_SYS]  = new YColor(clrCpuSys);
-    color[IWM_INTR] = new YColor(clrCpuIntr);
-    color[IWM_IOWAIT] = new YColor(clrCpuIoWait);
-    color[IWM_SOFTIRQ] = new YColor(clrCpuSoftIrq);
-    color[IWM_IDLE] = *clrCpuIdle
-        ? new YColor(clrCpuIdle) : NULL;
-    color[IWM_STEAL] = new YColor(clrCpuSteal);
+    color[IWM_USER] = &clrCpuUser;
+    color[IWM_NICE] = &clrCpuNice;
+    color[IWM_SYS]  = &clrCpuSys;
+    color[IWM_INTR] = &clrCpuIntr;
+    color[IWM_IOWAIT] = &clrCpuIoWait;
+    color[IWM_SOFTIRQ] = &clrCpuSoftIrq;
+    color[IWM_IDLE] = &clrCpuIdle;
+    color[IWM_STEAL] = &clrCpuSteal;
     setSize(taskBarCPUSamples, taskBarGraphHeight);
     ShowRamUsage = cpustatusShowRamUsage;
     ShowSwapUsage = cpustatusShowSwapUsage;
@@ -110,16 +105,6 @@ CPUStatus::~CPUStatus() {
         delete[] cpu[a]; cpu[a] = 0;
     }
     delete[] cpu; cpu = 0;
-    delete color[IWM_USER]; color[IWM_USER] = 0;
-    delete color[IWM_NICE]; color[IWM_NICE] = 0;
-    delete color[IWM_SYS];  color[IWM_SYS]  = 0;
-    delete color[IWM_IDLE]; color[IWM_IDLE] = 0;
-    delete color[IWM_INTR]; color[IWM_INTR] = 0;
-    delete color[IWM_IOWAIT]; color[IWM_IOWAIT] = 0;
-    delete color[IWM_SOFTIRQ]; color[IWM_SOFTIRQ] = 0;
-    delete color[IWM_STEAL]; color[IWM_STEAL] = 0;
-    delete tempColor; tempColor = 0;
-    delete fUpdateTimer; fUpdateTimer = 0;
 }
 
 void CPUStatus::paint(Graphics &g, const YRect &/*r*/) {
@@ -419,26 +404,22 @@ void CPUStatus::getStatus() {
     if (fCpuID >= 0)
         snprintf(cpuname, sizeof(cpuname), "cpu%d", fCpuID);
 
-    FILE *fd = fopen("/proc/stat", "r");
+    fileptr fd(fopen("/proc/stat", "r"));
     if (fd == NULL)
-    {
-        fclose(fd);
         return;
-    }
 
     /* find the line that starts with `cpuname` */
     do {
         if (!fgets(buf, sizeof(buf) - 1, fd)) {
-            fclose(fd);
             return;
         }
         tok = strtok_r(buf, " \t", &p);
         if (!tok) {
-            fclose(fd);
             return;
         }
     } while (strcmp(tok, cpuname));
-    fclose(fd);
+    fd.close();
+
     s = sscanf(p, "%llu %llu %llu %llu %llu %llu %llu %llu",
                &cur[IWM_USER],    &cur[IWM_NICE],
                &cur[IWM_SYS],     &cur[IWM_IDLE],
--- icewm-1.4.3.0~pre-20180217.orig/src/acpustatus.h
+++ icewm-1.4.3.0~pre-20180217/src/acpustatus.h
@@ -41,13 +41,13 @@ private:
     int fCpuID;
     unsigned long long **cpu;
     unsigned long long last_cpu[IWM_STATES];
-    YColor *color[IWM_STATES];
-    YTimer *fUpdateTimer;
+    YColorName color[IWM_STATES];
+    lazy<YTimer> fUpdateTimer;
     YSMListener *smActionListener;
     bool ShowRamUsage, ShowSwapUsage, ShowAcpiTemp, ShowCpuFreq,
          ShowAcpiTempInGraph;
 
-    YColor *tempColor;
+    YColorName tempColor;
     static ref<YFont> tempFont;
     static void getCPUStatusCombined(YSMListener *smActionListener, YWindow *aParent, CPUStatus **&fCPUStatus);
     static void getCPUStatus(YSMListener *smActionListener, YWindow *aParent, CPUStatus **&fCPUStatus, unsigned ncpus);
--- icewm-1.4.3.0~pre-20180217.orig/src/amailbox.cc
+++ icewm-1.4.3.0~pre-20180217/src/amailbox.cc
@@ -7,18 +7,16 @@
  * !!! this should be external module (replacable for POP,IMAP,...)
  */
 #include "config.h"
-#include "intl.h"
-#include "ylib.h"
 #include "amailbox.h"
 #include "sysdep.h"
-#include "base.h"
 #include "prefs.h"
 #include "wmapp.h"
 #include "wpixmaps.h"
 #include <sys/socket.h>
 #include <netdb.h>
+#include "intl.h"
 
-extern YColor* getTaskBarBg();
+extern YColorName taskBarBg;
 
 MailCheck::MailCheck(MailBoxStatus *mbx):
     state(IDLE), fMbx(mbx), fLastSize(-1), fLastCount(-1),
@@ -324,29 +322,19 @@ YWindow(aParent), fMailBox(mailbox), che
     this->smActionListener = smActionListener;
 
     setSize(16, 16);
-    fMailboxCheckTimer = 0;
     fState = mbxNoMail;
     if (fMailBox != null) {
         cstring cs(fMailBox);
         MSG((_("Using MailBox \"%s\"\n"), cs.c_str()));
         check.setURL(fMailBox);
 
-        fMailboxCheckTimer = new YTimer(mailCheckDelay * 1000);
-        if (fMailboxCheckTimer) {
-            fMailboxCheckTimer->setTimerListener(this);
-            fMailboxCheckTimer->startTimer();
-        }
+        fMailboxCheckTimer->setTimer(mailCheckDelay * 1000, this, true);
         checkMail();
     }
     setTitle("MailBox");
 }
 
 MailBoxStatus::~MailBoxStatus() {
-    if (fMailboxCheckTimer) {
-        fMailboxCheckTimer->stopTimer();
-        fMailboxCheckTimer->setTimerListener(0);
-    }
-    delete fMailboxCheckTimer; fMailboxCheckTimer = 0;
 }
 
 void MailBoxStatus::paint(Graphics &g, const YRect &/*r*/) {
@@ -379,7 +367,7 @@ void MailBoxStatus::paint(Graphics &g, c
                 g.fillPixmap(taskbackPixmap, 0, 0,
                              width(), height(), this->x(), this->y());
         else {
-            g.setColor(getTaskBarBg());
+            g.setColor(taskBarBg);
             g.fillRect(0, 0, width(), height());
         }
     }
--- icewm-1.4.3.0~pre-20180217.orig/src/amailbox.h
+++ icewm-1.4.3.0~pre-20180217/src/amailbox.h
@@ -93,7 +93,7 @@ private:
     mstring fMailBox;
     MailBoxState fState;
     MailCheck check;
-    YTimer *fMailboxCheckTimer;
+    lazy<YTimer> fMailboxCheckTimer;
     YSMListener *smActionListener;
     IApp *app;
 };
--- icewm-1.4.3.0~pre-20180217.orig/src/amemstatus.cc
+++ icewm-1.4.3.0~pre-20180217/src/amemstatus.cc
@@ -26,21 +26,13 @@ MEMStatus::MEMStatus(YWindow *aParent):
     for (int a(0); a < taskBarMEMSamples; a++)
         samples[a] = new unsigned long long[MEM_STATES];
 
-    fUpdateTimer = new YTimer(taskBarMEMDelay);
-    if (fUpdateTimer) {
-        fUpdateTimer->setTimerListener(this);
-        fUpdateTimer->startTimer();
-    }
+    fUpdateTimer->setTimer(taskBarMEMDelay, this, true);
 
-    for (int j(0); j < MEM_STATES; j++)
-    {
-        color[j] = NULL;
-    }
-    color[MEM_USER] = new YColor(clrMemUser);
-    color[MEM_BUFFERS] = new YColor(clrMemBuffers);
-    color[MEM_CACHED] = new YColor(clrMemCached);
+    color[MEM_USER] = &clrMemUser;
+    color[MEM_BUFFERS] = &clrMemBuffers;
+    color[MEM_CACHED] = &clrMemCached;
     if (*clrMemFree) {
-        color[MEM_FREE] = new YColor(clrMemFree);
+        color[MEM_FREE] = &clrMemFree;
     }
     for (int i = 0; i < taskBarMEMSamples; i++) {
         for (int j=0; j < MEM_STATES; j++)
@@ -54,14 +46,10 @@ MEMStatus::MEMStatus(YWindow *aParent):
 }
 
 MEMStatus::~MEMStatus() {
-    delete fUpdateTimer;
     for (int a(0); a < taskBarMEMSamples; a++) {
         delete samples[a]; samples[a] = 0;
     }
     delete samples; samples = 0;
-    for (int j(0); j < MEM_STATES; j++) {
-        delete color[j]; color[j] = 0;
-    }
 }
 
 void MEMStatus::paint(Graphics &g, const YRect &/*r*/) {
--- icewm-1.4.3.0~pre-20180217.orig/src/amemstatus.h
+++ icewm-1.4.3.0~pre-20180217/src/amemstatus.h
@@ -31,8 +31,8 @@ private:
                                          const char *needle);
 
     unsigned long long int **samples;
-    YColor *color[MEM_STATES];
-    YTimer *fUpdateTimer;
+    YColorName color[MEM_STATES];
+    lazy<YTimer> fUpdateTimer;
 };
 #endif
 
--- icewm-1.4.3.0~pre-20180217.orig/src/apppstatus.cc
+++ icewm-1.4.3.0~pre-20180217/src/apppstatus.cc
@@ -63,10 +63,9 @@ NetStatus::NetStatus(
     for (int i = 0; i < taskBarNetSamples; i++)
         ppp_in[i] = ppp_out[i] = 0;
 
-    color[0] = new YColor(clrNetReceive);
-    color[1] = new YColor(clrNetSend);
-    color[2] = *clrNetIdle
-        ? new YColor(clrNetIdle) : NULL;
+    color[0] = &clrNetReceive;
+    color[1] = &clrNetSend;
+    color[2] = &clrNetIdle;
 
     setSize(taskBarNetSamples, taskBarGraphHeight);
 
@@ -92,9 +91,6 @@ NetStatus::NetStatus(
 }
 
 NetStatus::~NetStatus() {
-    delete color[0];
-    delete color[1];
-    delete color[2];
     delete[] ppp_in;
     delete[] ppp_out;
 }
@@ -630,7 +626,6 @@ void NetStatus::getCurrent(long *in, lon
 }
 
 NetStatusControl::~NetStatusControl() {
-    delete fUpdateTimer;
     for (NetStatus **p = fNetStatus.data; p<fNetStatus.data+fNetStatus.size;++p)
         delete *p;
 }
@@ -646,7 +641,8 @@ void NetStatusControl::fetchSystemData()
         cachedStats.size += fread(cachedStats.data + cachedStats.size,
                 sizeof(char), cachedStats.remainingCapa(), fp);
     }
-    while (fclose(fp)) {}
+    fclose(fp);
+
     cachedStats.add(0); // zero terminated, for sure
     cachedStatsIdx.size = 0;
     // XXX: check performance! This is written for easier understanding.
@@ -712,12 +708,7 @@ NetStatusControl::NetStatusControl(IApp*
     }
 #endif
 
-    fUpdateTimer = new YTimer(0);
-    if (fUpdateTimer) {
-        fUpdateTimer->setInterval(taskBarNetDelay);
-        fUpdateTimer->setTimerListener(this);
-        fUpdateTimer->startTimer();
-    }
+    fUpdateTimer->setTimer(taskBarNetDelay, this, true);
 }
 
 
--- icewm-1.4.3.0~pre-20180217.orig/src/apppstatus.h
+++ icewm-1.4.3.0~pre-20180217/src/apppstatus.h
@@ -29,7 +29,7 @@ public:
     ~NetStatus();
 private:
     IAppletContainer *fTaskBar;
-    YColor *color[3];
+    YColorName color[3];
     YSMListener *smActionListener;
     IApp *app;
     friend class NetStatusControl;
@@ -64,7 +64,7 @@ private:
 };
 
 class NetStatusControl : public YTimerListener, public refcounted {
-    YTimer* fUpdateTimer;
+    lazy<YTimer> fUpdateTimer;
     //YSortedMap<ustring,NetStatus*> fNetStatus;
     YVec<NetStatus*> fNetStatus;
 
--- icewm-1.4.3.0~pre-20180217.orig/src/atasks.cc
+++ icewm-1.4.3.0~pre-20180217/src/atasks.cc
@@ -12,39 +12,31 @@
 #include "wpixmaps.h"
 #include "yrect.h"
 
-static YColor *normalTaskBarAppFg = 0;
-static YColor *normalTaskBarAppBg = 0;
-static YColor *activeTaskBarAppFg = 0;
-static YColor *activeTaskBarAppBg = 0;
-static YColor *minimizedTaskBarAppFg = 0;
-static YColor *minimizedTaskBarAppBg = 0;
-static YColor *invisibleTaskBarAppFg = 0;
-static YColor *invisibleTaskBarAppBg = 0;
+static YColorName normalTaskBarAppFg(&clrNormalTaskBarAppText);
+static YColorName normalTaskBarAppBg(&clrNormalTaskBarApp);
+static YColorName activeTaskBarAppFg(&clrActiveTaskBarAppText);
+static YColorName activeTaskBarAppBg(&clrActiveTaskBarApp);
+static YColorName minimizedTaskBarAppFg(&clrMinimizedTaskBarAppText);
+static YColorName minimizedTaskBarAppBg(&clrMinimizedTaskBarApp);
+static YColorName invisibleTaskBarAppFg(&clrInvisibleTaskBarAppText);
+static YColorName invisibleTaskBarAppBg(&clrInvisibleTaskBarApp);
 static ref<YFont> normalTaskBarFont;
 static ref<YFont> activeTaskBarFont;
 
-YTimer *TaskBarApp::fRaiseTimer = 0;
+lazy<YTimer> TaskBarApp::fRaiseTimer;
 
 TaskBarApp::TaskBarApp(ClientData *frame, TaskPane *taskPane, YWindow *aParent): YWindow(aParent) {
-    if (normalTaskBarAppFg == 0) {
-        normalTaskBarAppBg = new YColor(clrNormalTaskBarApp);
-        normalTaskBarAppFg = new YColor(clrNormalTaskBarAppText);
-        activeTaskBarAppBg = new YColor(clrActiveTaskBarApp);
-        activeTaskBarAppFg = new YColor(clrActiveTaskBarAppText);
-        minimizedTaskBarAppBg = new YColor(clrMinimizedTaskBarApp);
-        minimizedTaskBarAppFg = new YColor(clrMinimizedTaskBarAppText);
-        invisibleTaskBarAppBg = new YColor(clrInvisibleTaskBarApp);
-        invisibleTaskBarAppFg = new YColor(clrInvisibleTaskBarAppText);
+    if (normalTaskBarFont == null)
         normalTaskBarFont = YFont::getFont(XFA(normalTaskBarFontName));
+    if (activeTaskBarFont == null)
         activeTaskBarFont = YFont::getFont(XFA(activeTaskBarFontName));
-    }
+
     fTaskPane = taskPane;
     fFrame = frame;
     selected = 0;
     fShown = true;
     fFlashing = false;
     fFlashOn = false;
-    fFlashTimer = 0;
     fFlashStart = zerotime();
     setToolTip(frame->getTitle());
     //setDND(true);
@@ -54,11 +46,8 @@ TaskBarApp::~TaskBarApp() {
     if (fTaskPane->dragging() == this)
         fTaskPane->endDrag();
 
-    if (fRaiseTimer && fRaiseTimer->getTimerListener() == this) {
-        fRaiseTimer->stopTimer();
-        fRaiseTimer->setTimerListener(0);
-    }
-    delete fFlashTimer; fFlashTimer = 0;
+    if (fRaiseTimer)
+        fRaiseTimer->disableTimerListener(this);
 }
 
 bool TaskBarApp::isFocusTraversable() {
@@ -78,12 +67,7 @@ void TaskBarApp::setFlash(bool flashing)
         if (fFlashing && focusRequestFlashInterval > 0) {
             fFlashOn = true;
             fFlashStart = monotime();
-            if (fFlashTimer == 0)
-                fFlashTimer = new YTimer(focusRequestFlashInterval);
-            if (fFlashTimer) {
-                fFlashTimer->setTimerListener(this);
-                fFlashTimer->startTimer();
-            }
+            fFlashTimer->setTimer(focusRequestFlashInterval, this, true);
         } else {
             //fFlashTimer->stopTimer();
         }
@@ -91,7 +75,7 @@ void TaskBarApp::setFlash(bool flashing)
 }
 
 void TaskBarApp::paint(Graphics &g, const YRect &/*r*/) {
-    YColor *bg, *fg;
+    YColor bg, fg;
     ref<YPixmap> bgPix;
     ref<YImage> bgGrad;
 
@@ -295,21 +279,14 @@ void TaskBarApp::handleClick(const XButt
 }
 
 void TaskBarApp::handleDNDEnter() {
-    if (fRaiseTimer == 0)
-        fRaiseTimer = new YTimer(autoRaiseDelay);
-    if (fRaiseTimer) {
-        fRaiseTimer->setTimerListener(this);
-        fRaiseTimer->startTimer();
-    }
+    fRaiseTimer->setTimer(autoRaiseDelay, this, true);
     selected = 3;
     repaint();
 }
 
 void TaskBarApp::handleDNDLeave() {
-    if (fRaiseTimer && fRaiseTimer->getTimerListener() == this) {
-        fRaiseTimer->stopTimer();
-        fRaiseTimer->setTimerListener(0);
-    }
+    if (fRaiseTimer)
+        fRaiseTimer->disableTimerListener(this);
     selected = 0;
     repaint();
 }
@@ -437,7 +414,7 @@ void TaskPane::handleClick(const XButton
 }
 
 void TaskPane::paint(Graphics &g, const YRect &/*r*/) {
-    g.setColor(getTaskBarBg());
+    g.setColor(taskBarBg);
     //g.draw3DRect(0, 0, width() - 1, height() - 1, true);
 
     // When TaskBarDoubleHeight=1 this draws the lower half.
--- icewm-1.4.3.0~pre-20180217.orig/src/atasks.h
+++ icewm-1.4.3.0~pre-20180217/src/atasks.h
@@ -39,8 +39,8 @@ private:
     bool fFlashOn;
     timeval fFlashStart;
     int selected;
-    YTimer *fFlashTimer;
-    static YTimer *fRaiseTimer;
+    lazy<YTimer> fFlashTimer;
+    static lazy<YTimer> fRaiseTimer;
 };
 
 class TaskPane: public YWindow {
--- icewm-1.4.3.0~pre-20180217.orig/src/atray.cc
+++ icewm-1.4.3.0~pre-20180217/src/atray.cc
@@ -23,14 +23,14 @@
 #include "wpixmaps.h"
 #include "yrect.h"
 
-static YColor *normalTrayAppFg = 0;
-static YColor *normalTrayAppBg = 0;
-static YColor *activeTrayAppFg = 0;
-static YColor *activeTrayAppBg = 0;
-static YColor *minimizedTrayAppFg = 0;
-static YColor *minimizedTrayAppBg = 0;
-static YColor *invisibleTrayAppFg = 0;
-static YColor *invisibleTrayAppBg = 0;
+static YColorName normalTrayAppFg(&clrNormalTaskBarAppText);
+static YColorName normalTrayAppBg(&clrNormalTaskBarApp);
+static YColorName activeTrayAppFg(&clrActiveTaskBarAppText);
+static YColorName activeTrayAppBg(&clrActiveTaskBarApp);
+static YColorName minimizedTrayAppFg(&clrMinimizedTaskBarAppText);
+static YColorName minimizedTrayAppBg(&clrNormalTaskBarApp);
+static YColorName invisibleTrayAppFg(&clrInvisibleTaskBarAppText);
+static YColorName invisibleTrayAppBg(&clrNormalTaskBarApp);
 static ref<YFont> normalTrayFont;
 static ref<YFont> activeTrayFont;
 
@@ -39,18 +39,11 @@ ref<YImage> TrayApp::taskActiveGradient;
 ref<YImage> TrayApp::taskNormalGradient;
 
 TrayApp::TrayApp(ClientData *frame, YWindow *aParent): YWindow(aParent) {
-    if (normalTrayAppFg == 0) {
-        normalTrayAppBg = new YColor(clrNormalTaskBarApp);
-        normalTrayAppFg = new YColor(clrNormalTaskBarAppText);
-        activeTrayAppBg = new YColor(clrActiveTaskBarApp);
-        activeTrayAppFg = new YColor(clrActiveTaskBarAppText);
-        minimizedTrayAppBg = new YColor(clrNormalTaskBarApp);
-        minimizedTrayAppFg = new YColor(clrMinimizedTaskBarAppText);
-        invisibleTrayAppBg = new YColor(clrNormalTaskBarApp);
-        invisibleTrayAppFg = new YColor(clrInvisibleTaskBarAppText);
+    if (normalTrayFont == null)
         normalTrayFont = YFont::getFont(XFA(normalTaskBarFontName));
+    if (activeTrayFont == null)
         activeTrayFont = YFont::getFont(XFA(activeTaskBarFontName));
-    }
+
     fFrame = frame;
     selected = 0;
     fShown = true;
@@ -73,7 +66,7 @@ void TrayApp::setShown(bool ashow) {
 }
 
 void TrayApp::paint(Graphics &g, const YRect &/*r*/) {
-    YColor *bg;
+    YColor bg;
     ref<YPixmap> bgPix;
     ref<YImage> bgGrad;
 
@@ -193,11 +186,7 @@ void TrayApp::handleClick(const XButtonE
 }
 
 void TrayApp::handleDNDEnter() {
-    if (fRaiseTimer) {
-        fRaiseTimer->startTimer();
-    }
-    else
-        fRaiseTimer = new YTimer(autoRaiseDelay, this, true);
+    fRaiseTimer->setTimer(autoRaiseDelay, this, true);
 
     selected = 3;
     repaint();
@@ -205,7 +194,7 @@ void TrayApp::handleDNDEnter() {
 
 void TrayApp::handleDNDLeave() {
     if (fRaiseTimer)
-        fRaiseTimer = 0;
+        fRaiseTimer = null;
 
     selected = 0;
     repaint();
@@ -213,7 +202,7 @@ void TrayApp::handleDNDLeave() {
 
 bool TrayApp::handleTimer(YTimer *t) {
     if (t == fRaiseTimer) {
-        fRaiseTimer = 0;
+        fRaiseTimer = null;
         getFrame()->wmRaise();
     }
     return false;
@@ -308,7 +297,7 @@ void TrayPane::paint(Graphics &g, const
     int const w(width());
     int const h(height());
 
-    g.setColor(getTaskBarBg());
+    g.setColor(taskBarBg);
 
     ref<YImage> gradient(parent() ? parent()->getGradient() : null);
 
--- icewm-1.4.3.0~pre-20180217.orig/src/atray.h
+++ icewm-1.4.3.0~pre-20180217/src/atray.h
@@ -38,7 +38,7 @@ private:
     ClientData *fFrame;
     bool fShown;
     int selected;
-    osmart<YTimer> fRaiseTimer;
+    lazy<YTimer> fRaiseTimer;
 
     static ref<YImage> taskMinimizedGradient;
     static ref<YImage> taskActiveGradient;
--- icewm-1.4.3.0~pre-20180217.orig/src/aworkspaces.cc
+++ icewm-1.4.3.0~pre-20180217/src/aworkspaces.cc
@@ -14,11 +14,13 @@
 #include "intl.h"
 #include <math.h>
 
-YColor * WorkspaceButton::normalButtonBg(NULL);
-YColor * WorkspaceButton::normalButtonFg(NULL);
-
-YColor * WorkspaceButton::activeButtonBg(NULL);
-YColor * WorkspaceButton::activeButtonFg(NULL);
+YColorName WorkspaceButton::normalButtonBg(&clrWorkspaceNormalButton);
+YColorName WorkspaceButton::normalBackupBg(&clrNormalButton);
+YColorName WorkspaceButton::normalButtonFg(&clrWorkspaceNormalButtonText);
+
+YColorName WorkspaceButton::activeButtonBg(&clrWorkspaceActiveButton);
+YColorName WorkspaceButton::activeBackupBg(&clrActiveButton);
+YColorName WorkspaceButton::activeButtonFg(&clrWorkspaceActiveButtonText);
 
 ref<YFont> WorkspaceButton::normalButtonFont;
 ref<YFont> WorkspaceButton::activeButtonFont;
@@ -54,20 +56,13 @@ void WorkspaceButton::handleClick(const
 }
 
 void WorkspaceButton::handleDNDEnter() {
-    if (fRaiseTimer == 0)
-        fRaiseTimer = new YTimer(autoRaiseDelay);
-    if (fRaiseTimer) {
-        fRaiseTimer->setTimerListener(this);
-        fRaiseTimer->startTimer();
-    }
+    fRaiseTimer->setTimer(autoRaiseDelay, this, true);
     repaint();
 }
 
 void WorkspaceButton::handleDNDLeave() {
-    if (fRaiseTimer && fRaiseTimer->getTimerListener() == this) {
-        fRaiseTimer->stopTimer();
-        fRaiseTimer->setTimerListener(0);
-    }
+    if (fRaiseTimer)
+        fRaiseTimer->disableTimerListener(this);
     repaint();
 }
 
@@ -270,34 +265,18 @@ ref<YFont> WorkspaceButton::getFont() {
         : YButton::getFont();
 }
 
-YColor * WorkspaceButton::getColor() {
+YColor WorkspaceButton::getColor() {
     return isPressed()
-        ? *clrWorkspaceActiveButtonText
-        ? activeButtonFg
-        ? activeButtonFg
-        : activeButtonFg = new YColor(clrWorkspaceActiveButtonText)
-        : YButton::getColor()
-        : *clrWorkspaceNormalButtonText
-        ? normalButtonFg
-        ? normalButtonFg
-        : normalButtonFg = new YColor(clrWorkspaceNormalButtonText)
-        : YButton::getColor();
+        ? activeButtonFg ? activeButtonFg : YButton::getColor()
+        : normalButtonFg ? normalButtonFg : YButton::getColor();
 }
 
 YSurface WorkspaceButton::getSurface() {
-    if (activeButtonBg == 0)
-        activeButtonBg =
-            new YColor(*clrWorkspaceActiveButton
-                       ? clrWorkspaceActiveButton : clrActiveButton);
-    if (normalButtonBg == 0)
-        normalButtonBg =
-            new YColor(*clrWorkspaceNormalButton
-                       ? clrWorkspaceNormalButton : clrNormalButton);
-
-    return (isPressed() ? YSurface(activeButtonBg,
+    return (isPressed()
+            ? YSurface(activeButtonBg ? activeButtonBg : activeBackupBg,
                                    workspacebuttonactivePixmap,
                                    workspacebuttonactivePixbuf)
-            : YSurface(normalButtonBg,
+            : YSurface(normalButtonBg ? normalButtonBg : normalBackupBg,
                        workspacebuttonPixmap,
                        workspacebuttonPixbuf));
 }
@@ -344,13 +323,13 @@ void WorkspaceButton::paint(Graphics &g,
         double sf = (double) desktop->width() / w;
 
         ref<YIcon> icon;
-        YColor *colors[] = {
+        YColor colors[] = {
             surface.color,
-            surface.color->brighter(),
-            surface.color->darker(),
+            surface.color.brighter(),
+            surface.color.darker(),
             getColor(),
-            NULL, // getColor()->brighter(),
-            getColor()->darker()
+            YColor(), // getColor().brighter(),
+            getColor().darker()
         };
 
         for (YFrameWindow *yfw = manager->bottomLayer(WinLayerBelow);
--- icewm-1.4.3.0~pre-20180217.orig/src/aworkspaces.h
+++ icewm-1.4.3.0~pre-20180217/src/aworkspaces.h
@@ -17,7 +17,7 @@ public:
 
     virtual void actionPerformed(YAction button, unsigned int modifiers);
     virtual ref<YFont> getFont();
-    virtual YColor * getColor();
+    virtual YColor   getColor();
     virtual YSurface getSurface();
 
     void updateName();
@@ -26,14 +26,16 @@ public:
 private:
     virtual void paint(Graphics &g, const YRect &r);
 
-    static YTimer *fRaiseTimer;
+    static lazy<YTimer> fRaiseTimer;
     long fWorkspace;
 
-    static YColor * normalButtonBg;
-    static YColor * normalButtonFg;
-
-    static YColor * activeButtonBg;
-    static YColor * activeButtonFg;
+    static YColorName normalButtonBg;
+    static YColorName normalBackupBg;
+    static YColorName normalButtonFg;
+
+    static YColorName activeButtonBg;
+    static YColorName activeBackupBg;
+    static YColorName activeButtonFg;
 
     static ref<YFont> normalButtonFont;
     static ref<YFont> activeButtonFont;
--- icewm-1.4.3.0~pre-20180217.orig/src/config.cmake.h.in
+++ icewm-1.4.3.0~pre-20180217/src/config.cmake.h.in
@@ -99,6 +99,7 @@
 #cmakedefine CONFIG_XPM 1
 #cmakedefine CONFIG_IMLIB  1
 #cmakedefine CONFIG_LIBPNG  1
+#cmakedefine CONFIG_LIBJPEG  1
 #cmakedefine CONFIG_GDK_PIXBUF_XLIB 1
 #cmakedefine CONFIG_I18N 1
 #cmakedefine ENABLE_NLS 1
--- icewm-1.4.3.0~pre-20180217.orig/src/debug.h
+++ icewm-1.4.3.0~pre-20180217/src/debug.h
@@ -7,9 +7,11 @@ extern bool debug_z;
 
 #define DBG if (debug)
 #define MSG(x) DBG tlog x
+#define TLOG(x) tlog x
 #else
 #define DBG if (0)
 #define MSG(x)
+#define TLOG(x)
 #endif
 
 #if defined(DEBUG) || defined(PRECON)
--- icewm-1.4.3.0~pre-20180217.orig/src/default.h
+++ icewm-1.4.3.0~pre-20180217/src/default.h
@@ -120,7 +120,7 @@ XIV(bool, win95keys,
 XIV(bool, autoReloadMenus,                      true)
 XIV(bool, arrangeWindowsOnScreenSizeChange,     true)
 XIV(bool, clientMouseActions,                   true)
-XIV(bool, showPrograms,                         false)
+XIV(bool, showPrograms,                         true)
 XIV(bool, showSettingsMenu,                     true)
 XIV(bool, showFocusModeMenu,                    true)
 XIV(bool, showThemesMenu,                       true)
@@ -170,22 +170,22 @@ XIV(int, netWorkAreaBehaviour,
 
 XSV(const char *, acpiIgnoreBatteries,          0)
 XSV(const char *, mailBoxPath,                  0)
-XSV(const char *, mailCommand,                  "xterm -name mutt -e mutt")
+XSV(const char *, mailCommand,                  "x-terminal-emulator -e mutt")
 XSV(const char *, mailClassHint,                "mutt.XTerm")
 XSV(const char *, newMailCommand,               0)
-XSV(const char *, lockCommand,                  0)
+XSV(const char *, lockCommand,                  "xscreensaver-command -lock")
 XSV(const char *, clockCommand,                 "xclock -name icewm -title Clock")
 XSV(const char *, clockClassHint,               "icewm.XClock")
 XSV(const char *, runDlgCommand,                0)
 XSV(const char *, openCommand,                  0)
-XSV(const char *, terminalCommand,              "xterm")
+XSV(const char *, terminalCommand,              "x-terminal-emulator")
 XSV(const char *, logoutCommand,                0)
 XSV(const char *, logoutCancelCommand,          0)
 #if defined(__linux__)
 // use shell code since those are wrapped through shell in YWindowManager::execAfterFork
-XSV(const char *, shutdownCommand,              "test -e /run/systemd/system && systemctl poweroff")
-XSV(const char *, rebootCommand,                "test -e /run/systemd/system && systemctl reboot")
-XSV(const char *, suspendCommand,               "test -e /run/systemd/system && systemctl suspend")
+XSV(const char *, shutdownCommand,              "test -e /run/systemd/system && systemctl poweroff || sudo -n /sbin/poweroff")
+XSV(const char *, rebootCommand,                "test -e /run/systemd/system && systemctl reboot || sudo -n /sbin/reboot")
+XSV(const char *, suspendCommand,               "test -e /run/systemd/system && systemctl suspend || sudon -n /usr/sbin/pm-suspend")
 #else
 XSV(const char *, shutdownCommand,              0)
 XSV(const char *, rebootCommand,                0)
@@ -195,10 +195,10 @@ XIV(int, taskBarCPUDelay,
 XIV(int, taskBarMEMDelay,                       500)
 XIV(int, taskBarNetSamples,                     20)
 XIV(int, taskBarNetDelay,                       500)
-XSV(const char *, cpuCommand,                   "xterm -name top -title Process\\ Status -e top")
+XSV(const char *, cpuCommand,                   "x-terminal-emulator -e top")
 XSV(const char *, cpuClassHint,                 "top.XTerm")
+XSV(const char *, netCommand,                   "x-terminal-emulator -e netstat -c")
 XIV(bool, cpuCombine,                           true)
-XSV(const char *, netCommand,                   "xterm -name netstat -title 'Network Status' -e netstat -c")
 XSV(const char *, netClassHint,                 "netstat.XTerm")
 #ifdef __linux__
 // use sysfs to build the interface list
--- icewm-1.4.3.0~pre-20180217.orig/src/fdomenu.cc
+++ icewm-1.4.3.0~pre-20180217/src/fdomenu.cc
@@ -223,10 +223,8 @@ void proc_dir(const char *path, unsigned
 
                 if (bUseSimplifiedCmd && !bForTerminal) // best case
                         menuLine = g_strjoin(" ", sicon, cmdMod, NULL);
-#ifdef XTERMCMD
                 else if (bForTerminal && bUseSimplifiedCmd)
-                        menuLine = g_strjoin(" ", sicon, QUOTE(XTERMCMD), "-e", cmdMod, NULL);
-#endif
+                        menuLine = g_strjoin(" ", sicon, "x-terminal-emulator", "-e", cmdMod, NULL);
                 else // not simple command or needs a terminal started via launcher callback, or both
                         menuLine = g_strdup_printf("%s %s \"%s\"", sicon, ApplicationName, szFullName);
 
--- icewm-1.4.3.0~pre-20180217.orig/src/iceclock.cc
+++ icewm-1.4.3.0~pre-20180217/src/iceclock.cc
@@ -4,19 +4,13 @@
 
 const char *ApplicationName = "iceclock";
 
-YColor* getTaskBarBg() {
-    static YColor* taskBarBg;
-    if (taskBarBg == 0) {
-        taskBarBg = new YColor("rgb:C0/C0/C0");
-    }
-    return taskBarBg;
-}
+YColorName taskBarBg("rgb:C0/C0/C0");
 
 int main(int argc, char **argv) {
     YApplication app(&argc, &argv);
 
-    YClock *clock = new YClock(0);
-    clock->show();
+    YClock clock(0);
+    clock.show();
 
     return app.mainLoop();
 }
--- icewm-1.4.3.0~pre-20180217.orig/src/icehelp.cc
+++ icewm-1.4.3.0~pre-20180217/src/icehelp.cc
@@ -1132,7 +1132,7 @@ private:
 
     FontRef font;
     int fontFlag, fontSize;
-    YColor *bg, *normalFg, *linkFg, *hrFg, *testBg;
+    YColorName bg, normalFg, linkFg, hrFg, testBg;
 
     YScrollView *fScrollView;
     YScrollBar *fVerticalScroll;
@@ -1176,7 +1176,13 @@ private:
 };
 
 HTextView::HTextView(HTListener *fL, YScrollView *v, YWindow *parent):
-    YWindow(parent), fRoot(NULL), fScrollView(v), listener(fL) {
+    YWindow(parent), fRoot(NULL),
+    bg("rgb:CC/CC/CC"),
+    normalFg("rgb:00/00/00"),
+    linkFg("rgb:00/00/CC"),
+    hrFg("rgb:80/80/80"),
+    testBg("rgb:40/40/40"),
+    fScrollView(v), listener(fL) {
 
     fVerticalScroll = fScrollView->getVerticalScrollBar();
     fVerticalScroll->setScrollBarListener(this);
@@ -1188,12 +1194,6 @@ HTextView::HTextView(HTListener *fL, YSc
     fontSize = 0;
     flagFont(0);
 
-    normalFg = new YColor("rgb:00/00/00");
-    hrFg = new YColor("rgb:80/80/80");
-    linkFg = new YColor("rgb:00/00/CC");
-    bg = new YColor("rgb:CC/CC/CC");
-    testBg = new YColor("rgb:40/40/40");
-
     menu = new YMenu();
     menu->setActionListener(this);
     actionLeft = menu->addItem(_("Back"), 0, _("Alt+Left"), actionLeft);
--- icewm-1.4.3.0~pre-20180217.orig/src/iceicon.cc
+++ icewm-1.4.3.0~pre-20180217/src/iceicon.cc
@@ -101,7 +101,7 @@ private:
     void freeItems();
     void updateItems();
 
-    YColor *bg, *fg;
+    YColorName bg, fg;
     ref<YFont> font;
     int fontWidth, fontHeight;
 };
@@ -183,11 +183,13 @@ void YIconView::updateItems() {
     }
 }
 
-YIconView::YIconView(YScrollView *view, YWindow *aParent): YWindow(aParent) {
+YIconView::YIconView(YScrollView *view, YWindow *aParent):
+    YWindow(aParent),
+    bg("rgb:CC/CC/CC"),
+    fg(YColor::black)
+{
     fView = view;
 
-    bg = new YColor("rgb:CC/CC/CC");
-    fg = YColor::black; //new YColor("rgb:00/00/00");
     font = YFont::getFont("-b&h-lucida-medium-r-*-*-*-120-*-*-*-*-*-*", "monospace:size=10");
     fontWidth = font->textWidth("M");
     fontHeight = font->height();
@@ -276,8 +278,8 @@ bool YIconView::layout() {
         cx += aw;
         thisLine++;
 
-        if (cx > conWidth)
-            conWidth = cx;
+        if (cx > int(conWidth))
+            conWidth = unsigned(cx);
         icon = icon->getNext();
         conHeight = cy + ah;
     }
--- icewm-1.4.3.0~pre-20180217.orig/src/icelist.cc
+++ icewm-1.4.3.0~pre-20180217/src/icelist.cc
@@ -236,10 +236,10 @@ public:
         list->setGeometry(YRect(0, TH, r.width(), r.height() - TH));
     }
 private:
-    YColor *titleBg;
-    YColor *titleFg;
+    YColorName titleBg;
+    YColorName titleFg;
+    YColorName bg;
 
-    YColor *bg;
     char *title;
     int dragY;
     ObjectList *list;
@@ -271,11 +271,13 @@ public:
 };
 
 
-Pane::Pane(const char *atitle, const char *path, Panes *aParent): YWindow(aParent) {
+Pane::Pane(const char *atitle, const char *path, Panes *aParent):
+    YWindow(aParent),
+    titleBg("#6666CC"),
+    titleFg("#FFFFFF"),
+    bg("#CCCCCC")
+{
     title = strdup(atitle);
-    titleBg = new YColor("#6666CC");
-    titleFg = YColor::white;
-    bg = new YColor("#CCCCCC");
     list = new ObjectList(path, this);
     list->show();
     owner = aParent;
--- icewm-1.4.3.0~pre-20180217.orig/src/icesame.cc
+++ icewm-1.4.3.0~pre-20180217/src/icesame.cc
@@ -36,14 +36,14 @@ public:
         score = 0;
         scoreLabel = new YLabel("0", this);
 
-        c[0][0] = new YColor("rgb:00/00/00");
-        c[0][1] = 0; //new YColor("rgb:00/00/00");
-        c[1][0] = new YColor("rgb:FF/00/00");
-        c[1][1] = new YColor("rgb:80/00/00");
-        c[2][0] = new YColor("rgb:FF/FF/00");
-        c[2][1] = new YColor("rgb:80/80/00");
-        c[3][0] = new YColor("rgb:00/00/FF");
-        c[3][1] = new YColor("rgb:00/00/80");
+        c[0][0] = "rgb:00/00/00";
+        c[0][1] = "rgb:00/00/00";
+        c[1][0] = "rgb:FF/00/00";
+        c[1][1] = "rgb:80/00/00";
+        c[2][0] = "rgb:FF/FF/00";
+        c[2][1] = "rgb:80/80/00";
+        c[3][0] = "rgb:00/00/FF";
+        c[3][1] = "rgb:00/00/80";
 
         setStyle(wsPointerMotion);
         setSize(XSIZE * XCOUNT, YSIZE * YCOUNT + scoreLabel->height());
@@ -280,7 +280,7 @@ private:
     int restartField[XCOUNT][YCOUNT];
     bool canUndo;
     int score, undoScore;
-    YColor *c[NCOLOR][2];
+    YColorName c[NCOLOR][2];
     YMenu *menu;
     YLabel *scoreLabel;
     YAction actionUndo, actionNew, actionRestart, actionClose;
--- icewm-1.4.3.0~pre-20180217.orig/src/iceskt.cc
+++ icewm-1.4.3.0~pre-20180217/src/iceskt.cc
@@ -40,7 +40,7 @@ public:
 
     virtual void socketError(int err) {
         if (err) warn(_("Socket error: %d"), err);
-        else MSG("EOF\n");
+        else { MSG("EOF\n"); }
         app->exit(err ? 1 : 0);
     }
 
--- icewm-1.4.3.0~pre-20180217.orig/src/icesound.cc
+++ icewm-1.4.3.0~pre-20180217/src/icesound.cc
@@ -62,8 +62,6 @@
 #ifdef HAVE_SYS_IOCTL_H
 #include <unistd.h>
 #include <sys/ioctl.h>
-#else
-#undef ENABLE_OSS
 #endif
 
 #ifdef HAVE_SYS_SOUNDCARD_H
--- icewm-1.4.3.0~pre-20180217.orig/src/icetray.cc
+++ icewm-1.4.3.0~pre-20180217/src/icetray.cc
@@ -13,17 +13,10 @@
 
 char const *ApplicationName = "icewmtray";
 
-static YColor *taskBarBg;
-
 XSV(const char *, clrDefaultTaskBar, "rgb:C0/C0/C0")
 XIV(bool,         trayDrawBevel,     false)
 
-YColor* getTaskBarBg() {
-    if (taskBarBg == 0) {
-        taskBarBg = new YColor(clrDefaultTaskBar);
-    }
-    return taskBarBg;
-}
+YColorName taskBarBg(&clrDefaultTaskBar);
 
 #ifdef CONFIG_EXTERNAL_TRAY
 class SysTray: public YWindow, public YXTrayNotifier {
@@ -147,14 +140,9 @@ void SysTrayApp::loadConfig() {
             upath("themes").child(themeName));
     }
     YConfig::findLoadConfigFile(this, tray_prefs, "prefoverride");
-    if (taskBarBg) {
-        delete taskBarBg;
-        taskBarBg = 0;
-    }
 }
 
 SysTrayApp::~SysTrayApp() {
-    delete taskBarBg; taskBarBg = 0;
 }
 
 bool SysTrayApp::filterEvent(const XEvent &xev) {
--- icewm-1.4.3.0~pre-20180217.orig/src/iceview.cc
+++ icewm-1.4.3.0~pre-20180217/src/iceview.cc
@@ -28,7 +28,11 @@ class TextView: public YWindow,
     public YScrollBarListener, public YScrollable, public YActionListener
 {
 public:
-    TextView(YScrollView *v, YWindow *parent): YWindow(parent) {
+    TextView(YScrollView *v, YWindow *parent):
+        YWindow(parent),
+        bg("rgb:C0/C0/C0"),
+        fg(YColor::black)
+    {
         expandTabs = true;
         hexView = false;
         wrapLines = true;
@@ -55,8 +59,6 @@ public:
         fWidth = 0;
         fHeight = 0;
 
-        bg = new YColor("rgb:C0/C0/C0");
-        fg = YColor::black; //new YColor("rgb:00/00/00");
         font = YFont::getFont("-adobe-courier-medium-r-*-*-*-100-*-*-*-*-*-*", "monospace:size=10");
         fontWidth = font->textWidth("M");
         fontHeight = font->height();
@@ -474,9 +476,9 @@ public:
 
     virtual void configure(const YRect &r) {
         YWindow::configure(r);
-        if (fWidth != r.width() || fHeight != r.height()) {
-            fWidth = r.width();
-            fHeight = r.height();
+        if (fWidth != int(r.width()) || fHeight != int(r.height())) {
+            fWidth = int(r.width());
+            fHeight = int(r.height());
             if (wrapLines) {
                 int nw = lineWCount;
                 findWLines(r.width() / fontWidth);
@@ -505,7 +507,7 @@ private:
     int fontWidth, fontHeight;
     int wrapWidth;
 
-    YColor *bg, *fg;
+    YColorName bg, fg;
     ref<YFont> font;
     YScrollView *view;
     YScrollBar *fVerticalScroll;
@@ -555,10 +557,10 @@ public:
 
         printf("x:y = %d:%d\n", view->contentWidth(), view->contentHeight());
 
-        if (view->contentWidth() < x)
-            x = view->contentWidth();
-        if (view->contentHeight() < y)
-            y = view->contentHeight();
+        if (int(view->contentWidth()) < x)
+            x = int(view->contentWidth());
+        if (int(view->contentHeight()) < y)
+            y = int(view->contentHeight());
 
         if (x < 200)
             x = 200;
--- icewm-1.4.3.0~pre-20180217.orig/src/icewmbg.cc
+++ icewm-1.4.3.0~pre-20180217/src/icewmbg.cc
@@ -166,13 +166,13 @@ private:
     }
 
     typedef YObjectArray<mstring> Strings;
-    typedef YObjectArray<YColor> YColors;
+    typedef YArray<YColor> YColors;
 
-    ref<YPixmap> renderBackground(ref<YPixmap> back, YColor* color);
+    ref<YPixmap> renderBackground(ref<YPixmap> back, YColor color);
     ref<YPixmap> getBackgroundPixmap();
-    YColor* getBackgroundColor();
+    YColor getBackgroundColor();
     ref<YPixmap> getTransparencyPixmap();
-    YColor* getTransparencyColor();
+    YColor getTransparencyColor();
     Atom atom(const char* name) const;
     static Window window() { return desktop->handle(); }
 
@@ -188,7 +188,7 @@ private:
     unsigned desktopWidth, desktopHeight;
     ref<YPixmap> currentBackgroundPixmap;
     ref<YPixmap> currentTransparencyPixmap;
-    YColor* currentBackgroundColor;
+    YColor currentBackgroundColor;
 
     Atom _XA_XROOTPMAP_ID;
     Atom _XA_XROOTCOLOR_PIXEL;
@@ -207,7 +207,7 @@ Background::Background(int *argc, char *
     activeWorkspace(0),
     desktopWidth(desktop->width()),
     desktopHeight(desktop->height()),
-    currentBackgroundColor(0),
+    currentBackgroundColor(),
     _XA_XROOTPMAP_ID(atom("_XROOTPMAP_ID")),
     _XA_XROOTCOLOR_PIXEL(atom("_XROOTCOLOR_PIXEL")),
     _XA_NET_CURRENT_DESKTOP(atom("_NET_CURRENT_DESKTOP")),
@@ -289,7 +289,7 @@ void Background::add(const char* name, c
             clearBackgroundColors();
         }
         if (backgroundColors.getCount() < MAX_WORKSPACES) {
-            backgroundColors.append(new YColor(value));
+            backgroundColors.append(YColor(value));
         }
     }
     else if (0 == strcmp(name, "DesktopTransparencyImage")) {
@@ -320,7 +320,7 @@ void Background::add(const char* name, c
             clearTransparencyColors();
         }
         if (transparencyColors.getCount() < MAX_WORKSPACES) {
-            transparencyColors.append(new YColor(value));
+            transparencyColors.append(YColor(value));
         }
     }
     else {
@@ -360,16 +360,11 @@ ref<YPixmap> Background::getBackgroundPi
     return pixmap;
 }
 
-YColor* Background::getBackgroundColor() {
-    YColor* color(0);
+YColor Background::getBackgroundColor() {
     int count = backgroundColors.getCount();
-    if (count > 0) {
-        color = backgroundColors[activeWorkspace % count];
-    }
-    if (color == 0) {
-        color = YColor::black;
-    }
-    return color;
+    return count > 0
+        ? backgroundColors[activeWorkspace % count]
+        : YColor::black;
 }
 
 ref<YPixmap> Background::getTransparencyPixmap() {
@@ -386,16 +381,11 @@ ref<YPixmap> Background::getTransparency
     return pixmap;
 }
 
-YColor* Background::getTransparencyColor() {
-    YColor* color(0);
+YColor Background::getTransparencyColor() {
     int count = transparencyColors.getCount();
-    if (count > 0) {
-        color = transparencyColors[activeWorkspace % count];
-    }
-    if (color == 0) {
-        color = getBackgroundColor();
-    }
-    return color;
+    return count > 0
+        ? transparencyColors[activeWorkspace % count]
+        : getBackgroundColor();
 }
 
 void Background::update(bool force) {
@@ -444,7 +434,7 @@ int Background::getWorkspace() const {
     return getLongProperty(_XA_NET_CURRENT_DESKTOP);
 }
 
-ref<YPixmap> Background::renderBackground(ref<YPixmap> back, YColor* color) {
+ref<YPixmap> Background::renderBackground(ref<YPixmap> back, YColor color) {
     if (verbose) tlog("rendering...");
     unsigned width = desktopWidth;
     unsigned height = desktopHeight;
@@ -552,14 +542,14 @@ ref<YPixmap> Background::renderBackgroun
 
 void Background::changeBackground(bool force) {
     ref<YPixmap> backgroundPixmap = getBackgroundPixmap();
-    YColor* backgroundColor(getBackgroundColor());
+    YColor backgroundColor(getBackgroundColor());
     if (force == false) {
         if (backgroundPixmap == currentBackgroundPixmap &&
             backgroundColor == currentBackgroundColor) {
             return;
         }
     }
-    unsigned long const bPixel(backgroundColor->pixel());
+    unsigned long const bPixel(backgroundColor.pixel());
     bool handleBackground(false);
     Pixmap bPixmap(None);
     ref<YPixmap> back = renderBackground(backgroundPixmap, backgroundColor);
@@ -580,15 +570,15 @@ void Background::changeBackground(bool f
             _XA_XROOTPMAP_ID &&
             _XA_XROOTCOLOR_PIXEL)
         {
-            YColor* tColor(getTransparencyColor());
+            YColor tColor(getTransparencyColor());
             ref<YPixmap> trans = getTransparencyPixmap();
             bool samePixmap = trans == backgroundPixmap;
-            bool sameColor = *tColor == *backgroundColor;
+            bool sameColor = tColor == backgroundColor;
             currentTransparencyPixmap =
                 trans == null || (samePixmap && sameColor) ? back :
                 renderBackground(trans, tColor);
 
-            unsigned long tPixel(tColor->pixel());
+            unsigned long tPixel(tColor.pixel());
             Pixmap tPixmap(currentTransparencyPixmap != null
                            ? currentTransparencyPixmap->pixmap()
                            : bPixmap);
--- icewm-1.4.3.0~pre-20180217.orig/src/misc.cc
+++ icewm-1.4.3.0~pre-20180217/src/misc.cc
@@ -918,7 +918,7 @@ int read_file(const char *filename, char
 char* load_fd(int fd) {
     struct stat st;
     if (fstat(fd, &st) == 0) {
-        if (S_ISREG(st.st_mode)) {
+        if (S_ISREG(st.st_mode) && st.st_size > 0) {
             char* buf = new char[st.st_size + 1];
             if (buf) {
                 int len = read_fd(fd, buf, st.st_size + 1);
@@ -929,7 +929,7 @@ char* load_fd(int fd) {
             }
         } else {
             size_t offset = 0;
-            size_t bufsiz = 4096;
+            size_t bufsiz = 1024;
             char* buf = new char[bufsiz + 1];
             while (buf) {
                 int len = read_fd(fd, buf + offset, bufsiz + 1 - offset);
--- icewm-1.4.3.0~pre-20180217.orig/src/movesize.cc
+++ icewm-1.4.3.0~pre-20180217/src/movesize.cc
@@ -4,24 +4,15 @@
  * Copyright (C) 1997-2002 Marko Macek
  */
 #include "config.h"
-
-#include "yfull.h"
-#include "ykey.h"
 #include "wmframe.h"
-
-#include "wmclient.h"
 #include "wmstatus.h"
-#include "yxapp.h"
 #include "wmapp.h"
-#include "yrect.h"
 #include "prefs.h"
-
-#include "intl.h"
-
 #include "wmtaskbar.h"
 #include "aworkspaces.h"
+#include "intl.h"
 
-#include <stdio.h>
+extern YColorName activeBorderBg;
 
 void YFrameWindow::snapTo(int &wx, int &wy,
                           int rx1, int ry1, int rx2, int ry2,
@@ -186,23 +177,18 @@ void YFrameWindow::drawMoveSizeFX(int x,
 
     int const bw((wsBorderX + wsBorderY) / 2);
     int const bo((wsBorderX + wsBorderY) / 4);
-    static Graphics * gc(NULL);
-
-    if (gc == NULL) {
-        XGCValues gcv;
 
-        gcv.foreground = YColor(clrActiveBorder).pixel();
-        gcv.function = GXxor;
-        gcv.graphics_exposures = False;
-        gcv.line_width = bw;
-        gcv.subwindow_mode = IncludeInferiors;
-
-        gc = new Graphics(*desktop, GCForeground | GCFunction |
-                                    GCGraphicsExposures | GCLineWidth |
-                                    GCSubwindowMode, &gcv);
-    }
+    XGCValues gcv;
 
-    gc->drawRect(x + bo, y + bo, w - bw, h - bw);
+    gcv.foreground = activeBorderBg.pixel();
+    gcv.function = GXxor;
+    gcv.graphics_exposures = False;
+    gcv.line_width = bw;
+    gcv.subwindow_mode = IncludeInferiors;
+
+    Graphics g(*desktop, GCForeground | GCFunction | GCGraphicsExposures |
+                         GCLineWidth | GCSubwindowMode, &gcv);
+    g.drawRect(x + bo, y + bo, w - bw, h - bw);
 }
 
 int YFrameWindow::handleMoveKeys(const XKeyEvent &key, int &newX, int &newY) {
--- icewm-1.4.3.0~pre-20180217.orig/src/mstring.cc
+++ icewm-1.4.3.0~pre-20180217/src/mstring.cc
@@ -9,6 +9,7 @@
 #include <string.h>
 #include <stdlib.h>
 #include <ctype.h>
+#include <regex.h>
 #include "base.h"
 #include "ascii.h"
 
@@ -106,8 +107,7 @@ mstring mstring::operator+(const mstring
 }
 
 mstring& mstring::operator+=(const mstring& rv) {
-    *this = *this + rv;
-    return *this;
+    return *this = *this + rv;
 }
 
 mstring& mstring::operator=(const mstring& rv) {
@@ -121,7 +121,7 @@ mstring& mstring::operator=(const mstrin
     return *this;
 }
 
-mstring& mstring::operator=(const class null_ref &) {
+mstring& mstring::operator=(null_ref &) {
     if (fStr) {
         release();
         fStr = 0;
@@ -380,6 +380,37 @@ void mstring::normalize()
     }
 }
 
+mstring mstring::match(const char* regex, const char* flags) {
+    int compFlags = REG_EXTENDED;
+    int execFlags = 0;
+    for (int i = 0; flags && flags[i]; ++i) {
+        switch (flags[i]) {
+            case 'i': compFlags |= REG_ICASE; break;
+            case 'n': compFlags |= REG_NEWLINE; break;
+            case 'B': execFlags |= REG_NOTBOL; break;
+            case 'E': execFlags |= REG_NOTEOL; break;
+        }
+    }
+
+    regex_t preg;
+    int comp = regcomp(&preg, regex, compFlags);
+    if (comp) {
+        if (testOnce(regex, __LINE__)) {
+            char rbuf[123] = "";
+            regerror(comp, &preg, rbuf, sizeof rbuf);
+            warn("match regcomp: %s", rbuf);
+        }
+        return null;
+    }
+
+    regmatch_t pos;
+    int exec = regexec(&preg, data(), 1, &pos, execFlags);
+    if (exec)
+        return null;
+
+    return mstring(data() + pos.rm_so, size_t(pos.rm_eo - pos.rm_so));
+}
+
 cstring::cstring(const mstring &s): str(s) {
     str.normalize();
 }
--- icewm-1.4.3.0~pre-20180217.orig/src/mstring.h
+++ icewm-1.4.3.0~pre-20180217/src/mstring.h
@@ -50,16 +50,8 @@ public:
     mstring(const char *str1, const char *str2, const char *str3);
     mstring(const char *str, size_t len);
 
-    mstring(const class null_ref &):
-        fStr(0),
-        fOffset(0),
-        fCount(0)
-    {}
-    mstring():
-        fStr(0),
-        fOffset(0),
-        fCount(0)
-    {}
+    mstring(null_ref &): fStr(0), fOffset(0), fCount(0) { }
+    mstring():           fStr(0), fOffset(0), fCount(0) { }
 
     mstring(const mstring &r):
         fStr(r.fStr),
@@ -82,14 +74,15 @@ public:
     bool operator!=(const char *rv) const { return !equals(rv); }
     bool operator==(const mstring &rv) const { return equals(rv); }
     bool operator!=(const mstring &rv) const { return !equals(rv); }
-    bool operator==(const class null_ref &) const { return fStr == 0; }
-    bool operator!=(const class null_ref &) const { return fStr != 0; }
+    bool operator==(null_ref &) const { return fStr == 0; }
+    bool operator!=(null_ref &) const { return fStr != 0; }
 //    bool operator==(const char *rv, size_t len) const { return equals(rv, len); }
 //    bool operator!=(const char *rv, size_t len) const { return !equals(rv, len); }
 
-    mstring& operator=(const class null_ref &);
+    mstring& operator=(null_ref &);
     mstring substring(size_t pos) const;
     mstring substring(size_t pos, size_t len) const;
+    mstring match(const char* regex, const char* flags = 0);
 
     int operator[](int pos) const { return charAt(pos); }
     int charAt(int pos) const;
--- icewm-1.4.3.0~pre-20180217.orig/src/obj.h
+++ icewm-1.4.3.0~pre-20180217/src/obj.h
@@ -1,9 +1,10 @@
 #ifndef __OBJ_H
 #define __OBJ_H
 
-#include "ypaint.h"
+#include "mstring.h"
 
 class IApp;
+class YIcon;
 
 class DObject {
 public:
--- icewm-1.4.3.0~pre-20180217.orig/src/objbar.cc
+++ icewm-1.4.3.0~pre-20180217/src/objbar.cc
@@ -16,8 +16,8 @@
 #include "yicon.h"
 
 ref<YFont> ObjectButton::font;
-YColor * ObjectButton::bgColor(NULL);
-YColor * ObjectButton::fgColor(NULL);
+YColorName ObjectButton::bgColor(&clrToolButton);
+YColorName ObjectButton::fgColor(&clrToolButtonText);
 
 ObjectBar::ObjectBar(YWindow *parent): YWindow(parent) {
     setSize(1, 1);
@@ -58,7 +58,7 @@ void ObjectBar::paint(Graphics &g, const
     if (taskbackPixmap != null)
         g.fillPixmap(taskbackPixmap, 0, 0, width(), height());
     else {
-        g.setColor(getTaskBarBg());
+        g.setColor(taskBarBg);
         g.fillRect(0, 0, width(), height());
     }
 }
@@ -101,17 +101,13 @@ ref<YFont> ObjectButton::getFont() {
          : YButton::getFont());
 }
 
-YColor * ObjectButton::getColor() {
-    return *clrToolButtonText
-        ? fgColor ? fgColor : fgColor = new YColor(clrToolButtonText)
-        : YButton::getColor();
+YColor ObjectButton::getColor() {
+    return fgColor ? fgColor : YButton::getColor();
 }
 
 YSurface ObjectButton::getSurface() {
-    if (bgColor == 0)
-        bgColor = new YColor(*clrToolButton ? clrToolButton : clrNormalButton);
-
-    return YSurface(bgColor, toolbuttonPixmap, toolbuttonPixbuf);
+    return YSurface(bgColor ? bgColor : YButton::normalButtonBg,
+                    toolbuttonPixmap, toolbuttonPixbuf);
 }
 
 void ObjectButton::actionPerformed(YAction action, unsigned modifiers) {
--- icewm-1.4.3.0~pre-20180217.orig/src/objbar.h
+++ icewm-1.4.3.0~pre-20180217/src/objbar.h
@@ -24,7 +24,6 @@ public:
 
 private:
     YObjectArray<YButton> objects;
-    static YColor *bgColor;
 };
 
 #endif
--- icewm-1.4.3.0~pre-20180217.orig/src/objbutton.h
+++ icewm-1.4.3.0~pre-20180217/src/objbutton.h
@@ -20,15 +20,15 @@ public:
 
     virtual void actionPerformed(YAction action, unsigned int modifiers);
     virtual ref<YFont> getFont();
-    virtual YColor * getColor();
+    virtual YColor   getColor();
     virtual YSurface getSurface();
 
 private:
     osmart<DObject> fObject;
 
     static ref<YFont> font;
-    static YColor *bgColor;
-    static YColor *fgColor;
+    static YColorName bgColor;
+    static YColorName fgColor;
 };
 
 #endif
--- icewm-1.4.3.0~pre-20180217.orig/src/ref.h
+++ icewm-1.4.3.0~pre-20180217/src/ref.h
@@ -30,7 +30,7 @@ public:
     }
 
     ref(): ptr(0) {}
-    ref(class null_ref &): ptr(0) {}
+    ref(null_ref &): ptr(0) {}
     explicit ref(T *r) : ptr(r) { if (ptr) __ref(); }
     ref(const ref<T> &p): ptr(p.ptr) { if (ptr) __ref(); }
     template<class T2>
@@ -69,10 +69,10 @@ public:
     }
     bool operator==(const ref<T> &r) const { return ptr == r.ptr; }
     bool operator!=(const ref<T> &r) const { return ptr != r.ptr; }
-    bool operator==(const class null_ref &) const { return ptr == 0; }
-    bool operator!=(const class null_ref &) const { return ptr != 0; }
+    bool operator==(null_ref &) const { return ptr == 0; }
+    bool operator!=(null_ref &) const { return ptr != 0; }
 
-    ref<T>& operator=(const class null_ref &) {
+    ref<T>& operator=(null_ref &) {
         if (ptr)
             __unref();
         ptr = 0;
@@ -81,6 +81,39 @@ public:
     T *_ptr() const { return ptr; }
 };
 
+template<class T>
+class lazy {
+public:
+    lazy() : ptr(0) {}
+    explicit lazy(T* p) : ptr(p) {}
+
+    operator T*() { return ptr ? ptr : ptr = new T; }
+    operator bool() { return ptr != 0; }
+    T* operator->() { return *this; }
+    T& operator*() { return **this; }
+    T** operator&() { return &ptr; }
+    T* _ptr() const { return ptr; }
+    bool operator==(const T* q) const { return q == ptr; }
+    bool operator!=(const T* q) const { return q != ptr; }
+
+    void operator=(null_ref &) { if (ptr) { delete ptr; ptr = 0; } }
+    ~lazy() { *this = null; }
+
+private:
+    T* ptr;
+
+    // undefined
+    lazy(const lazy<T>&);
+    void operator=(const lazy<T>&);
+    operator int();
+    operator void*();
+};
+
+template<class T>
+bool operator==(T* q, lazy<T>& p) { return q == p._ptr(); }
+template<class T>
+bool operator!=(T* q, lazy<T>& p) { return q != p._ptr(); }
+
 #endif
 
 // vim: set sw=4 ts=4 et:
--- icewm-1.4.3.0~pre-20180217.orig/src/strtest.cc
+++ icewm-1.4.3.0~pre-20180217/src/strtest.cc
@@ -202,6 +202,15 @@ static void test_mstring()
     expect(u, "cdef");
     u = mstring((char *) NULL, (char *) NULL, (char *) NULL);
     expect(u, "");
+
+    u = mstring("#ffff").match("#fffff");
+    expect(u, null);
+    u = mstring("#fffff").match("#fffff");
+    expect(u, "#fffff");
+    u = mstring("f#ffffff").match("#fffff");
+    expect(u, "#fffff");
+    u = mstring("f#ffffff").match("#f{5}");
+    expect(u, "#fffff");
 }
 
 static void test_upath()
--- icewm-1.4.3.0~pre-20180217.orig/src/testmenus.cc
+++ icewm-1.4.3.0~pre-20180217/src/testmenus.cc
@@ -15,6 +15,7 @@ const char *ApplicationName = "testmenus
 YMenu *logoutMenu(NULL);
 YWMApp *wmapp(NULL);
 YMenu *windowListMenu(NULL);
+YWindowManager *manager;
 
 void YWMApp::restartClient(const char *path, char *const *args) {
 }
--- icewm-1.4.3.0~pre-20180217.orig/src/themable.h
+++ icewm-1.4.3.0~pre-20180217/src/themable.h
@@ -47,24 +47,24 @@ XSV(const char *, titleButtonsSupported,
 XSV(const char *, themeAuthor,                  0)
 XSV(const char *, themeDescription,             0)
 
-XFV(const char *, titleFontName,                FONT(120), "sans-serif:size=12")
-XFV(const char *, menuFontName,                 BOLDFONT(100), "sans-serif:size=10:bold")
-XFV(const char *, statusFontName,               BOLDTTFONT(120), "monospace:size=12:bold")
-XFV(const char *, switchFontName,               BOLDTTFONT(120), "monospace:size=12:bold")
-XFV(const char *, normalButtonFontName,         FONT(120), "sans-serif:size=12")
-XFV(const char *, activeButtonFontName,         BOLDFONT(120), "sans-serif:size=12:bold")
-XFV(const char *, normalTaskBarFontName,        FONT(120), "sans-serif:size=12")
-XFV(const char *, activeTaskBarFontName,        BOLDFONT(120), "sans-serif:size=12:bold")
-XFV(const char *, toolButtonFontName,           FONT(120), "sans-serif:size=12")
-XFV(const char *, normalWorkspaceFontName,      FONT(120), "sans-serif:size=12")
-XFV(const char *, activeWorkspaceFontName,      FONT(120), "sans-serif:size=12")
-XFV(const char *, minimizedWindowFontName,      FONT(120), "sans-serif:size=12")
-XFV(const char *, listBoxFontName,              FONT(120), "sans-serif:size=12")
-XFV(const char *, labelFontName,                FONT(140), "sans-serif:size=12")
-XFV(const char *, clockFontName,                TTFONT(140), "monospace:size=12")
-XFV(const char *, tempFontName,                 TTFONT(140), "monospace:size=12")
-XFV(const char *, apmFontName,                  TTFONT(140), "monospace:size=12")
-XFV(const char *, inputFontName,                TTFONT(140), "monospace:size=12")
+XFV(const char *, titleFontName,                FONT(120), "sans-serif:size=11")
+XFV(const char *, menuFontName,                 BOLDFONT(100), "sans-serif:size=10")
+XFV(const char *, statusFontName,               BOLDTTFONT(120), "monospace:size=11:bold")
+XFV(const char *, switchFontName,               BOLDTTFONT(120), "monospace:size=11")
+XFV(const char *, normalButtonFontName,         FONT(120), "sans-serif:size=11")
+XFV(const char *, activeButtonFontName,         BOLDFONT(120), "sans-serif:size=11:bold")
+XFV(const char *, normalTaskBarFontName,        FONT(120), "sans-serif:size=11")
+XFV(const char *, activeTaskBarFontName,        BOLDFONT(120), "sans-serif:size=11:bold")
+XFV(const char *, toolButtonFontName,           FONT(120), "sans-serif:size=11")
+XFV(const char *, normalWorkspaceFontName,      FONT(120), "sans-serif:size=11")
+XFV(const char *, activeWorkspaceFontName,      FONT(120), "sans-serif:size=11")
+XFV(const char *, minimizedWindowFontName,      FONT(120), "sans-serif:size=11")
+XFV(const char *, listBoxFontName,              FONT(120), "sans-serif:size=11")
+XFV(const char *, labelFontName,                FONT(140), "sans-serif:size=11")
+XFV(const char *, clockFontName,                TTFONT(140), "monospace:size=11")
+XFV(const char *, tempFontName,                 TTFONT(140), "monospace:size=11")
+XFV(const char *, apmFontName,                  TTFONT(140), "monospace:size=11")
+XFV(const char *, inputFontName,                TTFONT(140), "monospace:size=11")
 
 XSV(const char *, clrDialog,                    "rgb:C0/C0/C0")
 XSV(const char *, clrActiveBorder,              "rgb:C0/C0/C0")
--- icewm-1.4.3.0~pre-20180217.orig/src/upath.cc
+++ icewm-1.4.3.0~pre-20180217/src/upath.cc
@@ -92,6 +92,11 @@ bool upath::fileExists() const {
     return stat(&sb) == 0 && S_ISREG(sb.st_mode);
 }
 
+off_t upath::fileSize() const {
+    struct stat sb;
+    return stat(&sb) == 0 ? sb.st_size : (off_t) -1;
+}
+
 bool upath::dirExists() const {
     struct stat sb;
     return stat(&sb) == 0 && S_ISDIR(sb.st_mode);
--- icewm-1.4.3.0~pre-20180217.orig/src/upath.h
+++ icewm-1.4.3.0~pre-20180217/src/upath.h
@@ -44,6 +44,7 @@ public:
     int stat(struct stat *st) const;
     int remove() const;
     int renameAs(const pstring& dest) const;
+    off_t fileSize() const;
 
     upath& operator=(const upath& p) {
         fPath = p.fPath;
@@ -79,6 +80,16 @@ private:
     static const upath rootPath;
 };
 
+class fileptr {
+    FILE* fp;
+public:
+    fileptr(FILE* fp) : fp(fp) { }
+    ~fileptr() { close(); }
+    void close() { if (fp) { fclose(fp); fp = 0; } }
+    fileptr& operator=(FILE* ptr) { close(); fp = ptr; return *this; }
+    operator FILE*() { return fp; }
+};
+
 #endif
 
 // vim: set sw=4 ts=4 et:
--- icewm-1.4.3.0~pre-20180217.orig/src/wmapp.cc
+++ icewm-1.4.3.0~pre-20180217/src/wmapp.cc
@@ -6,10 +6,7 @@
 #include "config.h"
 
 #include "yfull.h"
-#include "atray.h"
 #include "wmapp.h"
-#include "wmaction.h"
-#include "wmmgr.h"
 #include "wmframe.h"
 #include "wmprog.h"
 #include "wmswitch.h"
@@ -20,33 +17,25 @@
 #include "wmwinmenu.h"
 #include "wmwinlist.h"
 #include "wmtaskbar.h"
-#include "wmclient.h"
-#include "ymenuitem.h"
 #include "wmsession.h"
 #include "wpixres.h"
-#include "browse.h"
-#include "objmenu.h"
-#include "objbutton.h"
-#include "aworkspaces.h"
-#include "themes.h"
 #include "sysdep.h"
-#include "prefs.h"
-#include "yimage.h"
 #include "ylocale.h"
-#include "yrect.h"
 #include "yprefs.h"
-#include "yicon.h"
 #include "prefs.h"
-#include "upath.h"
 #include "udir.h"
 #include "appnames.h"
-#include "ypointer.h"
 #include "ypaths.h"
+#ifdef CONFIG_XFREETYPE
+#include <ft2build.h>
+#include <X11/Xft/Xft.h>
+#endif
 #include "intl.h"
 
 char const *ApplicationName("IceWM");
 int rebootOrShutdown = 0;
 static bool initializing(true);
+void SetLiteDefaults();
 
 YWMApp *wmapp(NULL);
 YWindowManager *manager(NULL);
@@ -997,6 +986,9 @@ YWMApp::YWMApp(int *argc, char ***argv,
     YSMApplication(argc, argv, displayName),
     mainArgv(*argv)
 {
+    if(argc && *argc>0 && argv && *argv && **argv && mstring(**argv).endsWith("-lite"))
+            SetLiteDefaults();
+
     if (restart_wm) {
         if (overrideTheme && *overrideTheme) {
             mstring themeContent("Theme=\"" + mstring(overrideTheme) + "\"");
@@ -1555,8 +1547,8 @@ int main(int argc, char **argv) {
     unregisterProtocols();
     YIcon::freeIcons();
     WMConfig::freeConfiguration();
-    delete defOptions; defOptions = 0;
-    delete hintOptions; hintOptions = 0;
+    defOptions = null;
+    hintOptions = null;
     return rc;
 }
 
@@ -1658,5 +1650,13 @@ void YWMApp::handleSMAction(int message)
     }
 }
 
+void SetLiteDefaults()
+{
+    showTaskBar = false;
+    fontPreferFreetype = false;
+    showWindowList = false;
+    quickSwitchAllIcons = false;
+    //addWorkspace(0, "1", false);
+}
 
 // vim: set sw=4 ts=4 et:
--- icewm-1.4.3.0~pre-20180217.orig/src/wmbutton.cc
+++ icewm-1.4.3.0~pre-20180217/src/wmbutton.cc
@@ -12,10 +12,10 @@
 #include "prefs.h"
 #include "wpixmaps.h"
 
-static YColor *titleButtonBg = 0;
-static YColor *titleButtonFg = 0;
+static YColorName titleButtonBg(&clrNormalTitleButton);
+static YColorName titleButtonFg(&clrNormalTitleButtonText);
 
-inline YColor* YFrameButton::background(bool active) {
+inline YColor YFrameButton::background(bool active) {
     return YFrameTitleBar::background(active);
 }
 
@@ -35,11 +35,6 @@ YFrameButton::YFrameButton(YWindow *pare
 
     reparent(parent, 0, 0);
 
-    if (titleButtonBg == 0)
-        titleButtonBg = new YColor(clrNormalTitleButton);
-    if (titleButtonFg == 0)
-        titleButtonFg = new YColor(clrNormalTitleButtonText);
-
     if (fAction == actionNull)
         setPopup(frame->windowMenu());
 
@@ -251,9 +246,9 @@ void YFrameButton::paint(Graphics &g, co
             // the over or armed color and paint it.
            g.fillRect(0, 0, width(), height());
            if (armed)
-               g.setColor(background(true)->darker());
+               g.setColor(background(true).darker());
            else if (rolloverTitleButtons && fOver)
-               g.setColor(background(true)->brighter());
+               g.setColor(background(true).brighter());
            g.fillRect(1, 1, width()-2, height()-3);
            if (pixmap != null) {
                int x(((int)width()  - (int)pixmap->width())  / 2);
--- icewm-1.4.3.0~pre-20180217.orig/src/wmbutton.h
+++ icewm-1.4.3.0~pre-20180217/src/wmbutton.h
@@ -25,7 +25,7 @@ public:
     bool onRight() const { return fRight; }
 
 private:
-    static YColor* background(bool active);
+    static YColor background(bool active);
 
     bool focused() const { return getFrame()->focused(); }
 
--- icewm-1.4.3.0~pre-20180217.orig/src/wmclient.cc
+++ icewm-1.4.3.0~pre-20180217/src/wmclient.cc
@@ -31,7 +31,6 @@ YFrameClient::YFrameClient(YWindow *pare
     fShaped = false;
     fPinging = false;
     fPingTime = 0;
-    fPingTimer = 0;
     fHints = 0;
     fWinHints = 0;
     fSavedFrameState = InvalidFrameState;
@@ -87,11 +86,6 @@ YFrameClient::~YFrameClient() {
     }
     if (fHints) { XFree(fHints); fHints = 0; }
     if (fMwmHints) { XFree(fMwmHints); fMwmHints = 0; }
-
-    if (fPingTimer) {
-        delete fPingTimer;
-        fPingTimer = 0;
-    }
 }
 
 void YFrameClient::getProtocols(bool force) {
@@ -360,7 +354,7 @@ bool YFrameClient::sendPing() {
         xapp->send(xev, handle(), NoEventMask);
         fPinging = true;
         fPingTime = xev.data.l[1];
-        fPingTimer = new YTimer(3000L, this, true);
+        fPingTimer->setTimer(3000L, this, true);
         sent = true;
     }
     return sent;
@@ -371,8 +365,7 @@ bool YFrameClient::handleTimer(YTimer* t
         return false;
     }
 
-    delete fPingTimer;
-    fPingTimer = 0;
+    fPingTimer = null;
     fPinging = false;
 
     if (destroyed() || getFrame() == 0) {
@@ -434,8 +427,7 @@ void YFrameClient::recvPing(const XClien
     {
         fPinging = false;
         fPingTime = xapp->getEventTime("recvPing");
-        delete fPingTimer;
-        fPingTimer = 0;
+        fPingTimer = null;
     }
 }
 
--- icewm-1.4.3.0~pre-20180217.orig/src/wmclient.h
+++ icewm-1.4.3.0~pre-20180217/src/wmclient.h
@@ -210,7 +210,7 @@ private:
     bool fShaped;
     bool fPinging;
     long fPingTime;
-    YTimer* fPingTimer;
+    lazy<YTimer> fPingTimer;
     long fWinHints;
 
     ustring fWindowTitle;
--- icewm-1.4.3.0~pre-20180217.orig/src/wmdialog.cc
+++ icewm-1.4.3.0~pre-20180217/src/wmdialog.cc
@@ -66,15 +66,12 @@ bool canShutdown(bool reboot) {
 #define VERT 10
 #define MIDV 6
 
-static YColor *cadBg = 0;
+static YColorName cadBg(&clrDialog);
 
 CtrlAltDelete::CtrlAltDelete(IApp *app, YWindow *parent): YWindow(parent) {
     this->app = app;
     unsigned w = 0, h = 0;
 
-    if (cadBg == 0)
-        cadBg = new YColor(clrDialog);
-
     setStyle(wsOverrideRedirect);
     setPointer(YXApplication::leftPointer);
     setToplevel(true);
--- icewm-1.4.3.0~pre-20180217.orig/src/wmframe.cc
+++ icewm-1.4.3.0~pre-20180217/src/wmframe.cc
@@ -25,11 +25,11 @@
 
 #include "intl.h"
 
-static YColor *activeBorderBg = 0;
-static YColor *inactiveBorderBg = 0;
+       YColorName activeBorderBg(&clrActiveBorder);
+static YColorName inactiveBorderBg(&clrInactiveBorder);
 
-YTimer *YFrameWindow::fAutoRaiseTimer = 0;
-YTimer *YFrameWindow::fDelayFocusTimer = 0;
+lazy<YTimer> YFrameWindow::fAutoRaiseTimer;
+lazy<YTimer> YFrameWindow::fDelayFocusTimer;
 
 extern XContext windowContext;
 extern XContext frameContext;
@@ -42,11 +42,6 @@ YFrameWindow::YFrameWindow(
 {
     this->wmActionListener = wmActionListener;
 
-    if (activeBorderBg == 0)
-        activeBorderBg = new YColor(clrActiveBorder);
-    if (inactiveBorderBg == 0)
-        inactiveBorderBg = new YColor(clrInactiveBorder);
-
     fShapeWidth = -1;
     fShapeHeight = -1;
     fShapeTitleY = -1;
@@ -144,14 +139,10 @@ YFrameWindow::~YFrameWindow() {
         wmapp->signalGuiEvent(geDialogClosed);
     else
         wmapp->signalGuiEvent(geWindowClosed);
-    if (fAutoRaiseTimer && fAutoRaiseTimer->getTimerListener() == this) {
-        fAutoRaiseTimer->stopTimer();
-        fAutoRaiseTimer->setTimerListener(0);
-    }
-    if (fDelayFocusTimer && fDelayFocusTimer->getTimerListener() == this) {
-        fDelayFocusTimer->stopTimer();
-        fDelayFocusTimer->setTimerListener(0);
-    }
+    if (fDelayFocusTimer)
+        fDelayFocusTimer->disableTimerListener(this);
+    if (fAutoRaiseTimer)
+        fAutoRaiseTimer->disableTimerListener(this);
     if (movingWindow || sizingWindow)
         endMoveSize();
     if (fPopupActive)
@@ -857,27 +848,15 @@ void YFrameWindow::handleCrossing(const
             if (!delayPointerFocus)
                 focus(false);
             else {
-                if (fDelayFocusTimer == 0)
-                    fDelayFocusTimer = new YTimer(pointerFocusDelay);
-                if (fDelayFocusTimer) {
-                    fDelayFocusTimer->setTimerListener(this);
-                    fDelayFocusTimer->startTimer();
-                }
+                fDelayFocusTimer->setTimer(pointerFocusDelay, this, true);
             }
         } else {
             if (fDelayFocusTimer) {
                 fDelayFocusTimer->stopTimer();
-                fDelayFocusTimer->setTimerListener(0);
             }
         }
         if (autoRaise) {
-            if (fAutoRaiseTimer == 0) {
-                fAutoRaiseTimer = new YTimer(autoRaiseDelay);
-            }
-            if (fAutoRaiseTimer) {
-                fAutoRaiseTimer->setTimerListener(this);
-                fAutoRaiseTimer->startTimer();
-            }
+            fAutoRaiseTimer->setTimer(autoRaiseDelay, this, true);
         }
     } else if (crossing.type == LeaveNotify &&
                fFocused &&
@@ -890,15 +869,10 @@ void YFrameWindow::handleCrossing(const
         if (crossing.detail != NotifyInferior &&
             crossing.mode == NotifyNormal)
         {
-            if (fDelayFocusTimer && fDelayFocusTimer->getTimerListener() == this) {
-                fDelayFocusTimer->stopTimer();
-                fDelayFocusTimer->setTimerListener(0);
-            }
-            if (autoRaise) {
-                if (fAutoRaiseTimer && fAutoRaiseTimer->getTimerListener() == this) {
-                    fAutoRaiseTimer->stopTimer();
-                    fAutoRaiseTimer->setTimerListener(0);
-                }
+            if (fDelayFocusTimer)
+                fDelayFocusTimer->disableTimerListener(this);
+            if (autoRaise && fAutoRaiseTimer) {
+                fAutoRaiseTimer->disableTimerListener(this);
             }
         }
     }
@@ -1515,11 +1489,9 @@ void YFrameWindow::updateFocusOnMap(bool
 
     if (fDelayFocusTimer) {
         fDelayFocusTimer->stopTimer();
-        fDelayFocusTimer->setTimerListener(0);
     }
     if (fAutoRaiseTimer) {
         fAutoRaiseTimer->stopTimer();
-        fAutoRaiseTimer->setTimerListener(0);
     }
 
     if (avoidFocus())
@@ -1635,8 +1607,6 @@ MiniIcon *YFrameWindow::getMiniIcon() {
 }
 
 void YFrameWindow::paint(Graphics &g, const YRect &/*r*/) {
-    YColor *bg;
-
     if (g.rdepth() != depth()) {
         tlog("YFrameWindow::%s: attempt to use gc of depth %d on window 0x%lx of depth %d\n",
                 __func__, g.rdepth(), handle(), depth());
@@ -1645,12 +1615,9 @@ void YFrameWindow::paint(Graphics &g, co
     if (!(frameDecors() & (fdResize | fdBorder)))
         return ;
 
-    if (focused())
-        bg = activeBorderBg;
-    else
-        bg = inactiveBorderBg;
-
+    YColor bg = focused() ? activeBorderBg : inactiveBorderBg;
     g.setColor(bg);
+
     switch (wmLook) {
     case lookWin95:
     case lookWarp4:
@@ -1671,16 +1638,12 @@ void YFrameWindow::paint(Graphics &g, co
         g.fillRect((width() - 1) - (borderX() - 2), 1, borderX() - 2, height() - 2);
 
         if (wmLook == lookMotif && canSize()) {
-            YColor *b(bg->brighter());
-            YColor *d(bg->darker());
-
-
-            g.setColor(d);
+            g.setColor(bg.darker());
             g.drawLine(wsCornerX - 1, 0, wsCornerX - 1, height() - 1);
             g.drawLine(width() - wsCornerX - 1, 0, width() - wsCornerX - 1, height() - 1);
             g.drawLine(0, wsCornerY - 1, width(),wsCornerY - 1);
             g.drawLine(0, height() - wsCornerY - 1, width(), height() - wsCornerY - 1);
-            g.setColor(b);
+            g.setColor(bg.brighter());
             g.drawLine(wsCornerX, 0, wsCornerX, height() - 1);
             g.drawLine(width() - wsCornerX, 0, width() - wsCornerX, height() - 1);
             g.drawLine(0, wsCornerY, width(), wsCornerY);
@@ -1772,8 +1735,6 @@ void YFrameWindow::paint(Graphics &g, co
             }
         }
         break;
-    default:
-        break;
     }
 }
 
@@ -2657,14 +2618,10 @@ void YFrameWindow::updateState() {
         client()->hide();
     }
     if (!show_frame) {
-        if (fDelayFocusTimer && fDelayFocusTimer->getTimerListener() == this) {
-            fDelayFocusTimer->stopTimer();
-            fDelayFocusTimer->setTimerListener(0);
-        }
-        if (fAutoRaiseTimer && fAutoRaiseTimer->getTimerListener() == this) {
-            fAutoRaiseTimer->stopTimer();
-            fAutoRaiseTimer->setTimerListener(0);
-        }
+        if (fDelayFocusTimer)
+            fDelayFocusTimer->disableTimerListener(this);
+        if (fAutoRaiseTimer)
+            fAutoRaiseTimer->disableTimerListener(this);
     }
 }
 
--- icewm-1.4.3.0~pre-20180217.orig/src/wmframe.h
+++ icewm-1.4.3.0~pre-20180217/src/wmframe.h
@@ -474,8 +474,8 @@ private:
     YFrameWindow *fNextTransient;
     YActionListener *wmActionListener;
 
-    static YTimer *fAutoRaiseTimer;
-    static YTimer *fDelayFocusTimer;
+    static lazy<YTimer> fAutoRaiseTimer;
+    static lazy<YTimer> fDelayFocusTimer;
 
     int fWinWorkspace;
     long fWinRequestedLayer;
--- icewm-1.4.3.0~pre-20180217.orig/src/wmmgr.cc
+++ icewm-1.4.3.0~pre-20180217/src/wmmgr.cc
@@ -2872,10 +2872,7 @@ void YWindowManager::handleProperty(cons
                     while (i < nitems && propdata[i++]);
                 }
                 if (s[0] && s[1] && s[2] && propdata[i - 1] == 0) {
-                    if (hintOptions == 0)
-                        hintOptions = new WindowOptions();
-                    if (hintOptions != 0)
-                        hintOptions->setWinOption(s[0], s[1], s[2]);
+                    hintOptions->setWinOption(s[0], s[1], s[2]);
                 }
             }
             XFree(propdata);
@@ -3274,7 +3271,7 @@ void YWindowManager::exitAfterLastClient
     checkLogout();
 }
 
-YTimer *EdgeSwitch::fEdgeSwitchTimer(NULL);
+lazy<YTimer> EdgeSwitch::fEdgeSwitchTimer;
 
 EdgeSwitch::EdgeSwitch(YWindowManager *manager, int delta, bool vertical):
     YWindow(manager),
@@ -3292,26 +3289,17 @@ EdgeSwitch::EdgeSwitch(YWindowManager *m
 
 EdgeSwitch::~EdgeSwitch() {
     if (fEdgeSwitchTimer && fEdgeSwitchTimer->getTimerListener() == this) {
-        fEdgeSwitchTimer->stopTimer();
-        fEdgeSwitchTimer->setTimerListener(NULL);
-        delete fEdgeSwitchTimer;
-        fEdgeSwitchTimer = NULL;
+        fEdgeSwitchTimer = null;
     }
 }
 
 void EdgeSwitch::handleCrossing(const XCrossingEvent &crossing) {
     if (crossing.type == EnterNotify && crossing.mode == NotifyNormal) {
-        if (!fEdgeSwitchTimer)
-            fEdgeSwitchTimer = new YTimer(edgeSwitchDelay);
-        if (fEdgeSwitchTimer) {
-            fEdgeSwitchTimer->setTimerListener(this);
-            fEdgeSwitchTimer->startTimer();
-            setPointer(fCursor);
-        }
+        fEdgeSwitchTimer->setTimer(edgeSwitchDelay, this, true);
+        setPointer(fCursor);
     } else if (crossing.type == LeaveNotify && crossing.mode == NotifyNormal) {
         if (fEdgeSwitchTimer && fEdgeSwitchTimer->getTimerListener() == this) {
-            fEdgeSwitchTimer->stopTimer();
-            fEdgeSwitchTimer->setTimerListener(NULL);
+            fEdgeSwitchTimer = null;
             setPointer(YXApplication::leftPointer);
         }
     }
--- icewm-1.4.3.0~pre-20180217.orig/src/wmmgr.h
+++ icewm-1.4.3.0~pre-20180217/src/wmmgr.h
@@ -71,7 +71,7 @@ private:
     int fDelta;
     bool fVert;
 
-    static YTimer *fEdgeSwitchTimer;
+    static lazy<YTimer> fEdgeSwitchTimer;
 };
 
 class YProxyWindow: public YWindow {
--- icewm-1.4.3.0~pre-20180217.orig/src/wmminiicon.cc
+++ icewm-1.4.3.0~pre-20180217/src/wmminiicon.cc
@@ -17,24 +17,16 @@
 #include <string.h>
 
 static ref<YFont> minimizedWindowFont;
-static YColor *normalMinimizedWindowBg = 0;
-static YColor *normalMinimizedWindowFg = 0;
-static YColor *activeMinimizedWindowBg = 0;
-static YColor *activeMinimizedWindowFg = 0;
+static YColorName normalMinimizedWindowBg(&clrNormalMinimizedWindow);
+static YColorName normalMinimizedWindowFg(&clrNormalMinimizedWindowText);
+static YColorName activeMinimizedWindowBg(&clrActiveMinimizedWindow);
+static YColorName activeMinimizedWindowFg(&clrActiveMinimizedWindowText);
 
 MiniIcon::MiniIcon(YWindow *aParent, YFrameWindow *frame):
     YWindow(desktop) {
     reparent(aParent, 0, 0);
     if (minimizedWindowFont == null)
         minimizedWindowFont = YFont::getFont(XFA(minimizedWindowFontName));
-    if (normalMinimizedWindowBg == 0)
-        normalMinimizedWindowBg = new YColor(clrNormalMinimizedWindow);
-    if (normalMinimizedWindowFg == 0)
-        normalMinimizedWindowFg = new YColor(clrNormalMinimizedWindowText);
-    if (activeMinimizedWindowBg == 0)
-        activeMinimizedWindowBg = new YColor(clrActiveMinimizedWindow);
-    if (activeMinimizedWindowFg == 0)
-        activeMinimizedWindowFg = new YColor(clrActiveMinimizedWindowText);
 
     fFrame = frame;
     selected = 0;
@@ -46,8 +38,8 @@ MiniIcon::~MiniIcon() {
 
 void MiniIcon::paint(Graphics &g, const YRect &/*r*/) {
     bool focused = getFrame()->focused();
-    YColor *bg = focused ? activeMinimizedWindowBg : normalMinimizedWindowBg;
-    YColor *fg = focused ? activeMinimizedWindowFg : normalMinimizedWindowFg;
+    YColor bg = focused ? activeMinimizedWindowBg : normalMinimizedWindowBg;
+    YColor fg = focused ? activeMinimizedWindowFg : normalMinimizedWindowFg;
     int tx = 2;
     int x, y, w, h;
 
@@ -60,13 +52,13 @@ void MiniIcon::paint(Graphics &g, const
     h = height() - 6;
 
     if (selected == 2) {
-        g.setColor(bg->darker());
+        g.setColor(bg.darker());
         g.draw3DRect(x, y, w, h, false);
         g.fillRect(x + 1, y + 1, w - 1, h - 1);
     } else {
-        g.setColor(bg->brighter());
+        g.setColor(bg.brighter());
         g.drawRect(x + 1, y + 1, w, h);
-        g.setColor(bg->darker());
+        g.setColor(bg.darker());
         g.drawRect(x, y, w, h);
         g.setColor(bg);
         g.fillRect(x + 2, y + 2, w - 2, h - 2);
--- icewm-1.4.3.0~pre-20180217.orig/src/wmoption.cc
+++ icewm-1.4.3.0~pre-20180217/src/wmoption.cc
@@ -10,8 +10,8 @@
 #include "intl.h"
 #include <ctype.h>
 
-WindowOptions *defOptions;
-WindowOptions *hintOptions;
+lazy<WindowOptions> defOptions;
+lazy<WindowOptions> hintOptions;
 
 WindowOption::WindowOption(ustring n_class_instance):
     w_class_instance(n_class_instance),
@@ -367,9 +367,6 @@ static char *parseWinOptions(char *data,
         bool lastline(*p == '\0');
         *p = '\0';
 
-        if (defOptions == 0)
-            defOptions = new WindowOptions();
-
         defOptions->setWinOption(class_instance, opt, word);
 
         if (lastline)
--- icewm-1.4.3.0~pre-20180217.orig/src/wmoption.h
+++ icewm-1.4.3.0~pre-20180217/src/wmoption.h
@@ -42,8 +42,8 @@ private:
     static void combineOptions(WindowOption &cm, WindowOption &n);
 };
 
-extern WindowOptions *defOptions;
-extern WindowOptions *hintOptions;
+extern lazy<WindowOptions> defOptions;
+extern lazy<WindowOptions> hintOptions;
 
 void loadWinOptions(upath optFile);
 
--- icewm-1.4.3.0~pre-20180217.orig/src/wmstatus.cc
+++ icewm-1.4.3.0~pre-20180217/src/wmstatus.cc
@@ -21,8 +21,8 @@
 #include <stdio.h>
 #include <string.h>
 
-YColor *YWindowManagerStatus::statusFg = 0;
-YColor *YWindowManagerStatus::statusBg = 0;
+YColorName YWindowManagerStatus::statusFg(&clrMoveSizeStatusText);
+YColorName YWindowManagerStatus::statusBg(&clrMoveSizeStatus);
 
 ref<YFont> YWindowManagerStatus::statusFont;
 
@@ -36,10 +36,6 @@ YWindowManagerStatus::YWindowManagerStat
                 const ustring &sampleString)
     : YWindow(aParent)
 {
-    if (statusBg == 0)
-        statusBg = new YColor(clrMoveSizeStatus);
-    if (statusFg == 0)
-        statusFg = new YColor(clrMoveSizeStatusText);
     if (statusFont == null)
         statusFont = YFont::getFont(XFA(statusFontName));
 
@@ -143,26 +139,19 @@ void MoveSizeStatus::setStatus(YFrameWin
 /******************************************************************************/
 /******************************************************************************/
 
-class WorkspaceStatus::Timeout: public YTimerListener {
-public:
-    virtual bool handleTimer(YTimer */*timer*/) {
-        statusWorkspace->end();
-        return false;
-    }
+bool WorkspaceStatus::handleTimer(YTimer *t) {
+    statusWorkspace->end();
+    return false;
 };
 
-/******************************************************************************/
-
-WorkspaceStatus::WorkspaceStatus(YWindow *aParent, const ustring& templateString)
-  : YWindowManagerStatus(aParent, templateString), workspace(0), timer(0), timeout(0) {
+WorkspaceStatus::WorkspaceStatus(YWindow *aParent, ustring templateString) :
+    YWindowManagerStatus(aParent, templateString), workspace(0),
+    timer(workspaceStatusTime, this, false)
+{
 // !!! read timeout from preferences
-    timer = new YTimer(workspaceStatusTime);
-    timer->setTimerListener(timeout = new Timeout());
 }
 
 WorkspaceStatus::~WorkspaceStatus() {
-    delete timer;
-    delete timeout;
 }
 
 ustring WorkspaceStatus::getStatus() {
@@ -182,10 +171,8 @@ void WorkspaceStatus::setStatus(long wor
     this->workspace = workspace;
     repaintSync();
 
-    if (timer->isRunning())
-        timer->stopTimer();
-
-    timer->startTimer();
+    timer.stopTimer();
+    timer.startTimer();
 }
 
 WorkspaceStatus * WorkspaceStatus::createInstance(YWindow *aParent) {
--- icewm-1.4.3.0~pre-20180217.orig/src/wmstatus.h
+++ icewm-1.4.3.0~pre-20180217/src/wmstatus.h
@@ -2,6 +2,7 @@
 #define __WMSTATUS_H
 
 #include "ywindow.h"
+#include "ytimer.h"
 
 class YFrameWindow;
 
@@ -18,8 +19,8 @@ public:
     virtual ustring getStatus() = 0;
 
 protected:
-    static YColor *statusFg;
-    static YColor *statusBg;
+    static YColorName statusFg;
+    static YColorName statusBg;
     static ref<YFont> statusFont;
 };
 
@@ -37,7 +38,7 @@ private:
     int fX, fY, fW, fH;
 };
 
-class WorkspaceStatus: public YWindowManagerStatus {
+class WorkspaceStatus: public YWindowManagerStatus, public YTimerListener {
 public:
     static WorkspaceStatus * createInstance(YWindow *aParent);
     virtual ~WorkspaceStatus();
@@ -45,15 +46,13 @@ public:
     virtual ustring getStatus();
     void begin(long workspace);
     virtual void setStatus(long workspace);
+    virtual bool handleTimer(YTimer *timer);
 private:
-    WorkspaceStatus(YWindow *aParent, const ustring& templateString);
+    WorkspaceStatus(YWindow *aParent, ustring templateString);
     static ustring getStatus(const char* name);
 
     long workspace;
-    class YTimer *timer;
-
-    class Timeout;
-    Timeout *timeout;
+    YTimer timer;
 };
 
 extern MoveSizeStatus *statusMoveSize;
--- icewm-1.4.3.0~pre-20180217.orig/src/wmswitch.cc
+++ icewm-1.4.3.0~pre-20180217/src/wmswitch.cc
@@ -223,10 +223,10 @@ SwitchWindow::SwitchWindow(YWindow *pare
                            bool verticalStyle):
     YPopupWindow(parent),
     fGradient(null),
-    switchFg(new YColor(clrQuickSwitchText)),
-    switchBg(new YColor(clrQuickSwitch)),
-    switchHl(clrQuickSwitchActive ? new YColor(clrQuickSwitchActive) : 0),
-    switchMfg(new YColor(clrActiveTitleBarText)),
+    switchFg(&clrQuickSwitchText),
+    switchBg(&clrQuickSwitch),
+    switchHl(&clrQuickSwitchActive),
+    switchMfg(&clrActiveTitleBarText),
     switchFont(YFont::getFont(XFA(switchFontName)))
 {
     zItems = items ? items : new WindowItemsCtrlr;
@@ -235,11 +235,11 @@ SwitchWindow::SwitchWindow(YWindow *pare
     // I prefer clrNormalMenu but some themes use inverted settings where
     // clrNormalMenu is the same as clrQuickSwitch
     if (clrQuickSwitchActive)
-        switchMbg = new YColor(clrQuickSwitchActive);
+        switchMbg = &clrQuickSwitchActive;
     else if (!strcmp(clrNormalMenu, clrQuickSwitch))
-        switchMbg = new YColor(clrActiveMenuItem);
+        switchMbg = &clrActiveMenuItem;
     else
-        switchMbg = new YColor(clrNormalMenu);
+        switchMbg = &clrNormalMenu;
 
     modsDown = 0;
     isUp = false;
--- icewm-1.4.3.0~pre-20180217.orig/src/wmswitch.h
+++ icewm-1.4.3.0~pre-20180217/src/wmswitch.h
@@ -2,10 +2,10 @@
 #define __SWITCH_H
 
 #include "ymenu.h"
-#include "ypointer.h"
 
 class YFrameWindow;
 class YWindowManager;
+class YIcon;
 
 // XXX: this only exists because there are no lambda functions
 class IClosablePopup
@@ -70,11 +70,11 @@ private:
 
     ref<YImage> fGradient;
 
-    osmart<YColor> switchFg;
-    osmart<YColor> switchBg;
-    osmart<YColor> switchHl;
-    osmart<YColor> switchMbg;
-    osmart<YColor> switchMfg;
+    YColorName switchFg;
+    YColorName switchBg;
+    YColorName switchHl;
+    YColorName switchMbg;
+    YColorName switchMfg;
     ref<YFont> switchFont;
 
     int modsDown;
--- icewm-1.4.3.0~pre-20180217.orig/src/wmtaskbar.cc
+++ icewm-1.4.3.0~pre-20180217/src/wmtaskbar.cc
@@ -46,17 +46,11 @@
 
 #include "intl.h"
 
-YTimer *WorkspaceButton::fRaiseTimer(NULL);
+lazy<YTimer> WorkspaceButton::fRaiseTimer;
 
 TaskBar *taskBar = 0;
 
-static YColor* taskBarBg = 0;
-YColor* getTaskBarBg() {
-    if (taskBarBg == 0) {
-        taskBarBg = new YColor(clrDefaultTaskBar);
-    }
-    return taskBarBg;
-}
+YColorName taskBarBg(&clrDefaultTaskBar);
 
 static void initPixmaps() {
     if (taskbarStartImage == null || !taskbarStartImage->valid())
@@ -71,19 +65,11 @@ EdgeTrigger::EdgeTrigger(TaskBar *owner)
 
     fTaskBar = owner;
 
-    fAutoHideTimer = new YTimer(autoShowDelay);
-    if (fAutoHideTimer) {
-        fAutoHideTimer->setTimerListener(this);
-    }
+    fAutoHideTimer->setTimer(autoShowDelay, this, false);
     fDoShow = false;
 }
 
 EdgeTrigger::~EdgeTrigger() {
-    if (fAutoHideTimer) {
-        fAutoHideTimer->stopTimer();
-        fAutoHideTimer->setTimerListener(0);
-        delete fAutoHideTimer; fAutoHideTimer = 0;
-    }
 }
 
 void EdgeTrigger::startHide() {
@@ -157,7 +143,7 @@ TaskBar::TaskBar(IApp *app, YWindow *aPa
     fShowDesktop = 0;
 
     ///setToplevel(true);
-    setBackground(getTaskBarBg()->pixel());
+    setBackground(taskBarBg.pixel());
     if (taskbackPixmap != null)
         setBackgroundPixmap(taskbackPixmap->pixmap());
 
@@ -240,7 +226,9 @@ TaskBar::~TaskBar() {
     delete fClock; fClock = 0;
     for (MailBoxStatus ** m(fMailBoxStatus); m && *m; ++m) delete *m;
     delete[] fMailBoxStatus; fMailBoxStatus = 0;
+#ifdef MEM_STATES
     delete fMEMStatus; fMEMStatus = 0;
+#endif
     delete fWinList; fWinList = 0;
     delete fApplications; fApplications = 0;
     delete fObjectBar; fObjectBar = 0;
@@ -259,7 +247,6 @@ TaskBar::~TaskBar() {
     delete fCollapseButton; fCollapseButton = 0;
     delete fShowDesktop; fShowDesktop = 0;
     delete taskBarMenu; taskBarMenu = 0;
-    delete taskBarBg; taskBarBg = 0;
     taskBar = 0;
     MSG(("taskBar delete"));
 }
@@ -319,7 +306,7 @@ void TaskBar::initApplets() {
         CPUStatus::GetCPUStatus(smActionListener, this, fCPUStatus, cpuCombine);
 #endif
 
-    if(taskBarShowNetStatus)
+    if (taskBarShowNetStatus)
         fNetStatus.init(new NetStatusControl(app, smActionListener, this, this));
     if (taskBarShowClock) {
         fClock = new YClock(smActionListener, this);
@@ -384,7 +371,7 @@ void TaskBar::initApplets() {
                     continue;
 
                 fMailBoxStatus[cnt] = new MailBoxStatus(app, smActionListener, s, this);
-                if (cnt) cnt--; // more complicated than needed, to make UBSan happy
+                if(cnt) cnt--; // more complicated than needed, to make UBSan happy
             }
         } else if (envMail) {
             fMailBoxStatus = new MailBoxStatus*[2];
@@ -530,7 +517,8 @@ void TaskBar::updateLayout(unsigned &siz
     nw = LayoutInfo( fMEMStatus, false, 1, true, 2, 2, false );
     wlist.append(nw);
 #endif
-    if(taskBarShowNetStatus) {
+
+    if (taskBarShowNetStatus) {
         YVec<NetStatus*>::iterator it = fNetStatus->getIterator();
         while (it.hasNext())
         {
@@ -810,7 +798,7 @@ void TaskBar::paint(Graphics &g, const Y
         fGradient = taskbackPixbuf->scale(width(), gradientHeight);
     }
 
-    g.setColor(getTaskBarBg());
+    g.setColor(taskBarBg);
     //g.draw3DRect(0, 0, width() - 1, height() - 1, true);
 
     // When TaskBarDoubleHeight=1 this draws the upper half.
@@ -824,10 +812,10 @@ void TaskBar::paint(Graphics &g, const Y
         g.fillRect(0, y, width(), height() - 1);
         if (!taskBarAtTop) {
             y++;
-            g.setColor(getTaskBarBg()->brighter());
+            g.setColor(taskBarBg->brighter());
             g.drawLine(0, 0, width(), 0);
         } else {
-            g.setColor(getTaskBarBg()->darker());
+            g.setColor(taskBarBg->darker());
             g.drawLine(0, height() - 1, width(), height() - 1);
         }
     }
--- icewm-1.4.3.0~pre-20180217.orig/src/wmtaskbar.h
+++ icewm-1.4.3.0~pre-20180217/src/wmtaskbar.h
@@ -49,7 +49,7 @@ public:
     virtual bool handleTimer(YTimer *t);
 private:
     TaskBar *fTaskBar;
-    YTimer *fAutoHideTimer;
+    lazy<YTimer> fAutoHideTimer;
     bool fDoShow;
 };
 
@@ -181,7 +181,7 @@ private:
 
 extern TaskBar *taskBar; // !!! get rid of this
 
-class YColor* getTaskBarBg();
+extern YColorName taskBarBg;
 
 #endif
 
--- icewm-1.4.3.0~pre-20180217.orig/src/wmtitle.cc
+++ icewm-1.4.3.0~pre-20180217/src/wmtitle.cc
@@ -14,54 +14,29 @@
 #include "prefs.h"
 #include "intl.h"
 
-static bool titleColorsFontsInited;
 static ref<YFont> titleFont;
 
-static YColor* titleBarBackground[2];
-static YColor* titleBarForeground[2];
-static YColor* titleBarShadowText[2];
+static YColorName titleBarBackground[2] = {
+    &clrInactiveTitleBar, &clrActiveTitleBar
+};
+static YColorName titleBarForeground[2] = {
+    &clrInactiveTitleBarText, &clrActiveTitleBarText
+};
+static YColorName titleBarShadowText[2] = {
+    &clrInactiveTitleBarShadow, &clrActiveTitleBarShadow
+};
 
 void YFrameTitleBar::initTitleColorsFonts() {
-    if (titleColorsFontsInited == false) {
+    if (titleFont == null) {
         titleFont = YFont::getFont(XFA(titleFontName));
-
-        titleBarBackground[0] = new YColor(clrInactiveTitleBar);
-        titleBarBackground[1] = new YColor(clrActiveTitleBar);
-
-        titleBarForeground[0] = new YColor(clrInactiveTitleBarText);
-        titleBarForeground[1] = new YColor(clrActiveTitleBarText);
-
-        if (*clrInactiveTitleBarShadow)
-            titleBarShadowText[0] = new YColor(clrInactiveTitleBarShadow);
-        if (*clrActiveTitleBarShadow)
-            titleBarShadowText[1] = new YColor(clrActiveTitleBarShadow);
-
-        titleColorsFontsInited = true;
     }
 }
 
 void freeTitleColorsFonts() {
-    if (titleColorsFontsInited) {
-        const int N = 3;
-        YColor** colors[N] = {
-            titleBarBackground,
-            titleBarForeground,
-            titleBarShadowText,
-        };
-        for (int i = 0, k = 0; i < N; i += k, k = !k) {
-            if (colors[i][k]) {
-                delete colors[i][k];
-                colors[i][k] = 0;
-            }
-        }
-        titleFont = null;
-        titleColorsFontsInited = false;
-    }
+    titleFont = null;
 }
 
-YColor* YFrameTitleBar::background(bool active) {
-    if (titleColorsFontsInited == false)
-        initTitleColorsFonts();
+YColor YFrameTitleBar::background(bool active) {
     return titleBarBackground[active];
 }
 
@@ -439,9 +414,8 @@ void YFrameTitleBar::paint(Graphics &g,
     if (getFrame()->client() == NULL || visible() == false)
         return;
 
-    YColor *bg = titleBarBackground[focused()];
-    YColor *fg = titleBarForeground[focused()];
-    YColor *st = titleBarShadowText[focused()];
+    YColor bg = titleBarBackground[focused()];
+    YColor fg = titleBarForeground[focused()];
 
     int onLeft(0);
     int onRight((int) width());
@@ -494,7 +468,7 @@ void YFrameTitleBar::paint(Graphics &g,
             int y2 = int(height()) - 1;
 
             g.fillRect(0, y, width(), height() - 1);
-            g.setColor(focused() ? fg->darker() : bg->darker());
+            g.setColor(focused() ? fg.darker() : bg.darker());
             g.drawLine(0, y2, width(), y2);
         }
         break;
@@ -606,15 +580,13 @@ void YFrameTitleBar::paint(Graphics &g,
 
         break;
     }
-    default:
-        break;
     }
 
     if (title != null && tlen) {
         stringOffset += titleBarHorzOffset;
 
-        if (st) {
-            g.setColor(st);
+        if (titleBarShadowText[focused()]) {
+            g.setColor(titleBarShadowText[focused()]);
             g.drawStringEllipsis(stringOffset + 1, yPos + 1, title, tlen);
         }
 
--- icewm-1.4.3.0~pre-20180217.orig/src/wmtitle.h
+++ icewm-1.4.3.0~pre-20180217/src/wmtitle.h
@@ -35,7 +35,7 @@ public:
     void layoutButtons();
     void raiseButtons();
 
-    static YColor* background(bool active);
+    static YColor background(bool active);
 
 private:
     static void initTitleColorsFonts();
--- icewm-1.4.3.0~pre-20180217.orig/src/ybutton.cc
+++ icewm-1.4.3.0~pre-20180217/src/ybutton.cc
@@ -21,11 +21,11 @@
 
 #include "intl.h"
 
-YColor *YButton::normalButtonBg = 0;
-YColor *YButton::normalButtonFg = 0;
+YColorName YButton::normalButtonBg(&clrNormalButton);
+YColorName YButton::normalButtonFg(&clrNormalButtonText);
 
-YColor *YButton::activeButtonBg = 0;
-YColor *YButton::activeButtonFg = 0;
+YColorName YButton::activeButtonBg(&clrActiveButton);
+YColorName YButton::activeButtonFg(&clrActiveButtonText);
 
 ref<YFont> YButton::normalButtonFont;
 ref<YFont> YButton::activeButtonFont;
@@ -50,14 +50,6 @@ YButton::YButton(YWindow *parent, YActio
         normalButtonFont = YFont::getFont(XFA(normalButtonFontName));
     if (activeButtonFont == null)
         activeButtonFont = YFont::getFont(XFA(activeButtonFontName));
-    if (normalButtonBg == 0)
-        normalButtonBg = new YColor(clrNormalButton);
-    if (normalButtonFg == 0)
-        normalButtonFg = new YColor(clrNormalButtonText);
-    if (activeButtonBg == 0)
-        activeButtonBg = new YColor(clrActiveButton);
-    if (activeButtonFg == 0)
-        activeButtonFg = new YColor(clrActiveButtonText);
 }
 
 YButton::~YButton() {
@@ -97,7 +89,7 @@ void YButton::paint(Graphics &g, int con
         if (!fEnabled) {
             g.setColor(YColor::white);
             g.drawChars(fText, d + p + 1, yp + 1);
-            g.setColor(YColor::white->darker()->darker());
+            g.setColor(YColor::white->darker().darker());
             g.drawChars(fText, d + p, yp);
         } else {
             g.drawChars(fText, d + p, yp);
@@ -448,7 +440,7 @@ ref<YFont> YButton::getFont() {
     return (fPressed ? activeButtonFont : normalButtonFont);
 }
 
-YColor * YButton::getColor() {
+YColor YButton::getColor() {
     return (fPressed ? activeButtonFg : normalButtonFg);
 }
 
--- icewm-1.4.3.0~pre-20180217.orig/src/ybutton.h
+++ icewm-1.4.3.0~pre-20180217/src/ybutton.h
@@ -5,6 +5,7 @@
 #include "yaction.h"
 
 class YMenu;
+class YIcon;
 
 class YButton: public YWindow {
 public:
@@ -47,7 +48,7 @@ public:
 
     virtual void actionPerformed(YAction action, unsigned int modifiers);
     virtual ref<YFont> getFont();
-    virtual YColor * getColor();
+    virtual YColor   getColor();
     virtual YSurface getSurface();
 
     void setEnabled(bool enabled);
@@ -79,12 +80,14 @@ private:
     void popup(bool mouseDown);
     void popdown();
 
-    static YColor *normalButtonBg;
-    static YColor *normalButtonFg;
+protected:
+    static YColorName normalButtonBg;
+    static YColorName normalButtonFg;
 
-    static YColor *activeButtonBg;
-    static YColor *activeButtonFg;
+    static YColorName activeButtonBg;
+    static YColorName activeButtonFg;
 
+private:
     static ref<YFont> normalButtonFont;
     static ref<YFont> activeButtonFont;
 };
--- /dev/null
+++ icewm-1.4.3.0~pre-20180217/src/ycolor.cc
@@ -0,0 +1,301 @@
+/*
+ * IceWM
+ *
+ * Copyright (C) 1997-2002 Marko Macek
+ */
+#include "config.h"
+#include "ycolor.h"
+#include "yxapp.h"
+
+#ifdef CONFIG_XFREETYPE
+#include <ft2build.h>
+#include <X11/Xft/Xft.h>
+#define INIT_XFREETYPE(Member, Value) , Member(Value)
+#else
+#define INIT_XFREETYPE(Member, Value)
+#endif
+
+#include "intl.h"
+
+YColorName YColor::black("rgb:00/00/00");
+YColorName YColor::white("rgb:FF/FF/FF");
+
+static inline Display* display()  { return xapp->display(); }
+static inline Colormap colormap() { return xapp->colormap(); }
+static inline Visual*  visual()   { return xapp->visual(); }
+
+class YPixel {
+public:
+    YPixel(unsigned long pix, unsigned long col) :
+        fPixel(pix), fColor(col), fBright(), fDarken()
+        INIT_XFREETYPE(fXftColor, 0) { }
+
+    ~YPixel();
+
+    unsigned long pixel() const { return fPixel; }
+    unsigned long color() const { return fColor; }
+    YColor brighter();
+    YColor darker();
+
+    static unsigned long
+    color(unsigned short r, unsigned short g, unsigned short b)
+    {
+        if (sizeof(unsigned long) < 8)
+            return (r & 0xFFE0) << 16 | (g & 0xFFE0) <<  5 | ((b >> 6) & 0x3FF);
+        else
+            return (unsigned long) r << 32 | (unsigned long) g << 16 | b;
+    }
+    unsigned short red() const {
+        if (sizeof(unsigned long) < 8)
+            return (fColor >> 16 & 0xFFE0);
+        else
+            return (fColor >> 32 & 0xFFFF);
+    }
+    unsigned short green() const {
+        if (sizeof(unsigned long) < 8)
+            return (fColor >>  5 & 0xFFE0);
+        else
+            return (fColor >> 16 & 0xFFFF);
+    }
+    unsigned short blue() const {
+        if (sizeof(unsigned long) < 8)
+            return (fColor <<  6 & 0xFFC0);
+        else
+            return (fColor & 0xFFFF);
+    }
+
+private:
+    unsigned long fPixel;
+    unsigned long fColor;
+    YColor fBright;
+    YColor fDarken;
+
+#ifdef CONFIG_XFREETYPE
+    XftColor* fXftColor;
+    XftColor* allocXft();
+public:
+    XftColor* xftColor() { return fXftColor ? fXftColor : allocXft(); }
+#endif
+};
+
+static class YPixelCache {
+public:
+    YPixel* black() {
+        if (pixels.getCount() == 0 || pixels[0]->pixel() != 0) {
+            pixels.insert(0, new YPixel(xapp ? xapp->black() : 0, 0));
+        }
+        return pixels[0];
+    }
+
+    YPixel* get(unsigned short r, unsigned short g, unsigned short b) {
+        unsigned long color = YPixel::color(r, g, b);
+        int lo = 0, hi = pixels.getCount();
+
+        while (lo < hi) {
+            const int pv = (lo + hi) / 2;
+            YPixel* pivot = pixels[pv];
+
+            if (color < pivot->color()) {
+                lo = pv + 1;
+            }
+            else if (pivot->color() < color) {
+                hi = pv;
+            }
+            else {
+                return pivot;
+            }
+        }
+        unsigned long allocated = alloc(r, g, b);
+        if (allocated == 0)
+            return black();
+        else {
+            YPixel* pixel = new YPixel(allocated, color);
+            pixels.insert(lo, pixel);
+            return pixel;
+        }
+    }
+
+private:
+    unsigned long alloc(unsigned short r, unsigned short g, unsigned short b);
+
+    YObjectArray<YPixel> pixels;
+
+} cache;
+
+YPixel::~YPixel() {
+#ifdef CONFIG_XFREETYPE
+    if (fXftColor) {
+        if (xapp) {
+            XftColorFree(display(), visual(), colormap(), fXftColor);
+        }
+        delete fXftColor;
+    }
+#endif
+}
+
+void YColor::alloc(const char* name) {
+    if (name && name[0]) {
+        XColor color;
+        if (XParseColor(display(), colormap(), name, &color)) {
+            fPixel = cache.get(color.red, color.green, color.blue);
+            return;
+        }
+
+        if (testOnce(name, __LINE__))
+            msg(_("Could not parse color \"%s\""), name);
+        
+        if (strncmp(name, "rgb:rgb:", 8) == 0)
+            return alloc(name + 4);
+
+        mstring str(name);
+        if (str.match("^[0-9a-f]{6}$", "i") != null)
+            return alloc(cstring("#" + str));
+        if (str.match("^#[0-9a-f]{5}$", "i") != null)
+            return alloc(cstring(str + &name[5]));
+
+        mstring rgb(str.match("rgb:[0-9a-f]{2}/[0-9a-f]{2}/[0-9a-f]{2}", "i"));
+        if (rgb != null)
+            return alloc(cstring(rgb));
+        rgb = str.match("[0-9a-f]{2}/[0-9a-f]{2}/[0-9a-f]{2}", "i");
+        if (rgb != null)
+            return alloc(cstring("rgb:" + rgb));
+    }
+    fPixel = cache.black();
+}
+
+#ifdef CONFIG_XFREETYPE
+XftColor* YPixel::allocXft() {
+    fXftColor = new XftColor;
+    XRenderColor color = { red(), green(), blue(), 0xffff };
+    XftColorAllocValue(display(), visual(), colormap(), &color, fXftColor);
+    return fXftColor;
+}
+
+XftColor* YColor::xftColor() {
+    return fPixel->xftColor();
+}
+#endif
+
+unsigned long
+YPixelCache::alloc(unsigned short r, unsigned short g, unsigned short b)
+{
+    XColor color = { 0, r, g, b, (DoRed | DoGreen | DoBlue), 0 };
+    Visual *visual = ::visual();
+
+    if (visual->c_class == TrueColor) {
+        int padding, unused;
+        int depth = visual->bits_per_rgb;
+
+        int red_shift = lowbit(visual->red_mask);
+        int red_prec = highbit(visual->red_mask) - red_shift + 1;
+        int green_shift = lowbit(visual->green_mask);
+        int green_prec = highbit(visual->green_mask) - green_shift + 1;
+        int blue_shift = lowbit(visual->blue_mask);
+        int blue_prec = highbit(visual->blue_mask) - blue_shift + 1;
+
+        /* Shifting by >= width-of-type isn't defined in C */
+        if (depth >= 32)
+            padding = 0;
+        else
+            padding = ((~(unsigned int)0)) << depth;
+
+        unused = ~ (visual->red_mask | visual->green_mask | visual->blue_mask | padding);
+
+        color.pixel = (unused +
+                       ((color.red >> (16 - red_prec)) << red_shift) +
+                       ((color.green >> (16 - green_prec)) << green_shift) +
+                       ((color.blue >> (16 - blue_prec)) << blue_shift));
+
+    }
+    else if (Success == XAllocColor(display(), colormap(), &color)) {
+        int j, ncells;
+        double d = 65536. * 65536. * 24;
+        XColor clr;
+        unsigned long pix;
+        long d_red, d_green, d_blue;
+        double u_red, u_green, u_blue;
+
+        pix = 0xFFFFFFFF;
+        ncells = DisplayCells(display(), xapp->screen());
+        for (j = 0; j < ncells; j++) {
+            clr.pixel = j;
+            XQueryColor(display(), colormap(), &clr);
+
+            d_red   = color.red   - clr.red;
+            d_green = color.green - clr.green;
+            d_blue  = color.blue  - clr.blue;
+
+            u_red   = 3UL * (d_red   * d_red);
+            u_green = 4UL * (d_green * d_green);
+            u_blue  = 2UL * (d_blue  * d_blue);
+
+            double d1 = u_red + u_blue + u_green;
+
+            if (pix == 0xFFFFFFFF || d1 < d) {
+                pix = j;
+                d = d1;
+            }
+        }
+        if (pix != 0xFFFFFFFF) {
+            clr.pixel = pix;
+            XQueryColor(display(), colormap(), &clr);
+            /*DBG(("color=%04X:%04X:%04X, match=%04X:%04X:%04X\n",
+                   color.red, color.blue, color.green,
+                   clr.red, clr.blue, clr.green));*/
+            color = clr;
+        }
+        if (XAllocColor(display(), colormap(), &color) == 0) {
+            if (color.red + color.green + color.blue >= 32768)
+                color.pixel = xapp->white();
+            else
+                color.pixel = xapp->black();
+        }
+    }
+    return color.pixel;
+}
+
+inline unsigned short darken(unsigned short color) {
+    return color * 2 / 3;
+}
+
+inline unsigned short bright(unsigned short color) {
+    return min(color * 4 / 3, 0xFFFF);
+}
+
+YColor YPixel::darker() {
+    if (fDarken == false)
+        fDarken = YColor( cache.get(darken(red()),
+                                    darken(green()),
+                                    darken(blue())));
+    return fDarken;
+}
+
+YColor YPixel::brighter() {
+    if (fBright == false)
+        fBright = YColor( cache.get(bright(red()),
+                                    bright(green()),
+                                    bright(blue())));
+    return fBright;
+}
+
+unsigned long YColor::pixel() {
+    return fPixel->pixel();
+}
+
+YColor YColor::darker() {
+    return fPixel->darker();
+}
+
+YColor YColor::brighter() {
+    return fPixel->brighter();
+}
+
+bool YColor::operator==(YColor& c) {
+    return fPixel && c.fPixel && fPixel->pixel() == c.fPixel->pixel();
+}
+
+bool YColor::operator!=(YColor& c) {
+    return !(*this == c);
+}
+
+// vim: set sw=4 ts=4 et:
--- /dev/null
+++ icewm-1.4.3.0~pre-20180217/src/ycolor.h
@@ -0,0 +1,72 @@
+#ifndef __YCOLOR_H
+#define __YCOLOR_H
+
+class YPixel;
+class YColorName;
+
+class YColor {
+public:
+    YColor() : fPixel(0) { }
+    explicit YColor(const char* s) : fPixel(0) { if (s) alloc(s); }
+    YColor(const YColor& c) : fPixel(c.fPixel) { }
+    YColor& operator=(const YColor& c) { fPixel = c.fPixel; return *this; }
+
+    void alloc(const char* name);
+    unsigned long pixel();
+
+    YColor darker();
+    YColor brighter();
+
+    bool operator==(YColor& c);
+    bool operator!=(YColor& c);
+    operator bool() { return fPixel; }
+    operator bool() const { return fPixel; }
+    void release() { fPixel = 0; }
+
+#ifdef CONFIG_XFREETYPE
+    struct _XftColor* xftColor();
+#endif
+
+    static YColorName black;
+    static YColorName white;
+
+private:
+    YColor(YPixel* pixel) : fPixel(pixel) { }
+
+
+    YPixel* fPixel;
+
+    friend class YColorName;
+    friend class YPixel;
+};
+
+class YColorName {
+public:
+    YColorName(const char* clr = 0) : fName(clr), fNamePtr(&fName) { }
+    YColorName(const char** clrp) : fName(0), fNamePtr(clrp) { }
+
+    const char* name() const { return *fNamePtr; }
+    YColor color() { if (!fColor) alloc(); return fColor; }
+    YColor darker() { return color().darker(); }
+    YColor brighter() { return color().brighter(); }
+    unsigned long pixel() { return color().pixel(); }
+    void release() { fColor.release(); }
+
+    operator bool() { return name() && *name(); }
+    operator YColor() { return color(); }
+    YColor* operator->() { if (!fColor) alloc(); return &fColor; }
+
+    void operator=(const char* clr) { fName = clr; fNamePtr = &fName; release(); }
+    void operator=(const char** clrp) { fName = 0; fNamePtr = clrp; release(); }
+
+private:
+    void alloc() { fColor.alloc(name()); }
+
+    const char* fName;
+    const char** fNamePtr;
+    YColor fColor;
+};
+
+#endif
+
+// vim: set sw=4 ts=4 et:
--- icewm-1.4.3.0~pre-20180217.orig/src/ydialog.cc
+++ icewm-1.4.3.0~pre-20180217/src/ydialog.cc
@@ -12,15 +12,12 @@
 #include "yxapp.h"
 #include "prefs.h"
 
-static YColor *dialogBg = 0;
+static YColorName dialogBg(&clrDialog);
 
 YDialog::YDialog(YWindow *owner):
     YFrameClient(0, 0),
     fGradient(null)
 {
-    if (dialogBg == 0)
-        dialogBg = new YColor(clrDialog);
-
     fOwner = owner;
 }
 
--- icewm-1.4.3.0~pre-20180217.orig/src/yfontxft.cc
+++ icewm-1.4.3.0~pre-20180217/src/yfontxft.cc
@@ -4,9 +4,12 @@
 
 #include "ystring.h"
 #include "ypaint.h"
+#include "ypointer.h"
 #include "yxapp.h"
 #include "intl.h"
 #include <stdio.h>
+#include <ft2build.h>
+#include <X11/Xft/Xft.h>
 
 #ifdef CONFIG_FRIBIDI
         // remove deprecated warnings for now...
@@ -71,65 +74,44 @@ public:
     #define XftDrawString XftDrawString8
 #endif
 
-#if 0
-    void drawRect(Graphics &g, XftColor * color, int x, int y, unsigned w, unsigned h) {
-        XftDrawRect(fDraw, color, x - xOrigin, y - yOrigin, w, h);
-    }
-#endif
-
     static void drawString(Graphics &g, XftFont * font, int x, int y,
                            char_t * str, size_t len)
     {
-        XftColor *c = *g.color();
-
 #ifdef CONFIG_FRIBIDI
+        const size_t bufsize = 256;
+        char_t buf[bufsize];
+        char_t *vis_str = buf;
+        asmart<char_t> big;
+
+        if (len >= bufsize) {
+            big = new char_t[len+1];
+            if (big == 0)
+                return;
+            vis_str = big;
+        }
 
-#define STATIS_STRING_SIZE      256
-
-                // Based around upstream (1.3.2) patch with some optimization
-                //   on my end. (reduce unnecessary memory allocation)
-                // - Gilboa
-
-                char_t static_str[STATIS_STRING_SIZE];
-                char_t *vis_str = static_str;
-
-                if (len >= STATIS_STRING_SIZE)
-                {
-                        vis_str = new char_t[len+1];
-                        if (!vis_str)
-                                return;
-                }
+        FriBidiCharType pbase_dir = FRIBIDI_TYPE_N;
 
-                FriBidiCharType pbase_dir = FRIBIDI_TYPE_N;
-    if (fribidi_log2vis(str, len, &pbase_dir, //input
-                vis_str, // output
-                NULL, NULL, NULL // "statistics" that we don't need
-                ))
-    {
-        str = vis_str;
-    }
+        if (fribidi_log2vis(str, len, &pbase_dir, //input
+                            vis_str, // output
+                            NULL, NULL, NULL // "statistics" that we don't need
+                            ))
+        {
+            str = vis_str;
+        }
 #endif
 
-        XftDrawString(g.handleXft(), c, font,
+        XftDrawString(g.handleXft(), g.color().xftColor(), font,
                       x - g.xorigin(),
                       y - g.yorigin(),
                       str, len);
-
-#ifdef CONFIG_FRIBIDI
-
-                if (vis_str != static_str)
-                        delete[] str;
-
-#endif
-
     }
 
     static void textExtents(XftFont * font, char_t * str, size_t len,
                             XGlyphInfo & extends) {
-        XftTextExtents(xapp->display (), font, str, len, &extends);
+        XftTextExtents(xapp->display(), font, str, len, &extends);
     }
 
-       //    XftDraw * handle() const { return fDraw; }
 };
 
 /******************************************************************************/
@@ -182,8 +164,8 @@ YXftFont::YXftFont(ustring name, bool us
         msg("xft: fallback from '%s'", cstring(name).c_str());
         XftFont *sans =
             XftFontOpen(xapp->display(), xapp->screen(),
-                        XFT_FAMILY, XftTypeString, "sans-serif",
-                        XFT_PIXEL_SIZE, XftTypeInteger, 12,
+                        XFT_FAMILY, XftTypeString, "DejaVu Sans,sans-serif",
+                        XFT_PIXEL_SIZE, XftTypeInteger, 11,
                         NULL);
 
         if (NULL != sans) {
@@ -196,7 +178,7 @@ YXftFont::YXftFont(ustring name, bool us
             fAscent = sans->ascent;
             fDescent = sans->descent;
         } else
-            warn(_("Loading of fallback font \"%s\" failed."), "sans-serif");
+            warn(_("Loading of fallback font \"%s\" failed."), "DejaVu Sans,sans-serif");
     }
 }
 
@@ -339,9 +321,11 @@ ref<YFont> getXftFontXlfd(ustring name,
     ref<YFont> font(new YXftFont(name, true, antialias));
     if (font == null || !font->valid()) {
         msg("failed to load font '%s', trying fallback", cstring(name).c_str());
-        font.init(new YXftFont("sans-serif:size=12", false, antialias));
-        if (font == null || !font->valid())
+        font.init(new YXftFont("DejaVu Sans,sans-serif:size=11", false, antialias));
+        if (font == null || !font->valid()) {
             msg("Could not load fallback Xft font.");
+            return null;
+        }
     }
     return font;
 }
@@ -350,9 +334,11 @@ ref<YFont> getXftFont(ustring name, bool
     ref<YFont>font(new YXftFont(name, false, antialias));
     if (font == null || !font->valid()) {
         msg("failed to load font '%s', trying fallback", cstring(name).c_str());
-        font.init(new YXftFont("sans-serif:size=12", false, antialias));
-        if (font == null || !font->valid())
+        font.init(new YXftFont("DejaVu Sans,sans-serif:size=11", false, antialias));
+        if (font == null || !font->valid()) {
             msg("Could not load fallback Xft font.");
+            return null;
+        }
     }
     return font;
 }
--- icewm-1.4.3.0~pre-20180217.orig/src/yimage_gdk.cc
+++ icewm-1.4.3.0~pre-20180217/src/yimage_gdk.cc
@@ -4,6 +4,7 @@
 
 #include "yimage.h"
 #include "yxapp.h"
+#include <stdlib.h>
 
 extern "C" {
 #include <gdk-pixbuf-xlib/gdk-pixbuf-xlib.h>
@@ -40,6 +41,27 @@ ref<YImage> YImage::load(upath filename)
         image.init(new YImageGDK(gdk_pixbuf_get_width(pixbuf),
                                  gdk_pixbuf_get_height(pixbuf),
                                  pixbuf));
+        return image;
+    }
+
+    // support themes with indirect XPM images, like OnyX:
+    const int lim = 64;
+    for (int k = 9; --k > 0 && inrange(int(filename.fileSize()), 5, lim); ) {
+        fileptr fp(filename.fopen("r"));
+        if (fp == 0)
+            break;
+
+        char buf[lim];
+        if (fgets(buf, lim, fp) == 0)
+            break;
+
+        mstring match(mstring(buf).match("^[a-z][-_a-z0-9]*\\.xpm$", "i"));
+        if (match == null)
+            break;
+
+        filename = filename.parent().relative(match);
+        if (filename.fileSize() > lim)
+            return load(filename);
     }
     return image;
 }
--- icewm-1.4.3.0~pre-20180217.orig/src/yinput.cc
+++ icewm-1.4.3.0~pre-20180217/src/yinput.cc
@@ -28,10 +28,10 @@ YInputLine::YInputLine(YWindow *parent):
     fSelecting(false),
     fBlinkTime(333),
     inputFont(YFont::getFont(XFA(inputFontName))),
-    inputBg(new YColor(clrInput)),
-    inputFg(new YColor(clrInputText)),
-    inputSelectionBg(new YColor(clrInputSelection)),
-    inputSelectionFg(new YColor(clrInputSelectionText)),
+    inputBg(&clrInput),
+    inputFg(&clrInputText),
+    inputSelectionBg(&clrInputSelection),
+    inputSelectionFg(&clrInputSelectionText),
     inputMenu(new YMenu())
 {
     inputMenu->setActionListener(this);
@@ -433,12 +433,12 @@ void YInputLine::handleFocus(const XFocu
     {
         fHasFocus = true;
         selectAll();
-        cursorBlinkTimer = new YTimer(fBlinkTime, this, true);
+        cursorBlinkTimer->setTimer(fBlinkTime, this, true);
     }
     else if (focus.type == FocusOut/* && fHasFocus == true*/) {
         fHasFocus = false;
         repaint();
-        cursorBlinkTimer = 0;
+        cursorBlinkTimer = null;
     }
 }
 
--- icewm-1.4.3.0~pre-20180217.orig/src/yinputline.h
+++ icewm-1.4.3.0~pre-20180217/src/yinputline.h
@@ -64,11 +64,11 @@ private:
     const short fBlinkTime;
 
     ref<YFont> inputFont;
-    osmart<YColor> inputBg;
-    osmart<YColor> inputFg;
-    osmart<YColor> inputSelectionBg;
-    osmart<YColor> inputSelectionFg;
-    osmart<YTimer> cursorBlinkTimer;
+    YColorName inputBg;
+    YColorName inputFg;
+    YColorName inputSelectionBg;
+    YColorName inputSelectionFg;
+    lazy<YTimer> cursorBlinkTimer;
     osmart<YMenu> inputMenu;
 
     YAction actionCut;
--- icewm-1.4.3.0~pre-20180217.orig/src/ylabel.cc
+++ icewm-1.4.3.0~pre-20180217/src/ylabel.cc
@@ -10,8 +10,8 @@
 #include "base.h"
 #include "prefs.h"
 
-YColor *YLabel::labelFg = 0;
-YColor *YLabel::labelBg = 0;
+YColorName YLabel::labelFg(&clrLabelText);
+YColorName YLabel::labelBg(&clrLabel);
 ref<YFont> YLabel::labelFont;
 
 YLabel::YLabel(const ustring &label, YWindow *parent):
@@ -21,10 +21,6 @@ YLabel::YLabel(const ustring &label, YWi
 
     if (labelFont == null)
         labelFont = YFont::getFont(XFA(labelFontName));
-    if (labelBg == 0)
-        labelBg = new YColor(clrLabel);
-    if (labelFg == 0)
-        labelFg = new YColor(clrLabelText);
 
     autoSize();
 }
--- icewm-1.4.3.0~pre-20180217.orig/src/ylabel.h
+++ icewm-1.4.3.0~pre-20180217/src/ylabel.h
@@ -17,8 +17,8 @@ private:
 
     void autoSize();
 
-    static YColor *labelFg;
-    static YColor *labelBg;
+    static YColorName labelFg;
+    static YColorName labelBg;
     static ref<YFont> labelFont;
 };
 
--- icewm-1.4.3.0~pre-20180217.orig/src/ylistbox.cc
+++ icewm-1.4.3.0~pre-20180217/src/ylistbox.cc
@@ -21,10 +21,10 @@
 #include <string.h>
 
 static ref<YFont> listBoxFont;
-static YColor *listBoxBg = 0;
-static YColor *listBoxFg = 0;
-static YColor *listBoxSelBg = 0;
-static YColor *listBoxSelFg = 0;
+static YColorName listBoxBg(&clrListBox);
+static YColorName listBoxFg(&clrListBoxText);
+static YColorName listBoxSelBg(&clrListBoxSelected);
+static YColorName listBoxSelFg(&clrListBoxSelectedText);
 
 int YListBox::fAutoScrollDelta = 0;
 
@@ -74,14 +74,6 @@ YListBox::YListBox(YScrollView *view, YW
 {
     if (listBoxFont == null)
         listBoxFont = YFont::getFont(XFA(listBoxFontName));
-    if (listBoxBg == 0)
-        listBoxBg = new YColor(clrListBox);
-    if (listBoxFg == 0)
-        listBoxFg = new YColor(clrListBoxText);
-    if (listBoxSelBg == 0)
-        listBoxSelBg = new YColor(clrListBoxSelected);
-    if (listBoxSelFg == 0)
-        listBoxSelFg = new YColor(clrListBoxSelectedText);
     setBitGravity(NorthWestGravity);
     fView = view;
     if (fView) {
--- icewm-1.4.3.0~pre-20180217.orig/src/ylistbox.h
+++ icewm-1.4.3.0~pre-20180217/src/ylistbox.h
@@ -6,6 +6,7 @@
 #include "yscrollview.h"
 
 class YScrollView;
+class YIcon;
 
 class YListItem {
 public:
--- icewm-1.4.3.0~pre-20180217.orig/src/ymenu.cc
+++ icewm-1.4.3.0~pre-20180217/src/ymenu.cc
@@ -22,12 +22,12 @@
 
 #include <string.h>
 
-YColor *menuBg = 0;
-YColor *menuItemFg = 0;
-YColor *activeMenuItemBg = 0;
-YColor *activeMenuItemFg = 0;
-YColor *disabledMenuItemFg = 0;
-YColor *disabledMenuItemSt = 0;
+YColorName menuBg(&clrNormalMenu);
+YColorName menuItemFg(&clrNormalMenuItemText);
+YColorName activeMenuItemBg(&clrActiveMenuItem);
+YColorName activeMenuItemFg(&clrActiveMenuItemText);
+YColorName disabledMenuItemFg(&clrDisabledMenuItemText);
+YColorName disabledMenuItemSt(&clrDisabledMenuItemShadow);
 
 ref<YFont> menuFont;
 
@@ -60,7 +60,7 @@ void YMenu::finishPopup(YMenuItem *item,
         item->actionPerformed(cmd, action, modifiers);
 }
 
-YTimer *YMenu::fMenuTimer = 0;
+lazy<YTimer> YMenu::fMenuTimer;
 
 YMenu::YMenu(YWindow *parent):
     YPopupWindow(parent),
@@ -68,20 +68,6 @@ YMenu::YMenu(YWindow *parent):
 {
     if (menuFont == null)
         menuFont = YFont::getFont(XFA(menuFontName));
-    if (menuBg == 0)
-        menuBg = new YColor(clrNormalMenu);
-    if (menuItemFg == 0)
-        menuItemFg = new YColor(clrNormalMenuItemText);
-    if (*clrActiveMenuItem && activeMenuItemBg == 0)
-        activeMenuItemBg = new YColor(clrActiveMenuItem);
-    if (activeMenuItemFg == 0)
-        activeMenuItemFg = new YColor(clrActiveMenuItemText);
-    if (disabledMenuItemFg == 0)
-        disabledMenuItemFg = new YColor(clrDisabledMenuItemText);
-    if (disabledMenuItemSt == 0)
-        disabledMenuItemSt = *clrDisabledMenuItemShadow
-                           ? new YColor(clrDisabledMenuItemShadow)
-                           : menuBg->brighter();
 
     paintedItem = selectedItem = -1;
     submenuItem = -1;
@@ -97,10 +83,8 @@ YMenu::YMenu(YWindow *parent):
 }
 
 YMenu::~YMenu() {
-    if (fMenuTimer && fMenuTimer->getTimerListener() == this) {
-        fMenuTimer->setTimerListener(0);
-        fMenuTimer->stopTimer();
-    }
+    if (fMenuTimer)
+        fMenuTimer->disableTimerListener(this);
     hideSubmenu();
     fGradient = null;
 }
@@ -120,10 +104,8 @@ void YMenu::deactivatePopup() {
     hideSubmenu();
     if (fPointedMenu == this)
         fPointedMenu = 0;
-    if (fMenuTimer && fMenuTimer->getTimerListener() == this) {
-        fMenuTimer->setTimerListener(0);
-        fMenuTimer->stopTimer();
-    }
+    if (fMenuTimer)
+        fMenuTimer->disableTimerListener(this);
 }
 
 void YMenu::donePopup(YPopupWindow *popup) {
@@ -521,10 +503,9 @@ void YMenu::trackMotion(const int x_root
 {
     int selItem = findItem(x_root - x(), y_root - y());
     if (fMenuTimer &&
-        fMenuTimer->getTimerListener() == this &&
         (selItem != fTimerSubmenuItem)) /// ok?
     {
-        fMenuTimer->stopTimer();
+        fMenuTimer->disableTimerListener(this);
     }
     if (selItem != -1) {
         focusItem(selItem);
@@ -559,28 +540,11 @@ void YMenu::trackMotion(const int x_root
                     canFast = false;
             }
 
-            if (fMenuTimer == 0)
-                fMenuTimer = new YTimer();
-            if (!fMenuTimer)
-                return;
-            fMenuTimer->setTimerListener(this);
             fTimerX = x_root;
             fTimerY = y_root;
             fTimerSubmenuItem = submenu ? selectedItem : -1;
-            if (canFast) {
-                fMenuTimer->setInterval(MenuActivateDelay);
-//                if (selectedItem != -1 &&
-//                    getItem(selectedItem)->getSubmenu() != 0 &&
-//                    submenu)
-//                {
-//                    activatedX = x_root;
-//                    activatedY = y_root;
-//                }
-            } else
-                fMenuTimer->setInterval(SubmenuActivateDelay);
-            fMenuTimer->setTimerListener(this);
-            if (!fMenuTimer->isRunning())
-                fMenuTimer->startTimer();
+            long delay = canFast ? MenuActivateDelay : SubmenuActivateDelay;
+            fMenuTimer->setTimer(delay, this, true);
         }
     }
 }
@@ -1052,7 +1016,7 @@ void YMenu::paintItem(Graphics &g, const
                                      width() - r - l - 3, eh - 3, raised);
                 }
 
-                YColor *fg(mitem->isEnabled() ? active ? activeMenuItemFg
+                YColor fg(mitem->isEnabled() ? active ? activeMenuItemFg
                            : menuItemFg
                            : disabledMenuItemFg);
                 g.setColor(fg);
@@ -1093,7 +1057,8 @@ void YMenu::paintItem(Graphics &g, const
                         namePos;
 
                     if (!mitem->isEnabled()) {
-                        g.setColor(disabledMenuItemSt);
+                        g.setColor(disabledMenuItemSt ? disabledMenuItemSt :
+                                   menuBg->brighter());
                         g.drawStringEllipsis(1 + delta + namePos, 1 + baseLine,
                                              name, maxWidth);
 
@@ -1111,7 +1076,8 @@ void YMenu::paintItem(Graphics &g, const
 
                 if (param != null) {
                     if (!mitem->isEnabled()) {
-                        g.setColor(disabledMenuItemSt);
+                        g.setColor(disabledMenuItemSt ? disabledMenuItemSt :
+                                   menuBg->brighter());
                         g.drawChars(param,
                                     paramPos + delta + 1,
                                     baseLine + 1);
--- icewm-1.4.3.0~pre-20180217.orig/src/ymenu.h
+++ icewm-1.4.3.0~pre-20180217/src/ymenu.h
@@ -77,7 +77,7 @@ private:
     ref<YImage> fGradient;
 
     static YMenu *fPointedMenu;
-    static YTimer *fMenuTimer;
+    static lazy<YTimer> fMenuTimer;
     int fTimerX, fTimerY;
     int fTimerSubmenuItem;
     static int fAutoScrollDeltaX, fAutoScrollDeltaY;
--- icewm-1.4.3.0~pre-20180217.orig/src/ypaint.cc
+++ icewm-1.4.3.0~pre-20180217/src/ypaint.cc
@@ -4,18 +4,12 @@
  * Copyright (C) 1997-2002 Marko Macek
  */
 #include "config.h"
-#include "ylib.h"
 #include "ypaint.h"
-
 #include "yxapp.h"
-#include "sysdep.h"
-#include "ystring.h"
 #include "yprefs.h"
-#include "prefs.h"
-#include "stdio.h"
-#include "yicon.h"
-
 #include "intl.h"
+#include <ctype.h>
+
 #ifdef CONFIG_XFREETYPE
 #include <X11/Xft/Xft.h>
 #endif
@@ -32,183 +26,10 @@ static inline Visual*  visual()   { retu
 
 /******************************************************************************/
 
-/******************************************************************************/
-
-YColor::YColor(unsigned short red, unsigned short green, unsigned short blue):
-    fRed(red), fGreen(green), fBlue(blue),
-    fDarker(NULL), fBrighter(NULL)
-    INIT_XFREETYPE(xftColor, NULL) {
-    alloc();
-}
-
-YColor::YColor(unsigned long pixel):
-    fDarker(NULL), fBrighter(NULL)
-    INIT_XFREETYPE(xftColor, NULL) {
-
-    XColor color;
-    color.pixel = pixel;
-    XQueryColor(display(), colormap(), &color);
-
-    fRed = color.red;
-    fGreen = color.green;
-    fBlue = color.blue;
-
-    alloc();
-}
-
-YColor::YColor(const char *clr):
-    fDarker(NULL), fBrighter(NULL)
-    INIT_XFREETYPE(xftColor, NULL) {
-
-    XColor color;
-    XParseColor(display(), colormap(),
-                clr ? clr : "rgb:00/00/00", &color);
-
-    fRed = color.red;
-    fGreen = color.green;
-    fBlue = color.blue;
-
-    alloc();
-}
-
-YColor::~YColor() {
-    delete fDarker; fDarker = 0;
-    delete fBrighter; fBrighter = 0;
-
-#ifdef CONFIG_XFREETYPE
-    if (xftColor) {
-        if (display()) XftColorFree (display(), visual(), colormap(), xftColor);
-        delete xftColor;
-    }
-#endif
-}
-
-#ifdef CONFIG_XFREETYPE
-XftColor* YColor::allocXft() {
-    xftColor = new XftColor;
-    XRenderColor color = { fRed, fGreen, fBlue, 0xffff };
-    XftColorAllocValue(display(), visual(), colormap(), &color, xftColor);
-    return xftColor;
-}
-#endif
-
-void YColor::alloc() {
-    XColor color;
-
-    color.red = fRed;
-    color.green = fGreen;
-    color.blue = fBlue;
-    color.flags = DoRed | DoGreen | DoBlue;
-    Visual *visual = ::visual();
-
-    if (visual->c_class == TrueColor) {
-        int padding, unused;
-        int depth = visual->bits_per_rgb;
-
-        int red_shift = lowbit(visual->red_mask);
-        int red_prec = highbit(visual->red_mask) - red_shift + 1;
-        int green_shift = lowbit(visual->green_mask);
-        int green_prec = highbit(visual->green_mask) - green_shift + 1;
-        int blue_shift = lowbit(visual->blue_mask);
-        int blue_prec = highbit(visual->blue_mask) - blue_shift + 1;
-
-        /* Shifting by >= width-of-type isn't defined in C */
-        if (depth >= 32)
-            padding = 0;
-        else
-            padding = ((~(unsigned int)0)) << depth;
-
-        unused = ~ (visual->red_mask | visual->green_mask | visual->blue_mask | padding);
-
-        color.pixel = (unused +
-                       ((color.red >> (16 - red_prec)) << red_shift) +
-                       ((color.green >> (16 - green_prec)) << green_shift) +
-                       ((color.blue >> (16 - blue_prec)) << blue_shift));
-
-    } else if (Success == XAllocColor(display(), colormap(), &color))
-    {
-        int j, ncells;
-        double d = 65536. * 65536. * 24;
-        XColor clr;
-        unsigned long pix;
-        long d_red, d_green, d_blue;
-        double u_red, u_green, u_blue;
-
-        pix = 0xFFFFFFFF;
-        ncells = DisplayCells(display(), xapp->screen());
-        for (j = 0; j < ncells; j++) {
-            clr.pixel = j;
-            XQueryColor(display(), colormap(), &clr);
-
-            d_red   = color.red   - clr.red;
-            d_green = color.green - clr.green;
-            d_blue  = color.blue  - clr.blue;
-
-            u_red   = 3UL * (d_red   * d_red);
-            u_green = 4UL * (d_green * d_green);
-            u_blue  = 2UL * (d_blue  * d_blue);
-
-            double d1 = u_red + u_blue + u_green;
-
-            if (pix == 0xFFFFFFFF || d1 < d) {
-                pix = j;
-                d = d1;
-            }
-        }
-        if (pix != 0xFFFFFFFF) {
-            clr.pixel = pix;
-            XQueryColor(display(), colormap(), &clr);
-            /*DBG(("color=%04X:%04X:%04X, match=%04X:%04X:%04X\n",
-                   color.red, color.blue, color.green,
-                   clr.red, clr.blue, clr.green));*/
-            color = clr;
-        }
-        if (XAllocColor(display(), colormap(), &color) == 0) {
-            if (color.red + color.green + color.blue >= 32768)
-                color.pixel = xapp->white();
-            else
-                color.pixel = xapp->black();
-        }
-    }
-    fRed = color.red;
-    fGreen = color.green;
-    fBlue = color.blue;
-    fPixel = color.pixel;
-}
-
-YColor *YColor::darker() { // !!! fix
-    if (fDarker == 0) {
-        unsigned short red, blue, green;
-
-        red = ((unsigned int)fRed) * 2 / 3;
-        blue = ((unsigned int)fBlue) * 2 / 3;
-        green = ((unsigned int)fGreen) * 2 / 3;
-        fDarker = new YColor(red, green, blue);
-    }
-    return fDarker;
-}
-
-YColor *YColor::brighter() { // !!! fix
-    if (fBrighter == 0) {
-        unsigned short red, blue, green;
-
-        red = min (((unsigned) fRed) * 4 / 3, 0xFFFFU);
-        blue = min (((unsigned) fBlue) * 4 / 3, 0xFFFFU);
-        green = min (((unsigned) fGreen) * 4 / 3, 0xFFFFU);
-
-        fBrighter = new YColor(red, green, blue);
-    }
-    return fBrighter;
-}
-
-/******************************************************************************/
-
-/******************************************************************************/
-
 Graphics::Graphics(YWindow & window,
                    unsigned long vmask, XGCValues * gcv):
     fDrawable(window.handle()),
-    fColor(NULL), fFont(null),
+    fColor(), fFont(null),
     xOrigin(0), yOrigin(0)
 {
     rWidth = window.width();
@@ -222,7 +43,7 @@ Graphics::Graphics(YWindow & window,
 
 Graphics::Graphics(YWindow & window):
     fDrawable(window.handle()),
-    fColor(NULL), fFont(null),
+    fColor(), fFont(null),
     xOrigin(0), yOrigin(0)
  {
     rWidth = window.width();
@@ -237,7 +58,7 @@ Graphics::Graphics(YWindow & window):
 
 Graphics::Graphics(ref<YPixmap> pixmap, int x_org, int y_org):
     fDrawable(pixmap->pixmap()),
-    fColor(NULL), fFont(null),
+    fColor(), fFont(null),
     xOrigin(x_org), yOrigin(y_org)
  {
     rWidth = pixmap->width();
@@ -253,7 +74,7 @@ Graphics::Graphics(ref<YPixmap> pixmap,
 Graphics::Graphics(Drawable drawable, unsigned w, unsigned h, unsigned depth,
                    unsigned long vmask, XGCValues * gcv):
     fDrawable(drawable),
-    fColor(NULL), fFont(null),
+    fColor(), fFont(null),
     xOrigin(0), yOrigin(0),
     rWidth(w), rHeight(h), rDepth(depth)
 {
@@ -265,7 +86,7 @@ Graphics::Graphics(Drawable drawable, un
 
 Graphics::Graphics(Drawable drawable, unsigned w, unsigned h, unsigned depth):
     fDrawable(drawable),
-    fColor(NULL), fFont(null),
+    fColor(), fFont(null),
     xOrigin(0), yOrigin(0),
     rWidth(w), rHeight(h), rDepth(depth)
 {
@@ -292,7 +113,7 @@ Graphics::~Graphics() {
 XftDraw* Graphics::handleXft() {
     if (fXftDraw == 0) {
         fXftDraw = XftDrawCreate(display(), drawable(),
-                    visual(), xapp->colormap());
+                    visual(), colormap());
     }
     return fXftDraw;
 }
@@ -624,12 +445,9 @@ void Graphics::fillArc(int x, int y, uns
 
 /******************************************************************************/
 
-void Graphics::setColor(YColor * aColor) {
+void Graphics::setColor(YColor aColor) {
     fColor = aColor;
-    unsigned long pixel = fColor->pixel();
-    if (rdepth() == 32)
-        pixel |= 0xff000000;
-    XSetForeground(display(), gc, pixel);
+    setColorPixel(fColor.pixel());
 }
 
 void Graphics::setColorPixel(unsigned long pixel) {
@@ -776,11 +594,11 @@ void Graphics::compositeImage(ref<YImage
 /******************************************************************************/
 
 void Graphics::draw3DRect(int x, int y, unsigned w, unsigned h, bool raised) {
-    YColor *back(color());
-    YColor *bright(back->brighter());
-    YColor *dark(back->darker());
-    YColor *t(raised ? bright : dark);
-    YColor *b(raised ? dark : bright);
+    YColor back(color());
+    YColor bright(back.brighter());
+    YColor dark(back.darker());
+    YColor t(raised ? bright : dark);
+    YColor b(raised ? dark : bright);
 
     setColor(t);
     drawLine(x, y, x + w, y);
@@ -794,9 +612,9 @@ void Graphics::draw3DRect(int x, int y,
 }
 
 void Graphics::drawBorderW(int x, int y, unsigned w, unsigned h, bool raised) {
-    YColor *back(color());
-    YColor *bright(back->brighter());
-    YColor *dark(back->darker());
+    YColor back(color());
+    YColor bright(back.brighter());
+    YColor dark(back.darker());
 
     if (raised) {
         setColor(bright);
@@ -825,9 +643,9 @@ void Graphics::drawBorderW(int x, int y,
 // doesn't move... needs two pixels on all sides for up and down
 // position.
 void Graphics::drawBorderM(int x, int y, unsigned w, unsigned h, bool raised) {
-    YColor *back(color());
-    YColor *bright(back->brighter());
-    YColor *dark(back->darker());
+    YColor back(color());
+    YColor bright(back.brighter());
+    YColor dark(back.darker());
 
     if (raised) {
         setColor(bright);
@@ -870,9 +688,9 @@ void Graphics::drawBorderM(int x, int y,
 }
 
 void Graphics::drawBorderG(int x, int y, unsigned w, unsigned h, bool raised) {
-    YColor *back(color());
-    YColor *bright(back->brighter());
-    YColor *dark(back->darker());
+    YColor back(color());
+    YColor bright(back.brighter());
+    YColor dark(back.darker());
 
     if (raised) {
         setColor(bright);
@@ -936,11 +754,11 @@ void Graphics::repHorz(Drawable d, unsig
     if (d == None)
         return;
 #if 1
-    XSetTile(xapp->display(), gc, d);
-    XSetTSOrigin(xapp->display(), gc, x - xOrigin, y - yOrigin);
-    XSetFillStyle(xapp->display(), gc, FillTiled);
-    XFillRectangle(xapp->display(), drawable(), gc, x - xOrigin, y - yOrigin, w, ph);
-    XSetFillStyle(xapp->display(), gc, FillSolid);
+    XSetTile(display(), gc, d);
+    XSetTSOrigin(display(), gc, x - xOrigin, y - yOrigin);
+    XSetFillStyle(display(), gc, FillTiled);
+    XFillRectangle(display(), drawable(), gc, x - xOrigin, y - yOrigin, w, ph);
+    XSetFillStyle(display(), gc, FillSolid);
 #else
     while (w > 0) {
         XCopyArea(display(), d, drawable(), gc, 0, 0, min(w, pw), ph, x - xOrigin, y - yOrigin);
@@ -954,11 +772,11 @@ void Graphics::repVert(Drawable d, unsig
     if (d == None)
         return;
 #if 1
-    XSetTile(xapp->display(), gc, d);
-    XSetTSOrigin(xapp->display(), gc, x - xOrigin, y - yOrigin);
-    XSetFillStyle(xapp->display(), gc, FillTiled);
-    XFillRectangle(xapp->display(), drawable(), gc, x - xOrigin, y - yOrigin, pw, h);
-    XSetFillStyle(xapp->display(), gc, FillSolid);
+    XSetTile(display(), gc, d);
+    XSetTSOrigin(display(), gc, x - xOrigin, y - yOrigin);
+    XSetFillStyle(display(), gc, FillTiled);
+    XFillRectangle(display(), drawable(), gc, x - xOrigin, y - yOrigin, pw, h);
+    XSetFillStyle(display(), gc, FillSolid);
 #else
     while (h > 0) {
         XCopyArea(display(), d, drawable(), gc, 0, 0, pw, min(h, ph), x - xOrigin, y - yOrigin);
@@ -1063,12 +881,11 @@ void Graphics::drawGradient(ref<YImage>
 void Graphics::drawArrow(YDirection direction, int x, int y, unsigned size,
                          bool pressed)
 {
-    YColor *nc(color());
-    YColor *oca = pressed ? nc->darker() : nc->brighter(),
-        *ica = pressed ? YColor::black : nc,
-        *ocb = pressed ? wmLook == lookGtk ? nc : nc->brighter()
-        : nc->darker(),
-        *icb = pressed ? nc->brighter() : YColor::black;
+    YColor nc(color());
+    YColor oca = pressed ? nc.darker() : nc.brighter(),
+        ica = pressed ? YColor::black : nc,
+        ocb = pressed ? wmLook == lookGtk ? nc : nc.brighter() : nc.darker(),
+        icb = pressed ? nc.brighter() : YColor::black;
 
     XPoint points[3];
 
--- icewm-1.4.3.0~pre-20180217.orig/src/ypaint.h
+++ icewm-1.4.3.0~pre-20180217/src/ypaint.h
@@ -1,7 +1,6 @@
 #ifndef __YPAINT_H
 #define __YPAINT_H
 
-#include "ref.h"
 #include "ypixmap.h"
 #include "yimage.h"
 #include "mstring.h"
@@ -15,16 +14,9 @@
 #include <X11/extensions/Xrandr.h>
 #endif
 
-#ifdef CONFIG_XFREETYPE //------------------------------------------------------
-#include <ft2build.h>
-#include <X11/Xft/Xft.h>
-#define INIT_XFREETYPE(Member, Value) , Member(Value)
-#else
-#define INIT_XFREETYPE(Member, Value)
-#endif // CONFIG_XFREETYPE -----------------------------------------------------
+#include "ycolor.h"
 
 class YWindow;
-class YIcon;
 
 enum YDirection {
     Up, Left, Down, Right
@@ -33,52 +25,6 @@ enum YDirection {
 /******************************************************************************/
 /******************************************************************************/
 
-class YColor {
-public:
-    YColor(unsigned short red, unsigned short green, unsigned short blue);
-    YColor(unsigned long pixel);
-    YColor(char const * clr);
-    ~YColor();
-
-    unsigned long pixel() const { return fPixel; }
-
-    YColor * darker();
-    YColor * brighter();
-
-    static YColor * black;
-    static YColor * white;
-
-    bool operator==(const YColor& c) const {
-        return fRed == c.fRed && fGreen == c.fGreen && fBlue == c.fBlue;
-    }
-    bool operator!=(const YColor& c) const {
-        return !(*this == c);
-    }
-
-#ifdef CONFIG_XFREETYPE
-    operator XftColor*() { return xftColor ? xftColor : allocXft(); }
-private:
-    XftColor* allocXft();
-#endif
-
-private:
-    YColor(const YColor&);
-    YColor& operator=(const YColor&);
-
-    void alloc();
-
-    unsigned long fPixel;
-    unsigned short fRed;
-    unsigned short fGreen;
-    unsigned short fBlue;
-    YColor * fDarker; //!!! remove this (needs color caching...)
-    YColor * fBrighter; //!!! removethis
-
-#ifdef CONFIG_XFREETYPE
-    XftColor * xftColor;
-#endif
-};
-
 struct YDimension {
     YDimension(unsigned w, unsigned h): w(w), h(h) {}
     unsigned w, h;
@@ -113,11 +59,11 @@ public:
 /******************************************************************************/
 
 struct YSurface {
-    YSurface(class YColor * color, ref<YPixmap> pixmap,
+    YSurface(YColor color, ref<YPixmap> pixmap,
              ref<YImage> gradient):
     color(color), pixmap(pixmap), gradient(gradient) {}
 
-    class YColor * color;
+    YColor color;
     ref<YPixmap> pixmap;
     ref<YImage> gradient;
 };
@@ -172,7 +118,7 @@ public:
     void fillPolygon(XPoint * points, int const n, int const shape,
                      int const mode);
     void fillArc(int x, int y, unsigned width, unsigned height, int a1, int a2);
-    void setColor(YColor * aColor);
+    void setColor(YColor aColor);
     void setColorPixel(unsigned long pixel);
     void setFont(ref<YFont> aFont);
     void setThinLines(void) { setLineWidth(0); }
@@ -212,10 +158,10 @@ public:
     Drawable drawable() const { return fDrawable; }
     GC handleX() const { return gc; }
 #ifdef CONFIG_XFREETYPE
-    XftDraw *handleXft();
+    struct _XftDraw* handleXft();
 #endif
 
-    YColor * color() const { return fColor; }
+    YColor   color() const { return fColor; }
     ref<YFont> font() const { return fFont; }
     int function() const;
     int xorigin() const { return xOrigin; }
@@ -231,10 +177,10 @@ private:
     Drawable fDrawable;
     GC gc;
 #ifdef CONFIG_XFREETYPE
-    XftDraw* fXftDraw;
+    struct _XftDraw* fXftDraw;
 #endif
 
-    YColor * fColor;
+    YColor   fColor;
     ref<YFont> fFont;
     int xOrigin, yOrigin;
     unsigned rWidth, rHeight, rDepth;
--- icewm-1.4.3.0~pre-20180217.orig/src/ypopup.cc
+++ icewm-1.4.3.0~pre-20180217/src/ypopup.cc
@@ -4,10 +4,8 @@
  * Copyright (C) 1997-2002 Marko Macek
  */
 #include "config.h"
-#include "ykey.h"
-#include "ymenu.h"
-#include "yrect.h"
-
+#include "ypopup.h"
+#include "base.h"
 #include "yxapp.h"
 #include "yprefs.h"
 
--- icewm-1.4.3.0~pre-20180217.orig/src/yprefs.h
+++ icewm-1.4.3.0~pre-20180217/src/yprefs.h
@@ -56,7 +56,7 @@ XIV(WMLook, wmLook,
 
 XSV(const char *, clrToolTip,                   "rgb:E0/E0/00")
 XSV(const char *, clrToolTipText,               "rgb:00/00/00")
-XFV(const char *, toolTipFontName,              FONT(120), "sans-serif:size=12")
+XFV(const char *, toolTipFontName,              FONT(120), "sans-serif:size=11")
 
 #endif
 
--- icewm-1.4.3.0~pre-20180217.orig/src/yscrollbar.cc
+++ icewm-1.4.3.0~pre-20180217/src/yscrollbar.cc
@@ -14,28 +14,15 @@
 #include "yprefs.h"
 #include "prefs.h"
 
-YColor *scrollBarBg(NULL);
-static YColor *scrollBarSlider(NULL);
-static YColor *scrollBarButton(NULL);
-static YColor *scrollBarActiveArrow(NULL);
-static YColor *scrollBarInactiveArrow(NULL);
-static bool didInit = false;
+static YColorName scrollBarBg(&clrScrollBar);
+static YColorName scrollBarSlider(&clrScrollBarSlider);
+static YColorName scrollBarButton(&clrScrollBarButton);
+static YColorName scrollBarActiveArrow(&clrScrollBarArrow);
+static YColorName scrollBarInactiveArrow(&clrScrollBarInactive);
 
-YTimer *YScrollBar::fScrollTimer = 0;
-
-static void initColors() {
-    if (didInit)
-        return ;
-    scrollBarBg = new YColor(clrScrollBar);
-    scrollBarSlider= new YColor(clrScrollBarSlider);
-    scrollBarButton= new YColor(clrScrollBarButton);
-    scrollBarActiveArrow = new YColor(clrScrollBarArrow);
-    scrollBarInactiveArrow = new YColor(clrScrollBarInactive);
-    didInit = true;
-}
+lazy<YTimer> YScrollBar::fScrollTimer;
 
 YScrollBar::YScrollBar(YWindow *aParent): YWindow(aParent) {
-    if (!didInit) initColors();
     fOrientation = Vertical;
     fMinimum = fMaximum = fValue = fVisibleAmount = 0;
     fUnitIncrement = fBlockIncrement = 1;
@@ -48,7 +35,6 @@ YScrollBar::YScrollBar(YWindow *aParent)
 YScrollBar::YScrollBar(Orientation anOrientation, YWindow *aParent):
 YWindow(aParent)
 {
-    if (!didInit) initColors();
     fOrientation = anOrientation;
 
     fMinimum = fMaximum = fValue = fVisibleAmount = 0;
@@ -62,7 +48,6 @@ YScrollBar::YScrollBar(Orientation anOri
                        int aValue, int aVisibleAmount, int aMin, int aMax,
                        YWindow *aParent): YWindow(aParent)
 {
-    if (!didInit) initColors();
     fOrientation = anOrientation;
     fMinimum = aMin;
     fMaximum = aMax;
@@ -75,8 +60,8 @@ YScrollBar::YScrollBar(Orientation anOri
 }
 
 YScrollBar::~YScrollBar() {
-    if (fScrollTimer && fScrollTimer->getTimerListener() == this)
-        fScrollTimer->setTimerListener(0);
+    if (fScrollTimer)
+        fScrollTimer->disableTimerListener(this);
 }
 
 void YScrollBar::setOrientation(Orientation anOrientation) {
@@ -605,20 +590,12 @@ void YScrollBar::handleButton(const XBut
     if (button.type == ButtonPress) {
         fScrollTo = getOp(button.x, button.y);
         doScroll();
-        if (fScrollTimer == 0)
-            fScrollTimer = new YTimer(scrollBarStartDelay);
-        if (fScrollTimer) {
-            fScrollTimer->setInterval(scrollBarStartDelay);
-            fScrollTimer->setTimerListener(this);
-            fScrollTimer->startTimer();
-        }
+        fScrollTimer->setTimer(scrollBarStartDelay, this, true);
         repaint();
     } else if (button.type == ButtonRelease) {
         fScrollTo = goNone;
-        if (fScrollTimer && fScrollTimer->getTimerListener() == this) {
-            fScrollTimer->setTimerListener(0);
-            fScrollTimer->stopTimer();
-        }
+        if (fScrollTimer)
+            fScrollTimer->disableTimerListener(this);
         repaint();
     }
 }
@@ -857,31 +834,21 @@ YScrollBar::ScrollOp YScrollBar::getOp(i
 void YScrollBar::handleDNDEnter() {
     fScrollTo = goNone;
     fDNDScroll = true;
-    if (fScrollTimer && fScrollTimer->getTimerListener() == this) {
-        fScrollTimer->setTimerListener(0);
-        fScrollTimer->stopTimer();
-    }
+    if (fScrollTimer)
+        fScrollTimer->disableTimerListener(this);
 }
 
 void YScrollBar::handleDNDLeave() {
     fScrollTo = goNone;
     fDNDScroll = false;
     repaint();
-    if (fScrollTimer && fScrollTimer->getTimerListener() == this) {
-        fScrollTimer->setTimerListener(0);
-        fScrollTimer->stopTimer();
-    }
+    if (fScrollTimer)
+        fScrollTimer->disableTimerListener(this);
 }
 
 void YScrollBar::handleDNDPosition(int x, int y) {
     fScrollTo = getOp(x, y);
-    if (fScrollTimer == 0)
-        fScrollTimer = new YTimer(scrollBarStartDelay);
-    if (fScrollTimer) {
-        fScrollTimer->setInterval(scrollBarStartDelay);
-        fScrollTimer->setTimerListener(this);
-        fScrollTimer->startTimer();
-    }
+    fScrollTimer->setTimer(scrollBarStartDelay, this, true);
     repaint();
 }
 
--- icewm-1.4.3.0~pre-20180217.orig/src/yscrollbar.h
+++ icewm-1.4.3.0~pre-20180217/src/yscrollbar.h
@@ -81,7 +81,7 @@ private:
     int fGrabDelta;
     YScrollBarListener *fListener;
     bool fDNDScroll;
-    static YTimer *fScrollTimer;
+    static lazy<YTimer> fScrollTimer;
 };
 
 #endif
--- icewm-1.4.3.0~pre-20180217.orig/src/yscrollview.cc
+++ icewm-1.4.3.0~pre-20180217/src/yscrollview.cc
@@ -4,17 +4,11 @@
  * Copyright (C) 1997-2001 Marko Macek
  */
 #include "config.h"
-
 #include "yscrollview.h"
-
-#include "ylistbox.h"
 #include "yscrollbar.h"
-#include "yrect.h"
-
-#include "yapp.h"
 #include "prefs.h"
 
-extern YColor *scrollBarBg;
+static YColorName scrollBarBg(&clrScrollBar);
 
 
 YScrollView::YScrollView(YWindow *aParent): YWindow(aParent) {
--- icewm-1.4.3.0~pre-20180217.orig/src/ytimer.cc
+++ icewm-1.4.3.0~pre-20180217/src/ytimer.cc
@@ -178,4 +178,12 @@ void YTimer::disableTimerListener(YTimer
     }
 }
 
+void YTimer::setTimer(long interval, YTimerListener *listener, bool start) {
+    stopTimer();
+    setInterval(interval);
+    setTimerListener(listener);
+    if (start)
+        startTimer();
+}
+
 // vim: set sw=4 ts=4 et:
--- icewm-1.4.3.0~pre-20180217.orig/src/ytimer.h
+++ icewm-1.4.3.0~pre-20180217/src/ytimer.h
@@ -59,6 +59,7 @@ public:
     void setTimerListener(YTimerListener *listener) { fListener = listener; }
     YTimerListener *getTimerListener() const { return fListener; }
     void disableTimerListener(YTimerListener *listener);
+    void setTimer(long interval, YTimerListener *listener, bool start);
 
     void setInterval(long ms);
     long getInterval() const { return fInterval; }
--- icewm-1.4.3.0~pre-20180217.orig/src/ytooltip.cc
+++ icewm-1.4.3.0~pre-20180217/src/ytooltip.cc
@@ -14,8 +14,8 @@
 #include <string.h>
 
 YToolTipWindow::YToolTipWindow(ustring text) :
-    toolTipBg(clrToolTip),
-    toolTipFg(clrToolTipText),
+    toolTipBg(&clrToolTip),
+    toolTipFg(&clrToolTipText),
     toolTipFont(YFont::getFont(XFA(toolTipFontName)))
 {
     setStyle(wsToolTip | wsOverrideRedirect);
@@ -28,14 +28,14 @@ YToolTip::YToolTip() :
 }
 
 void YToolTipWindow::paint(Graphics &g, const YRect &/*r*/) {
-    g.setColor(&toolTipBg);
+    g.setColor(toolTipBg);
     g.fillRect(0, 0, width(), height());
     g.setColor(YColor::black);
     g.drawRect(0, 0, width() - 1, height() - 1);
     if (fText != null) {
         int y = toolTipFont->ascent() + 2;
         g.setFont(toolTipFont);
-        g.setColor(&toolTipFg);
+        g.setColor(toolTipFg);
         g.drawStringMultiline(3, y, fText);
     }
 }
@@ -95,12 +95,12 @@ void YToolTip::display() {
     window()->raise();
     window()->show();
     if (ToolTipTime)
-        fTimer = new YTimer(ToolTipTime, this, true);
+        fTimer->setTimer(ToolTipTime, this, true);
 }
 
 void YToolTip::hide() {
     fWindow = 0;
-    fTimer = 0;
+    fTimer = null;
 }
 
 void YToolTip::locate(YWindow *w, const XCrossingEvent &/*crossing*/) {
--- icewm-1.4.3.0~pre-20180217.orig/src/ytooltip.h
+++ icewm-1.4.3.0~pre-20180217/src/ytooltip.h
@@ -17,8 +17,8 @@ public:
 private:
     ustring fText;
 
-    YColor toolTipBg;
-    YColor toolTipFg;
+    YColorName toolTipBg;
+    YColorName toolTipFg;
     ref<YFont> toolTipFont;
 };
 
@@ -42,7 +42,7 @@ private:
     ustring fText;
     YWindow* fLocate;
     osmart<YToolTipWindow> fWindow;
-    osmart<YTimer> fTimer;
+    lazy<YTimer> fTimer;
 };
 #endif
 
--- icewm-1.4.3.0~pre-20180217.orig/src/ywindow.cc
+++ icewm-1.4.3.0~pre-20180217/src/ywindow.cc
@@ -49,53 +49,43 @@ public:
     YWindow *getWindow() const { return fWindow; }
     bool isScrolling() const { return fScrolling; }
 private:
-    YTimer *fAutoScrollTimer;
-    XMotionEvent *fMotion;
+    YTimer fAutoScrollTimer;
+    XMotionEvent fMotion;
     YWindow *fWindow;
     bool fScrolling;
 };
 
 
-YAutoScroll::YAutoScroll() {
+YAutoScroll::YAutoScroll() :
+    fAutoScrollTimer(autoScrollDelay, this, false)
+{
     fWindow = 0;
-    fAutoScrollTimer = 0;
     fScrolling = false;
-    fMotion = new XMotionEvent;
 }
 
 YAutoScroll::~YAutoScroll() {
-    delete fAutoScrollTimer; fAutoScrollTimer = 0;
-    delete fMotion; fMotion = 0;
 }
 
 bool YAutoScroll::handleTimer(YTimer *timer) {
-    if (timer == fAutoScrollTimer && fWindow) {
-        fAutoScrollTimer->setInterval(autoScrollDelay);
-        return fWindow->handleAutoScroll(*fMotion);
+    if (fWindow) {
+        return fWindow->handleAutoScroll(fMotion);
     }
     return false;
 }
 
 void YAutoScroll::autoScroll(YWindow *w, bool autoScroll, const XMotionEvent *motion) {
-    if (motion && fMotion)
-        *fMotion = *motion;
+    if (motion)
+        fMotion = *motion;
     else
         w = 0;
     fWindow = w;
     if (w == 0)
         autoScroll = false;
     fScrolling = autoScroll;
-    if (autoScroll && fAutoScrollTimer == 0) {
-        fAutoScrollTimer = new YTimer(autoScrollStartDelay);
-        fAutoScrollTimer->setTimerListener(this);
-    }
-    if (fAutoScrollTimer) {
-        if (autoScroll) {
-            if (!fAutoScrollTimer->isRunning()) {
-                fAutoScrollTimer->startTimer(autoScrollStartDelay);
-            }
-        } else
-            fAutoScrollTimer->stopTimer();
+    if (autoScroll) {
+        fAutoScrollTimer.startTimer();
+    } else {
+        fAutoScrollTimer.stopTimer();
     }
 }
 
@@ -168,10 +158,8 @@ YWindow::~YWindow() {
     }
     if (fToolTip) {
         fToolTip->hide();
-        if (fToolTipTimer && fToolTipTimer->getTimerListener() == fToolTip) {
-            fToolTipTimer->stopTimer();
-            fToolTipTimer->setTimerListener(0);
-        }
+        if (fToolTipTimer)
+            fToolTipTimer->disableTimerListener(fToolTip);
         delete fToolTip; fToolTip = 0;
     }
     if (fClickWindow == this)
@@ -835,10 +823,8 @@ bool YWindow::handleKey(const XKeyEvent
 void YWindow::handleButton(const XButtonEvent &button) {
     if (fToolTip) {
         fToolTip->hide();
-        if (fToolTipTimer && fToolTipTimer->getTimerListener() == fToolTip) {
-            fToolTipTimer->stopTimer();
-            fToolTipTimer->setTimerListener(0);
-        }
+        if (fToolTipTimer)
+            fToolTipTimer->disableTimerListener(fToolTip);
     }
 
     int const dx(abs(button.x_root - fClickEvent.x_root));
@@ -918,7 +904,7 @@ void YWindow::handleMotion(const XMotion
     }
 }
 
-YTimer *YWindow::fToolTipTimer = 0;
+lazy<YTimer> YWindow::fToolTipTimer;
 
 void YWindow::setToolTip(const ustring &tip) {
     if (fToolTip) {
@@ -945,21 +931,13 @@ void YWindow::updateToolTip() {
 void YWindow::handleCrossing(const XCrossingEvent &crossing) {
     if (fToolTip) {
         if (crossing.type == EnterNotify && crossing.mode == NotifyNormal) {
-            if (fToolTipTimer == 0)
-                fToolTipTimer = new YTimer(ToolTipDelay);
-            if (fToolTipTimer) {
-                fToolTipTimer->setTimerListener(fToolTip);
-                fToolTipTimer->startTimer();
-                updateToolTip();
-                if (fToolTip)
-                    fToolTip->locate(this, crossing);
-            }
+            fToolTipTimer->setTimer(ToolTipDelay, fToolTip, true);
+            updateToolTip();
+            fToolTip->locate(this, crossing);
         } else if (crossing.type == LeaveNotify) {
             fToolTip->hide();
-            if (fToolTipTimer && fToolTipTimer->getTimerListener() == fToolTip) {
-                fToolTipTimer->stopTimer();
-                fToolTipTimer->setTimerListener(0);
-            }
+            if (fToolTipTimer)
+                fToolTipTimer->disableTimerListener(fToolTip);
         }
     }
 }
--- icewm-1.4.3.0~pre-20180217.orig/src/ywindow.h
+++ icewm-1.4.3.0~pre-20180217/src/ywindow.h
@@ -283,7 +283,7 @@ private:
     static int fClickDrag;
     static unsigned fClickButton;
     static unsigned fClickButtonDown;
-    static YTimer *fToolTipTimer;
+    static lazy<YTimer> fToolTipTimer;
     static unsigned long lastEnterNotifySerial;
     static void updateEnterNotifySerial(const XEvent& event);
 
--- icewm-1.4.3.0~pre-20180217.orig/src/yxapp.cc
+++ icewm-1.4.3.0~pre-20180217/src/yxapp.cc
@@ -1,14 +1,9 @@
 #include "config.h"
 #include "yxapp.h"
 #include "yfull.h"
-#include "wmprog.h"
-#include "yaction.h"
 #include "ymenu.h"
 #include "wmmgr.h"
 #include "MwmUtil.h"
-#include "prefs.h"
-#include "yprefs.h"
-#include "yconfig.h"
 #include "ypointer.h"
 
 #ifdef CONFIG_RENDER
@@ -190,9 +185,6 @@ Atom XA_XdndPosition;
 Atom XA_XdndProxy;
 Atom XA_XdndStatus;
 
-YColor *YColor::black(NULL);
-YColor *YColor::white(NULL);
-
 #ifdef CONFIG_RENDER
 int renderSupported;
 int renderEventBase, renderErrorBase;
@@ -491,11 +483,6 @@ void YXApplication::initPointers() {
     movePointer  = l->load("move.xpm",  XC_fleur);
 }
 
-void YXApplication::initColors() {
-    YColor::black = new YColor("rgb:00/00/00");
-    YColor::white = new YColor("rgb:FF/FF/FF");
-}
-
 void YXApplication::initModifiers() {
     XModifierKeymap *xmk = XGetModifierMapping(xapp->display());
     AltMask = MetaMask = WinMask = SuperMask = HyperMask =
@@ -984,7 +971,6 @@ YXApplication::YXApplication(int *argc,
     initAtoms();
     initModifiers();
     initPointers();
-    initColors();
     initExtensions();
 }
 
@@ -1024,8 +1010,6 @@ void YXApplication::initExtensions() {
 YXApplication::~YXApplication() {
     xfd.unregisterPoll();
     XCloseDisplay(display());
-    delete YColor::white; YColor::white = 0;
-    delete YColor::black; YColor::black = 0;
     xapp = 0;
 }
 
--- icewm-1.4.3.0~pre-20180217.orig/src/yxapp.h
+++ icewm-1.4.3.0~pre-20180217/src/yxapp.h
@@ -135,7 +135,6 @@ private:
     void initModifiers();
     static void initAtoms();
     static void initPointers();
-    static void initColors();
 };
 
 extern YXApplication *xapp;
--- icewm-1.4.3.0~pre-20180217.orig/src/yximage.cc
+++ icewm-1.4.3.0~pre-20180217/src/yximage.cc
@@ -1,7 +1,13 @@
 #include "config.h"
 
+// this has to be come before X11 headers or libpng checks will get mad WRT setjmp version
+#ifdef CONFIG_LIBPNG
+#include <png.h>
+#endif
+
 #if defined CONFIG_XPM
 
+#include <stdlib.h>
 #include <math.h>
 #include <errno.h>
 #include "yimage.h"
@@ -10,9 +16,6 @@
 
 #include <X11/xpm.h>
 
-#ifdef CONFIG_LIBPNG
-#include <png.h>
-#endif
 #ifdef CONFIG_LIBJPEG
 #include <jpeglib.h>
 #include <setjmp.h>
@@ -22,11 +25,14 @@ struct Verbose {
     const bool verbose;
     Verbose() : verbose(init()) { }
     bool init() const {
+#ifdef __OpenBSD__
+        return false;
+#else
         if (getenv("DEBUG_YXIMAGE"))
             return true;
-        mstring home(getenv("HOME"));
-        upath file(home + "/.icewm/debug_yximage");
+        upath file(YApplication::getHomeDir().child(".icewm/debug_yximage"));
         return file.fileExists();
+#endif
     }
     operator bool() const { return verbose; }
 };
@@ -1036,7 +1042,7 @@ void YXImage::composite(Graphics& g, int
     unsigned hi = fImage->height;
     unsigned di = fImage->depth;
     bool bitmap = isBitmap();
-    unsigned long fg = g.color() ? g.color()->pixel() & 0x00FFFFFF : 0;
+    unsigned long fg = g.color() ? g.color().pixel() & 0x00FFFFFF : 0;
     unsigned long bg = 0x00000000; /* for now */
 
     if (verbose)
--- icewm-1.4.3.0~pre-20180217.orig/src/yxtray.cc
+++ icewm-1.4.3.0~pre-20180217/src/yxtray.cc
@@ -61,7 +61,7 @@ ustring fetchTitle(Window win) {
 
 struct DockRequest {
     Window window;
-    osmart<YTimer> timer;
+    lazy<YTimer> timer;
     DockRequest(Window w, YTimer* t) : window(w), timer(t) { }
 };
 
@@ -76,7 +76,7 @@ private:
     YAtom _NET_SYSTEM_TRAY_MESSAGE_DATA;
     YAtom _NET_SYSTEM_TRAY_S0;
     YXTray *fTray;
-    osmart<YTimer> fUpdateTimer;
+    lazy<YTimer> fUpdateTimer;
     YObjectArray<DockRequest> fDockRequests;
     mstring toolTip;
 
@@ -211,7 +211,7 @@ void YXTrayProxy::updateToolTip() {
             setToolTip(null);
         }
         if (fUpdateTimer)
-            fUpdateTimer = NULL;
+            fUpdateTimer = null;
         return;
     }
 
@@ -235,11 +235,8 @@ void YXTrayProxy::updateToolTip() {
     if (toolTip != newTip) {
         toolTip = newTip;
         setToolTip(newTip);
-        if (fUpdateTimer == NULL) {
-            const long timerInterval = 500L;
-            fUpdateTimer = new YTimer(timerInterval);
-            fUpdateTimer->setTimerListener(this);
-        }
+        if ( ! fUpdateTimer)
+            fUpdateTimer->setTimer(500L, this, false);
     }
     if (false == fUpdateTimer->isRunning()) {
         fUpdateTimer->startTimer();
@@ -542,7 +539,7 @@ void YXTray::detachTray() {
 void YXTray::paint(Graphics &g, const YRect &/*r*/) {
     if (!fDrawBevel)
         return;
-    g.setColor(getTaskBarBg());
+    g.setColor(taskBarBg);
     if (trayDrawBevel && fDocked.getCount())
         g.draw3DRect(0, 0, width() - 1, height() - 1, false);
 }
