100 Commits
Author SHA1 Message Date
Doug Torrance da676c9e9e Add WPrefs Serbian translation to EXTRA_DIST
Otherwise "make check" fails (script/check-translation-sources.sh).
2024-11-12 10:15:17 +00:00
Doug Torrance 4edf589a5b Remove cruft from autogen.sh 2024-11-12 10:15:17 +00:00
Doug Torrance 709eec4bce Update autogen.sh so that it can be run from build directory 2024-11-12 10:15:17 +00:00
Doug Torrance 9831e3f72a Move declarations to beginning of switch statements
Several variable declarations were recently added immediately after
labels, but this causes compile errors in GCC versions prior to 11,
e.g.,

    wsmap.c: In function ‘handle_event’:
    wsmap.c:534:4: error: a label can only be part of a statement and a declaration is not a statement
      534 |    WMScreen *wmscr = wsmap->scr->wmscreen;
          |    ^~~~~~~~

We move these declarations to the top of the corresponding switch
statements so that Window Maker can compile on these older versions of
GCC.
2023-03-13 15:33:21 +00:00
Torrance, Douglas ddacfa5d63 Include screen.h in dialog.h for definition of WScreen 2023-01-26 10:15:58 +00:00
Torrance, Douglas 0718297e9a Correctly draw window snapping hints on multi-head systems
Previously, the transparent frames that were drawn prior to snapping a
window assumed that there was only one head, i.e., that the new
position and dimensions of the window would be based on the dimensions
of the entire screen.

However, this is not the case on multi-head systems, and so we now
base the transparent frame's position and dimensions on the current
head of the window.

We also refactor the code so that the new dimensions are computed in
the switch statement and finish with one final call to
drawTransparentFrame.
2023-01-20 11:54:07 +00:00
Torrance, Douglas 9cc16182d3 Use dock to determine whether drawer is on right side when swapping
Previously, we assumed that it always switched from left to right or
vice versa when calling swapDrawer.  However, now we may also call
swapDrawer when changing the value of "KeepDockOnPrimaryHead", which
wouldn't actually switch which side of the screen it's on.

So instead, we determine which side of the screen it should be on
based on the dock.
2023-01-20 10:34:36 +00:00
Torrance, Douglas f6165d6e80 Use actual x position of dock when saving state
Previously, we either saved it as 0 or -ICON_SIZE, and then adjusted
it depending on the screen width when restoring the state.

But since the introduction of the "KeepDockOnPrimaryHead" option, the
state-restoring code has changed so that the dock will go on the left if the
x-coordinate of the position in WMState is to the left of the midpoint
of the screen and on the right otherwise.  But previously (unless the
user manually set the value in WMState) this would always send the
dock to the left, even if it had been on the right, since the x-coordinate
automatically saved to WMState in this case was negative.

We simplify things by saving the actual x position of the dock to WMState.
2023-01-20 10:34:36 +00:00
Torrance, Douglas 10c36d244e Use dock's position to determine position of dock menu
Previously, we assumed that if the dock was on the right, then the
menu should be on the far right of the entire screen, but this is no
longer the case with "KeepDockOnPrimaryHead" set to "YES".
2023-01-20 10:34:36 +00:00
Torrance, Douglas 515eb652c7 Update the dock position when "KeepDockOnPrimaryHead" is changed 2023-01-18 12:18:03 +00:00
Torrance, Douglas 8ed92efa3c Rename swapDock to wDockSwap and add to dock.h
We'll be calling it from defaults.c.
2023-01-18 12:18:03 +00:00
Torrance, Douglas cc839f8bc5 Add default value of "KeepDockOnPrimaryHead" to Defaults/WindowMaker 2023-01-18 12:18:03 +00:00
Torrance, Douglas 48d4820dee Support "KeepDockOnPrimaryHead" when restoring state
We use the new helper function getDockXPosition to determine where
to put the dock.  If WMState gives an x-coordinate less than the
center of the screen, we put it on the left, and otherwise we put it
on the right.
2023-01-18 12:18:03 +00:00
Torrance, Douglas d4f5f3ec7f Support "KeepDockOnPrimaryHead" when initially creating dock
We use the new "getDockXPosition" helper function to find the x
position of the main icon, whose position is used in "wDockCreate" to
get the position of the entire dock.

Previously, "KeepDockOnPrimaryHead" was only taken into account
when *moving* the dock and not when creating it.
2023-01-18 12:18:03 +00:00
Torrance, Douglas 83f7fa43ce Add helper function for computing the dock's x position
Avoid code duplication since we'll need to make this computation in
several places.
2023-01-18 12:18:03 +00:00
Torrance, Douglas 55a816bdbc Keep dock on primary head if KeepDockOnPrimaryHead is YES
This implements a feature request [1] to allow the possibility of
keeping the dock on the primary head on a multi-head system.

In particular, if the new KeepDockOnPrimaryHead option is set to YES,
the dock will either be on the left- or right-hand side of the primary
screen.  If it is NO, then we get the current behavior, i.e., the dock
will either be on the left-hand side of the leftmost head or the
right-hand side of the rightmost head.

[1] https://github.com/window-maker/wmaker/issues/24

Closes: #24
2023-01-15 00:18:34 +00:00
Torrance, Douglas 7639fa1c15 Add "KeepDockOnPrimaryHead" checkbox to WPrefs experts panel 2023-01-15 00:18:34 +00:00
Torrance, Douglas 93b411f258 Document "KeepDockOnPrimaryHead" option in NEWS 2023-01-15 00:18:34 +00:00
Torrance, Douglas 326a67e18f Add new "KeepDockOnPrimaryHead" option
Once implemented, this will keep the dock on the primary head (when
there are multiple heads) when YES.  The default value is NO, the
current behavior, i.e., treat all monitors together as one large screen.
2023-01-15 00:18:34 +00:00
Torrance, Douglas 66b0ee3c4d Add WPrefs to XDG desktop menu
We include a desktop entry file for WPrefs so that it will be included
in XDG-compatible menus.  See the specifications at:

https://specifications.freedesktop.org/menu-spec/menu-spec-latest.html
https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
2022-02-17 22:31:18 +00:00
Torrance, Douglas a6c8577eb4 Include wmaker.desktop in distribution tarball
This fixes a bug where building from a tarball generated by "make
dist" would fail due to the absence of this file.
2022-02-17 22:31:18 +00:00
Doug Torrance 094001a53d Convert Slovak language manpages from ISO-8859-2 to UTF-8 2021-10-10 11:53:29 +01:00
Doug Torrance deba131857 Convert Czech language manpages from ISO-8859-2 to UTF-8 2021-10-10 11:53:11 +01:00
Doug Torrance a9bc9751a2 Use quotes around "Window Maker" in translated manpage title headers
This matches the English manpage and also prevents
wrong-manual-section Lintian warnings in the Debian package, as "Maker"
was being interpreted as the section of these manpages.
2021-10-09 13:53:34 +01:00
Torrance, Douglas 58b6728743 Add desktop file for display manager session configuration
Files in /usr/share/xsessions are used by some display managers (e.g.,
LightDM and GDM) to detect available sessions.  Such a file has been
shipped in the Debian Window Maker package for years.
2021-10-09 09:55:40 +01:00
Torrance, Douglas 75f133285f Fix segfault in color picker
Previously, we released the color well's color even if it was the same
as the new color.  This eventually resulted in a segfault when calling
WMPaintColorSwatch because we tried calling XFillRectangle with no
display.

We fix this by only releasing/updating the color well's if it differs
from the new color.
2021-06-29 22:32:31 +01:00
Torrance, Douglas a6ec6a30a3 Use wmkdirhier instead of mkdir to create color config directory
Otherwise, if ~/GNUstep/Library doesn't already exist, then creating
~/GNUstep/Library/Colors will fail.
2021-06-29 22:32:31 +01:00
Doug Torrance 4221e30bd2 Convert WPrefs.app/po/README from iso-8859-1 to utf-8 2021-05-25 22:12:23 -04:00
Doug Torrance 71558f4ce3 Convert WindowMaker/README from iso-8859-1 to utf-8 2021-05-25 22:10:15 -04:00
Doug Torrance 4b61081353 Convert po/README from iso-8859-1 to utf-8 2021-05-25 22:05:30 -04:00
Doug Torrance 583f66ec4e Turn off automake's warning messages about using GNU make extensions
We've been using addsuffix in WindowMaker/Makefile.am and may use others
in the future.
2020-06-22 18:07:09 +01:00
Doug Torrance 3022edd060 wrlib: Fix typo in macro containing ImageMagick version
It's USE_MAGICK, not USE_MAGIC.  Also, we wrap the if/else statement
in an ifdef.  This doesn't really affect anything since load_magick.c
won't be compiled if USE_MAGICK is undefined because of an if statement
in the Makefile.  But in the off chance that it is somehow, then we will
try to load a nonexistent version 6 header file since USE_MAGICK will
be interprested as 0 and 0 < 7 is true.
2020-04-19 07:58:28 +01:00
Doug Torrance 1713a88656 debian: Remove ImageMagick patch; an equivalent patch now exists in next
If a user wanted to build a Debian package from the next branch, then
it would fail immediately when quilt tried to apply the patches.
2020-04-19 07:58:28 +01:00
Doug Torrance 00a25db9ea checkpatch.pl: Escape curly braces in regexes
Unescaped curly braces  have been deprecated since Perl 5.26 and are
illegal in Perl 5.30. I copied the relevant lines from the latest kernel
source, so we'll inherit a couple other improvements as well.
2020-04-18 22:27:29 +01:00
Doug Torrance c678580621 debian: Update with version 0.95.9-2 packaging. 2020-04-18 19:49:26 +01:00
Doug Torrance 44bc9cc264 Fix various abs() issues.
The abs() function should take an int as argument, but there were
several instances in the code where it was taking an unsigned int or a
double.  In these case, we took one of the following approaches:

* If the argument was a double, use fabs() instead.
* If the argument was unsigned and was certainly going to be positive
  (i.e,. no subtraction), then drop abs() altogether.
* If the argument was unsigned as result of adding or subtracting signed
  and unsigned ints, then we cast all the unsigned ints to signed ints.
2020-04-18 19:49:26 +01:00
Doug Torrance dfa92906c0 wrlib: Compile with either ImageMagick 6 and 7
We dropped ImageMagick 6 support in 0.95.9.  However, ImageMagick 6 is
still widespread (e.g., ImageMagick 7 has not been packaged in Debian
yet), and upstream plans on maintaining it until at least 2028 [1].

In this patch, we detect the version of the MagickWand library installed
on the user's system and include the appropriate header file when
building wrlib.

Note: I've only tested this with ImageMagick 6, so I'd appreciate
confirmation that it works with ImageMagick 7.

[1] https://github.com/ImageMagick/ImageMagick6/blob/master/NEWS.txt
2020-04-18 19:49:25 +01:00
Doug Torrance 27dc5efd2e debian: Update with version 0.95.9-1 packaging. 2020-04-17 08:20:50 +01:00
Doug Torrance 86659be668 wmlib: Use X flags from configure
We use the AC_PATH_XTRA macro to find all the X library paths during
build, but we weren't actually using the variables it generated for
building wmlib.  Instead, we just hardcoded the linker flag "-lX11",
which may or may not actually work.
2020-04-09 14:54:06 +01:00
Doug Torrance e314f10909 configure: Fix typo in libXmu check.
As the literal string "wm_cv_xext_xmu" will never be equal to "xno",
we always ran the code that was supposed to run when the variable
$wm_cv_xext_xmu was not equal to "no".  In particular, if libXmu
was not found, then we proceeded as if it had been found.
2020-04-09 14:54:06 +01:00
Doug Torrance 54a24ab6f7 Remove trailing whitespace.
Also, the script is a one-liner, stolen from [1]:

ack --print0 -l '[ \t]+$' | xargs -0 -n1 perl -pi -e 's/[ \t]+$//'

[1]
https://stackoverflow.com/questions/149057/how-to-remove-trailing-whitespace-of-all-files-recursively
2020-04-09 14:28:09 +01:00
Doug Torrance a17d131da3 Remove apostrophes from instances of possessive "its".
I noticed one instance of this while looking at the code the other day,
and after a quick grep, realized it happened a *lot*!  One of the many
frustrating things about the English language is that we use apostrophes
to make pretty much everything possessive *except* the pronoun "it".
In that case, we use "its".  "It's" is reserved for the contraction
meaning "it is" or "it has".
2020-04-09 09:05:50 +01:00
Doug Torrance 738a78b3e2 Replace GNUSTEP_USER_ROOT environment variable with WMAKER_USER_ROOT
As reported in Debian bug #922284 [1]:

    As evident from the prefix, GNUSTEP_USER_ROOT is a GNUstep variable and
    Window Maker should not set it.  Furthemore, it has been deprecated for
    12 years already.  As of gnustep-make/2.7.0-4 the GNUstep build system
    is configured in strict v2 mode which makes it impossible to compile
    GNUstep software.  In a terminal started from a Window Maker session:

    yavor@aneto:/tmp/gorm.app-1.2.24$ make
    This is gnustep-make 2.7.0. Type 'make print-gnustep-make-help' for help.
    Running in gnustep-make version 2 strict mode.
    rm -f InterfaceBuilder; \
    ln -s GormLib InterfaceBuilder
    /usr/share/GNUstep/Makefiles/config-noarch.make:121: *** GNUSTEP_USER_ROOT
    is obsolete.  Stop.

    It is also impossible to build gnustep-make from pristine upstream
    source:

    yavor@aneto:/tmp$ wget -q
      ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-make-2.7.0.tar.gz
    yavor@aneto:/tmp$ tar xzf gnustep-make-2.7.0.tar.gz
    yavor@aneto:/tmp$ cd gnustep-make-2.7.0/
    yavor@aneto:/tmp/gnustep-make-2.7.0$ ./configure
    ...
    yavor@aneto:/tmp/gnustep-make-2.7.0$ make
    config-noarch.make:121: *** GNUSTEP_USER_ROOT is obsolete.  Stop.

    Note that the majority of GNUstep users use Window Maker as their window
    manager and many of them build GNUstep software from source, mostly
    because of the GNUstep Objective-C runtime which depends on Clang
    (Debian packages use GCC and the GCC/GNU runtime).

Our solution is to replace the GNUSTEP_USER_ROOT environment variable with our
own environment variable, WMAKER_USER_ROOT.  This is documented in NEWS.

[1] https://bugs.debian.org/922284
2019-02-17 18:44:33 +00:00
Doug Torrance d13b78bdde configure: Fix pkg-config variable typo.
The variable set by PKG_PROG_PKG_CONFIG which points to the pkg-config
utility is PKG_CONFIG, not PKGCONFIG.  The latter was previously used
when trying to detect the presence of the MagickWand library when Window
Maker was built using --enable-magick.
2018-08-08 08:51:45 +01:00
Doug Torrance 100745d356 setstyle: Add support for fpixmap ("fillscale") textures 2018-05-15 19:55:28 +01:00
Doug Torrance 7c89ca2551 menu: Fix broken "Save Theme" option.
This option had been broken for several reasons:
* The getstyle utility does not replace the #usergnusteppath# macro which
  was passed to it by the menu.
* When processing the USER_THEMES_DIR macro, the menu inserts a space
  afterwards, and so the directory and filename were passed to getstyle
  as two separate arguments.
* It used the old, pre-0.50.0 theme format.

By using the -p option to getstyle, we can avoid these issues, as we don't
need to specify the directory *and* it uses the 'new' (since 1999) themepack
format.
2018-05-15 19:43:25 +01:00
Doug Torrance 0c737bc834 Add new Adwaita style to Makefile. 2018-05-15 14:26:51 +01:00
Doug Torrance b3f8d0997b New Adwaita style which approximates the look of the default GTK theme. 2018-05-15 10:13:48 +01:00
Doug Torrance 673ea18020 Update mailing list links to new Google Groups. 2018-05-14 16:51:23 +01:00
Doug Torrance 2dbd778ed4 WPrefs: Inform user which menu file is being edited. 2017-08-19 15:59:13 +01:00
Doug Torrance f63635dd17 WPrefs: Save menu back to the file we read it from.
Previously, we saved any modifications back to WMRootMenu, regardless of
the file we read the menu from.
2017-08-19 15:59:13 +01:00
Doug Torrance 97702618de WPrefs: Display warning when attempting to modify a read-only menu file. 2017-08-19 15:59:13 +01:00
Doug Torrance b68a1994c2 debian: Remove patch 54_Debian_wmmacros.diff.
This patch is now unnecessary, as we have removed the SETSTYLE and
LOCAL_*_DIR macros and have added the USER_*_DIR upstream.
2017-08-19 11:14:38 +01:00
Doug Torrance fe459fbab3 menu: Add USER_*_DIR macros.
Inspired by the Debian patch 54_Debian_wmmacros.diff.  These macros are
actually already referenced in appearance.menu and background.menu, but
only Debian installations have taken advantage of them.

We use the new #usergnusteppath# macro to reference the user GNUstep path.
2017-08-19 11:14:38 +01:00
Doug Torrance 5f2dac318c menu: New macro #usergnusteppath# for user GNUstep directory
This macro is used when handling directories with OPEN_MENU, e.g., to list
available image files for setting the workspace background.

When parsing a menu file, we replace any instances of #usergnusteppath#
with either GNUSTEP_USER_ROOT or ~/GNUstep if the former is not set.  In
this way, authors of menu files do not have to worry about whether users
will have this variable set or not.

We also document this feature in WindowMaker/menu.in, which generates the
default English language old-style menu and currently contains the existing
documentation for the Window Maker menu system.
2017-08-19 11:14:38 +01:00
Doug Torrance bfda22ef1a menu: Remove unused LOCAL_*_DIR macros.
We remove the macros LOCAL_THEMES_DIR, LOCAL_STYLES_DIR,
LOCAL_ICON_SETS_DIR, and LOCAL_BACKGROUNDS_DIR.

They were only referenced in the Debian patch 54_Debian_wmmacros.diff, which
set them to /usr/local/share/WindowMaker/{Themes,Styles,etc.}.

In a default installation, THEMES_DIR, STYLES_DIR, etc. coincide exactly
with these paths.  In a Debian installation (which defaults to /usr/share
instead of /usr/local/share), it seems unlikely that a user would have these
files in both locations.
2017-08-19 11:14:38 +01:00
Doug Torrance 46daa76f77 menu: Remove unused SETSTYLE macro. 2017-08-19 11:14:38 +01:00
Doug Torrance 02cc702029 WPrefs: Edit proplist menus referenced by WMRootMenu.
Previously, WPrefs could only be used to edit the menu specified in
WMRootMenu.

In a recent commit, the ability to specify a menu in proplist format defined
in another file which is referenced by WMRootMenu was added.  However, if a
user attempted to edit such a menu in WPrefs, an error dialog appeared.

We add the ability for WPrefs to read such a menu.  After the user makes any
changes, the result is stored in WMRootMenu, and *not* the original file.
2017-08-19 11:14:38 +01:00
Doug Torrance 6f195b18fc WINGs: WMIsPL* functions return False if proplist is null.
Previously, calls to WMIsPLString, WMIsPLData, WMIsPLArray, and
WMIsPLDictionary would result in a segfault if the argument was null.
This could happen, e.g., if we are checking which type of proplist
was just parsed from a file, but the parsing failed.

These functions now return False in this case.
2017-08-19 11:14:38 +01:00
Doug Torrance 101ef6f28e menu: For consistency, use appearance.menu for English-language menus. 2017-08-18 02:14:11 +01:00
Doug Torrance 5a5595f76c menu: Add WPrefs to appearance.menu.
WPrefs appears under the 'Appearances' submenu of both menu and plmenu.
2017-08-18 02:14:11 +01:00
Doug Torrance 1a5abe9d84 menu: Add Bluemarine to solid background color options.
This color was present in menu and plmenu, but not background.menu.
2017-08-18 02:14:11 +01:00
Doug Torrance d364afff02 menu: Write data directory during build instead of with wmaker.inst.
Many of the menu files contain the macro #wmdatadir# as a placeholder for
the data directory containing Window Maker themes, styles, background
pixmaps, etc.  This macro is replaced by the the actual path to the data
directory (by default /usr/local/share/WindowMaker) by the wmaker.inst
script, but only when copying WMRootMenu to the user's home directory.

Instead, we replace the macro during the build.  This way, *every* menu
file has the correct path.

Note that several of the files in question were not previously generated
during build.  These have been renamed with a .in extension.
2017-08-18 02:14:11 +01:00
Doug Torrance 273d17a0be menu: Include all aspect ratio options for background pixmap.
The background menu was missing "centered", "maximized", and "filled".

This closes Debian bug #85591 [1]:
  The current default for the scaled backgrounds menu is to use
  scaling without keeping the aspect ratio.

  This very rarely yields to a usable background.

  Could the default be changed to scaling with keeping the aspect
  ratio ?

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=85591
2017-08-18 02:14:11 +01:00
Doug Torrance d6f754e747 debian: Update with version 0.95.8-2 packaging. 2017-08-15 10:34:03 +01:00
Doug Torrance b07075aed3 wmaker: Allow WMRootMenu to reference menu files in proplist format.
Previously, WMRootMenu could either be a menu file in proplist format
itself, or it could reference another menu file in the old style format.

If WMRootMenu referenced another menu file in proplist format, this file
was parsed assuming it was in the old style format and thus failed, as
observed by Andreas Metzler [1].

In this patch, we first attempt to parse a referenced menu file as if
it were in proplist format.  If this fails, then we fall back on the old
style format.  This has the disadvantage of spamming the terminal with
various parsing errors if the menu file is in the old style format.

[1] https://www.mail-archive.com/wmaker-dev@lists.windowmaker.org/msg07097.html
2017-08-13 10:34:46 +01:00
Doug Torrance ad4545b1d8 debian: Update with version 0.95.8-1 packaging. 2017-07-09 22:26:51 +01:00
Doug Torrance ee36395ddf debian: Update with version 0.95.8-1~exp2 packaging. 2017-07-08 23:18:22 +01:00
Doug Torrance ff865c31f0 wmmenugen: Sort menu entries with no category into 'Other'. 2017-07-07 09:59:29 +01:00
Doug Torrance adc1687f98 wmmenugen: Use 'Other' instead of 'Applications' for unknown categories.
From https://standards.freedesktop.org/menu-spec/latest/apa.html:

 Category-based menus based on the Main Categories listed in this
 specification do not provide a complete ontology for all available
 applications. Category-based menu implementations SHOULD therefore provide
 a "catch-all" submenu for applications that cannot be appropriately placed
 elsewhere.

Emphasis on *submenu*.  By using 'Applications', these menu entries were
sorted into the top level.
2017-07-07 09:59:29 +01:00
Doug Torrance ac0690b324 wmmenugen: Add reserved categories.
From https://standards.freedesktop.org/menu-spec/latest/apas03.html:

Reserved Categories have a desktop-specific meaning that has not been
standardized (yet). Desktop entry files that use a reserved category MUST
also include an appropriate OnlyShowIn= entry to restrict themselves to
those environments that properly support the reserved category as used.
2017-07-07 09:59:29 +01:00
Doug Torrance c261f8ec35 wmmenugen: Add missing 'Science' menu category.
See https://standards.freedesktop.org/menu-spec/latest/apa.html
2017-07-07 09:59:29 +01:00
Doug Torrance 83f0b764e6 WINGs: Set widget background pixmaps before realization.
Previously, when WMSetWidgetBackgroundPixmap() was called prior to
WMRealizeWidget(), no background pixmap was actually set.

This is because while the CWBackPixmap bit is correctly set to 1, the
CWBackPixel bit remains set to 1.  When XCreateWindow() is finally
called during realization, the background pixel takes precendence over the
background pixmap.

We fix this by setting CWBackPixel to 0 when setting CWBackPixmap to 1 and
vice versa.
2017-03-22 09:26:24 +00:00
Doug Torrance 3140c09240 wmaker: Consistent configuration options.
The default configuration options are given in two places in the source
code:
  - src/default.c
  - WindowMaker/Defaults/WindowMaker.in

The defaults are initially set in the former, but are then overwritten by
the latter.

Ideally, the default options in these two locations should coincide.
However, there are currently several issues.
- Many of the options are missing from WindowMaker/Defaults/WindowMaker.in
- Many of the options have conflicting defaults between the two locations.
- A number of options given in WindowMaker/Defaults/WindowMaker.in no longer
  exist.

In this patch, we bring the defaults in the two locations in line with one
another.  We have given preference to the defaults in W/D/WindowMaker, as
these are the one users have been used to.

Some of the paths in IconPath and PixmapPath have been removed.  In
particular, the various system pixmap paths (/usr/include/X11/pixmaps,
/usr/share/pixmaps, and /usr/local/share/pixmaps) have been removed in
favor of PIXMAPDIR, which is specified by the user at build.  Also,
/usr/share/icons has been removed from IconPath.  The root of this
directory will contain very few icons, as the icons themselves are located
in subdirectories corresponding to XDG icon themes.

We add a comment to src/defaults.c to remind future developers who
add or remove options to change the default values in both locations.

We also take the opportunity to remove the unused DEF_INFO_TEXT_FONT
macro.
2017-03-22 09:26:24 +00:00
Doug Torrance 8fba9945e0 WPrefs: Properly read system fonts in font configuration panel.
Previously, only the user's WMGLOBAL file would be read to determine the
current WINGs fonts (System Font and Bold System Font) in the Font
Configuration panel.  It is quite possible that this information would
not be in the user's WMGLOBAL file, but instead in the system WMGLOBAL
file.

We instead use the WMDefaultSystemFont and WMBoldDefaultSystemFont
functions to get this information.
2017-03-20 18:06:12 +00:00
Doug Torrance e13cfcd093 debian: Don't try to install scripts/manpages which have been removed. 2017-03-16 15:26:39 +00:00
Doug Torrance c2a03a3de5 debian: Update with version 0.95.8-1~exp1 packaging. 2017-03-15 16:50:42 +00:00
Doug Torrance db6b50e6c1 doc: Remove manpage for upgrade-windowmaker-defaults script.
This script is only available in the Debian package, is very out of date,
and will be soon be removed.
2017-03-12 00:12:18 +00:00
Doug Torrance fa8121ee61 wmaker/WPrefs: Remove legacy support for deprecated apercus.
Replaced by minipreviews in December 2014.  Over two years have passed.
2017-03-12 00:12:18 +00:00
Doug Torrance f6320d4fa5 configure: Remove deprecated --with-nlsdir option.
Deprecated in December 2014, and over two years have passed.
2017-03-12 00:12:18 +00:00
Doug Torrance cea5f6107c WINGs/wrlib: Remove deprecated get-*-flags scripts.
These have been replaced by pkg-config.  Christophe left a note in January
2015 to remove them, and this time has now passed.
2017-03-12 00:12:18 +00:00
Doug Torrance 9087222d1e doc: Add new --with-defsdatadir option to INSTALL-WMAKER. 2017-03-10 20:31:26 +00:00
Doug Torrance dede386b3d debian: Remove patch 51_wmaker_man.diff; applied upstream. 2017-03-10 17:25:32 +00:00
Doug Torrance b2b2ebad4c NEWS: Add note about new global defaults directory configuration. 2017-03-10 17:25:32 +00:00
Doug Torrance cdaa7a4520 doc: Add info about user icons directory to manpage.
Based on patch in Debian package.  See:
debian/patches/51_wmaker_man.diff
2017-03-10 10:20:58 +00:00
Doug Torrance 7df224440b doc: Update global autostart/exitscript path in manpage. 2017-03-10 10:20:58 +00:00
Doug Torrance 01ad3ead5d doc: Use new defsdatadir variable to specify defaults directory in manpage. 2017-03-10 10:20:58 +00:00
Doug Torrance 6fa1c0c009 configure: Add option to specify global defaults directory.
Previously, this was only (partially) possible by redefining the macro
GLOBAL_DEFAULTS_SUBDIR.  This told Window Maker to look for the global
config files in a particular subdirectory of SYSCONFDIR.

However:
* This is undocumented.
* GLOBAL_DEFAULTS_SUBDIR is ignored when installing the config files.  They
  are always installed to SYSCONFDIR/WindowMaker.

To solve these issues, we add a "--with-defsdatadir" option to configure
which allows a user to specify the global defaults directory.
2017-03-10 10:20:58 +00:00
Doug Torrance ac92f1a844 wrlib: Bump soname version to 6.
Usually, a soname bump is reserved for when an interface is added, changed,
or removed.  This has not happened to wrlib.  However, I think there is a
special circumstance that warrants the bump.

In particular, there are two versions of wrlib version 5 in the wild:
* The one that shipped with wmaker 0.95.6, which uses symbol version
  LIBWRASTER3.
* The one that shipped with wmaker 0.95.7, which uses symbol version
  LIBWRASTER5.
This was reported in Debian bug #811304 [1].  Binaries which were built
against the older wrlib won't run after upgrading to the newer one, even
though they are supposedly using the same soname version.

(We get around this currently in Debian by patching the old LIBWRASTER3
symbol version back in.)

I propose we bump to version 6 and put this mess behind us.

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811304
2017-03-10 10:20:58 +00:00
Doug Torrance 21d3fadebb ChangeLog: Update with commits since v0.95.7. 2017-03-10 10:20:58 +00:00
Doug Torrance 3986629590 debian: Update with version 0.95.7-8 packaging. 2017-03-10 01:21:32 +00:00
Doug Torrance 92bc458fac configure: Use PKG_PROG_PKG_CONFIG macro to allow cross building.
Patch by Helmut Grohne <helmut@subdivi.de> to fix Debian bug #853236 [1]:

> wmaker fails to cross build from source, because it forces the use of
> pkg-config without $ac_tool_prefix. Discovering pkg-config with the
> PKG_PROG_PKG_CONFIG macro considers $ac_tool_prefix and thus makes cross
> compilation succeed. Please consider applying the attached patch after
> stretch is released.
>
> Helmut

[1] https://bugs.debian.org/853236
2017-01-31 01:44:56 +00:00
Doug Torrance 6f3dbfeaba debian: Update with version 0.95.7-7 packaging. 2017-01-29 10:07:59 -05:00
Doug Torrance 3426f8110b Look for plmenu in build directory when creating WMRootMenu.
Previously, plmenu already existed in the source directory, and that's where
make looked for it.  Now, however, it is generated to include the proper
path to WPrefs and therefore is in the build directory.

See
https://www.gnu.org/software/make/manual/html_node/Makefile-Basics.html
for more about this distinction.
2017-01-29 10:07:59 -05:00
Doug Torrance f9b2cf9747 Don't try and add removed file mkMakefile to distribution tarball. 2017-01-20 21:01:42 -05:00
Doug Torrance ad590811f6 Remove WindowMaker/mkMakefile script.
It was used to generate WindowMaker/Makefile.am, but hasn't been touched
since 1999.  Meanwhile, WindowMaker/Makefile.am has been changed manually
a number of times.
2017-01-20 19:51:12 -05:00
Doug Torrance d48a37060c Use wprefs_bindir output variable to set WPrefs path in menus.
The path to WPrefs has been hardcoded in many of the menu files to
/usr/local/GNUstep/Applications/WPrefs.app/WPrefs, which would only actually
work if the user ran something like:
     ./configure --with-gnustepdir=/usr/local/GNUstep
during build.

Instead, we add a .in extension to all menu files with this issue and use sed
to use the actual WPrefs path (given by the wprefs_bindir output variable) and
generate a new menu file.

A very similar idea is already used to generate the WMState file, which sets
WPrefs as the command for the Window Maker logo tile in the dock.

This patch fixes Debian bug #851737:
https://bugs.debian.org/851737
2017-01-19 18:40:13 -05:00
Doug Torrance 23417d9934 WPrefs: Update path for Debian menu 2016-11-13 15:52:06 +00:00
Doug Torrance 2ea6162629 wmmenugen: Fix segfault; argv[argc] doesn't exist. 2016-04-24 19:05:34 -04:00
Doug Torrance 5a730d63b2 debian: Update with version 0.95.7-6 packaging. 2016-03-24 16:17:44 -04:00