4 weeks agoWindow Maker 0.95.7masterwmaker-0.95.7
Carlos R. Mafra [Sun, 2 Aug 2015 10:52:08 +0000 (2 11:52 +0100)]
Window Maker 0.95.7

5 weeks agoAllow using numpad Enter key in dialogs for confirmation
Amadeusz Sławiński [Mon, 27 Jul 2015 16:19:52 +0000 (27 18:19 +0200)]
Allow using numpad Enter key in dialogs for confirmation

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 weeks agoAllow using keypad Enter to commit move/resize
Amadeusz Sławiński [Mon, 27 Jul 2015 16:19:51 +0000 (27 18:19 +0200)]
Allow using keypad Enter to commit move/resize

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 weeks agoDisable pager by default
Carlos R. Mafra [Sat, 25 Jul 2015 17:23:46 +0000 (25 14:23 -0300)]
Disable pager by default

New features like this one should be disabled by default.

6 weeks agoRevert "wmaker: fix clearing of window attribute that was not saved properly"
Carlos R. Mafra [Tue, 7 Jul 2015 17:36:13 +0000 (7 14:36 -0300)]
Revert "wmaker: fix clearing of window attribute that was not saved properly"

This reverts commit 14d1d3f141bc6740e7c8704f7883ed9c56fc45d5.


Signed-off-by: Carlos R. Mafra <crmafra@gmail.com>
2 months agoconfigure: fixed incorrect variable name that prevented --disable-xdnd to work
Rodolfo García Peñas (kix) [Sun, 28 Jun 2015 15:09:11 +0000 (28 17:09 +0200)]
configure: fixed incorrect variable name that prevented --disable-xdnd to work

The name of the variable used in the AM_CONDITIONAL check was not aligned
with the name used at the other places of the file, which made the test
always succeed, making the conditional always enabled, causing an
unnecessary file to be included if user asked to disable the feature,
feature which was still not enabled.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2 months agoTranslations: Frisian updates for WPrefs
Alwin [Sun, 28 Jun 2015 15:07:23 +0000 (28 17:07 +0200)]
Translations: Frisian updates for WPrefs

Main purpose of this change is to add the latest msgid's. It also
adds an advice from the Afûk language institute, on an adjective
not found in any dictionary.

2 months agoTranslations: Dutch updates for WPrefs
Alwin [Sun, 28 Jun 2015 15:07:22 +0000 (28 17:07 +0200)]
Translations: Dutch updates for WPrefs

Main purpose of this change is to add the latest msgid's. It also
fixes a typo, and prevents the lower part of a letter `g' from
becoming invisible when a large font is used.

2 months agoWPrefs: Add snap edge and corner detect to Expert panel.
Doug Torrance [Wed, 24 Jun 2015 00:35:00 +0000 (23 19:35 -0500)]
WPrefs: Add snap edge and corner detect to Expert panel.

These are both integer values, and thus use the new OPTION_WMAKER_INT class.
We also update the text describing the window snapping feature for
clarification and consistency.

2 months agoWPrefs: Add ability to set integer values in Expert panel
Doug Torrance [Wed, 24 Jun 2015 00:34:59 +0000 (23 19:34 -0500)]
WPrefs: Add ability to set integer values in Expert panel

Previously, only boolean values could be changed using the Expert panel.
This patch adds the ability to change integer values.  A new class,
OPTION_WMAKER_INT, is added.  When this class is used, a textfield and two
buttons (up and down) appear instead of a checkbox.  Users can either type
the integer value or increment/decrement it using the arrows.

2 months agowmaker: Allow configuration of window snapping detect distances.
Doug Torrance [Mon, 22 Jun 2015 14:50:51 +0000 (22 09:50 -0500)]
wmaker: Allow configuration of window snapping detect distances.

This patch introduces two new configuration values, SnapEdgeDetect and
SnapCornerDetect, which users can set to change the distance from an edge
or corner at which window snapping will begin.  The defaults are 1 and 10,

Suggested-by: Josip Deanovic <djosip+news@linuxpages.net>
2 months agowmaker: Allow window snapping and linked workspaces simultaneously.
Doug Torrance [Sun, 21 Jun 2015 03:46:25 +0000 (20 22:46 -0500)]
wmaker: Allow window snapping and linked workspaces simultaneously.

If workspaces are linked, then windows will only snap to the top or bottom
of the screen.

Suggested-by: Josip Deanovic <djosip+news@linuxpages.net>
2 months agoWPrefs: fix conversion of old "Apercu" setting to the new keywords
Christophe CURIS [Sat, 20 Jun 2015 16:23:59 +0000 (20 18:23 +0200)]
WPrefs: fix conversion of old "Apercu" setting to the new keywords

As pointed by Josip, the code for loading the legacy setting keywords for
the Minipreview feature did not update correctly the configuration:

 - if the setting used a size as a multiple of icon size, this was
understood as the minimum pixel size, which meant here disabling the
feature. The code is now consistent with what Window Maker does;

 - if the old keyword were found, they were loaded but not removed from the
database after creating the new ones, which is a source of problem as
Window Maker assumes that the presence of the legacy keywords means they
are to be taken in consideration.

Reported-by: Josip Deanovic <djosip+news@linuxpages.net>
Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2 months agowmaker: fix detection of legacy Apercu configuration keywords
Christophe CURIS [Sat, 20 Jun 2015 16:23:58 +0000 (20 18:23 +0200)]
wmaker: fix detection of legacy Apercu configuration keywords

As reported by Josip, the code in Window Maker to detect the use of the
legacy keyword "MiniwindowApercuBalloons" and "ApercuSize" was broken,
which means they were always seen as used even when not present.

This patch fixes the detection to only use them if they were effectively

Reported-by: Josip Deanovic <djosip+news@linuxpages.net>
Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2 months agoconfigure: Fix output of libdir directory in summary
Josip Deanovic [Sat, 20 Jun 2015 07:14:45 +0000 (20 09:14 +0200)]
configure: Fix output of libdir directory in summary

This patch fixes the output status of the configure script which
currently gives output such as this:

Window Maker was configured as follows:
Installation path prefix            : /usr/local/windowmaker-0.95.7.next
Installation path for binaries      : /usr/local/windowmaker-0.95.7.next/bin
Installation path for libraries     : ${exec_prefix}/lib
Installation path for WPrefs.app    : /usr/local/windowmaker-0.95.7.next

2 months agoConfigure: increased the version of Automake requested
Christophe CURIS [Fri, 19 Jun 2015 19:57:09 +0000 (19 21:57 +0200)]
Configure: increased the version of Automake requested

The compilation of the WRaster library needs the keyword
EXTRA_*_DEPENDENCIES in its Makefile so the configure.ac have been updated
to require at least the version of automake in which it is added.

Reported-by: Josip Deanovic <djosip+news@linuxpages.net>
Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2 months agowrlib: fixed gcc version needed for deprecated attribute support
Christophe CURIS [Fri, 19 Jun 2015 19:56:47 +0000 (19 21:56 +0200)]
wrlib: fixed gcc version needed for deprecated attribute support

The support for a custom message in the attribute 'deprecated' have been
added only from gcc 4.5.0 and not 4.0, so the check was updated accordingly
to avoid compilation error with version 4.0 to 4.4.

Reported-by: Josip Deanovic <djosip+news@linuxpages.net>
Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2 months agoNew translation into Frisian for Window Maker
Alwin [Sun, 14 Jun 2015 18:04:06 +0000 (14 20:04 +0200)]
New translation into Frisian for Window Maker

This is a complete translation into the Frisian language, mainly
done by translating it from the Dutch language files already in
Window Maker.

2 months agoWRaster: fix unused variable warning when XShm extention is not enabled
Christophe CURIS [Sat, 13 Jun 2015 16:54:05 +0000 (13 18:54 +0200)]
WRaster: fix unused variable warning when XShm extention is not enabled

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2 months agoWINGs: fix non-portable int conversion for printf in font panel size handling
Christophe CURIS [Sat, 13 Jun 2015 16:53:36 +0000 (13 18:53 +0200)]
WINGs: fix non-portable int conversion for printf in font panel size handling

The original code assumed that the (void *) type could be safely converted
to an integer for the printf use, but it is not that simple, as pointed by
gcc when compiling on 32-bits platforms, where pointers do not match
anymore the long (%li) size.

The new code now do the conversions by the rules, so the compiler knows
what is happening and printf always gets the 'int' it expects.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2 months agoWINGs: ran spell checker on the NEWS file
Christophe CURIS [Sat, 13 Jun 2015 16:52:07 +0000 (13 18:52 +0200)]
WINGs: ran spell checker on the NEWS file

The command used was:
  aspell --lang=en_GB check WINGs/NEWS

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2 months agoWINGs: Updated news with the API changes that occured between 0.95.6 and 0.95.7
Christophe CURIS [Sat, 13 Jun 2015 16:52:06 +0000 (13 18:52 +0200)]
WINGs: Updated news with the API changes that occured between 0.95.6 and 0.95.7

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2 months agoChangeLog: Update to prepare for version 0.95.7.
Doug Torrance [Sat, 13 Jun 2015 15:49:51 +0000 (13 10:49 -0500)]
ChangeLog: Update to prepare for version 0.95.7.

2 months agowmaker: replaced old email address with the official one
Christophe CURIS [Sat, 13 Jun 2015 13:48:57 +0000 (13 15:48 +0200)]
wmaker: replaced old email address with the official one

In the crash handling dialog there was a reference to an old email address.
This patch replaces it with the official one, taken from the 'configure.ac'
definition so it will not need manual update anymore.

The mail address is inserted in the string with a '%s' in order to not have
it in the translation files (po) to ease the maintainer's task in case of
future change.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
2 months agodoc: Add manpage for wmiv.
Doug Torrance [Mon, 8 Jun 2015 04:59:26 +0000 (7 23:59 -0500)]
doc: Add manpage for wmiv.

2 months agowmiv: Improve help text.
Doug Torrance [Mon, 8 Jun 2015 04:59:25 +0000 (7 23:59 -0500)]
wmiv: Improve help text.

In particular, we add entries for the two command line options for `make
check` to work, add some whitespace for readability, and enclose the keys
in brackets so `make check` doesn't think the - key is one of the command
line options.  We also capitalize Esc and the letter keys for readability.

2 months agowmiv: Add long command line options --help and --version.
Doug Torrance [Sun, 7 Jun 2015 17:16:31 +0000 (7 12:16 -0500)]
wmiv: Add long command line options --help and --version.

We will need --help for `make check` to work once we add a manpage.

2 months agomake: Add Ukrainian translation files to EXTRA_DIST.
Doug Torrance [Thu, 28 May 2015 10:11:46 +0000 (28 05:11 -0500)]
make: Add Ukrainian translation files to EXTRA_DIST.

Otherwise, "make check" fails as scripts/check-translation-sources.sh
returns an error.

2 months agoAdd folder with fedora .spec file
Alexey I. Froloff [Wed, 27 May 2015 14:28:45 +0000 (27 17:28 +0300)]
Add folder with fedora .spec file

On Wed, May 27, 2015 at 12:31:38PM +0100, Carlos R. Mafra wrote:
> Could you consider to submit your work with the specfile to the
> wmaker git repository? The idea being that other people could
> add the %ifdef's needed for other distros too, and we would have
> a central specfile for wmaker.

I've made a COPR repo and built "wmaker-crm-next" for EPEL-7,
F20, F21, F22 and Rawhide.  Attaching spec and additional


2 months agoImport of (partly outdated) Ukrainian translations.
Martin Dietze [Wed, 27 May 2015 14:10:55 +0000 (27 16:10 +0200)]
Import of (partly outdated) Ukrainian translations.

3 months agodebian: Import version 0.95.6-1.1.
Doug Torrance [Tue, 26 May 2015 22:13:14 +0000 (26 17:13 -0500)]
debian: Import version 0.95.6-1.1.

3 months agodebian: Import version 0.95.6-1.
Doug Torrance [Tue, 26 May 2015 22:13:13 +0000 (26 17:13 -0500)]
debian: Import version 0.95.6-1.

3 months agoWPrefs: creating more space for translations
Alwin [Mon, 25 May 2015 19:56:19 +0000 (25 21:56 +0200)]
WPrefs: creating more space for translations

Making some wasted pixels available in the Options section of Icon
Preferences, by redividing the heights and vertical offsets.

The reason is that one or more translations may easily become
larger, and will automatically be wrapped to a second line. In the
current situation, those two lines appear more or less stripped,
depending on the font size. The upper and/or lower part of the fonts
become invisible, which make them hard to read. It's ugly also.

Currently the Dutch and other translations benefit from this

3 months agowrlib: changed Gamma Correction calculation to use single-precision float
Christophe CURIS [Sun, 24 May 2015 13:49:09 +0000 (24 15:49 +0200)]
wrlib: changed Gamma Correction calculation to use single-precision float

The original code was using double precision floating point to perform the
color corrections for the creation of the standard colormap. This precision
is not necessary because color coding is 16 bits anyway, and on some
architecture the double precision comes with a cost.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agoUse single-precision math functions when available
Christophe CURIS [Sun, 24 May 2015 13:49:08 +0000 (24 15:49 +0200)]
Use single-precision math functions when available

Since C99 we have floating point functions available for single precision,
so as it is what we need we detect them (configure) and use them when
appropriate. The goal is to avoid unnecessary float->double + double->float

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agoAdded some explicit conversion to double precision
Christophe CURIS [Sun, 24 May 2015 13:49:07 +0000 (24 15:49 +0200)]
Added some explicit conversion to double precision

When the result of the operation is expected to use double precision, this
patchs adds an explicit conversion to that type to tell the compiler that
this is what we want, and not an unexpected side effect.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agoFixed floating point constants defined as double but expected as float
Christophe CURIS [Sun, 24 May 2015 13:49:06 +0000 (24 15:49 +0200)]
Fixed floating point constants defined as double but expected as float

To preserve the accuracy of the operation, the C standard request that the
mathematical operation is performed using double precision, but in many
case this is not necessary so this patch fixes a few constants to avoid
that conversion.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agoconfigure: Add compiler detection on non optimal floating point constant
Christophe CURIS [Sun, 24 May 2015 13:49:05 +0000 (24 15:49 +0200)]
configure: Add compiler detection on non optimal floating point constant

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agodoc: changed section for translated man pages from 1x to 1
Christophe CURIS [Sat, 23 May 2015 15:19:32 +0000 (23 17:19 +0200)]
doc: changed section for translated man pages from 1x to 1

Similarly to the previous patch that changed the section for the core man
pages, this patch updates the translated man pages.

Took opportunity to re-order alphabetically the files in the Makefile
because it eases maintenance.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agodoc: do not install translated man pages if the language was not enabled in LINGUAS
Christophe CURIS [Sat, 23 May 2015 15:19:31 +0000 (23 17:19 +0200)]
doc: do not install translated man pages if the language was not enabled in LINGUAS

When people cherry-pick the languages they want to install, they certainly
do not care for man pages in other languages. So, instead of always
installing them, the configure script will now automatically detect which
ones need to be installed.

Took opportunity to add a section in the I18N manual to invite contributors
to think about the man pages if contribute to translations.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agoutil: improve the command line argument parsing in wmmenugen
Christophe CURIS [Sat, 23 May 2015 15:19:30 +0000 (23 17:19 +0200)]
util: improve the command line argument parsing in wmmenugen

The code ignored the last argument provided on the command line;

It did not support the recommended '--version' and '--help' from GNU which
are often handy;

It used an unusual syntax to specify the parser, now it can also use more
usual "-parser=name" and "-parser name", the old syntax is still supported
to avoid breaking compatibility;

When a problem is found with an argument, the program stops instead of
printing an error message and continuing;

There's been updates on the exit codes in case of problem because it is an
information that could be useful for people calling the program from a

Took the opportunity to provide more information in the man page and to
get it cross-checked against the program's option list during "make check".

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agodoc: changed section for man pages from 1x to 1
Christophe CURIS [Sat, 23 May 2015 15:19:29 +0000 (23 17:19 +0200)]
doc: changed section for man pages from 1x to 1

As pointed by Douglas Torrance, nowadays no application is using anymore
the 1x section for the man pages, so this patch is changing the section for
all our concerned man pages to 1 (general commands).

Took opportunity to add some missing references in "see also" sections.

Reported-by: Doug Torrance <dtorrance@monmouthcollege.edu>
Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agoWMaker: trivial fix in text string
Alwin [Mon, 18 May 2015 12:09:10 +0000 (18 14:09 +0200)]
WMaker: trivial fix in text string


3 months agoTranslations: Dutch language files updated
Alwin [Mon, 18 May 2015 12:09:09 +0000 (18 14:09 +0200)]
Translations: Dutch language files updated

New entries were translated, a few improved.

3 months agodoc: describe Iain Patterson's new feature for ICCCM compliance
Christophe CURIS [Thu, 14 May 2015 16:55:35 +0000 (14 18:55 +0200)]
doc: describe Iain Patterson's new feature for ICCCM compliance

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: support providing ICCCM version, for compliance with the standard
Christophe CURIS [Thu, 14 May 2015 16:55:34 +0000 (14 18:55 +0200)]
wmaker: support providing ICCCM version, for compliance with the standard

The standard specify that the pseudo-selection which is used to
cooperatively replace window managers should actually contain the version
of the ICCCM standard which is supported. As this could be handy for
compatibility checks in the future, let Window Maker comply.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: make the '--replace' de-activable at compile time
Christophe CURIS [Thu, 14 May 2015 16:55:33 +0000 (14 18:55 +0200)]
wmaker: make the '--replace' de-activable at compile time

As it is really unlikely that in normal use case someone would need this
feature, it is now conditional code, which is not enabled by default; the
configure scripts now propose a '--enable-wmreplace' option to enable the
corresponding code, as people making package for distributions may want to
enable the feature to provide users the ability to give a try of all the
window managers.

Suggested-by: Carlos R. Mafra <crmafra@gmail.com>
Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: replace and be replaced (ICCCM protocol)
Iain Patterson [Thu, 14 May 2015 16:55:32 +0000 (14 18:55 +0200)]
wmaker: replace and be replaced (ICCCM protocol)

Use the same logic used by xfwm4, metacity et al to replace an existing
window manager on the screen and allow other window managers to replace
us, as defined by the ICCCM 2.0:

  Communication with the Window Manager by Means of Selections

By convention those window managers try to become the selection owner of
the WM_Sn atom where n is the screen number.  If the atom is owned by
another window manager and the --replace argument was not given to wmaker
we fail to start.  If the argument was given we try to become the new
owner and wait for the existing window manger to exit.

After a successful startup we watch for SelectionClear events on the
atom and initiate a shutdown if one arrives, as that implies that
another window manager was started with --replace.

3 months agowmaker-check: rewrote parsing of structure fields for callback checker
Christophe CURIS [Thu, 14 May 2015 13:07:04 +0000 (14 15:07 +0200)]
wmaker-check: rewrote parsing of structure fields for callback checker

Doug Torrance reported a problem with some versions of AWK which caused the
signed/unsigned attribute to not be properly ignored, because the regular
expression was using a GNU extension to keep it simple.

While trying to reproduce it, I discovered that mawk was chocking on one
regexp used in parsing the type+names parsing of structure members.

This patch is rewriting the parsing, because hacking regexp to make them
fall working is still not the best solution for maintainability. There is
now a clearer code which is also safer because it will handle more
gracefully corner cases.

Reported-by: Doug Torrance <dtorrance@monmouthcollege.edu>
Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agoAdd a configuration option to ignore Decoration Hints from GTK-based application
Christophe CURIS [Sun, 10 May 2015 17:56:08 +0000 (10 19:56 +0200)]
Add a configuration option to ignore Decoration Hints from GTK-based application

As reported by Nerijus Baliunas and Paul Jakma, the GNOME application,
which use the GTK toolkit, are asking to have no window decoration. This
can be solved by editing the window's attributes in Window Maker, but this
can be tedious when there are many GNOME application used.

This patch adds a configuration option: Window Maker tries to detect for
GTK-based windows and in this case ignore the decoration hints that were
provided by the application.

Suggested-by: Paul Jakma <paul@jakma.org>
Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agodoc: describe the GNOME application issue in the FAQ
Christophe CURIS [Sun, 10 May 2015 17:56:07 +0000 (10 19:56 +0200)]
doc: describe the GNOME application issue in the FAQ

Now that Window Maker have been fixed to allow the user to properly control
and save the title bar/resize bar/other decoration settings on the window,
describe the problem reported (first) by Nerijus Baliunas, so more people
may find the answer.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: fix clearing of window attribute that was not saved properly
Christophe CURIS [Sun, 10 May 2015 17:56:06 +0000 (10 19:56 +0200)]
wmaker: fix clearing of window attribute that was not saved properly

As reported by Nerijus Baliunas, there was a problem when unchecking an
attribute in the Window Inspector and saving it. The original code was
meant to save an attribute that is being checked by user, but not one that
is explicitly unchecked, which means than although it looked ok when using
the "Apply" button, it was not remembered when restarting the application.

In continuation to the clean-up started in the previous patches, this one
is updating the Window Inspector to display 2 check-boxes, one read-only on
the left, displaying the state requested by the application, and a second
one which makes use of the new Tri-State button in WINGs to let the user
specify if he wants to force-on, force-off, or leave as-is the attribute.

The saving to the property list is then updated to take into account this
new 3-state when saving to the file, so relaunching the application will
remember correctly the user choice.

Reported-by: Nerijus Baliunas <nerijus@users.sourceforge.net>
Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agoWINGs: create a new type of Tri-State Switch Button (to doc)
Christophe CURIS [Sun, 10 May 2015 17:56:05 +0000 (10 19:56 +0200)]
WINGs: create a new type of Tri-State Switch Button (to doc)

There are some times when we need a Switch Button (aka CheckBox) with more
than 2 states, generally to express check/uncheck/leave-as-is.

This patch extends the Button widget to support the new WBTTriState type,
similar to the existing WBTSwitch except it supports a 3rd state which is
reported to application as '-1'.

The implementation was done in order to not break the binary API. The
version have been incremented in the WINGs header to reflect the change,
but not the version in the 'configure.ac' because that have already been
done in commit c6e323e75d for the next Window Maker release.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: honour MWM Hint to have no border to a window
Christophe CURIS [Sun, 10 May 2015 17:56:04 +0000 (10 19:56 +0200)]
wmaker: honour MWM Hint to have no border to a window

As there is already an attribute to allow changing this behaviour, and this
is being using for the Net WM hints, there is no reason to not support it
for MWM Hints also; contrary to the initial guess suggested by the comment
it costs actually nothing to properly support that.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: fix misuse of 'user_flags' instead of 'client_flags' for window attributes
Christophe CURIS [Sun, 10 May 2015 17:56:03 +0000 (10 19:56 +0200)]
wmaker: fix misuse of 'user_flags' instead of 'client_flags' for window attributes

The structure containing the information on windows contains 2 sets of
attributes, client_flags which contains those asked by the application
through Hints (like MWM Hints and others) and user_flags which was defined
to allow the user to override them.

Unfortunately many places of the code was using the wrong structure to save
the attributes to (for example by using the WSETUFLAG macro) which was
merely ok as the user_flags have priority, but when we want to provide a
clean consistent behaviour to users, we need to get things in the right

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: moved the list of Application Attributes into an array, for the Window Inspector
Christophe CURIS [Sun, 10 May 2015 17:56:02 +0000 (10 19:56 +0200)]
wmaker: moved the list of Application Attributes into an array, for the Window Inspector

The Window Inspector is used to let user change a list of advanced options
for all the windows of an application. This list was defined through many
hard-coded things; by defining an array with everything at the beginning of
the file it is easier to maintain (the code is simpler because it is more
generic) and to make it evolve.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: moved the list of Advanced Options into an array, for the Window Inspector
Christophe CURIS [Sun, 10 May 2015 17:56:01 +0000 (10 19:56 +0200)]
wmaker: moved the list of Advanced Options into an array, for the Window Inspector

The Window Inspector is used to let user change a list of advanced options
for a window. This list was defined through many hard-coded things; by
defining an array with everything at the beginning of the file it is easier
to maintain (the code is simpler because it is more generic) and to make it
evolve in the future.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: moved the list of Window Attributes into an array, for the Window Inspector
Christophe CURIS [Sun, 10 May 2015 17:56:00 +0000 (10 19:56 +0200)]
wmaker: moved the list of Window Attributes into an array, for the Window Inspector

The Window Inspector is used to let user change the list of attributes for
a window. This list of attributes was defined through many hard-coded
things; by defining an array with everything at the beginning of the file
it is easier to maintain (the code is simpler because it is more generic)
and to make it evolve.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: moved calculation of internal offset in handleDockMove outside the loop
Christophe CURIS [Fri, 8 May 2015 11:19:11 +0000 (8 13:19 +0200)]
wmaker: moved calculation of internal offset in handleDockMove outside the loop

As pointed by the "checkpatch.pl" script, one line was too long in respect
of the coding style.

This line contains the calculation of an offset when storing a value in an
array, as this offset is a constant during all the loop, this patch is
calculating the offset only once before the loop and then uses this result,
which should make the code faster (although gcc may already optimise this
kind of things), makes it compliant with coding style, and takes the
opportunity to explain the reasons behind this offset.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: moved the definition of the entries for the window menu options to an array
Christophe CURIS [Fri, 8 May 2015 11:19:10 +0000 (8 13:19 +0200)]
wmaker: moved the definition of the entries for the window menu options to an array

By defining the const array with everything at the beginning of the file,
it is easier to maintain and to make evolve.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: moved the definition of the list of entries for the window menu to an array
Christophe CURIS [Fri, 8 May 2015 11:19:09 +0000 (8 13:19 +0200)]
wmaker: moved the definition of the list of entries for the window menu to an array

By defining the const array with everything at the beginning of the file,
it is easier to maintain and to make evolve (all stuff at the same place).

Merged the function makeMakeShortcutMenu into makeOptionsMenu because it
allows to use a simple callback in the structure like for the other
submenus and because its complexity did not justify a dedicated function.

Took opportunity to give a more appropriate name to the index
MC_DUMMY_MOVETO which did not mean what the entry is about.

As a side effect, this should close Coverity #50251 which was about saving
the return value of function into a variable but not using it, which is not
really good for maintainability.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: removed dead code related to 'GLOBAL_SUBMENU_FILE'
Rodolfo García Peñas (kix) [Fri, 8 May 2015 11:19:08 +0000 (8 13:19 +0200)]
wmaker: removed dead code related to 'GLOBAL_SUBMENU_FILE'

There was the possibility to include a global sub-menu to the root menu
using a dedicated file, but this does not look like it is really useful as
this root menu is already defined by a user file, and the root menu is
already specific enough that it does not need anything more 'global'.

Furthermore, the variable enabling this feature (GLOBAL_SUBMENU_FILE) is
not defined anywhere (neither from "configure", nor in "wconfig.h", ...) and
is also not documented at all.

Considering it was introduced a very long time ago (1999!) and was not
touched anymore, this patch removes the dead code associated with it.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: do not use strcmp twice on the same thing, in function appiconBalloon
Christophe CURIS [Fri, 8 May 2015 11:19:07 +0000 (8 13:19 +0200)]
wmaker: do not use strcmp twice on the same thing, in function appiconBalloon

It is not really efficient to call it twice because the strings will not
change, and by using the appropriate trick it can make the code smaller,
with less redundancy, so less prone to bugs and easier to maintain.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: remove one level of pointers for the function SlideWindows
Christophe CURIS [Fri, 8 May 2015 11:19:06 +0000 (8 13:19 +0200)]
wmaker: remove one level of pointers for the function SlideWindows

The function does not need to be passed a array of pointer to windows
because it does not change content of the pointers. It is more efficient to
directly use an array of windows as the parameter, and simpler also.

As 'SlideWindow' is also concerned, it can be simplified and turned into
an inlinable function so the compiler can optimise it.

Took opportunity to de-CamelCase the name of the functions to comply with
the project's coding style.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: reorganisation of the control flow of the function 'findDock'
Christophe CURIS [Fri, 8 May 2015 11:19:05 +0000 (8 13:19 +0200)]
wmaker: reorganisation of the control flow of the function 'findDock'

Changed the code to return as soon as the result is known because it makes
the code simpler to understand, which is good for maintainability.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: took as much assignation as possible outside 'if' statements
Christophe CURIS [Fri, 8 May 2015 11:19:04 +0000 (8 13:19 +0200)]
wmaker: took as much assignation as possible outside 'if' statements

It is generally considered bad practice to place an assignation inside the
expression for an "if" statement because it is often a source of bug,
because of possible typos and because it makes reviewing code more

This patch fixes as much cases as possible to make the code easier to read.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: fix warnings from compiler when animations are disabled
Christophe CURIS [Fri, 8 May 2015 11:19:03 +0000 (8 13:19 +0200)]
wmaker: fix warnings from compiler when animations are disabled

The code for animating stuff needs some parameters in a few functions,
which are not used when animations are disabled at compile time, so the
compiler issues some warnings about them.

This patch adds the appropriate statements to disable declaration that
are not needed in this case, and tell the compiler it is ok to not use
the parameters not needed, thus fixing the warnings.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agoconfigure: Added option to disable animations
Christophe CURIS [Fri, 8 May 2015 11:19:02 +0000 (8 13:19 +0200)]
configure: Added option to disable animations

The old behaviour was to expect the user to go modify manually a source
file which is not a great idea because that's typically the kind of things
in charge of the configure script.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agoCode refactoring: replaced macro 'ANIMATIONS' by 'USE_ANIMATIONS' for consistency
Christophe CURIS [Fri, 8 May 2015 11:19:01 +0000 (8 13:19 +0200)]
Code refactoring: replaced macro 'ANIMATIONS' by 'USE_ANIMATIONS' for consistency

The usual way to define a macro in is to name macro with 'USE_xxx' when
they are used to enable a feature 'xxx'.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: fix incorrect type for variable in the global preference structure
Christophe CURIS [Fri, 8 May 2015 11:19:00 +0000 (8 13:19 +0200)]
wmaker: fix incorrect type for variable in the global preference structure

As pointed by the new check script, the preference "show_clip_title" is
defined as a Boolean value in the preference loading function, which uses
the callback function "getBool", which expect a variable of type "char",
but the variable was not defined with that type.

This patch changes the type for the appropriate one to avoid possible

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
3 months agowmaker: add script to check the call-back function used when loading configuration
Christophe CURIS [Fri, 8 May 2015 11:18:59 +0000 (8 13:18 +0200)]
wmaker: add script to check the call-back function used when loading configuration

Because the C compiler cannot check the consistency between the type of the
variable being pointed to, and the type expected by the call-back function
that is used to parse and store the value from the configuration file,
there is a risk of mismatch that can cause Window Maker to misbehave due to
data corruption, which depends strongly on the configuration values and the
architecture on which Window Maker is running.

This patch introduces a script that checks the consistency where possible, to
raise the issues when performing "make check".

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agoWPrefs: trivial fixes in text strings
Alwin [Tue, 28 Apr 2015 12:39:45 +0000 (28 14:39 +0200)]
WPrefs: trivial fixes in text strings

Fix some typos.

Signed-off-by: Carlos R. Mafra <crmafra@gmail.com>
4 months agoWMaker: trivial fixes in text strings
Alwin [Tue, 28 Apr 2015 12:39:44 +0000 (28 14:39 +0200)]
WMaker: trivial fixes in text strings

Remove an error message with the same meaning, because a synonym
was used. Also fix a typo.

Signed-off-by: Carlos R. Mafra <crmafra@gmail.com>
4 months agoWINGs: trivial fixes in text strings
Alwin [Tue, 28 Apr 2015 12:39:43 +0000 (28 14:39 +0200)]
WINGs: trivial fixes in text strings

Fixing typos and/or inconsistencies in error messages. Some
backports for the Dutch .po file.

Signed-off-by: Carlos R. Mafra <crmafra@gmail.com>
4 months agoTranslations: Dutch language files updated
Alwin [Tue, 28 Apr 2015 12:39:41 +0000 (28 14:39 +0200)]
Translations: Dutch language files updated

Recently added/changed msgid's were translated, plus a few
improvements. Kept some entries for last stable release. Removed
abbreviated forms from menu comment.

Signed-off-by: Carlos R. Mafra <crmafra@gmail.com>
4 months agowmaker: fix non-portable int argument for printf in error message
Christophe CURIS [Sat, 25 Apr 2015 10:46:45 +0000 (25 12:46 +0200)]
wmaker: fix non-portable int argument for printf in error message

The original code assumed that the sizeof returns a long int type, which is
true on 64 bits platform but not on 32 bits platforms, as pointed by gcc.

The new code does an explicit conversions to 'int' (which should be enough
for that case) so the format specifier in printf will always be ok,
whatever platform Window Maker is compiled for.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agowmaker: fix crash when switching workspace with "Affiche.app"
Christophe CURIS [Sat, 25 Apr 2015 10:46:19 +0000 (25 12:46 +0200)]
wmaker: fix crash when switching workspace with "Affiche.app"

As reported by Martin Dietze, when switching workspace (mainly with
keyboard shortcut) while the focus was set on a sticky note from the
GNUstep application "Affiche.app" would cause Window Maker to crash.

This crash was due to the application creating its menu with an Omnipresent
state; Window Maker tried to be smart by smartly setting the focus to this
window after the workspace change, unfortunately when removing the window
of the note from the screen the application would decide to remove also the
omnipresent menu (because it is not necessary anymore).

Because we kept a pointer to an outdated WWindow, we would silently corrupt
memory, which would later cause a crash in an unrelated place (fortunately
in this case it happened quite soon).

This patch adds a check to make sure the window we want to focus is still
a valid one, and if it is not we just ignore it to fall back on another
mechanism already in place for picking the window to focus.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agowmaker: converted macro 'SAME' into a static function
Christophe CURIS [Sat, 25 Apr 2015 10:44:29 +0000 (25 12:44 +0200)]
wmaker: converted macro 'SAME' into a static function

There are some risks associated with the way arguments are used in macros,
and using a function also allows check on the type of arguments and leaves
more room to the compiler for making the best optimisation choice; it also
allows writing easier to read code (and thus, to maintain).

As a side effect, this should also help Coverity in avoiding false positive
bug reports (like #109605 and #109607).

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agoWUtil: fix improper use of de-allocated variable (Coverity #109618)
Christophe CURIS [Sat, 25 Apr 2015 10:44:28 +0000 (25 12:44 +0200)]
WUtil: fix improper use of de-allocated variable (Coverity #109618)

As pointed by Coverity, the variable 'path_dst' was first free'd, then it
was used in the 'unlink' function.

This patch fixes the call order to de-allocate the string only when it is
no more needed.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agoWINGs: remove useless function call in WColorPanel (Coverity #109617)
Christophe CURIS [Sat, 25 Apr 2015 10:44:27 +0000 (25 12:44 +0200)]
WINGs: remove useless function call in WColorPanel (Coverity #109617)

As reported by Coverity, the function 'customSetPalette' is making a call
to 'WMGetPopUpButtonSelectedItem', but this function does nothing to the
widget but only return a value, which is not used at all, so this patch
removes the call to the function.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agowmaker: remove useless null pointer check (Coverity #109612)
Christophe CURIS [Sat, 25 Apr 2015 10:44:26 +0000 (25 12:44 +0200)]
wmaker: remove useless null pointer check (Coverity #109612)

As pointed by Coverity, the pointer in wwin->frame have already been
dereferenced many times in the function, so it is useless to include a
check later; removing it makes the code smaller thus easier to maintain.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agowmaker: remove non-necessary allocation (Coverity #109609)
Christophe CURIS [Sat, 25 Apr 2015 10:44:25 +0000 (25 12:44 +0200)]
wmaker: remove non-necessary allocation (Coverity #109609)

As pointed by Coverity, there was a memory leak because the buffer used to
create the wmsetbg command is allocated twice.

Because it is not really necessary to call 'wmalloc' for such a small case
(it is not efficient and participates to memory fragmentation), this patch
replaces the dynamic memory allocation by a buffer on the stack, which also
solves to de-allocation issue.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agowmaker: fix memory leak in the Workspace Map if there is no workspace (Coverity ...
Christophe CURIS [Sat, 25 Apr 2015 10:44:24 +0000 (25 12:44 +0200)]
wmaker: fix memory leak in the Workspace Map if there is no workspace (Coverity #109608)

As pointed by Coverity, there is a safety check on the number of workspace
which aborts the function, but the storage memory have already been
allocated so it would leak this buffer.

The case where the number of workspace is 0 is probably not supposed to
happen (there should always be at least 1 workspace, the current one), but
it is better to keep safety checks, so this patch is moving the check at
the beginning so no leak will occur.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agowmaker: fix incorrect size for memory allocation (Coverity #50207)
Christophe CURIS [Sat, 25 Apr 2015 10:44:23 +0000 (25 12:44 +0200)]
wmaker: fix incorrect size for memory allocation (Coverity #50207)

As pointed by Coverity, when increasing the size of the array allocated to
store the pointers to menus in a cascaded menu, the incorrect value was
used in argument to the sizeof which lead to over-allocating memory.

This patch replaces the name of the structure (which should have been the
pointer type) by the variable actually being used, fixing the size issue
and making maintainability easier by tracking the type of the variable
which is less prone to bugs in case of change.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agoWINGs: fix memory leak in WMSubtractPLDictionaries (Coverity #50128)
Christophe CURIS [Sat, 25 Apr 2015 10:44:22 +0000 (25 12:44 +0200)]
WINGs: fix memory leak in WMSubtractPLDictionaries (Coverity #50128)

As pointed by Coverity, a temporary proplist is created with the list of
keys to be removed from the source proplist, but this temporary proplist
was not released at the end, leaking memory.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agoHandle NULL pointer as good as possible (Coverity #50099)
Christophe CURIS [Sat, 25 Apr 2015 10:44:21 +0000 (25 12:44 +0200)]
Handle NULL pointer as good as possible (Coverity #50099)

As pointed by Coverity, in the "Configuration" panel of WPrefs there are
some images loaded, but if the images cannot be loaded correctly then the
returned NULL pointer can crash the application as it is dereferenced in
further function calls.

To solve this case, this patch is adding a NULL pointer check in the
functions RScaleImage (wrlib) and WMCreatePixmapFromRImage (WINGs), so both
can accept that NULL pointer to also return NULL, which means the existing
check for "icon == NULL" in the WPrefs code will be useful.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agowmaker: check return value for XGetWindowAttributes (Coverity #50032)
Christophe CURIS [Sat, 25 Apr 2015 10:44:20 +0000 (25 12:44 +0200)]
wmaker: check return value for XGetWindowAttributes (Coverity #50032)

As reported by Coverity, the return value for XGetWindowAttributes is
usually checked in many places, because it is a good practice to ensure
that it did work, but it was not checked when called in the function

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agotexi2txt: add workaround for a known bug in "mawk"
Christophe CURIS [Sat, 18 Apr 2015 21:56:19 +0000 (18 23:56 +0200)]
texi2txt: add workaround for a known bug in "mawk"

As reported by Douglas Torrance, the script that generates the plain text
documentation from the texinfo source would crash due to the cross-
references when the version of awk used is "mawk".

This is actually a known bug in mawk:

It looks like the bug have been fixed in mawk, but Debian is still
providing a broken version. To avoid problems, this patch is introducing a
workaround in the matching pattern that causes the issue every time it is
being used.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agodoc: re-generate the top directory documentation when "make dist" is invoked
Christophe CURIS [Sat, 18 Apr 2015 18:17:30 +0000 (18 20:17 +0200)]
doc: re-generate the top directory documentation when "make dist" is invoked

As pointed by Douglas Torrance, there are some case where the 2 docs
INSTALL-WMAKER and README.i18n are not re-generated properly, one of the
cases being if the user grabs the sources from Git to make a source package
only (ie, without compiling anything).

This patch adds a hook to "make dist" so it will re-generate the docs if
needed. Because the "dist-hook" is run after Automake has copied the files
to the temporary directory (distdir) then we also include an explicit copy
of the files there to have the latest version.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agoCode refactoring: replaced macro 'XDND' by 'USE_DOCK_XDND' for consistency
Christophe CURIS [Mon, 6 Apr 2015 15:58:12 +0000 (6 17:58 +0200)]
Code refactoring: replaced macro 'XDND' by 'USE_DOCK_XDND' for consistency

The usual way to define a macro in is to name macro with 'USE_xxx' when
they are used to enable a feature 'xxx'.

As the feature concerns the Dock and not DnD in general (WINGs support is
not disabled), make it a bit more clear in the macro name and document the
configure flag in the Installation Manual.

Took opportunity to compile the corresponding file only when the feature is
not disabled.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agoconfigure: Added option to disable Motif WM Hints support
Christophe CURIS [Mon, 6 Apr 2015 15:58:11 +0000 (6 17:58 +0200)]
configure: Added option to disable Motif WM Hints support

The old behaviour was to expect the user to go modify manually a source
file which is not a great idea because that's typically the kind of things
in charge of the configure script.

As a side effect, we can now use an automake conditional to avoid compiling
the source file in charge of the feature when not used, instead of trying
to compile an empty-looking file.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agoCode refactoring: replaced macro 'MWM_HINTS' by 'USE_MWM_HINTS' for consistency
Christophe CURIS [Mon, 6 Apr 2015 15:58:10 +0000 (6 17:58 +0200)]
Code refactoring: replaced macro 'MWM_HINTS' by 'USE_MWM_HINTS' for consistency

The usual way to define a macro in is to name macro with 'USE_xxx' when
they are used to enable a feature 'xxx'.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agocheck-doc: add an option to ignore some explicit options from the command's help
Christophe CURIS [Mon, 6 Apr 2015 15:58:09 +0000 (6 17:58 +0200)]
check-doc: add an option to ignore some explicit options from the command's help

There are a few rare cases where some options listed in the program's
built-in help page may not be documented for a valid reason. This patch
provides an option to the checking script to not complain about them, but:

 - the listed options must include a comment about why, to ensure that the
user thinks twice about it and because it is better for maintainability;

 - the listed option must be part of the options listed by the application
to ensure the command line invocation of the script will remain up to date.

This new option is then used for the check of the "configure" options
because for a few of them the right place to document them is in the
INSTALL file provided by Autoconf and not in our Window Maker specific doc.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agodoc: describe the "new" options to the "configure" script
Christophe CURIS [Mon, 6 Apr 2015 15:58:08 +0000 (6 17:58 +0200)]
doc: describe the "new" options to the "configure" script

As there are many options, they have been split into 5 sections; added
documentation for all the legacy Window Maker options that were missing and
for the new ones; added documentation for a few of the "autotools" standard
options that can be considered interesting.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agocheck the "configure" option list against the INSTALL-WMAKER documentation
Christophe CURIS [Mon, 6 Apr 2015 15:58:07 +0000 (6 17:58 +0200)]
check the "configure" option list against the INSTALL-WMAKER documentation

In order to ease the job of keeping the documentation aligned against the
sources, this patch adds a check of the list of options returned by
"configure --help" against the options that are listed in the

The check is ran as part of "make check", which also implies it will break
a "make distcheck" operation when not in line.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agodoc: removed a few deprecated stuff from the Installation Manual
Christophe CURIS [Mon, 6 Apr 2015 15:58:06 +0000 (6 17:58 +0200)]
doc: removed a few deprecated stuff from the Installation Manual

Setting LANG/LINGUAS to en_RN should not be a problem with the current
configure script, so don't mention it;

Removed the section about the "WindowMaker-extra" package, because this
things looks to be deprecated;

Removed the 2 errors related to configure, because as the Autotool versions
is now specified in the configure.ac this situation should not arise.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agodoc: update information in the Installation Manual
Christophe CURIS [Mon, 6 Apr 2015 15:58:05 +0000 (6 17:58 +0200)]
doc: update information in the Installation Manual

- update the list of supported platforms according to current known status;

- updated URL links to all dependencies to the current known URL;

- moved the dependency on Autotools to a dedicated section, because it is
not supposed to be necessary for people compiling from the distributed
source archive, and updated the version according to current status;

- extended the chapter on getting the sources to contain all info that
could be needed;

- added a note about compiler requirement to ease understanding the actual

- documented some long-time known dependancies (libbsd, inotify, boehm gc);

- fixed a few strings here and there;

- made an appropriate reference to the README.i18n for the troubleshooting
of NLS.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agodoc: convert INSTALL-WMAKER into a texinfo source processed by texi2txt
Christophe CURIS [Mon, 6 Apr 2015 15:58:04 +0000 (6 17:58 +0200)]
doc: convert INSTALL-WMAKER into a texinfo source processed by texi2txt

The source of the documentation is in Texinfo format to have the
possibility someday to distribute in more format that just plain text;

The INSTALL-WMAKER original file will now be generated automatically when
running the 'autogen.sh' script (for those who made a git-checkout) and
when running 'make' (for the people who create the distribution archive).

The current document have seen these changes:

 - added all the texinfo header (including the copyright notice);

 - texinfo formatting command in place everywhere applicable;

 - re-ordering of the content to try to get a consistent document.

Apart from this, the document should not have seen any change on the
content, because this deserves dedicated patches to show the evolution.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agotexi2txt: add support for making cross-references in the document
Christophe CURIS [Mon, 6 Apr 2015 15:58:03 +0000 (6 17:58 +0200)]
texi2txt: add support for making cross-references in the document

The texinfo format provides 3 commands @ref, @xref and @pxref to make cross
references to existing @nodes in the document; it also provides a command
@anchor to place arbitrary targets for cross-reference.

Because these will be handy for the Installation Manual that already does
some references, this patch implements the 4 commands:

 - change the '@node' command, that did nothing, to now track potential
reference points;

 - add the '@anchor' command to register a new target for x-ref;

 - implement the 3 '@*ref' commands with similar behaviour as the texinfo
format states, with support for all arguments, generating a temporary
"@x##@" pattern for the line target;

 - generate a new file (*.xrf, a sed script) at the end with the
replacement for x-ref patterns with the correct line number, and perform
a few consistency checks;

 - during the final search-and-replace used to insert the Table of Content,
include the x-ref replacement.

The current script has some limitations:
 - because we cannot know in advance the target line number for the x-ref,
we insert it with a constant size of 5 characters to avoid breaking the
justification alignment when doing the replace;

 - there is a strict order to respect between @node and @chapter/@section,
which is needed because we have to include a line offset to get it right
when using the order given in the texinfo manual.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
4 months agotexi2txt: add support for the @table command
Christophe CURIS [Mon, 6 Apr 2015 15:58:02 +0000 (6 17:58 +0200)]
texi2txt: add support for the @table command

The texinfo format provides a command '@table' which is useful to provide
a list of object (function, variables, options, ...) with their associated

As this will be very handy for the Installation Manual, this patch
implements the command in the script.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>