wmaker-crm.git
6 years agoNew Adwaita style which approximates the look of the default GTK theme.
Doug Torrance [Tue, 15 May 2018 04:27:42 +0000 (15 00:27 -0400)]
New Adwaita style which approximates the look of the default GTK theme.

6 years agoUpdate mailing list links to new Google Groups.
Doug Torrance [Mon, 14 May 2018 15:45:53 +0000 (14 11:45 -0400)]
Update mailing list links to new Google Groups.

6 years agoFixes missing appicons after restarting Window Maker
Bad Sector [Wed, 18 Apr 2018 01:33:53 +0000 (18 04:33 +0300)]
Fixes missing appicons after restarting Window Maker

Fixes the bug where if the icon image is accidentally set to
nothing or the image file is deleted, the appicon keeps losing
its icon (it resets to the default cube icon) when Window Maker
exits/restarts (depending on how the user cleared the icon this
may persist even after redocking the application if information
about the application window is still in the WM).  One way to
easily see this bug is to open the main window's attributes and
press the Save button (no need to do anything else) as this
clears the icon file (this is a separate bug that needs to be
fixed but it is more of a minor UI bug since clearing the image
should simply reset the icon to the application provided one if
the Ignore client supplied icon is not set).  Another way to
see it is to open the properties box in a docked application
that is not running and clear the image field.  After either of
these two actions are performed, restart Window Maker and see
that the icons are missing.

This patch fixes the above bug by calling save_appicon when the
appicon object is created and the application provided icon is
already available (window maker actually tries to save the icon
at an earlier stage but this is done as a side effect of
"painting" the dock icon - which also saves the icon - but this
is done too early, before ownership information is available).

Note that this bug seems to be a regression introduced from
commit 9c4b19d8aaee2f80f03853e62c753298edf12ceb (or one of the
related commits around the same time, they seem to be a bit too
aggressive in not saving icons).  This patch addresses the
concern in that commit about only saving the icon for docked
applications.

6 years agowmaker: Add new advanced option to ignore decoration changes from clients.
Bad Sector [Sun, 14 Jan 2018 06:59:42 +0000 (14 08:59 +0200)]
wmaker: Add new advanced option to ignore decoration changes from clients.

 This adds an option (IgnoreDecorationChanges in plist) for windows to
ignore any requests from the clients for changing decorations. Since the
default state for any window pre-request is to have all decorations visible
this basically means that applications cannot hide any of the titlebar,
sizing bar, titlebar buttons, etc and any hint that causes these elements
to be hidden will be followed by a restoration if this option is set.

 This is useful for broken clients (e.g. Steam) and clients that force
subpar client side decorations. It is basically a per-window setting of the
global advanced option to ignore Gtk hints, except that it also applies to
non-Gtk applications.

6 years agotexi2txt: Use ChangeLog date instead of build date
Bernhard M. Wiedemann [Tue, 19 Dec 2017 20:13:21 +0000 (19 21:13 +0100)]
texi2txt: Use ChangeLog date instead of build date

in order to make builds reproducible. See
https://reproducible-builds.org/
for why this is good.

This date call works with GNU date and BSD date. Without this patch,
/usr/share/doc/packages/WindowMaker/README.i18n will differ in the
line An alternative solution could use the $SOURCE_DATE_EPOCH
variable defined in
https://reproducible-builds.org/specs/source-date-epoch/

Signed-off-by: Carlos R. Mafra <crmafra@gmail.com>
6 years agowmaker: Adding copyright year 2017
Alwin [Thu, 14 Sep 2017 18:49:40 +0000 (14 20:49 +0200)]
wmaker: Adding copyright year 2017

The Info Panel didn't show the current year.

6 years agowmaker: Fixing a menu typo
Alwin [Thu, 14 Sep 2017 18:49:39 +0000 (14 20:49 +0200)]
wmaker: Fixing a menu typo

There was a typo in background.menu. Although the menu worked fine, it
caused these errors in the logs:

  wmaker(WMReadPropListFromFile(proplist.c:1543)): error: error reading
    from file '/usr/share/WindowMaker/Backgrounds'

6 years agoTranslations: Frisian language files for WPrefs and menus updated
Alwin [Thu, 14 Sep 2017 18:49:38 +0000 (14 20:49 +0200)]
Translations: Frisian language files for WPrefs and menus updated

Compacting two translations to fit the available space; two new strings.
The menus are now split like the English ones, using appearance.menu.fy
and background.menu.fy. A new comment was added to menu.fy.in.

6 years agoTranslations: Dutch language files for WPrefs and menus updated
Alwin [Thu, 14 Sep 2017 18:49:37 +0000 (14 20:49 +0200)]
Translations: Dutch language files for WPrefs and menus updated

Compacting a translation to fit the available space; two new strings.
The menus are now split like the English ones, using appearance.menu.nl
and background.menu.nl. A new comment was added to menu.nl.in.

6 years agoWPrefs: Inform user which menu file is being edited.
Doug Torrance [Sat, 19 Aug 2017 14:48:44 +0000 (19 10:48 -0400)]
WPrefs: Inform user which menu file is being edited.

6 years agoWPrefs: Save menu back to the file we read it from.
Doug Torrance [Sat, 19 Aug 2017 14:48:43 +0000 (19 10:48 -0400)]
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.

6 years agoWPrefs: Display warning when attempting to modify a read-only menu file.
Doug Torrance [Sat, 19 Aug 2017 14:48:42 +0000 (19 10:48 -0400)]
WPrefs: Display warning when attempting to modify a read-only menu file.

6 years agodebian: Remove patch 54_Debian_wmmacros.diff.
Doug Torrance [Sat, 19 Aug 2017 00:37:51 +0000 (18 20:37 -0400)]
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.

6 years agomenu: Add USER_*_DIR macros.
Doug Torrance [Sat, 19 Aug 2017 00:37:50 +0000 (18 20:37 -0400)]
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.

6 years agomenu: New macro #usergnusteppath# for user GNUstep directory
Doug Torrance [Sat, 19 Aug 2017 00:37:49 +0000 (18 20:37 -0400)]
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.

6 years agomenu: Remove unused LOCAL_*_DIR macros.
Doug Torrance [Sat, 19 Aug 2017 00:37:48 +0000 (18 20:37 -0400)]
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.

6 years agomenu: Remove unused SETSTYLE macro.
Doug Torrance [Sat, 19 Aug 2017 00:37:47 +0000 (18 20:37 -0400)]
menu: Remove unused SETSTYLE macro.

6 years agoWPrefs: Edit proplist menus referenced by WMRootMenu.
Doug Torrance [Sat, 19 Aug 2017 00:37:46 +0000 (18 20:37 -0400)]
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.

6 years agoWINGs: WMIsPL* functions return False if proplist is null.
Doug Torrance [Sat, 19 Aug 2017 00:37:45 +0000 (18 20:37 -0400)]
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.

6 years agomenu: For consistency, use appearance.menu for English-language menus.
Doug Torrance [Fri, 18 Aug 2017 01:02:28 +0000 (17 21:02 -0400)]
menu: For consistency, use appearance.menu for English-language menus.

6 years agomenu: Add WPrefs to appearance.menu.
Doug Torrance [Fri, 18 Aug 2017 01:02:27 +0000 (17 21:02 -0400)]
menu: Add WPrefs to appearance.menu.

WPrefs appears under the 'Appearances' submenu of both menu and plmenu.

6 years agomenu: Add Bluemarine to solid background color options.
Doug Torrance [Fri, 18 Aug 2017 01:02:26 +0000 (17 21:02 -0400)]
menu: Add Bluemarine to solid background color options.

This color was present in menu and plmenu, but not background.menu.

6 years agomenu: Write data directory during build instead of with wmaker.inst.
Doug Torrance [Fri, 18 Aug 2017 01:02:25 +0000 (17 21:02 -0400)]
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.

6 years agomenu: Include all aspect ratio options for background pixmap.
Doug Torrance [Fri, 18 Aug 2017 01:02:24 +0000 (17 21:02 -0400)]
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

6 years agodebian: Update with version 0.95.8-2 packaging.
Doug Torrance [Tue, 15 Aug 2017 03:17:28 +0000 (14 23:17 -0400)]
debian: Update with version 0.95.8-2 packaging.

6 years agowmaker: Allow WMRootMenu to reference menu files in proplist format.
Doug Torrance [Sun, 13 Aug 2017 02:12:29 +0000 (12 22:12 -0400)]
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

6 years agodebian: Update with version 0.95.8-1 packaging.
Doug Torrance [Sun, 9 Jul 2017 14:34:29 +0000 (9 10:34 -0400)]
debian: Update with version 0.95.8-1 packaging.

6 years agodebian: Update with version 0.95.8-1~exp2 packaging.
Doug Torrance [Sat, 8 Jul 2017 13:23:09 +0000 (8 09:23 -0400)]
debian: Update with version 0.95.8-1~exp2 packaging.

6 years agowmmenugen: Sort menu entries with no category into 'Other'.
Doug Torrance [Thu, 6 Jul 2017 23:48:16 +0000 (6 19:48 -0400)]
wmmenugen: Sort menu entries with no category into 'Other'.

6 years agowmmenugen: Use 'Other' instead of 'Applications' for unknown categories.
Doug Torrance [Thu, 6 Jul 2017 23:48:15 +0000 (6 19:48 -0400)]
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.

6 years agowmmenugen: Add reserved categories.
Doug Torrance [Thu, 6 Jul 2017 23:48:14 +0000 (6 19:48 -0400)]
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.

6 years agowmmenugen: Add missing 'Science' menu category.
Doug Torrance [Thu, 6 Jul 2017 23:48:13 +0000 (6 19:48 -0400)]
wmmenugen: Add missing 'Science' menu category.

See https://standards.freedesktop.org/menu-spec/latest/apa.html

6 years agoutil: fix parsing of XDG menus with multiple groups
Christophe CURIS [Sun, 2 Jul 2017 21:01:49 +0000 (2 23:01 +0200)]
util: fix parsing of XDG menus with multiple groups

The specification for XDG menu files allows having more than one group and
assumes no constraint on their order. The original code assumed that once
the proper group marker was found, everything after was part of it, causing
misinterpretation of some data, like taking the wrong launch command.

This patch stops the parsing of the menu XDG file when a new group is
found, hence implementing the expected behaviour.

Reported-by: Andreas Metzler <ametzler@bebt.de>
7 years agoWINGs: Set widget background pixmaps before realization.
Doug Torrance [Wed, 22 Mar 2017 05:48:45 +0000 (22 01:48 -0400)]
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.

7 years agowmaker: Consistent configuration options.
Doug Torrance [Wed, 22 Mar 2017 05:29:38 +0000 (22 01:29 -0400)]
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.

7 years agoWPrefs: Properly read system fonts in font configuration panel.
Doug Torrance [Mon, 20 Mar 2017 05:09:55 +0000 (20 01:09 -0400)]
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.

7 years agoMerge branch 'master' into next
Carlos R. Mafra [Mon, 20 Mar 2017 18:03:24 +0000 (20 18:03 +0000)]
Merge branch 'master' into next

I forgot to add the wmaker 0.95.8 commit back into the next
branch. Doing it now.

7 years agodebian: Don't try to install scripts/manpages which have been removed.
Doug Torrance [Thu, 16 Mar 2017 14:08:12 +0000 (16 10:08 -0400)]
debian: Don't try to install scripts/manpages which have been removed.

7 years agodebian: Update with version 0.95.8-1~exp1 packaging.
Doug Torrance [Wed, 15 Mar 2017 16:31:38 +0000 (15 12:31 -0400)]
debian: Update with version 0.95.8-1~exp1 packaging.

7 years agodoc: Remove manpage for upgrade-windowmaker-defaults script.
Doug Torrance [Sat, 11 Mar 2017 23:00:26 +0000 (11 18:00 -0500)]
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.

7 years agowmaker/WPrefs: Remove legacy support for deprecated apercus.
Doug Torrance [Sat, 11 Mar 2017 23:00:25 +0000 (11 18:00 -0500)]
wmaker/WPrefs: Remove legacy support for deprecated apercus.

Replaced by minipreviews in December 2014.  Over two years have passed.

7 years agoconfigure: Remove deprecated --with-nlsdir option.
Doug Torrance [Sat, 11 Mar 2017 23:00:24 +0000 (11 18:00 -0500)]
configure: Remove deprecated --with-nlsdir option.

Deprecated in December 2014, and over two years have passed.

7 years agoWINGs/wrlib: Remove deprecated get-*-flags scripts.
Doug Torrance [Sat, 11 Mar 2017 23:00:23 +0000 (11 18:00 -0500)]
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.

7 years agoWindow Maker 0.95.8wmaker-0.95.8
Carlos R. Mafra [Sat, 11 Mar 2017 11:10:26 +0000 (11 11:10 +0000)]
Window Maker 0.95.8

7 years agodoc: Add new --with-defsdatadir option to INSTALL-WMAKER.
Doug Torrance [Fri, 10 Mar 2017 20:22:25 +0000 (10 15:22 -0500)]
doc: Add new --with-defsdatadir option to INSTALL-WMAKER.

7 years agodebian: Remove patch 51_wmaker_man.diff; applied upstream.
Doug Torrance [Fri, 10 Mar 2017 17:12:36 +0000 (10 12:12 -0500)]
debian: Remove patch 51_wmaker_man.diff; applied upstream.

7 years agoNEWS: Add note about new global defaults directory configuration.
Doug Torrance [Fri, 10 Mar 2017 17:12:35 +0000 (10 12:12 -0500)]
NEWS: Add note about new global defaults directory configuration.

7 years agoTranslations: Frisian language file for WPrefs updated
Alwin [Fri, 10 Mar 2017 14:45:47 +0000 (10 15:45 +0100)]
Translations: Frisian language file for WPrefs updated

A few new entries were translated.

7 years agoTranslations: Dutch language file for WPrefs updated
Alwin [Fri, 10 Mar 2017 14:45:46 +0000 (10 15:45 +0100)]
Translations: Dutch language file for WPrefs updated

A few new entries were translated.

7 years agodoc: Add info about user icons directory to manpage.
Doug Torrance [Fri, 10 Mar 2017 07:39:34 +0000 (10 02:39 -0500)]
doc: Add info about user icons directory to manpage.

Based on patch in Debian package.  See:
debian/patches/51_wmaker_man.diff

7 years agodoc: Update global autostart/exitscript path in manpage.
Doug Torrance [Fri, 10 Mar 2017 07:39:33 +0000 (10 02:39 -0500)]
doc: Update global autostart/exitscript path in manpage.

7 years agodoc: Use new defsdatadir variable to specify defaults directory in manpage.
Doug Torrance [Fri, 10 Mar 2017 07:39:32 +0000 (10 02:39 -0500)]
doc: Use new defsdatadir variable to specify defaults directory in manpage.

7 years agoconfigure: Add option to specify global defaults directory.
Doug Torrance [Fri, 10 Mar 2017 07:39:31 +0000 (10 02:39 -0500)]
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.

7 years agowrlib: Bump soname version to 6.
Doug Torrance [Fri, 10 Mar 2017 04:41:56 +0000 (9 23:41 -0500)]
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

7 years agoChangeLog: Update with commits since v0.95.7.
Doug Torrance [Fri, 10 Mar 2017 04:41:55 +0000 (9 23:41 -0500)]
ChangeLog: Update with commits since v0.95.7.

7 years agodebian: Update with version 0.95.7-8 packaging.
Doug Torrance [Fri, 10 Mar 2017 01:15:53 +0000 (9 20:15 -0500)]
debian: Update with version 0.95.7-8 packaging.

7 years agowmaker: Do not place icons under the dock
Cyrus Rahman [Thu, 2 Mar 2017 04:20:44 +0000 (1 21:20 -0700)]
wmaker: Do not place icons under the dock

While I love the new maximizing functions, in the process of
developing them the code to keep icons from under the dock was lost.

I have created a patch to prevent this problem.

7 years agoFixed couple of compilator warning and removed unused macros.
Roman Dobosz [Sat, 25 Feb 2017 07:00:23 +0000 (25 08:00 +0100)]
Fixed couple of compilator warning and removed unused macros.

7 years agoRemoved trailing whitespaces from readme files.
Roman Dobosz [Sat, 25 Feb 2017 07:00:22 +0000 (25 08:00 +0100)]
Removed trailing whitespaces from readme files.

7 years agoRefactoring handleMaximize() function
Roman Dobosz [Tue, 21 Feb 2017 17:56:16 +0000 (21 18:56 +0100)]
Refactoring handleMaximize() function

Simplify handleMaximize function for "not effective" case, where there
was couple of duplicate code, now there is one indentation level less
and readability increased.

7 years agoImplementation for moving mouse pointer within the maximized window.
Roman Dobosz [Tue, 21 Feb 2017 17:56:15 +0000 (21 18:56 +0100)]
Implementation for moving mouse pointer within the maximized window.

Mouse pointer can be now moved together with window if keyboard was used
for arrange maximized windows on screen. This feature can be turned on
in WPrefs.app in Expert tab by selecting "Move mouse pointer with half
MAXIMIZED windows.", or setting "PointerWithHalfMaxWindows" to "Yes" on
~/GNUstep/Defaults/WindowMaker file.

7 years agoNew option for moving mouse pointer along with half-maximized windows.
Roman Dobosz [Tue, 21 Feb 2017 17:56:14 +0000 (21 18:56 +0100)]
New option for moving mouse pointer along with half-maximized windows.

This option might be usable for using keyboard for moving windows
around. This option will enable moving mouse pointer for such windows.

7 years agoAlternative way for traversing half-maximized windows.
Roman Dobosz [Tue, 21 Feb 2017 17:56:13 +0000 (21 18:56 +0100)]
Alternative way for traversing half-maximized windows.

Now it is possible for change a bit pattern for changing state between
half-maximized windows. Half maximized windows will become maximized if
there is issued half-maximizing shortcut in opposite direction. Issue
half-maximizing command on same direction on already maximized window,
will have no effect.

7 years agoNew option for enabling alternative half-maximized window movement.
Roman Dobosz [Tue, 21 Feb 2017 17:56:12 +0000 (21 18:56 +0100)]
New option for enabling alternative half-maximized window movement.

Added new option to Window Maker for enabling alternative way for
half-maximized windows movement. Option can be found on Expert section
in WPrefs app.

7 years agoBugfix for moving windows between heads.
Roman Dobosz [Tue, 21 Feb 2017 17:56:11 +0000 (21 18:56 +0100)]
Bugfix for moving windows between heads.

Previous bugfix introduced another regression. It fixed the issue with
size of the unmaximized window, but break new functionality. Revert back
code for maximizing using mouse, leaving out head detection for keyboard
actions, since it is already calculated.

Mouse actions for maximize also has to be fixed due to different
behaviour in original implementation - movement of the window which is
called in handleMaximize filter out MAX_KEYBOARD from argument passed to
the wMaximizeWindow, so that it will always assume that all the actions
have to be done on the head where mouse pointer resides. For moving
windows between heads feature, calculated head is always passed and
used, regardless of how maximizing was invoked (keyboard or mouse) and
mouse pointer position.

7 years agoFixed wrong (re)stored dimensions for unmaximized window.
gryf [Mon, 13 Feb 2017 19:31:11 +0000 (13 20:31 +0100)]
Fixed wrong (re)stored dimensions for unmaximized window.

7 years agoAdded possibility for half-maximized windows to move across the screens.
gryf [Tue, 7 Feb 2017 20:05:17 +0000 (7 21:05 +0100)]
Added possibility for half-maximized windows to move across the screens.

Using MoveHalfMaximizedWindowsBetweenScreens option user can enable
ability for moving half-maximized windows not only within current
screen/head/display, but also to other heads, if they exists. Note, that
only vertically or horizontally maximized windows can be transfered to
another display. Quarter-maximized windows are not supported, since it
is ambiguous to predict in which direction such window should be moved.

7 years agoAdded option for ability to move half-maximized between heads.
gryf [Tue, 7 Feb 2017 20:05:16 +0000 (7 21:05 +0100)]
Added option for ability to move half-maximized between heads.

Added new option to Window Maker preferences to enable half-maximized
windows movement on all available heads. Option can be found in WPrefs
app on Expert section.

7 years agoAdded wGetHeadRelativeToCurrentHead function
gryf [Tue, 7 Feb 2017 20:05:15 +0000 (7 21:05 +0100)]
Added wGetHeadRelativeToCurrentHead function

A new function for obtaining possible heads (displays) was added. It
allow to query for a head in four directions relative to the current
one.

7 years agoAdded 'head' parameter to wMaximizeWindow
gryf [Tue, 7 Feb 2017 20:05:14 +0000 (7 21:05 +0100)]
Added 'head' parameter to wMaximizeWindow

Additional 'head' parameter will help to select head (display) where
window should be maximized.

7 years agoTrivial cleanup: Removed unused defines.
Roman Dobosz [Tue, 31 Jan 2017 20:59:28 +0000 (31 21:59 +0100)]
Trivial cleanup: Removed unused defines.

7 years agoconfigure: Use PKG_PROG_PKG_CONFIG macro to allow cross building.
Doug Torrance [Mon, 30 Jan 2017 19:00:40 +0000 (30 14:00 -0500)]
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

7 years agodebian: Update with version 0.95.7-7 packaging.
Doug Torrance [Sun, 29 Jan 2017 05:44:50 +0000 (29 00:44 -0500)]
debian: Update with version 0.95.7-7 packaging.

7 years agoLook for plmenu in build directory when creating WMRootMenu.
Doug Torrance [Sun, 29 Jan 2017 04:07:11 +0000 (28 23:07 -0500)]
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.

7 years agoDon't try and add removed file mkMakefile to distribution tarball.
Doug Torrance [Sat, 21 Jan 2017 01:20:10 +0000 (20 20:20 -0500)]
Don't try and add removed file mkMakefile to distribution tarball.

7 years agoRemove WindowMaker/mkMakefile script.
Doug Torrance [Fri, 20 Jan 2017 22:01:56 +0000 (20 17:01 -0500)]
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.

7 years agoUse wprefs_bindir output variable to set WPrefs path in menus.
Doug Torrance [Thu, 19 Jan 2017 23:24:30 +0000 (19 18:24 -0500)]
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

7 years agoWPrefs: Update path for Debian menu
Doug Torrance [Sun, 13 Nov 2016 14:26:39 +0000 (13 09:26 -0500)]
WPrefs: Update path for Debian menu

7 years agowmaker: allow alt+tabbed windows over fullscreen
Bjørn Mork [Tue, 12 Jul 2016 21:49:47 +0000 (12 23:49 +0200)]
wmaker: allow alt+tabbed windows over fullscreen

Fullscreen windows should only be on top when they are in focus. Change
the stacking level temporarily back to WMNormalLevel if the fullscreen
window loses focus due to an alt+tab operation.

Change the stacking level back to WMFullscreenLevel if the fullscreen
window receives the focus again.

Cc: Amadeusz Sławiński <amade@asmblr.net>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
7 years agowmaker: fix stacking order of dock and fullscreen
Bjørn Mork [Tue, 12 Jul 2016 21:49:46 +0000 (12 23:49 +0200)]
wmaker: fix stacking order of dock and fullscreen

This reverts the commits:
 311ab6b08ccf ("Raise fullscreened window")
 a504370f3b27 ("Remove WMFullscreenLevel")

Removing WMFullscreenLevel had the side effect that a dock or panel
having the _NET_WM_WINDOW_TYPE_DOCK type would stack on top of
fullscreen windows, obscuring part of them.  This is unwanted. No
other window should cover a focused fullscreen window:.
https://specifications.freedesktop.org/wm-spec/latest/ar01s09.html#STACKINGORDER

Simply raising the fullscreen window to the top of the stack of normal
windows is not sufficient if there are windows with higher stacking
levels present.  The separate WMFullscreenLevel is needed.

Cc: Amadeusz Sławiński <amade@asmblr.net>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
8 years agogetstyle: fix wcopy_file paths
Alexandru Lazar [Wed, 20 Apr 2016 18:21:33 +0000 (20 21:21 +0300)]
getstyle: fix wcopy_file paths

Some (presumably stale) calls to wcopy_file used what appears to
be an incorrect destination which did not always exist. This patch
forces assets to be copied under <themedir>/<asset>, rather than
<themedir><absolute path of asset>. It works by first getting the
"new" path (i.e. the one that will be inserted in the property
list), which is relative to <themedir> (and appears to be always
in the root directory, too); it then copies the file to that path.

This *may* have been the original intended behaviour, as the one
it replaces clutters the path and leaks configuration data. In
addition, the style file seems to store only the file's name, not
the path relative to <themedir>, even when the file is copied with
its full hierarchy.

Signed-off-by: Alexandru Lazar <alazar@startmail.com>
8 years agowmmenugen: Fix segfault; argv[argc] doesn't exist.
Doug Torrance [Sun, 24 Apr 2016 22:40:45 +0000 (24 18:40 -0400)]
wmmenugen: Fix segfault; argv[argc] doesn't exist.

8 years agodebian: Update with version 0.95.7-6 packaging.
Doug Torrance [Thu, 24 Mar 2016 20:15:59 +0000 (24 16:15 -0400)]
debian: Update with version 0.95.7-6 packaging.

8 years agodebian: Update with version 0.95.7-5 packaging.
Doug Torrance [Tue, 8 Mar 2016 16:26:46 +0000 (8 11:26 -0500)]
debian: Update with version 0.95.7-5 packaging.

8 years agodebian: Update with version 0.95.7-4 packaging.
Doug Torrance [Mon, 15 Feb 2016 14:43:15 +0000 (15 09:43 -0500)]
debian: Update with version 0.95.7-4 packaging.

Note that the patch 57_ignore_with-aix-soname.diff, mentioned in
debian/changelog, is not included as it has already been applied to the next
branch.

8 years agodebian: Update with version 0.95.7-3 packaging.
Doug Torrance [Tue, 9 Feb 2016 22:57:36 +0000 (9 17:57 -0500)]
debian: Update with version 0.95.7-3 packaging.

8 years agodebian: Remove 56_ignore_runstatedir.diff.
Doug Torrance [Tue, 9 Feb 2016 22:57:35 +0000 (9 17:57 -0500)]
debian: Remove 56_ignore_runstatedir.diff.

This patch has now been applied in next, so its presence among the Debian
patches would cause quilt to fail for those trying to build packages from
next.

8 years agocheck-doc: Ignore with-aix-soname in check-cmdline-options-doc.sh
Doug Torrance [Tue, 9 Feb 2016 16:52:05 +0000 (9 11:52 -0500)]
check-doc: Ignore with-aix-soname in check-cmdline-options-doc.sh

Control: tags -1 forwarded wmaker-dev@lists.windowmaker.org

libtool 2.4.4 will add a --with-aix-soname option.  Ignore it when checking
whether INSTALL-WMAKER is up to date.

Fixes Debian bug #814213 [1].  Proposed fix to Debian package at [2].

   From: Chris Lamb <lamby@debian.org>
   Subject: wmaker: FTBFS: Error: program option '--with-aix-soname' is not in
     the documentation './INSTALL-WMAKER'
   Date: Tue, 09 Feb 2016 09:59:14 +0100

   Dear Maintainer,

   wmaker fails to build from source in unstable/amd64:

     [..]

     make  check-local
     make[4]: Entering directory '/home/lamby/temp/
       cdt.20160209093619.fGSQWYa4PE/wmaker-0.95.7'
     ./script/check-cmdline-options-doc.sh \
      --program "./configure" --text-doc "./INSTALL-WMAKER" \
      --ignore-prg 'with-PACKAGE,without-PACKAGE # only template names from
  Autoconf' \
      --ignore-prg 'program-prefix,program-suffix,program-transform-name
  # in INSTALL' \
      --ignore-prg 'version,quiet,srcdir,build,host,cache-file,no-create
  # in INSTALL' \
      --ignore-prg 'enable-silent-rules,disable-silent-rules # should be in
  INSTALL' \
      --ignore-prg 'enable-dependency-tracking,disable-dependency-tracking
  # in INSTALL' \
      --ignore-prg 'enable-shared,enable-static # should be in INSTALL' \
      --ignore-prg 'disable-option-checking,enable-fast-install # should be
  in INSTALL' \
      --ignore-prg 'disable-libtool-lock,with-pic,with-gnu-ld,with-sysroot
  # for libtool' \
      --ignore-prg 'runstatedir #new in autoconf 2.70, backported in Debian' \
      --ignore-prg 'with-x # no use, it would not work without X'
     Error: program option '--with-aix-soname' is not in the documentation
       './INSTALL-WMAKER'
     Makefile:951: recipe for target 'configure-documentation' failed
     make[4]: *** [configure-documentation] Error 1

     [..]

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=814213
[2] http://anonscm.debian.org/cgit/pkg-wmaker/wmaker.git/commit/?id=dd955a7

8 years agocheck-doc: Ignore runstatedir in check-cmdline-options-doc.sh
Doug Torrance [Tue, 9 Feb 2016 16:52:04 +0000 (9 11:52 -0500)]
check-doc: Ignore runstatedir in check-cmdline-options-doc.sh

autoconf 2.70 will add a --runstatedir option, Debian has backported it.
Ignore it when checking whether INSTALL-WMAKER is up to date.

Patch by Andreas Metzler from Debian package [1].

[1] https://sources.debian.net/src/wmaker/0.95.7-3/debian/patches/
    56_ignore_runstatedir.diff/

8 years agoWPrefs: Add support for fpixmap ("fillscale") texture.
Doug Torrance [Sun, 24 Jan 2016 06:32:29 +0000 (24 01:32 -0500)]
WPrefs: Add support for fpixmap ("fillscale") texture.

8 years agoWPrefs: Code formatting in TexturePanel.c; minimizes checkpatch.pl warnings.
Doug Torrance [Sun, 24 Jan 2016 06:32:28 +0000 (24 01:32 -0500)]
WPrefs: Code formatting in TexturePanel.c; minimizes checkpatch.pl warnings.

8 years agowmlib: Remove install-exec-local target.
Doug Torrance [Sat, 23 Jan 2016 13:55:45 +0000 (23 08:55 -0500)]
wmlib: Remove install-exec-local target.

This was made redundant by defining pkgconfigdir and pkgconfig_DATA.  On
some systems (with automake < 1.15), this caused a build failure, e.g., [1]:

/usr/bin/install -c -m 644 wmlib.pc /«BUILDDIR»/wmaker-0.95.7+201601230517/
 debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig/
/usr/bin/install -c -m 644 wmlib.pc '/«BUILDDIR»/wmaker-0.95.7+201601230517/
 debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig'
/usr/bin/install: cannot create regular file '/«BUILDDIR»/
 wmaker-0.95.7+201601230517/debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig/
 wmlib.pc': File exists

Also change the definition of DISTCLEANFILES to pkgconfig_DATA to match
the Makefiles for WINGs and wrlib.

[1] https://launchpadlibrarian.net/234989800/
 buildlog_ubuntu-precise-amd64.wmaker_0.95.7+201601230517-0ppa201601211606~
 ubuntu12.04.1_BUILDING.txt.gz

8 years agowmlib: Add pkg-config file.
Doug Torrance [Sat, 23 Jan 2016 04:32:57 +0000 (22 23:32 -0500)]
wmlib: Add pkg-config file.

8 years agoTranslations: Frisian language files updated
Alwin [Thu, 21 Jan 2016 17:10:06 +0000 (21 18:10 +0100)]
Translations: Frisian language files updated

New entries were translated, and a lot improved.

8 years agoTranslations: Dutch language files updated
Alwin [Thu, 21 Jan 2016 17:10:05 +0000 (21 18:10 +0100)]
Translations: Dutch language files updated

New entries were translated, a few improved.

8 years agowmaker: Implement basic menu shading.
Doug Torrance [Thu, 21 Jan 2016 04:19:04 +0000 (20 23:19 -0500)]
wmaker: Implement basic menu shading.

Menus may now be shaded like other windows by double clicking on their title
bars.  Note that, even if animations are enabled, the shade animation seen
with other windows does not work for menus.

This fixes Debian bug #72038 [1]:

  From: Chris Pimlott <pimlottc@null.net>
  Subject: wmaker: Persistant menus should be shade-able
  Date: Tue, 19 Sep 2000 14:04:41 -0400

  One of the many little things that makes me appreciate Window
  Maker is that by clicking on the title bar of a menu, it can be made
  "persistant" so it stays on screen and doesn't dissappear after click or
  mouseout like normal.  I find it useful if I need to run a number of
  commands in a submenu, or for keeping a list of open windows on
  screen.

  The usefulness of this feature could be extended by allowing menus
  to be shaded (by double-clicking the title) like normal windows, thus
  collapsing them to take up less space when not needed but still be
  persistant.  Perhaps other commands of windows (like maximizing/
  minimizing, resizing) might be considered as well, although
  personally only shading stands out as particularly useful for menus.

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=72038

8 years agowmaker: Fix whitespace in menu.h; passes checkpatch.pl inspection.
Doug Torrance [Thu, 21 Jan 2016 04:19:03 +0000 (20 23:19 -0500)]
wmaker: Fix whitespace in menu.h; passes checkpatch.pl inspection.

8 years agowmaker: Display keyboard shortcuts for remaining options in window menu.
Doug Torrance [Wed, 20 Jan 2016 04:21:46 +0000 (19 23:21 -0500)]
wmaker: Display keyboard shortcuts for remaining options in window menu.

In particular, Keep on top, Keep at bottom, and Omnipresent.

8 years agowmaker: Add keyboard shortcuts for keeping window on top or at bottom.
Doug Torrance [Wed, 20 Jan 2016 04:21:45 +0000 (19 23:21 -0500)]
wmaker: Add keyboard shortcuts for keeping window on top or at bottom.

This closes Debian bug #306808 [1].

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=306808

8 years agowmaker: Use window placement settings on other workspaces.
Doug Torrance [Tue, 19 Jan 2016 01:52:17 +0000 (18 20:52 -0500)]
wmaker: Use window placement settings on other workspaces.

Previously, if a window was placed on a workspace other than the current one,
the window placement settings (given by WindowPlacement) were ignored and
the window was drawn in the upper left hand corner.  This is Debian
bug #181735, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=181735

Part of the bug report by Andrew Gorcester from the link above
is reproduced here:

"When placing a window in a non-active workspace (which usually happens
if the user asks for a program to be started when wmaker is launched,
and defines an initial workspace in the window's attributes dialog),
Windowmaker doesn't follow specified rules on window placement.

All windows of programs that don't manage their own window placement
(Gaim manages placement itself, for instance) are placed in the far
upper-left corner.  Usually windows originate from 64, 64, because the
clip occupies the upper-left corner by default."