7 months agoWPrefs: Moved widgets in Workspace panel so that label is not truncatedmaster
Christophe CURIS [Mon, 30 Dec 2013 17:49:13 +0000]
WPrefs: Moved widgets in Workspace panel so that label is not truncated

A label was truncated because the widget next to it was too close for
historical reasons; now that the frame is wide enough the Pop-up Button
widget at its left is pushed further apart so the label for the position
of the workspace name can be fully visible.

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

7 months agoFixed a few improper macro usages
Christophe CURIS [Mon, 30 Dec 2013 17:43:29 +0000]
Fixed a few improper macro usages

Added compiler checks for some improper macro usage and fixed the problems
pointed by gcc.

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

7 months agomove dock/icons size adjustments, to fix window placement
Amadeusz Sławiński [Sun, 24 Nov 2013 12:47:08 +0000]
move dock/icons size adjustments, to fix window placement

Functions placing windows (PlaceWindow - src/placement.c, wMaximizeWindow -
src/actions.c) need to calculate area differently than ones placing icons
(PlaceIcon - src/placement.c, wArrangeIcons - src/actions.c).
So this patch puts adjustment code in wGetUsableAreaForHead which is
used by all those functions but called with different 'bool noicons'
argument depending on if it's called in window or icon placement
function.

Reported-by: Carlos R. Mafra <crmafra@gmail.com>
Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>

7 months agoWINGs: Added 'const' attribute to function 'WMCreateHashTable'
Christophe CURIS [Sat, 23 Nov 2013 17:14:07 +0000]
WINGs: Added 'const' attribute to function 'WMCreateHashTable'

Although this is a modification of the public API, this patch does not
change the binary interface, and the attribute does not add a constraint
on the parameter for the caller so we do not break the source compatibility
either.

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

7 months agoutils: Added a few missing attributes to local variables
Christophe CURIS [Sat, 23 Nov 2013 17:14:06 +0000]
utils: Added a few missing attributes to local variables

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

7 months agoWPrefs: Added a few missing const attributes
Christophe CURIS [Sat, 23 Nov 2013 17:14:05 +0000]
WPrefs: Added a few missing const attributes

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

7 months agowmaker: Added missing const attribute
Christophe CURIS [Sat, 23 Nov 2013 17:14:04 +0000]
wmaker: Added missing const attribute

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

7 months agoWRaster: Added missing const attribute
Christophe CURIS [Sat, 23 Nov 2013 17:14:03 +0000]
WRaster: Added missing const attribute

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

7 months agoWINGs: Added a few missing const attributes
Christophe CURIS [Sat, 23 Nov 2013 17:14:02 +0000]
WINGs: Added a few missing const attributes

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

7 months agoConfigure: Added proper check for Xmu library for WRaster
Christophe CURIS [Sun, 17 Nov 2013 17:51:21 +0000]
Configure: Added proper check for Xmu library for WRaster

The original code supposed that the library was available and ready to use.
As it may not be the case (modern distro generally don't include dev files
by defaults), add a the appropriate checks to make sure WRaster compilation
will not fail later.

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

7 months agoConfigure: Moved configure's detection of XShm to a dedicated macro
Christophe CURIS [Sun, 17 Nov 2013 17:51:20 +0000]
Configure: Moved configure's detection of XShm to a dedicated macro

The original check was not compliant with autoconf's syntax, did not have
a very good behaviour for user and was not easy to make evolve.

The new macro:
 - uses as much as possible autoconf macros for portability and code
consistency;
 - checks also for header usability with the compiler;
 - provides a consistent behaviour on yes/no/auto (if user explicitly
enables support, do not silently disable if not found; if library is found
but not the header, complain to let user install it or explicitly disable
support)

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

7 months agoCode refactoring: replaced macro 'XSHM' by 'USE_XSHM' for consistency
Christophe CURIS [Sun, 17 Nov 2013 17:51:19 +0000]
Code refactoring: replaced macro 'XSHM' by 'USE_XSHM' 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>

7 months agoconfigure: Moved configure's detection of XRandR to a dedicated macro
Christophe CURIS [Sun, 17 Nov 2013 17:51:18 +0000]
configure: Moved configure's detection of XRandR to a dedicated macro

The original check was not compliant with autoconf's syntax, did not have
a very good behaviour for user and was not easy to make evolve.

The new macro:
 - uses as much as possible autoconf macros for portability and code
consistency;
 - checks also for header usability with the compiler;
 - provides a consistent behaviour on yes/no/auto (if user explicitly
enables support, do not silently disable if not found; if library is found
but not the header, complain to let user install it or explicitly disable
support)

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

7 months agoCode refactoring: replaced macro 'HAVE_XRANDR' by 'USE_XRANDR' for consistency
Christophe CURIS [Sun, 17 Nov 2013 17:51:17 +0000]
Code refactoring: replaced macro 'HAVE_XRANDR' by 'USE_XRANDR' 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>

7 months agoconfigure: Moved configure's detection of Xinerama to a dedicated macro
Christophe CURIS [Sun, 17 Nov 2013 17:51:16 +0000]
configure: Moved configure's detection of Xinerama to a dedicated macro

The original check was not compliant with autoconf's syntax, did not have
a very good behaviour for user and was not easy to make evolve.

The new macro:
 - uses as much as possible autoconf macros for portability and code
consistency;
 - checks also for header usability with the compiler;
 - provides a consistent behaviour on yes/no/auto (if user explicitly
enables support, do not silently disable if not found; if library is found
but not the header, complain to let user install it or explicitly disable
support)

The feature is also no more disabled by default, as it is something user
would expect from a modern window manager.

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

7 months agoCode refactoring: replaced macro 'XINERAMA' by 'USE_XINERAMA' for consistency
Christophe CURIS [Sun, 17 Nov 2013 17:51:15 +0000]
Code refactoring: replaced macro 'XINERAMA' by 'USE_XINERAMA' 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>

7 months agoconfigure: Moved configure's detection of XShape to a dedicated macro
Christophe CURIS [Sun, 17 Nov 2013 17:51:14 +0000]
configure: Moved configure's detection of XShape to a dedicated macro

The original check was not compliant with autoconf's syntax, did not
have a very good behaviour for user and was not easy to make evolve.

The new macro:
 - uses as much as possible autoconf macros for portability and code
consistency;
 - checks also for header usability with the compiler;
 - provides a consistent behaviour on yes/no/auto (if user explicitly
enables support, do not silently disable if not found; if library is found
but not the header, complain to let user install it or explicitly disable
support)

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

7 months agoconfigure: Created new macro to perform the repetitive part of Library check
Christophe CURIS [Sun, 17 Nov 2013 17:51:13 +0000]
configure: Created new macro to perform the repetitive part of Library check

There are a number of steps in the library check procedure that are a bit
repetitive, and have been placed into the macro WM_LIB_CHECK to make the
code simpler to write.

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

7 months agoconfigure: Created new macro to append only once a flag to a variable
Christophe CURIS [Sun, 17 Nov 2013 21:30:16 +0000]
configure: Created new macro to append only once a flag to a variable

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

7 months agoconfigure: made the functions to try lib link+compile more generic
Christophe CURIS [Sun, 17 Nov 2013 17:51:11 +0000]
configure: made the functions to try lib link+compile more generic

The function can have a wider use, so moved then to a more neutral place
and gave them more generic names.

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

7 months agoCode refactoring: replaced macro 'SHAPE' by 'USE_XSHAPE' for consistency
Christophe CURIS [Sun, 17 Nov 2013 23:51:57 +0000]
Code refactoring: replaced macro 'SHAPE' by 'USE_XSHAPE' 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>

7 months agoWPrefs: Add case check to fix -Wmaybe-uninitialized warning
Christophe CURIS [Sat, 16 Nov 2013 19:14:32 +0000]
WPrefs: Add case check to fix -Wmaybe-uninitialized warning

The default case should not arise because the tested variable is an enum,
but it the case someone would get a value wrong, we're safer with a little
warning and proper fallback than with unknown behaviour.

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

7 months agowmaker: Do not create a temporary variable for Xrandr support detection
Christophe CURIS [Sat, 16 Nov 2013 19:14:31 +0000]
wmaker: Do not create a temporary variable for Xrandr support detection

The other extension detection have the same situation and they already
have a variable for that, do not do differently for Xrandr because it adds
unnecessary complexity in the code.

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

7 months agoWRaster: Removed unused variables from Makefile
Christophe CURIS [Sat, 16 Nov 2013 19:14:30 +0000]
WRaster: Removed unused variables from Makefile

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

7 months agoWINGs: Removed unnecessary type conversion
Christophe CURIS [Sat, 16 Nov 2013 19:14:29 +0000]
WINGs: Removed unnecessary type conversion

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

7 months agoconfigure: Added m4 check to detect possible non-expanded macros
Christophe CURIS [Sat, 16 Nov 2013 19:14:28 +0000]
configure: Added m4 check to detect possible non-expanded macros

When autoconf encounters a macro name that it does not know, it assumes
that it is just a standard keyword that needs to end up in the generated
configure script.

This patch teaches m4 about the syntax used for our macros so it can now
that it is supposed to be a macro, and then it can stop and report the
problem.

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

7 months agoconfigure: Removed macro that are not used anymore
Christophe CURIS [Sat, 16 Nov 2013 19:14:27 +0000]
configure: Removed macro that are not used anymore

...and took opportunity to add the traditional copyright notice

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

7 months agoconfigure: Replaced deprecated construct with recommended new check
Christophe CURIS [Sat, 16 Nov 2013 19:14:26 +0000]
configure: Replaced deprecated construct with recommended new check

The macro 'AC_ISC_POSIX' is now said to be deprecated, so we use the new
recommended check instead as we make light use of the corresponding
function.

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

7 months agoconfigure: Enable compiler warnings for trampoline code generation
Christophe CURIS [Sat, 16 Nov 2013 19:14:25 +0000]
configure: Enable compiler warnings for trampoline code generation

This attribute reports cases where GCC has to generate special code to
handle some C constructs, for which we'd prefer an explicit code instead
of counting on GCC doing the work.

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

7 months agoconfigure: Removed deprecated lines for unused X stuff
Christophe CURIS [Sat, 16 Nov 2013 19:14:24 +0000]
configure: Removed deprecated lines for unused X stuff

7 months agoRemove some unnecessary code related to XShape usage
Christophe CURIS [Fri, 15 Nov 2013 17:46:47 +0000]
Remove some unnecessary code related to XShape usage

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

7 months agoWINGs: Do not create variables for trivial things
Christophe CURIS [Fri, 15 Nov 2013 17:46:46 +0000]
WINGs: Do not create variables for trivial things

In the present case, it just led to a compiler warning on unused variable
when the XShape extension is disabled, but in general case it just adds
complexity by duplicating things; this should be reserved for complex
cases.

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

7 months agowmaker: Do not call XShape function if the server did not say it supports it
Christophe CURIS [Fri, 15 Nov 2013 17:46:45 +0000]
wmaker: Do not call XShape function if the server did not say it supports it

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

7 months agowrlib: Added noreturn attribute to appropriate functions
Christophe CURIS [Fri, 15 Nov 2013 17:46:44 +0000]
wrlib: Added noreturn attribute to appropriate functions

clang is a bit more strict on the attribute usage, so let's comply.

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

7 months agoWPrefs: Added noreturn attribute to appropriate functions
Christophe CURIS [Fri, 15 Nov 2013 17:46:43 +0000]
WPrefs: Added noreturn attribute to appropriate functions

clang is a bit more strict on the attribute usage, so let's comply.

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

7 months agoutil: Added noreturn attribute to appropriate functions
Christophe CURIS [Fri, 15 Nov 2013 17:46:42 +0000]
util: Added noreturn attribute to appropriate functions

clang is a bit more strict on the attribute usage, so let's comply.

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

7 months agoutil: Removed unused procedure that caused a compilation warning
Christophe CURIS [Fri, 15 Nov 2013 17:46:41 +0000]
util: Removed unused procedure that caused a compilation warning

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

7 months agoWINGs: Added attribute 'noreturn' to public function 'WMScreenMainLoop'
Christophe CURIS [Fri, 15 Nov 2013 17:46:40 +0000]
WINGs: Added attribute 'noreturn' to public function 'WMScreenMainLoop'

As suggested by GCC, this function is a good candidate. There is a little
constraint on how to do it however, as it is part of the public API so we
have to do it in a portable fashion (We can't rely on our "config.h" when
the file will have been installed).

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

7 months agoconfigure: Enable compiler warnings to help add 'noreturn' attribute
Christophe CURIS [Fri, 15 Nov 2013 17:46:39 +0000]
configure: Enable compiler warnings to help add 'noreturn' attribute

This attributes helps the compiler to produce better binary code.

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

7 months agoconfigure: Enable compiler warnings to help add 'format' attribute
Christophe CURIS [Fri, 15 Nov 2013 17:46:38 +0000]
configure: Enable compiler warnings to help add 'format' attribute

This attribute helps the compiler checking the type matching between
arguments and the specification in a printf-like format string, to
avoid invalid output. This attribute is optional, but some compilers
can suggest functions that could have it.

This patch adds the appropriate compiler flags if they are supported when
the source is being compiled with DEBUG enabled.

The patch also introduces a new macro WM_CFLAGS_CHECK_FIRST because in some
cases AX_CFLAGS_GCC_OPTION is not really efficient and in present case it
does not fits the job.

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

7 months agoFix arrow keys in switchpanel.
Iain Patterson [Wed, 13 Nov 2013 14:27:24 +0000]
Fix arrow keys in switchpanel.

A previous commit broke the behaviour of the left and right arrow keys
in the switchpanel.  Releasing either of the keys would correctly select
a new window but the panel would then close.  The original, and desired,
behaviour is for the panel to remain open after selecting a new window
with the arrow keys.

Reported by Yury Tarasievich.

7 months agoFix implicit declaration
Amadeusz Sławiński [Wed, 13 Nov 2013 14:43:41 +0000]
Fix implicit declaration

usermenu.c:257:12: warning: implicit declaration of function ‘GetShortcutString’ [-Wimplicit-function-declaration]

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>

7 months agotake dock into account when not covering icons next to it
Amadeusz Sławiński [Wed, 13 Nov 2013 14:39:13 +0000]
take dock into account when not covering icons next to it

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>

7 months agomake adjustments for dock when calculating area for miniwindows
Amadeusz Sławiński [Wed, 13 Nov 2013 14:39:12 +0000]
make adjustments for dock when calculating area for miniwindows

Fixes bug report:
The 0.80.2 and older versions allowed the miniwindows to lay down in
parallel with wmdock (if one wanted it that way) but newer Windowmaker
versions could only partially simulate such behavior and that includes
to either setting an option NoWindowOverDock to yes or to manually set
the dock to "Keep on Top".

Reported-by: Josip Deanovic <djosip+news@linuxpages.net>
Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>

7 months agomove maximization size adjustments to maximization function
Amadeusz Sławiński [Wed, 13 Nov 2013 14:39:11 +0000]
move maximization size adjustments to maximization function

now wGetUsableAreaForHead returns better result

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>

7 months agowmaker: Do not allocate memory for a short lived string in 'selectSpecification'
Christophe CURIS [Sun, 10 Nov 2013 16:41:09 +0000]
wmaker: Do not allocate memory for a short lived string in 'selectSpecification'

It is not only not very efficient, but in present case it also participates
in memory fragmentation.

This patch replaces this with a stack allocated buffer with a buffer which
is way too large.

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

7 months agoWPrefs: Make the label internationalised for the texture option in dialog window
Christophe CURIS [Sun, 10 Nov 2013 16:41:13 +0000]
WPrefs: Make the label internationalised for the texture option in dialog window

As this label is being displayed in the window, it is a good idea to make
it translatable to the user's locale.

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

7 months agoWPrefs: Changed array of strings 'textureOptions' into a struct for explicitness
Christophe CURIS [Sun, 10 Nov 2013 16:41:12 +0000]
WPrefs: Changed array of strings 'textureOptions' into a struct for explicitness

The parameters for the textures were stored all together in an array
which made its usage error prone; now there a struct to clearly identify
which string is what, so it is clear in the source what's being done.

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

7 months agoWPrefs: Changed array of strings 'colorOptions' into a struct for explicitness
Christophe CURIS [Sun, 10 Nov 2013 16:41:11 +0000]
WPrefs: Changed array of strings 'colorOptions' into a struct for explicitness

The parameters for the theme colors were stored all together in an array
which made its usage error prone; now there a struct to clearly identify
which string is what, so it the source is clearer on what's being done.

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

7 months agowmaker: Created an array to hold the maximize menu entries
Christophe CURIS [Sun, 10 Nov 2013 16:41:10 +0000]
wmaker: Created an array to hold the maximize menu entries

The idea is that an array is easier to work with, when it's about to add,
remove or change entries, because all data end up stored in one place
instead of dispatched around the code.

It also makes code smaller as it avoids repetitions.

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

7 months agowmaker: Avoid multiple calls to gettext
Christophe CURIS [Sun, 10 Nov 2013 16:41:08 +0000]
wmaker: Avoid multiple calls to gettext

The original code called gettext twice every time, the new code calls it
only once.

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

7 months agowmaker: Minor improvements to function 'shade_animate' when empty on purpose
Christophe CURIS [Sun, 10 Nov 2013 16:41:07 +0000]
wmaker: Minor improvements to function 'shade_animate' when empty on purpose

When animations are disabled, we still create the function but we make it
empty to keep the rest of the code simple. This patch does:
 - mark the function inline, to increase the probability that the compiler
will not generate the function at all;
 - mark arguments as unused to avoid some compilation warnings.

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

7 months agoWINGs: Do not allocate memory for a fixed-size short-lived buffer
Christophe CURIS [Sun, 10 Nov 2013 16:41:06 +0000]
WINGs: Do not allocate memory for a fixed-size short-lived buffer

Allocating memory with 'malloc' has a cost and participate to memory
fragmentation, so for a temporary buffer that has a fixed size let's
prefer allocating it on the stack.

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

7 months agoWINGs: Minor improvments in 'closestListItem' function
Christophe CURIS [Sun, 10 Nov 2013 16:41:05 +0000]
WINGs: Minor improvments in 'closestListItem' function

The check on length of string before comparing is not necessary
because this will be checked as part of strcmp; the check won't
save time and may actually cost.

As the number of element in the array is not going to change during
the loop, took the call to 'WMGetArrayItemCount' outside the loop
to be faster (and ease compiler's optimisation work).

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

7 months agoconfigure: Add check on function prototypes when debug is enabled
Christophe CURIS [Sun, 10 Nov 2013 16:41:04 +0000]
configure: Add check on function prototypes when debug is enabled

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

7 months agoconfigure: Minor changes to option parsing for consistency
Christophe CURIS [Sun, 10 Nov 2013 16:41:03 +0000]
configure: Minor changes to option parsing for consistency

The idea is to:
 - have a consistent looking file by using autoconf macros
 - provide better feedback on improper option usage

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

7 months agoconfigure: Added a check to try to enable STD C11 if possible
Christophe CURIS [Fri, 8 Nov 2013 22:08:21 +0000]
configure: Added a check to try to enable STD C11 if possible

Some compiler support C11 standard by default, some need an explicit
option, and some don't support at all; this new macro only tries to enable
support if possible, the actual feature support being done by other checks
on case-by-case

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

7 months agoconfigure: Do not keep assertion if debug was not enabled
Christophe CURIS [Fri, 8 Nov 2013 22:08:20 +0000]
configure: Do not keep assertion if debug was not enabled

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

7 months agoconfigure: Less intrusive CFLAGS change when --enable-debug is chosen
Christophe CURIS [Fri, 8 Nov 2013 22:08:19 +0000]
configure: Less intrusive CFLAGS change when --enable-debug is chosen

The previous code made a dumb change to CFLAGS which would cause user
supplied CFLAGS to be ignored, and possible compiler compatibility issues.

The new code does the same changes in a smoother way, so we do not totally
drop user specified or script detected compiler options.

When debug is enabled, we also include a reminder for the final CFLAGS
value.

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

7 months agoutil: Use the macro 'wlengthof' to get the number of element in an array
Christophe CURIS [Fri, 8 Nov 2013 20:18:23 +0000]
util: Use the macro 'wlengthof' to get the number of element in an array

The new macro 'wlengthof' from WUtil makes code easier to read than the
previous [sizeof() / sizeof([0]) ] construct.

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

7 months agoWPrefs: Use the macro 'wlengthof' to get the number of element in an array
Christophe CURIS [Fri, 8 Nov 2013 20:18:22 +0000]
WPrefs: Use the macro 'wlengthof' to get the number of element in an array

The new macro 'wlengthof' from WUtil makes code easier to read than the
previous [sizeof() / sizeof([0]) ] construct.

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

7 months agowmaker: Use the macro 'wlengthof' to get the number of element in an array
Christophe CURIS [Fri, 8 Nov 2013 20:18:21 +0000]
wmaker: Use the macro 'wlengthof' to get the number of element in an array

The new macro 'wlengthof' from WUtil makes code easier to read than the
previous [sizeof() / sizeof([0]) ] construct.

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

7 months agoWINGs: Use the macro 'wlengthof' to get the number of element in an array
Christophe CURIS [Fri, 8 Nov 2013 20:18:20 +0000]
WINGs: Use the macro 'wlengthof' to get the number of element in an array

The new macro 'wlengthof' from WUtil makes code easier to read than the
previous [sizeof() / sizeof([0]) ] construct.

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

7 months agoWUtil: New macro 'wlengthof' in the public API to get number of elements in an array
Christophe CURIS [Fri, 8 Nov 2013 20:18:19 +0000]
WUtil: New macro 'wlengthof' in the public API to get number of elements in an array

The new macro 'wlengthof' returns the number of elements for which a local
array have been defined, which makes code easier to read than the
previous [sizeof() / sizeof([0]) ] construct.

The macro includes a static assertion to stop compilation if it is being
used on a pointer, for which we cannot know the size of the array, to
avoid generating dummy result. This can work only with C11 which
standardised the static assertions.

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

7 months agowrlib: Renamed image format related files for clarity
Christophe CURIS [Fri, 8 Nov 2013 17:50:03 +0000]
wrlib: Renamed image format related files for clarity

This patch makes all files appear together when listing files and
it is more clear about their function.

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

7 months agowrlib: Marked args as unused for compiler
Christophe CURIS [Fri, 8 Nov 2013 17:50:02 +0000]
wrlib: Marked args as unused for compiler

The two functions require an argument which is used when the libXpm is
used, which means having the same argument list for the builtin code to be
permutable.

This patch adds the appropriate stuff to avoid a false report from the
compiler.

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

7 months agowrlib: Use a Conditional for XPM in the makefile instead of #if in source
Christophe CURIS [Fri, 8 Nov 2013 17:50:01 +0000]
wrlib: Use a Conditional for XPM in the makefile instead of #if in source

Now that the builtin XPM loading is separated from the saving code, the
use of the conditionals provided by autotools provides a better result
as it avoids unnecessary compilation.

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

7 months agowrlib: separated the code to save to XPM from the builtin XPM loading
Christophe CURIS [Fri, 8 Nov 2013 17:50:00 +0000]
wrlib: separated the code to save to XPM from the builtin XPM loading

Big files are harder to work with, so split load and save, which
happen to already be independent anyway.

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

7 months agoconfigure: Moved PPM image format handling to a consistent place
Christophe CURIS [Fri, 8 Nov 2013 17:49:59 +0000]
configure: Moved PPM image format handling to a consistent place

Even if there is nothing to do for PPM at current time (all builtin
code), for consistency it is better placed with the other image
format checks.

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

7 months agowrlib: Moved configure's detection of XPM support to a dedicated macro
Christophe CURIS [Fri, 8 Nov 2013 17:49:58 +0000]
wrlib: Moved configure's detection of XPM support to a dedicated macro

The original check was not compliant with autoconf's syntax, did not
have a very good behaviour for user and was not easy to make evolve.

The new macro:
 - uses as much as possible autoconf macros for portability and code
consistency;
 - provides a consistent behaviour on yes/no/auto (if user explicitly
enables support, do not silently disable if not found; if library is found
but not the header, complain to let user install it or explicitly disable
support);
 - makes uses of shell functions to keep generated configure smaller by
sharing reusable stuff;
 - uses an automake conditional to avoid compiling the file is support is
not enabled

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

7 months agoRaise fullscreened window
Amadeusz Sławiński [Mon, 4 Nov 2013 21:07:55 +0000]
Raise fullscreened window

Make sure that fullscreened window covers all normal windows

7 months agoRemove WMFullscreenLevel
Amadeusz Sławiński [Mon, 4 Nov 2013 21:07:54 +0000]
Remove WMFullscreenLevel

Make fullscreen windows be on the same level as normal ones.

7 months agowrlib: Moved configure's detection of TIFF support to a dedicated macro
Christophe CURIS [Mon, 4 Nov 2013 19:52:31 +0000]
wrlib: Moved configure's detection of TIFF support to a dedicated macro

The original check was not compliant with autoconf's syntax, did not
have a very good behaviour for user and was not easy to make evolve.

The new macro:
 - uses as much as possible autoconf macros for portability and code
consistency;
 - provides a consistent behaviour on yes/no/auto (if user explicitly
enables support, do not silently disable if not found; if library is found
but not the header, complain to let user install it or explicitly disable
support);
 - makes uses of shell functions to keep generated configure smaller by
sharing reusable stuff;
 - uses an automake conditional to avoid compiling the file is support is
not enabled

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

7 months agowrlib: Moved configure's detection of PNG support to a dedicated macro
Christophe CURIS [Mon, 4 Nov 2013 19:52:30 +0000]
wrlib: Moved configure's detection of PNG support to a dedicated macro

The original check was not compliant with autoconf's syntax, did not
have a very good behaviour for user and was not easy to make evolve.

The new macro:
 - uses as much as possible autoconf macros for portability and code
consistency;
 - provides a consistent behaviour on yes/no/auto (if user explicitly
enables support, do not silently disable if not found; if library is found
but not the header, complain to let user install it or explicitly disable
support);
 - makes uses of shell functions to keep generated configure smaller by
sharing reusable stuff;
 - uses an automake conditional to avoid compiling the file is support is
not enabled

It includes a typo fixed by Amadeusz S\e-B³awiñski.\e-A

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

7 months agowrlib: Moved configure's detection of JPEG support to a dedicated macro
Christophe CURIS [Mon, 4 Nov 2013 19:52:29 +0000]
wrlib: Moved configure's detection of JPEG support to a dedicated macro

The original check was not compliant with autoconf's syntax, did not
have a very good behaviour for user and was not easy to make evolve.

The new macro:
 - uses as much as possible autoconf macros for portability and code
consistency;
 - provides a consistent behaviour on yes/no/auto (if user explicitly
enables support, do not silently disable if not found; if library is found
but not the header, complain to let user install it or explicitly disable
support);
 - makes uses of shell functions to keep generated configure smaller by
sharing reusable stuff;
 - uses an automake conditional to avoid compiling the file is support is
not enabled

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

7 months agoWPrefs: Marked args as unused for compiler in callback code
Christophe CURIS [Sun, 3 Nov 2013 13:38:03 +0000]
WPrefs: Marked args as unused for compiler in callback code

The function is a callback, which means having a fixed argument list.

It is then correct to not use all the arguments, so this patch adds the
appropriate stuff to avoid a false report from compiler.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
Signed-off-by: Carlos R. Mafra <crmafra@gmail.com>

7 months agoWPrefs: Removed unused argument in function 'WGetEditMenuSubmenu'
Christophe CURIS [Sun, 3 Nov 2013 13:38:02 +0000]
WPrefs: Removed unused argument in function 'WGetEditMenuSubmenu'

The function did not use the argument 'mPtr', so removed it.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
Signed-off-by: Carlos R. Mafra <crmafra@gmail.com>

7 months agowrlib: Add support for v5 of the gif_lib API
Christophe CURIS [Sun, 3 Nov 2013 12:08:11 +0000]
wrlib: Add support for v5 of the gif_lib API

As reported by Nicolas (nhs), compilation of wrlib is broken when
switching to gif_lib v5.

The API of gif_lib has known little change to provide thread-safe usage,
so we now detect this in configure and and use the functions as appropriate
in gif.c

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
Signed-off-by: Carlos R. Mafra <crmafra@gmail.com>

7 months agowrlib: Use a Conditional for GIF in the makefile instead of #if in source
Christophe CURIS [Sun, 3 Nov 2013 12:08:10 +0000]
wrlib: Use a Conditional for GIF in the makefile instead of #if in source

The use of the conditionals provided by autotools provides a better result
as they avoid unnecessary compilation.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
Signed-off-by: Carlos R. Mafra <crmafra@gmail.com>

7 months agoconfigure: Moved detection of GIF support to a dedicated macro
Christophe CURIS [Mon, 4 Nov 2013 19:52:28 +0000]
configure: Moved detection of GIF support to a dedicated macro

The original check was not compliant with autoconf's syntax, did not
have a very good behaviour for user and was not easy to make evolve.

The new macro:
 - uses as much as possible autoconf macros for portability and code
consistency;
 - provides a consistent behaviour on yes/no/auto (if user explicitly
enables support, do not silently disable if not found; if library is found
but not the header, complain to let user install it or explicitly disable
support);
 - makes uses of shell functions to keep generated configure smaller by
sharing reusable stuff;
 - introduces a tracking of unsupported things to be reported to user

It includes a fixes from a problem found by Amadeusz S\e-B³awiñski, because\e-A
the function 'wm_fn_imgfmt_try_link' modified the variable LDFLAGS
instead of LIBS.

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

7 months agoImproved ignore for 'm4' macro directory
Christophe CURIS [Sun, 3 Nov 2013 12:08:08 +0000]
Improved ignore for 'm4' macro directory

The previous rule was to ignore the whole directory, while still having
some files tracked inside.

Now we only explicitly ignore the files that have been placed there by the
autotools, so we can have a better view of it in Git when adding stuff.

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

7 months agoRemoved newlines from legal text in translations
Doug Torrance [Mon, 30 Dec 2013 18:08:49 +0000]
Removed newlines from legal text in translations

A recent patch removed the newlines from the default English legal text, as the
legal panel automatically wraps text so the newlines were unnecessary.  In this
patch, they are removed from all .po files which contain a translation of the
legal text.

9 months agoLegal Panel size with variables
Rodolfo García Peñas (kix) [Sat, 2 Nov 2013 19:02:27 +0000]
Legal Panel size with variables

This patch uses two variables to set the width and the height for the
Info Panel. It also includes a margin space.

Signed-off-by: Rodolfo García Peñas (kix) <kix@kix.es>

9 months agoWindow Maker Developers Team Copyright
Rodolfo García Peñas (kix) [Sat, 2 Nov 2013 19:02:26 +0000]
Window Maker Developers Team Copyright

This patch includes the Dev Team Copyright in the info panel.

Signed-off-by: Rodolfo García Peñas (kix) <kix@kix.es>

9 months agoInfo Panel size with variables
Rodolfo García Peñas (kix) [Sat, 2 Nov 2013 19:02:25 +0000]
Info Panel size with variables

This patch uses two variables to set the width and the height for the
Info Panel.

Now the panel has the same size than the window.

Finally, this patch moves the center definition to the beginning, and
removes the curly brackets.

Signed-off-by: Rodolfo García Peñas (kix) <kix@kix.es>

9 months agowmaker: Removed unused argument in function 'wDockLaunchWithState'
Christophe CURIS [Sat, 2 Nov 2013 16:36:33 +0000]
wmaker: Removed unused argument in function 'wDockLaunchWithState'

The function did not use the argument 'dock', so remove it.

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

9 months agowmaker: Removed unused argument in function 'wDockFinishLaunch'
Christophe CURIS [Sat, 2 Nov 2013 16:36:32 +0000]
wmaker: Removed unused argument in function 'wDockFinishLaunch'

The function did not use the argument 'dock', so remove it.

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

9 months agoRemove newlines in legal panel.
Doug Torrance [Sat, 2 Nov 2013 00:12:31 +0000]
Remove newlines in legal panel.

The label containing the legal information in the legal panel was set to wrap.
However, there were redundant newlines in the text itself.  In wider fonts, this
had the effect of the legal text not completely fitting in the legal panel.

This patch removes the unnecessary newlines.

9 months agoRemove default Microsoft fonts.
Doug Torrance [Fri, 1 Nov 2013 23:34:08 +0000]
Remove default Microsoft fonts.

In keeping with the spirit of free software, this patch removes several
Microsoft fonts (Trebuchet, Arial, and Verdana) from being the default fonts for
Window Maker and WINGs.

This patch has the added advantage of allowing users some control over the
appearance of WINGs widgets.  Formerly, there was no way to control the font if
the Trebuchet MS font was installed.  Now the WINGs font can be changed by
setting the sans-serif alias in fonts.conf.

9 months agoWPrefs: Removed unused argument to function 'OpenExtractPanelFor'
Christophe CURIS [Fri, 1 Nov 2013 15:07:03 +0000]
WPrefs: Removed unused argument to function 'OpenExtractPanelFor'

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

9 months agoWPrefs: Disable compilation for code that is 'not_yet_fully_implemented'
Christophe CURIS [Fri, 1 Nov 2013 15:07:02 +0000]
WPrefs: Disable compilation for code that is 'not_yet_fully_implemented'

These two files provides configuration panels that were never enabled
because they have not yet reached a usable state.

With this patch, we do not compile them anymore to avoid useless stuff in
the program.

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

9 months agoWPrefs: Removed unused Screen argument to the 'Init*' functions
Christophe CURIS [Fri, 1 Nov 2013 15:07:01 +0000]
WPrefs: Removed unused Screen argument to the 'Init*' functions

The functions that create the different configuration panels were taking
the screen structure as argument, but it turns out that none of them
actually need it.

We just remove the argument to make code simpler and easier to maintain.

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

9 months agoWPrefs: Removed unused function 'DestroyTexturePanel'
Christophe CURIS [Fri, 1 Nov 2013 15:07:00 +0000]
WPrefs: Removed unused function 'DestroyTexturePanel'

This function was never used and did nothing anyway, so it can be removed.

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

9 months agoWPrefs: Removed unused screen argument in functions 'Init*'
Christophe CURIS [Fri, 1 Nov 2013 15:06:59 +0000]
WPrefs: Removed unused screen argument in functions 'Init*'

The screen argument was not used in 'InitDoubleTest', 'InitEditMenuItem'
and 'InitEditMenu', so remove it to make the code simpler and avoid
compiler warning.

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

9 months agoWPrefs: Removed unused argument to function 'handleDragOver'
Christophe CURIS [Fri, 1 Nov 2013 15:06:58 +0000]
WPrefs: Removed unused argument to function 'handleDragOver'

The x coordinate is not needed by the function because menu are a vertical
stacking on items, which means only y coordinate matters.

This patch removes the x parameter to fix a compilation warning.

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

9 months agoWINGs: Removed unused argument to function 'W_SetXdndAwareProperty'
Christophe CURIS [Fri, 1 Nov 2013 15:06:57 +0000]
WINGs: Removed unused argument to function 'W_SetXdndAwareProperty'

The two arguments 'types' and 'typeCount' are not needed by that function,
so remove them.

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

9 months agoWINGs: Removed unused argument in function 'checkDropAllowed'
Christophe CURIS [Fri, 1 Nov 2013 15:06:56 +0000]
WINGs: Removed unused argument in function 'checkDropAllowed'

The function does not use the event argument, so remove it.

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

9 months agoutil: Removed argument that is not used
Christophe CURIS [Fri, 1 Nov 2013 15:06:55 +0000]
util: Removed argument that is not used

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

9 months agowmaker: Removed unused args to local functions in wmspec
Christophe CURIS [Fri, 1 Nov 2013 15:06:54 +0000]
wmaker: Removed unused args to local functions in wmspec

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

9 months agowmaker: Removed unused argument to function 'wMenuScroll'
Christophe CURIS [Fri, 1 Nov 2013 15:06:53 +0000]
wmaker: Removed unused argument to function 'wMenuScroll'

The event that triggered the function call is not used by the function,
so the parameter can be removed.

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