Hello community,
here is the log from the commit of package xfwm4 for openSUSE:Factory checked in at 2018-08-18 00:07:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xfwm4 (Old)
and /work/SRC/openSUSE:Factory/.xfwm4.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xfwm4"
Sat Aug 18 00:07:02 2018 rev:56 rq:629976 version:4.12.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/xfwm4/xfwm4.changes 2017-05-29 22:18:50.170882045 +0200
+++ /work/SRC/openSUSE:Factory/.xfwm4.new/xfwm4.changes 2018-08-18 00:07:04.519609318 +0200
@@ -1,0 +2,16 @@
+Mon Aug 6 06:57:44 UTC 2018 - seife+obs@b1-systems.com
+
+- update to 4.12.5:
+ - client: Check GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED
+ - client: Check when GTK_FRAME_EXTENTS has changed (bxo#14511)
+ - netwm: Fix adding maximized state (bxo#14514)
+ - fix typo in clientMoveTile (bxo#14181)
+ - screen: Use computed screen size instead of xlib
+ - client: Make sure to redraw when removing maximized (bxo#13954)
+ - Fix logic error in bottom struts validation (bxo#13964)
+ - client: Maximize on expected output (bxo#13284)
+ - screen: Fix broken monitor index (bxo#13608)
+ - Use ximerama indices for _NET_WM_FULLSCREEN_MONITORS (bxo#9351)
+ - placement: Use primary monitor as default (bxo#13454)
+
+-------------------------------------------------------------------
Old:
----
xfwm4-4.12.4.tar.bz2
New:
----
xfwm4-4.12.5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xfwm4.spec ++++++
--- /var/tmp/diff_new_pack.0ZAGVt/_old 2018-08-18 00:07:05.079610996 +0200
+++ /var/tmp/diff_new_pack.0ZAGVt/_new 2018-08-18 00:07:05.083611009 +0200
@@ -1,7 +1,7 @@
#
# spec file for package xfwm4
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,10 +17,10 @@
Name: xfwm4
-Version: 4.12.4
+Version: 4.12.5
Release: 0
Summary: Default Window Manager for the Xfce Desktop Environment
-License: GPL-2.0+
+License: GPL-2.0-or-later
Group: System/GUI/XFCE
Url: http://docs.xfce.org/xfce/xfwm4/start
Source0: http://archive.xfce.org/src/xfce/xfwm4/4.12/%{name}-%{version}.tar.bz2
@@ -50,6 +50,7 @@
BuildRequires: pkgconfig(xdamage)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xfixes)
+BuildRequires: pkgconfig(xinerama)
BuildRequires: pkgconfig(xrandr)
BuildRequires: pkgconfig(xrender)
Recommends: %{name}-lang = %{version}
@@ -121,7 +122,8 @@
%files
%defattr(-,root,root)
-%doc example.gtkrc-2.0 README COPYING* AUTHORS COMPOSITOR ChangeLog TODO
+%doc example.gtkrc-2.0 README AUTHORS COMPOSITOR ChangeLog TODO
+%license COPYING*
%{_bindir}/xfwm4
%{_bindir}/xfwm4-settings
%{_bindir}/xfwm4-tweaks-settings
++++++ xfwm4-4.12.4.tar.bz2 -> xfwm4-4.12.5.tar.bz2 ++++++
++++ 6197 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfwm4-4.12.4/ChangeLog new/xfwm4-4.12.5/ChangeLog
--- old/xfwm4-4.12.4/ChangeLog 2017-03-16 09:06:25.000000000 +0100
+++ new/xfwm4-4.12.5/ChangeLog 2018-07-29 15:02:35.000000000 +0200
@@ -1,3 +1,205 @@
+commit cfc967a10ad36a31b5776a2880c46c43ee03cc3c
+Author: Olivier Fourdan
+Date: Sun Jul 29 15:00:11 2018 +0200
+
+ Release 4.12.5!
+
+ Signed-off-by: Olivier Fourdan
+
+commit d730ebb6244874805b3e37b6c0bb3b9328f2b23d
+Author: Olivier Fourdan
+Date: Sun Jul 22 10:58:42 2018 +0200
+
+ client: Check GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED
+
+ Check that value for GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED has actually
+ changed before reconfiguring the window.
+
+ (cherry picked from commit 5f7a1f5f91fd0eec91a4a88c669847fd2567a270)
+
+commit 18575f3a098c7bbb3a43838c7745e01efa260997
+Author: Olivier Fourdan
+Date: Sun Jul 22 10:54:35 2018 +0200
+
+ client: Check when GTK_FRAME_EXTENTS has changed
+
+ Bug: 14511
+
+ GTK+ will update its GTK_FRAME_EXTENTS property continuously even when
+ the value hasn't actually changed, which causes the maximized state to
+ be cleared when transitioning to/from fullscreen to maximized.
+
+ Check that he extents have changed and reconfigure the client's window
+ only when the value has changed.
+
+ (cherry picked from commit 0a5ba680f27a48242d52c590727deb837708da09)
+
+commit 860b369474875442ff1e1b14589522a8db8e9804
+Author: Olivier Fourdan
+Date: Wed Jul 18 15:28:23 2018 +0200
+
+ netwm: Fix adding maximized state
+
+ Bug 14514
+
+ xfwm4 would fail to add maximized states using extended window manager
+ hints mechanisms.
+
+ (cherry picked from commit 5e1354886ae9b22c0fe86ba695ed7f0a63fed14e)
+
+commit 020b0722b0d83e43ee295486ddffca504283f56a
+Author: Adam Purkrt
+Date: Sun Jan 21 17:51:37 2018 +0100
+
+ Typo in clientMoveTile
+
+ Bug: 14181
+
+ The comparison is corrected, closing a one pixel gap between
+ TILE_LEFT and TILE_UP_LEFT and between TILE_RIGHT and TILE_UP_RIGHT.
+
+ (cherry picked from commit 4ec48e8d52ad5afefb20d00345967a1bcf27a34f)
+
+commit 13b6fceb41e6275193939eb63431ef712d5a76ca
+Author: Olivier Fourdan
+Date: Thu Jan 18 21:18:04 2018 +0100
+
+ screen: Use computed screen size instead of xlib
+
+ When the xrandr layout is changed, we recompute the screen size on the
+ actual monitors size and layout.
+
+ Use this computed value instead of the size reported by Xlib as it's not
+ yet updated by the time we reconfigure our display. This is particularly
+ bad when the compositor is enabled as the overlay window end up being of
+ the wrong size.
+
+ (cherry picked from commit 480517d49d3e4cf48357fbe47d193f62542ab94b)
+
+commit 11421dc28cf3a4ea6598eb32f48dc39da2c078db
+Author: Olivier Fourdan
+Date: Fri Dec 8 20:17:25 2017 +0100
+
+ client: Make sure to redraw when removing maximized
+
+ Bug: 13954
+
+ When a client issues a ConfigureRequest() on a toplevel window, that
+ window may transition from maximized to un-maximized state.
+
+ Make sure we repaint and relocate the client window within the frame.
+
+ Signed-off-by: Olivier Fourdan
+ (cherry picked from commit 87cbe0e3d01d467c14aa2bb4d3656bf6b39a4247)
+
+commit 0f7f70f3b3ed0883bdca6989673dbd1cdffdd901
+Author: Andrey Alekseenkov
+Date: Tue Dec 5 10:55:30 2017 +0100
+
+ Fix logic error in bottom struts validation
+
+ Bug: 13964
+ (cherry picked from commit b6fa004ea1ad4d7db84730ae5f773cbc4b762eeb)
+
+commit 0c00ec4c86003e053d2e68337929fad8d7bedff1
+Author: P. Pronk
+Date: Tue Jan 10 12:45:53 2017 +0100
+
+ client: Maximize on expected output
+
+ Bug: 13284
+
+ When dragging a window from a large monitor to the top of a smaller monitor to
+ maximize the window, it is possible that the window gets maximised on a
+ different monitor then the monitor your mouse is.
+
+ This happens because clientToggleMaximized uses the center point of the window
+ to calculate on which monitor the window should be maximised.
+
+ To fix this behaviour this commits adds a clientToggleMaximizedAtPoint method
+ so we can tell on which monitor the window should be maximised.
+
+ (cherry picked from commit 9c888ac750265b88a865cdbd01edf50395c82c54)
+
+commit 2bd611c255570c04b2c092fee35caa6f4d43c663
+Author: Olivier Fourdan
+Date: Thu Jun 1 09:30:40 2017 +0200
+
+ screen: Fix broken monitor index
+
+ Bug: 13608
+
+ Commit 5895577 (Use ximerama indices for _NET_WM_FULLSCREEN_MONITORS)
+ introduced a regression because the monitor index was wrongly compared
+ against the total number of monitors, which would falsely assume that
+ the Xrandr query failed whereas it actually worked.
+
+ Fix the false comparison and also use the screen size as fallback values
+ in case the Xrandr really failed so that we don't end up using random
+ uninitialized values.
+
+ (cherry picked from commit 2aaf9e3328084cc268ffe290f7dd14d7327e1e50)
+
+commit c3673a138bf8c3512a1d7382e7883a9f33af77ad
+Author: Olivier Fourdan
+Date: Mon May 1 22:15:49 2017 +0200
+
+ Use ximerama indices for _NET_WM_FULLSCREEN_MONITORS
+
+ Bug: 9351
+
+ _NET_WM_FULLSCREEN_MONITORS uses Xinerama indices for multi-monitor
+ fullscreen, but xfwm4 uses gdk indices which may differ.
+
+ As a result, depending on the actual layout and which monitor is marked
+ as primary, a fullscreen window could be placed on the wrong outputs.
+
+ Fetch the Xinerama list and use the monitor size from there instead of
+ relying on gdk monitor indices for _NET_WM_FULLSCREEN_MONITORS
+
+ (cherry picked from commit 29e813a4fe7ad1dbe77a96dd841627fc567a6bd6)
+
+commit e9d1de4c9bf4512760a512ecab7411ac08165f2a
+Author: Olivier Fourdan
+Date: Thu Mar 23 11:39:04 2017 +0100
+
+ placement: Use primary monitor as default
+
+ Bug: 13454
+
+ We would use the first monitor by default, but we'd rather use the
+ primary monitor.
+
+ Signed-off-by: Olivier Fourdan
+ (cherry picked from commit dee7e7e5019b14f0f76eb8be962ffa9502e346e4)
+
+commit 37b4d438201d08ebe995a0910ce37575c158f54b
+Author: Olivier Fourdan
+Date: Tue Mar 21 09:56:41 2017 +0100
+
+ netwm: avoid spurious warning on restart
+
+ NET_WM_STATE_FOCUS is set by the WM itself, it's not an unknown
+ property.
+
+ (cherry picked from commit 84ef731d4ccf167886d4d2ed0557ebf8882105d7)
+
+commit a598b94c67e20b1dae2ead80d6fdcd823e3fe710
+Author: Unit 193
+Date: Fri Mar 17 17:57:18 2017 -0400
+
+ Fix a spelling mistake.
+
+ (cherry picked from commit 087decc60f7c8c94e0f9734bdb66d910b8aea59a)
+
+commit 6fe17e9032fa5c23876dce3f50076be137adae1f
+Author: Olivier Fourdan
+Date: Thu Mar 16 09:12:09 2017 +0100
+
+ Post release tag bump.
+
+ Signed-off-by: Olivier Fourdan
+
commit 784495224f9ee43868960e573720c9257c950d1f
Author: Olivier Fourdan
Date: Thu Mar 16 09:05:59 2017 +0100
@@ -1388,7 +1590,7 @@
Transifex (https://www.transifex.com/projects/p/xfce/).
commit db626a73b286bd44b94dc3b9fc7556e0a695a4c1
-Merge: f079ff3 82e4409
+Merge: f079ff3c 82e44091
Author: Olivier Fourdan
Date: Tue Jan 20 22:30:27 2015 +0100
@@ -1401,7 +1603,7 @@
Unset RESTORE_SIZE_POS on resize.
commit f079ff3ce479ea60b5771a1829e5e5d591b89550
-Merge: 8e809ba cd73bb7
+Merge: 8e809bac cd73bb72
Author: Olivier Fourdan
Date: Tue Jan 20 21:55:47 2015 +0100
@@ -2318,7 +2520,7 @@
Transifex (https://www.transifex.com/projects/p/xfce/).
commit 61c2a6bf86f745f149ee81088116f56cda64d4e8
-Merge: 045e811 b6171c1
+Merge: 045e811f b6171c17
Author: Olivier Fourdan
Date: Fri Dec 5 14:03:11 2014 +0100
@@ -4858,7 +5060,7 @@
Transmitted-via: Transifex (translations.xfce.org).
commit 8cd895fdd7f684d6a631e6d29a9f4f50a513da00
-Merge: d5f3b8f 6b8259e
+Merge: d5f3b8f4 6b8259ee
Author: Jérôme Guelfucci
Date: Sun Dec 30 15:37:15 2012 +0100
@@ -10280,7 +10482,7 @@
Enforce link to libxfce4ui.
commit fe18886f8a81a1d8f0814da56b932398ada68cfb
-Merge: 5b50425 4f7a589
+Merge: 5b50425d 4f7a589a
Author: Olivier Fourdan
Date: Fri Mar 5 10:52:38 2010 +0100
@@ -10741,7 +10943,7 @@
Transmitted-via: Transifex (translations.xfce.org).
commit f9068ec3519ecf1b077f8868a0d997373966d683
-Merge: c1a867e cebe5f8
+Merge: c1a867e6 cebe5f8d
Author: Stephan Arts
Date: Sun Jan 10 10:22:34 2010 +0100
@@ -10825,7 +11027,7 @@
Transmitted-via: Transifex (translations.xfce.org)
commit 0a64813cd3cf69a54375ac8da939daa7f4b19d35
-Merge: 2d19268 cdabb3b
+Merge: 2d19268c cdabb3b3
Author: Nick Schermer
Date: Tue Dec 15 00:53:22 2009 +0100
@@ -11009,7 +11211,7 @@
Sanitize build with -Wall -Werror
commit 8d9cb7fdabb0229e5db46646fdf54124e9307021
-Merge: 9166f38 0f62544
+Merge: 9166f38e 0f625442
Author: Olivier Fourdan
Date: Wed Sep 9 20:48:23 2009 +0200
@@ -11098,7 +11300,7 @@
Transmitted-via: Transifex (translations.xfce.org)
commit a1f674d35d5cb8d85239c5427868a3a122a89303
-Merge: 34ed718 ad8be28
+Merge: 34ed718c ad8be286
Author: Olivier Fourdan
Date: Mon Aug 17 17:23:32 2009 +0200
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfwm4-4.12.4/INSTALL new/xfwm4-4.12.5/INSTALL
--- old/xfwm4-4.12.4/INSTALL 2017-03-16 09:06:21.000000000 +0100
+++ new/xfwm4-4.12.5/INSTALL 2018-07-29 14:57:34.000000000 +0200
@@ -1,8 +1,8 @@
Installation Instructions
*************************
-Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
-Inc.
+ Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software
+Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -12,97 +12,96 @@
Basic Installation
==================
- Briefly, the shell command `./configure && make && make install'
+ Briefly, the shell command './configure && make && make install'
should configure, build, and install this package. The following
-more-detailed instructions are generic; see the `README' file for
+more-detailed instructions are generic; see the 'README' file for
instructions specific to this package. Some packages provide this
-`INSTALL' file but do not implement all of the features documented
+'INSTALL' file but do not implement all of the features documented
below. The lack of an optional feature in a given package is not
necessarily a bug. More recommendations for GNU packages can be found
in *note Makefile Conventions: (standards)Makefile Conventions.
- The `configure' shell script attempts to guess correct values for
+ The 'configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status' that
+those values to create a 'Makefile' in each directory of the package.
+It may also create one or more '.h' files containing system-dependent
+definitions. Finally, it creates a shell script 'config.status' that
you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
+file 'config.log' containing compiler output (useful mainly for
+debugging 'configure').
- It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring. Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.
+ It can also use an optional file (typically called 'config.cache' and
+enabled with '--cache-file=config.cache' or simply '-C') that saves the
+results of its tests to speed up reconfiguring. Caching is disabled by
+default to prevent problems with accidental use of stale cache files.
If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
+to figure out how 'configure' could check whether to do them, and mail
+diffs or instructions to the address given in the 'README' so they can
be considered for the next release. If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
+some point 'config.cache' contains results you don't want to keep, you
may remove or edit it.
- The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'. You need `configure.ac' if
-you want to change it or regenerate `configure' using a newer version
-of `autoconf'.
+ The file 'configure.ac' (or 'configure.in') is used to create
+'configure' by a program called 'autoconf'. You need 'configure.ac' if
+you want to change it or regenerate 'configure' using a newer version of
+'autoconf'.
The simplest way to compile this package is:
- 1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system.
+ 1. 'cd' to the directory containing the package's source code and type
+ './configure' to configure the package for your system.
- Running `configure' might take a while. While running, it prints
+ Running 'configure' might take a while. While running, it prints
some messages telling which features it is checking for.
- 2. Type `make' to compile the package.
+ 2. Type 'make' to compile the package.
- 3. Optionally, type `make check' to run any self-tests that come with
+ 3. Optionally, type 'make check' to run any self-tests that come with
the package, generally using the just-built uninstalled binaries.
- 4. Type `make install' to install the programs and any data files and
+ 4. Type 'make install' to install the programs and any data files and
documentation. When installing into a prefix owned by root, it is
recommended that the package be configured and built as a regular
- user, and only the `make install' phase executed with root
+ user, and only the 'make install' phase executed with root
privileges.
- 5. Optionally, type `make installcheck' to repeat any self-tests, but
+ 5. Optionally, type 'make installcheck' to repeat any self-tests, but
this time using the binaries in their final installed location.
This target does not install anything. Running this target as a
- regular user, particularly if the prior `make install' required
+ regular user, particularly if the prior 'make install' required
root privileges, verifies that the installation completed
correctly.
6. You can remove the program binaries and object files from the
- source code directory by typing `make clean'. To also remove the
- files that `configure' created (so you can compile the package for
- a different kind of computer), type `make distclean'. There is
- also a `make maintainer-clean' target, but that is intended mainly
+ source code directory by typing 'make clean'. To also remove the
+ files that 'configure' created (so you can compile the package for
+ a different kind of computer), type 'make distclean'. There is
+ also a 'make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
- 7. Often, you can also type `make uninstall' to remove the installed
+ 7. Often, you can also type 'make uninstall' to remove the installed
files again. In practice, not all packages have tested that
uninstallation works correctly, even though it is required by the
GNU Coding Standards.
- 8. Some packages, particularly those that use Automake, provide `make
+ 8. Some packages, particularly those that use Automake, provide 'make
distcheck', which can by used by developers to test that all other
- targets like `make install' and `make uninstall' work correctly.
+ targets like 'make install' and 'make uninstall' work correctly.
This target is generally not run by end users.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
-the `configure' script does not know about. Run `./configure --help'
+the 'configure' script does not know about. Run './configure --help'
for details on some of the pertinent environment variables.
- You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment. Here
-is an example:
+ You can give 'configure' initial values for configuration parameters
+by setting variables in the command line or in the environment. Here is
+an example:
./configure CC=c99 CFLAGS=-g LIBS=-lposix
@@ -113,21 +112,21 @@
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
-own directory. To do this, you can use GNU `make'. `cd' to the
+own directory. To do this, you can use GNU 'make'. 'cd' to the
directory where you want the object files and executables to go and run
-the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'. This
-is known as a "VPATH" build.
+the 'configure' script. 'configure' automatically checks for the source
+code in the directory that 'configure' is in and in '..'. This is known
+as a "VPATH" build.
- With a non-GNU `make', it is safer to compile the package for one
+ With a non-GNU 'make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
-installed the package for one architecture, use `make distclean' before
+installed the package for one architecture, use 'make distclean' before
reconfiguring for another architecture.
On MacOS X 10.5 and later systems, you can create libraries and
executables that work on multiple system types--known as "fat" or
-"universal" binaries--by specifying multiple `-arch' options to the
-compiler but only a single `-arch' option to the preprocessor. Like
+"universal" binaries--by specifying multiple '-arch' options to the
+compiler but only a single '-arch' option to the preprocessor. Like
this:
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
@@ -136,105 +135,104 @@
This is not guaranteed to produce working output in all cases, you
may have to build one architecture at a time and combine the results
-using the `lipo' tool if you have problems.
+using the 'lipo' tool if you have problems.
Installation Names
==================
- By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc. You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX', where PREFIX must be an
+ By default, 'make install' installs the package's commands under
+'/usr/local/bin', include files under '/usr/local/include', etc. You
+can specify an installation prefix other than '/usr/local' by giving
+'configure' the option '--prefix=PREFIX', where PREFIX must be an
absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+pass the option '--exec-prefix=PREFIX' to 'configure', the package uses
PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them. In general, the
-default for these options is expressed in terms of `${prefix}', so that
-specifying just `--prefix' will affect all of the other directory
+options like '--bindir=DIR' to specify different values for particular
+kinds of files. Run 'configure --help' for a list of the directories
+you can set and what kinds of files go in them. In general, the default
+for these options is expressed in terms of '${prefix}', so that
+specifying just '--prefix' will affect all of the other directory
specifications that were not explicitly provided.
The most portable way to affect installation locations is to pass the
-correct locations to `configure'; however, many packages provide one or
+correct locations to 'configure'; however, many packages provide one or
both of the following shortcuts of passing variable assignments to the
-`make install' command line to change installation locations without
+'make install' command line to change installation locations without
having to reconfigure or recompile.
The first method involves providing an override variable for each
-affected directory. For example, `make install
+affected directory. For example, 'make install
prefix=/alternate/directory' will choose an alternate location for all
directory configuration variables that were expressed in terms of
-`${prefix}'. Any directories that were specified during `configure',
-but not in terms of `${prefix}', must each be overridden at install
-time for the entire installation to be relocated. The approach of
-makefile variable overrides for each directory variable is required by
-the GNU Coding Standards, and ideally causes no recompilation.
-However, some platforms have known limitations with the semantics of
-shared libraries that end up requiring recompilation when using this
-method, particularly noticeable in packages that use GNU Libtool.
-
- The second method involves providing the `DESTDIR' variable. For
-example, `make install DESTDIR=/alternate/directory' will prepend
-`/alternate/directory' before all installation names. The approach of
-`DESTDIR' overrides is not required by the GNU Coding Standards, and
+'${prefix}'. Any directories that were specified during 'configure',
+but not in terms of '${prefix}', must each be overridden at install time
+for the entire installation to be relocated. The approach of makefile
+variable overrides for each directory variable is required by the GNU
+Coding Standards, and ideally causes no recompilation. However, some
+platforms have known limitations with the semantics of shared libraries
+that end up requiring recompilation when using this method, particularly
+noticeable in packages that use GNU Libtool.
+
+ The second method involves providing the 'DESTDIR' variable. For
+example, 'make install DESTDIR=/alternate/directory' will prepend
+'/alternate/directory' before all installation names. The approach of
+'DESTDIR' overrides is not required by the GNU Coding Standards, and
does not work on platforms that have drive letters. On the other hand,
it does better at avoiding recompilation issues, and works well even
-when some directory options were not specified in terms of `${prefix}'
-at `configure' time.
+when some directory options were not specified in terms of '${prefix}'
+at 'configure' time.
Optional Features
=================
If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+with an extra prefix or suffix on their names by giving 'configure' the
+option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
- Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
+ Some packages pay attention to '--enable-FEATURE' options to
+'configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to '--with-PACKAGE' options, where PACKAGE
+is something like 'gnu-as' or 'x' (for the X Window System). The
+'README' should mention any '--enable-' and '--with-' options that the
package recognizes.
- For packages that use the X Window System, `configure' can usually
+ For packages that use the X Window System, 'configure' can usually
find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
+you can use the 'configure' options '--x-includes=DIR' and
+'--x-libraries=DIR' to specify their locations.
Some packages offer the ability to configure how verbose the
-execution of `make' will be. For these packages, running `./configure
+execution of 'make' will be. For these packages, running './configure
--enable-silent-rules' sets the default to minimal output, which can be
-overridden with `make V=1'; while running `./configure
+overridden with 'make V=1'; while running './configure
--disable-silent-rules' sets the default to verbose, which can be
-overridden with `make V=0'.
+overridden with 'make V=0'.
Particular systems
==================
- On HP-UX, the default C compiler is not ANSI C compatible. If GNU
-CC is not installed, it is recommended to use the following options in
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC
+is not installed, it is recommended to use the following options in
order to use an ANSI C compiler:
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
- HP-UX `make' updates targets which have the same time stamps as
-their prerequisites, which makes it generally unusable when shipped
-generated files such as `configure' are involved. Use GNU `make'
-instead.
+ HP-UX 'make' updates targets which have the same time stamps as their
+prerequisites, which makes it generally unusable when shipped generated
+files such as 'configure' are involved. Use GNU 'make' instead.
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
-parse its `' header file. The option `-nodtk' can be used as
-a workaround. If GNU CC is not installed, it is therefore recommended
-to try
+parse its '' header file. The option '-nodtk' can be used as a
+workaround. If GNU CC is not installed, it is therefore recommended to
+try
./configure CC="cc"
@@ -242,26 +240,26 @@
./configure CC="cc -nodtk"
- On Solaris, don't put `/usr/ucb' early in your `PATH'. This
+ On Solaris, don't put '/usr/ucb' early in your 'PATH'. This
directory contains several dysfunctional programs; working variants of
-these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
-in your `PATH', put it _after_ `/usr/bin'.
+these programs are available in '/usr/bin'. So, if you need '/usr/ucb'
+in your 'PATH', put it _after_ '/usr/bin'.
- On Haiku, software installed for all users goes in `/boot/common',
-not `/usr/local'. It is recommended to use the following options:
+ On Haiku, software installed for all users goes in '/boot/common',
+not '/usr/local'. It is recommended to use the following options:
./configure --prefix=/boot/common
Specifying the System Type
==========================
- There may be some features `configure' cannot figure out
+ There may be some features 'configure' cannot figure out
automatically, but needs to determine by the type of machine the package
will run on. Usually, assuming the package is built to be run on the
-_same_ architectures, `configure' can figure that out, but if it prints
+_same_ architectures, 'configure' can figure that out, but if it prints
a message saying it cannot guess the machine type, give it the
-`--build=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
+'--build=TYPE' option. TYPE can either be a short name for the system
+type, such as 'sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM
@@ -270,101 +268,101 @@
OS
KERNEL-OS
- See the file `config.sub' for the possible values of each field. If
-`config.sub' isn't included in this package, then this package doesn't
+ See the file 'config.sub' for the possible values of each field. If
+'config.sub' isn't included in this package, then this package doesn't
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
+use the option '--target=TYPE' to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
+eventually be run) with '--host=TYPE'.
Sharing Defaults
================
- If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
+ If you want to set default values for 'configure' scripts to share,
+you can create a site shell script called 'config.site' that gives
+default values for variables like 'CC', 'cache_file', and 'prefix'.
+'configure' looks for 'PREFIX/share/config.site' if it exists, then
+'PREFIX/etc/config.site' if it exists. Or, you can set the
+'CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all 'configure' scripts look for a site script.
Defining Variables
==================
Variables not defined in a site shell script can be set in the
-environment passed to `configure'. However, some packages may run
+environment passed to 'configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'. For example:
+them in the 'configure' command line, using 'VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
-causes the specified `gcc' to be used as the C compiler (unless it is
+causes the specified 'gcc' to be used as the C compiler (unless it is
overridden in the site shell script).
-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf limitation. Until the limitation is lifted, you can use
-this workaround:
+Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an
+Autoconf limitation. Until the limitation is lifted, you can use this
+workaround:
CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
-`configure' Invocation
+'configure' Invocation
======================
- `configure' recognizes the following options to control how it
+ 'configure' recognizes the following options to control how it
operates.
-`--help'
-`-h'
- Print a summary of all of the options to `configure', and exit.
+'--help'
+'-h'
+ Print a summary of all of the options to 'configure', and exit.
-`--help=short'
-`--help=recursive'
+'--help=short'
+'--help=recursive'
Print a summary of the options unique to this package's
- `configure', and exit. The `short' variant lists options used
- only in the top level, while the `recursive' variant lists options
- also present in any nested packages.
-
-`--version'
-`-V'
- Print the version of Autoconf used to generate the `configure'
+ 'configure', and exit. The 'short' variant lists options used only
+ in the top level, while the 'recursive' variant lists options also
+ present in any nested packages.
+
+'--version'
+'-V'
+ Print the version of Autoconf used to generate the 'configure'
script, and exit.
-`--cache-file=FILE'
+'--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
- traditionally `config.cache'. FILE defaults to `/dev/null' to
+ traditionally 'config.cache'. FILE defaults to '/dev/null' to
disable caching.
-`--config-cache'
-`-C'
- Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
+'--config-cache'
+'-C'
+ Alias for '--cache-file=config.cache'.
+
+'--quiet'
+'--silent'
+'-q'
Do not print messages saying which checks are being made. To
- suppress all normal output, redirect it to `/dev/null' (any error
+ suppress all normal output, redirect it to '/dev/null' (any error
messages will still be shown).
-`--srcdir=DIR'
+'--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
- `configure' can determine that directory automatically.
+ 'configure' can determine that directory automatically.
-`--prefix=DIR'
- Use DIR as the installation prefix. *note Installation Names::
- for more details, including other options available for fine-tuning
- the installation locations.
+'--prefix=DIR'
+ Use DIR as the installation prefix. *note Installation Names:: for
+ more details, including other options available for fine-tuning the
+ installation locations.
-`--no-create'
-`-n'
+'--no-create'
+'-n'
Run the configure checks, but stop before creating any output
files.
-`configure' also accepts some other, not widely useful, options. Run
-`configure --help' for more details.
+'configure' also accepts some other, not widely useful, options. Run
+'configure --help' for more details.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfwm4-4.12.4/compile new/xfwm4-4.12.5/compile
--- old/xfwm4-4.12.4/compile 2017-03-16 09:06:21.000000000 +0100
+++ new/xfwm4-4.12.5/compile 2018-07-29 14:57:34.000000000 +0200
@@ -1,9 +1,9 @@
-#! /bin/sh
+#!/bin/sh
# Wrapper for compilers which do not understand '-c -o'.
-scriptversion=2012-10-14.11; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# Written by Tom Tromey .
#
# This program is free software; you can redistribute it and/or modify
@@ -255,7 +255,8 @@
echo "compile $scriptversion"
exit $?
;;
- cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
@@ -342,6 +343,6 @@
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfwm4-4.12.4/config.h.in new/xfwm4-4.12.5/config.h.in
--- old/xfwm4-4.12.4/config.h.in 2017-03-16 09:06:25.000000000 +0100
+++ new/xfwm4-4.12.5/config.h.in 2018-07-29 14:57:48.000000000 +0200
@@ -18,6 +18,14 @@
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#undef HAVE_BIND_TEXTDOMAIN_CODESET
+/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
+ CoreFoundation framework. */
+#undef HAVE_CFLOCALECOPYCURRENT
+
+/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
+ the CoreFoundation framework. */
+#undef HAVE_CFPREFERENCESCOPYAPPVALUE
+
/* Define to enable compositor */
#undef HAVE_COMPOSITOR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfwm4-4.12.4/configure.ac new/xfwm4-4.12.5/configure.ac
--- old/xfwm4-4.12.4/configure.ac 2017-03-16 09:06:18.000000000 +0100
+++ new/xfwm4-4.12.5/configure.ac 2018-07-29 14:57:31.000000000 +0200
@@ -10,8 +10,8 @@
m4_define([xfwm4_version_major], [4])
m4_define([xfwm4_version_minor], [12])
-m4_define([xfwm4_version_micro], [4])
-m4_define([xfwm4_version_build], [7844952])
+m4_define([xfwm4_version_micro], [5])
+m4_define([xfwm4_version_build], [d730ebb6])
m4_define([xfwm4_version_tag], [])
m4_define([xfwm4_version], [xfwm4_version_major().xfwm4_version_minor().xfwm4_version_micro()ifelse(xfwm4_version_tag(), [git], [xfwm4_version_tag().xfwm4_version_build()], [xfwm4_version_tag()])])
@@ -100,6 +100,7 @@
XDT_CHECK_PACKAGE([LIBWNCK], [libwnck-1.0], [wnck_minimum_version])
XDT_CHECK_PACKAGE([DBUS], [dbus-1], [1.0.0])
XDT_CHECK_PACKAGE([DBUS_GLIB], [dbus-glib-1], [0.72])
+XDT_CHECK_PACKAGE([XINERAMA], [xinerama], [0])
AS_IF([test "x$USE_MAINTAINER_MODE" = "xyes"],
[
@@ -244,8 +245,8 @@
XDT_FEATURE_DEBUG
REVISION=unknown
-if test x"7844952" != x""; then
- REVISION=7844952
+if test x"d730ebb6" != x""; then
+ REVISION=d730ebb6
fi
AC_DEFINE_UNQUOTED([REVISION], "$REVISION", [git id])
AC_SUBST([REVISION])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfwm4-4.12.4/missing new/xfwm4-4.12.5/missing
--- old/xfwm4-4.12.4/missing 2017-03-16 09:06:21.000000000 +0100
+++ new/xfwm4-4.12.5/missing 2018-07-29 14:57:34.000000000 +0200
@@ -1,9 +1,9 @@
-#! /bin/sh
+#!/bin/sh
# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2013-10-28.13; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard , 1996.
# This program is free software; you can redistribute it and/or modify
@@ -210,6 +210,6 @@
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfwm4-4.12.4/src/Makefile.am new/xfwm4-4.12.5/src/Makefile.am
--- old/xfwm4-4.12.4/src/Makefile.am 2017-03-16 08:52:08.000000000 +0100
+++ new/xfwm4-4.12.5/src/Makefile.am 2018-07-27 22:34:41.000000000 +0200
@@ -83,6 +83,7 @@
$(LIBDRM_CFLAGS) \
$(LIBSTARTUP_NOTIFICATION_CFLAGS) \
$(COMPOSITOR_CFLAGS) \
+ $(XINERAMA_CFLAGS) \
-DPACKAGE_LOCALE_DIR=\"$(localedir)\" \
-DDATADIR=\"$(datadir)\" \
-DHELPERDIR=\"$(HELPER_PATH_PREFIX)\" \
@@ -102,6 +103,7 @@
$(RENDER_LIBS) \
$(COMPOSITOR_LIBS) \
$(RANDR_LIBS) \
+ $(XINERAMA_LIBS) \
$(MATH_LIBS)
EXTRA_DIST = \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfwm4-4.12.4/src/client.c new/xfwm4-4.12.5/src/client.c
--- old/xfwm4-4.12.4/src/client.c 2017-03-16 08:52:08.000000000 +0100
+++ new/xfwm4-4.12.5/src/client.c 2018-07-27 22:34:41.000000000 +0200
@@ -908,6 +908,7 @@
if (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED))
{
clientRemoveMaximizeFlag (c);
+ flags |= CFG_FORCE_REDRAW;
}
flags |= CFG_REQUEST | CFG_CONSTRAINED;
@@ -2974,10 +2975,11 @@
{
if (FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREN_MONITORS))
{
- gdk_screen_get_monitor_geometry (screen_info->gscr, c->fullscreen_monitors[0], &rect);
+ /* Monitor numbering is from Xinerama */
+ myScreenGetXineramaMonitorGeometry (screen_info, c->fullscreen_monitors[0], &rect);
for (i = 1; i < 4; i++)
{
- gdk_screen_get_monitor_geometry (screen_info->gscr, c->fullscreen_monitors[i], &monitor);
+ myScreenGetXineramaMonitorGeometry (screen_info, c->fullscreen_monitors[i], &monitor);
gdk_rectangle_union (&rect, &monitor, &rect);
}
}
@@ -3341,6 +3343,24 @@
gboolean
clientToggleMaximized (Client *c, int mode, gboolean restore_position)
{
+ g_return_val_if_fail (c != NULL, FALSE);
+
+ TRACE ("entering clientToggleMaximized");
+
+ if (!CLIENT_CAN_MAXIMIZE_WINDOW (c))
+ {
+ return FALSE;
+ }
+
+ return clientToggleMaximizedAtPoint(c,
+ frameX (c) + (frameWidth (c) / 2),
+ frameY (c) + (frameHeight (c) / 2),
+ mode, restore_position);
+}
+
+gboolean
+clientToggleMaximizedAtPoint (Client *c, gint cx, gint cy, int mode, gboolean restore_position)
+{
DisplayInfo *display_info;
ScreenInfo *screen_info;
XWindowChanges wc;
@@ -3349,8 +3369,8 @@
g_return_val_if_fail (c != NULL, FALSE);
- TRACE ("entering clientToggleMaximized");
- TRACE ("maximzing/unmaximizing client \"%s\" (0x%lx)", c->name, c->window);
+ TRACE ("entering clientToggleMaximizedAtPoint");
+ TRACE ("maximizing/unmaximizing client \"%s\" (0x%lx)", c->name, c->window);
if (!CLIENT_CAN_MAXIMIZE_WINDOW (c))
{
@@ -3359,9 +3379,7 @@
screen_info = c->screen_info;
display_info = screen_info->display_info;
- myScreenFindMonitorAtPoint (screen_info,
- frameX (c) + (frameWidth (c) / 2),
- frameY (c) + (frameHeight (c) / 2), &rect);
+ myScreenFindMonitorAtPoint (screen_info, cx, cy, &rect);
wc.x = c->x;
wc.y = c->y;
@@ -4029,6 +4047,7 @@
{
ScreenInfo *screen_info;
DisplayInfo *display_info;
+ gboolean value_changed = FALSE;
gulong *extents;
int nitems;
int i;
@@ -4048,7 +4067,11 @@
FLAG_SET (c->flags, CLIENT_FLAG_HAS_FRAME_EXTENTS);
for (i = 0; i < SIDE_COUNT; i++)
{
- c->frame_extents[i] = (int) extents[i];
+ if (c->frame_extents[i] != (int) extents[i])
+ {
+ value_changed = TRUE;
+ c->frame_extents[i] = (int) extents[i];
+ }
}
}
}
@@ -4058,7 +4081,7 @@
XFree (extents);
}
- return FLAG_TEST (c->flags, CLIENT_FLAG_HAS_FRAME_EXTENTS);
+ return value_changed;
}
gboolean
@@ -4066,6 +4089,7 @@
{
ScreenInfo *screen_info;
DisplayInfo *display_info;
+ unsigned long old_value;
long val;
g_return_val_if_fail (c != NULL, FALSE);
@@ -4073,13 +4097,14 @@
screen_info = c->screen_info;
display_info = screen_info->display_info;
+ old_value = FLAG_TEST (c->flags, CLIENT_FLAG_HIDE_TITLEBAR);
FLAG_UNSET (c->flags, CLIENT_FLAG_HIDE_TITLEBAR);
if (getHint (display_info, c->window, GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED, &val) &&( val != 0))
{
FLAG_SET (c->flags, CLIENT_FLAG_HIDE_TITLEBAR);
}
- return FLAG_TEST (c->flags, CLIENT_FLAG_HIDE_TITLEBAR);
+ return old_value != FLAG_TEST (c->flags, CLIENT_FLAG_HIDE_TITLEBAR);
}
#ifdef HAVE_LIBSTARTUP_NOTIFICATION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfwm4-4.12.4/src/client.h new/xfwm4-4.12.5/src/client.h
--- old/xfwm4-4.12.4/src/client.h 2017-03-16 08:52:08.000000000 +0100
+++ new/xfwm4-4.12.5/src/client.h 2018-07-27 22:34:41.000000000 +0200
@@ -465,6 +465,11 @@
gboolean clientToggleMaximized (Client *,
int,
gboolean);
+gboolean clientToggleMaximizedAtPoint (Client *,
+ gint,
+ gint,
+ int,
+ gboolean);
gboolean clientTile (Client *,
gint,
gint,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfwm4-4.12.4/src/compositor.c new/xfwm4-4.12.5/src/compositor.c
--- old/xfwm4-4.12.4/src/compositor.c 2017-03-16 08:52:08.000000000 +0100
+++ new/xfwm4-4.12.5/src/compositor.c 2018-07-27 22:34:41.000000000 +0200
@@ -2144,7 +2144,7 @@
{
g_free (new);
myDisplayUngrabServer (display_info);
- TRACE ("An error occured getting window attributes, 0x%lx not added", id);
+ TRACE ("An error occurred getting window attributes, 0x%lx not added", id);
return;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfwm4-4.12.4/src/events.c new/xfwm4-4.12.5/src/events.c
--- old/xfwm4-4.12.4/src/events.c 2017-03-16 08:52:08.000000000 +0100
+++ new/xfwm4-4.12.5/src/events.c 2018-07-27 22:34:41.000000000 +0200
@@ -1831,17 +1831,21 @@
else if (ev->atom == display_info->atoms[GTK_FRAME_EXTENTS])
{
TRACE ("client \"%s\" (0x%lx) has received a GTK_FRAME_EXTENTS notify", c->name, c->window);
- clientGetGtkFrameExtents (c);
- clientUpdateMaximizeSize (c);
+ if (clientGetGtkFrameExtents (c))
+ {
+ clientUpdateMaximizeSize (c);
+ }
}
else if (ev->atom == display_info->atoms[GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED])
{
TRACE ("client \"%s\" (0x%lx) has received a GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED notify", c->name, c->window);
- clientGetGtkHideTitlebar (c);
- if (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED))
+ if (clientGetGtkHideTitlebar (c))
{
- clientUpdateMaximizeSize (c);
- clientReconfigure (c, CFG_FORCE_REDRAW);
+ if (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED))
+ {
+ clientUpdateMaximizeSize (c);
+ clientReconfigure (c, CFG_FORCE_REDRAW);
+ }
}
}
#ifdef HAVE_STARTUP_NOTIFICATION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfwm4-4.12.4/src/main.c new/xfwm4-4.12.5/src/main.c
--- old/xfwm4-4.12.4/src/main.c 2017-03-16 08:52:08.000000000 +0100
+++ new/xfwm4-4.12.5/src/main.c 2018-07-27 22:34:41.000000000 +0200
@@ -693,7 +693,7 @@
gtk_main ();
break;
default:
- g_warning ("Unknown error occured");
+ g_warning ("Unknown error occurred");
exit (1);
break;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfwm4-4.12.4/src/moveresize.c new/xfwm4-4.12.5/src/moveresize.c
--- old/xfwm4-4.12.4/src/moveresize.c 2017-03-16 08:52:08.000000000 +0100
+++ new/xfwm4-4.12.5/src/moveresize.c 2018-07-27 22:34:41.000000000 +0200
@@ -813,7 +813,7 @@
{
/* tile window depending on the mouse position on the screen */
- if ((y > disp_y + dist_corner) && (y < disp_max_y - dist_corner))
+ if ((y >= disp_y + dist_corner) && (y < disp_max_y - dist_corner))
{
/* mouse pointer on left edge excluding corners */
if (x < disp_x + dist)
@@ -832,7 +832,7 @@
/* mouse pointer on top edge excluding corners */
if (y < disp_y + dist)
{
- return clientToggleMaximized (c, CLIENT_FLAG_MAXIMIZED, FALSE);
+ return clientToggleMaximizedAtPoint (c, x, y, CLIENT_FLAG_MAXIMIZED, FALSE);
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfwm4-4.12.4/src/netwm.c new/xfwm4-4.12.5/src/netwm.c
--- old/xfwm4-4.12.4/src/netwm.c 2017-03-16 08:52:08.000000000 +0100
+++ new/xfwm4-4.12.5/src/netwm.c 2018-07-27 22:34:41.000000000 +0200
@@ -258,6 +258,10 @@
TRACE ("clientGetNetState : demands_attention");
FLAG_SET (c->flags, CLIENT_FLAG_DEMANDS_ATTENTION);
}
+ else if (atoms[i] == display_info->atoms[NET_WM_STATE_FOCUSED])
+ {
+ TRACE ("clientGetNetState : focused, ignored...");
+ }
else
{
gchar *atom_name;
@@ -378,9 +382,9 @@
{
if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_MAXIMIZE))
{
- if ((action == NET_WM_STATE_ADD) && !FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED))
+ if ((action == NET_WM_STATE_ADD) && !FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED))
{
- mode = 0L;
+ mode = FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED);
if ((first == display_info->atoms[NET_WM_STATE_MAXIMIZED_HORZ]) ||
(second == display_info->atoms[NET_WM_STATE_MAXIMIZED_HORZ]))
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfwm4-4.12.4/src/placement.c new/xfwm4-4.12.5/src/placement.c
--- old/xfwm4-4.12.4/src/placement.c 2016-06-07 08:31:08.000000000 +0200
+++ new/xfwm4-4.12.5/src/placement.c 2018-07-27 22:34:41.000000000 +0200
@@ -487,7 +487,7 @@
{
if ((c->size->x == 0) && (c->size->y == 0))
{
- /* Dialogs that place temselves in (0,0) will be centered */
+ /* Dialogs that place themselves in (0,0) will be centered */
centered = TRUE;
}
else if ((n_monitors > 1) && (c->size->x > 0) && (c->size->y > 0))
@@ -771,7 +771,9 @@
position = (c->size->flags & (PPosition | USPosition));
n_monitors = myScreenGetNumMonitors (c->screen_info);
- gdk_screen_get_monitor_geometry (screen_info->gscr, 0, &rect);
+ gdk_screen_get_monitor_geometry (screen_info->gscr,
+ gdk_screen_get_primary_monitor (screen_info->gscr),
+ &rect);
is_transient = clientIsTransient (c);
if (position || is_transient || (c->type & (WINDOW_TYPE_DONT_PLACE | WINDOW_TYPE_DIALOG)))
@@ -783,7 +785,7 @@
c->y = c2->y + (c2->height - c->height) / 2;
}
- if (n_monitors > 1)
+ if (position && n_monitors > 1)
{
msx = frameExtentX (c) + (frameExtentWidth (c) / 2);
msy = frameExtentY (c) + (frameExtentHeight (c) / 2);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfwm4-4.12.4/src/screen.c new/xfwm4-4.12.5/src/screen.c
--- old/xfwm4-4.12.4/src/screen.c 2017-03-16 08:52:08.000000000 +0100
+++ new/xfwm4-4.12.5/src/screen.c 2018-07-27 22:34:41.000000000 +0200
@@ -27,6 +27,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -657,15 +658,13 @@
width, height, screen_info->logical_width, screen_info->logical_height);
}
- /* Keep the smallest size between what we computed and the
- * reported size for the screen.
- */
- if (width == 0 || width > screen_info->logical_width)
+ /* If we failed to compute the size, use whatever xlib reports */
+ if (width == 0)
{
width = screen_info->logical_width;
}
- if (height == 0 || height > screen_info->logical_height)
+ if (height == 0)
{
height = screen_info->logical_height;
}
@@ -820,6 +819,39 @@
*rect = screen_info->cache_monitor;
}
+void
+myScreenGetXineramaMonitorGeometry (ScreenInfo *screen_info, gint monitor_num, GdkRectangle *rect)
+{
+ XineramaScreenInfo *infos;
+ int n;
+
+ g_return_if_fail (screen_info != NULL);
+ g_return_if_fail (rect != NULL);
+ g_return_if_fail (XineramaIsActive (myScreenGetXDisplay (screen_info)));
+
+ infos = XineramaQueryScreens (myScreenGetXDisplay (screen_info), &n);
+ if (infos == NULL || n <= 0 || monitor_num > n)
+ {
+ g_warning ("Cannot query Xinerama!");
+ XFree (infos);
+
+ /* Using screen size as fallback, safer than some random values */
+ rect->x = 0;
+ rect->y = 0;
+ rect->width = screen_info->width;
+ rect->height = screen_info->height;
+
+ return;
+ }
+
+ rect->x = infos[monitor_num].x_org;
+ rect->y = infos[monitor_num].y_org;
+ rect->width = infos[monitor_num].width;
+ rect->height = infos[monitor_num].height;
+
+ XFree (infos);
+}
+
gboolean
myScreenUpdateFontHeight (ScreenInfo *screen_info)
{
@@ -848,3 +880,4 @@
return FALSE;
}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfwm4-4.12.4/src/screen.h new/xfwm4-4.12.5/src/screen.h
--- old/xfwm4-4.12.4/src/screen.h 2017-03-16 08:52:08.000000000 +0100
+++ new/xfwm4-4.12.5/src/screen.h 2018-07-27 22:34:41.000000000 +0200
@@ -247,5 +247,7 @@
gint,
GdkRectangle *);
gboolean myScreenUpdateFontHeight (ScreenInfo *);
-
+void myScreenGetXineramaMonitorGeometry (ScreenInfo *,
+ gint,
+ GdkRectangle *);
#endif /* INC_SCREEN_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfwm4-4.12.4/src/workspaces.c new/xfwm4-4.12.5/src/workspaces.c
--- old/xfwm4-4.12.4/src/workspaces.c 2016-04-30 19:15:28.000000000 +0200
+++ new/xfwm4-4.12.5/src/workspaces.c 2018-07-27 22:34:41.000000000 +0200
@@ -580,7 +580,7 @@
c->struts[STRUTS_TOP]);
}
- if (checkValidStruts (&bottom, &workarea, STRUTS_BOTTOM) ||
+ if (checkValidStruts (&bottom, &workarea, STRUTS_BOTTOM) &&
gdk_rectangle_intersect (&bottom, &workarea, NULL))
{
screen_info->margins[STRUTS_BOTTOM] = MAX(screen_info->margins[STRUTS_BOTTOM],