summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlivier Brunel2015-03-15 14:19:46 +0100
committerOlivier Brunel2015-06-08 19:22:25 +0200
commita3730d8f7772357f169507a4cb3f6d9eca0b8ef1 (patch)
tree274c480490125daf24577af00862c80b75241f11
parentebe48535f26b7948f3abca226263752e4919be7a (diff)
downloadaur-a3730d8f7772357f169507a4cb3f6d9eca0b8ef1.tar.gz
xfwm4-better-smartplacement: upgrade to 4.12.1
Signed-off-by: Olivier Brunel <jjk@jjacky.com>
-rw-r--r--.SRCINFO16
-rw-r--r--0001-Fix-a-mishmash-between-width-and-height.patch37
-rw-r--r--0001-Rewrote-smartPlacement.patch30
-rw-r--r--0002-smartPlacement-w-snap_to_border-we-snap-to-bottom-ri.patch18
-rw-r--r--0003-Fix-new-window-always-top-left-when-screen-not-full.patch10
-rw-r--r--PKGBUILD15
6 files changed, 83 insertions, 43 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1ee40b30a234..db32f383f1e5 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = xfwm4-better-smartplacement
pkgdesc = Xfce window manager w/ better smart placement of new windows
- pkgver = 4.12.0
- pkgrel = 2
+ pkgver = 4.12.1
+ pkgrel = 1
url = http://www.xfce.org/
install = xfwm4-better-smartplacement.install
arch = i686
@@ -16,14 +16,16 @@ pkgbase = xfwm4-better-smartplacement
provides = xfwm4
conflicts = xfwm4
options = !libtool
- source = http://archive.xfce.org/src/xfce/xfwm4/4.12/xfwm4-4.12.0.tar.bz2
+ source = http://archive.xfce.org/src/xfce/xfwm4/4.12/xfwm4-4.12.1.tar.bz2
+ source = 0001-Fix-a-mishmash-between-width-and-height.patch
source = 0001-Rewrote-smartPlacement.patch
source = 0002-smartPlacement-w-snap_to_border-we-snap-to-bottom-ri.patch
source = 0003-Fix-new-window-always-top-left-when-screen-not-full.patch
- sha1sums = 5c3ea9faaa9b45a40ca7ecfff447cdca192534f6
- sha1sums = 14c407c8734add318b7b0f0a9b86bcaf6a210b81
- sha1sums = 4cb167d59c1ad0776aa9a53cafafd0168ede5cc9
- sha1sums = 89f5b54d7370db86c7547580a6d1376cb88980fa
+ sha1sums = e7470b69bba29c9c0e0bcd1471e80b73c6ccfd91
+ sha1sums = 2fc881cf4fbdbd7c6f55eb5d4900dc133516ee14
+ sha1sums = ea46b6b9561bdd2e4f5225b4aeed811b2ed5d890
+ sha1sums = e179b132c8da76a6b75e51bb7364e19ba9ecf7de
+ sha1sums = 9356911cd08c9703f356c0b7993a6392302dbcad
pkgname = xfwm4-better-smartplacement
diff --git a/0001-Fix-a-mishmash-between-width-and-height.patch b/0001-Fix-a-mishmash-between-width-and-height.patch
new file mode 100644
index 000000000000..1cb314cab421
--- /dev/null
+++ b/0001-Fix-a-mishmash-between-width-and-height.patch
@@ -0,0 +1,37 @@
+From adcf17fe8a136c89196f952185056c12c3829a01 Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <fourdan@xfce.org>
+Date: Sun, 15 Mar 2015 11:24:15 +0100
+Subject: [PATCH] Fix a mishmash between width and height
+
+Bug: 11700
+
+Duh...
+
+Signed-off-by: Olivier Fourdan <fourdan@xfce.org>
+---
+ src/client.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/client.c b/src/client.c
+index 7fa9e36..38ecc6f 100644
+--- a/src/client.c
++++ b/src/client.c
+@@ -543,12 +543,12 @@ clientAdjustCoordGravity (Client *c, int gravity, XWindowChanges *wc, unsigned l
+
+ if (*mask & CWWidth)
+ {
+- wc->width = clientCheckHeight (c, wc->width, TRUE);
++ wc->width = clientCheckWidth (c, wc->width, TRUE);
+ }
+
+- if (*mask & CWWidth)
++ if (*mask & CWHeight)
+ {
+- wc->height = clientCheckWidth (c, wc->height, TRUE);
++ wc->height = clientCheckHeight (c, wc->height, TRUE);
+ }
+
+ switch (gravity)
+--
+2.3.3
+
diff --git a/0001-Rewrote-smartPlacement.patch b/0001-Rewrote-smartPlacement.patch
index 822ed226e97d..a0afb151a85d 100644
--- a/0001-Rewrote-smartPlacement.patch
+++ b/0001-Rewrote-smartPlacement.patch
@@ -1,4 +1,4 @@
-From ada426d2da8750421456ba51aa4c60be69a2fc3e Mon Sep 17 00:00:00 2001
+From 0f5d1078f3f903c7bc87c5c37a16a68cd2fd3825 Mon Sep 17 00:00:00 2001
From: Olivier Brunel <jjk@jjacky.com>
Date: Sun, 8 Mar 2015 13:22:12 +0100
Subject: [PATCH 1/3] Rewrote smartPlacement()
@@ -13,14 +13,14 @@ window the lowest on stack, i.e. the last one to be activated/(fully) visible.
Signed-off-by: Olivier Brunel <jjk@jjacky.com>
---
- src/placement.c | 418 ++++++++++++++++++++++++++++++++++++--------------------
- 1 file changed, 272 insertions(+), 146 deletions(-)
+ src/placement.c | 414 ++++++++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 270 insertions(+), 144 deletions(-)
diff --git a/src/placement.c b/src/placement.c
-index cae55ac..aba284f 100644
+index 7b0ca22..a8e9c70 100644
--- a/src/placement.c
+++ b/src/placement.c
-@@ -555,16 +555,139 @@ clientAutoMaximize (Client * c, int full_w, int full_h)
+@@ -552,16 +552,139 @@ clientAutoMaximize (Client * c, int full_w, int full_h)
}
static void
@@ -166,7 +166,7 @@ index cae55ac..aba284f 100644
g_return_if_fail (c != NULL);
TRACE ("entering smartPlacement");
-@@ -575,165 +698,168 @@ smartPlacement (Client * c, int full_x, int full_y, int full_w, int full_h)
+@@ -572,165 +695,168 @@ smartPlacement (Client * c, int full_x, int full_y, int full_w, int full_h)
frame_left = frameExtentLeft(c);
frame_top = frameExtentTop (c);
@@ -202,11 +202,6 @@ index cae55ac..aba284f 100644
{
- gint next_test_y = G_MAXINT;
- gboolean first_test_x = TRUE;
--
-- TRACE ("testing y position %d", test_y);
--
-- test_x = xmin;
-- do
+ Client *c2 = list->data;
+ gint i, n;
+ gboolean done;
@@ -216,13 +211,16 @@ index cae55ac..aba284f 100644
+
+ if (!clientSelectMask (c2, NULL, SEARCH_INCLUDE_SKIP_PAGER | SEARCH_INCLUDE_SKIP_TASKBAR, WINDOW_REGULAR_FOCUSABLE))
+ continue;
-+
+
+- TRACE ("testing y position %d", test_y);
+ /* rectangle for the window */
+ rect.x = frameExtentX (c2);
+ rect.y = frameExtentY (c2);
+ rect.width = frameExtentWidth (c2);
+ rect.height = frameExtentHeight (c2);
-+
+
+- test_x = xmin;
+- do
+ switch (cairo_region_contains_rectangle (region_monitor, &rect))
{
- gfloat count_overlaps = 0.0;
@@ -415,7 +413,7 @@ index cae55ac..aba284f 100644
+ exp_y = rect.y;
}
- }
-- while (test_x < xmax);
+- while (test_x <= xmax);
- if (G_LIKELY (next_test_y != G_MAXINT))
- {
@@ -454,7 +452,7 @@ index cae55ac..aba284f 100644
+ c->y -= n;
}
- }
-- while (test_y < ymax);
+- while (test_y <= ymax);
- found_best:
+ /* add frames */
@@ -476,5 +474,5 @@ index cae55ac..aba284f 100644
static void
--
-2.3.1
+2.3.3
diff --git a/0002-smartPlacement-w-snap_to_border-we-snap-to-bottom-ri.patch b/0002-smartPlacement-w-snap_to_border-we-snap-to-bottom-ri.patch
index 1547fadd859d..8929961a55ef 100644
--- a/0002-smartPlacement-w-snap_to_border-we-snap-to-bottom-ri.patch
+++ b/0002-smartPlacement-w-snap_to_border-we-snap-to-bottom-ri.patch
@@ -1,4 +1,4 @@
-From 765202c0b22e39b408338756f709d5aa317a5ab0 Mon Sep 17 00:00:00 2001
+From d86b58c2ca82e10394d274bb5797bfa859e90de5 Mon Sep 17 00:00:00 2001
From: jjacky <i.am.jack.mail@gmail.com>
Date: Fri, 5 Apr 2013 15:22:11 +0200
Subject: [PATCH 2/3] smartPlacement: w/ snap_to_border we snap to bottom/right
@@ -13,10 +13,10 @@ Signed-off-by: Olivier Brunel <jjk@jjacky.com>
1 file changed, 21 insertions(+), 12 deletions(-)
diff --git a/src/placement.c b/src/placement.c
-index aba284f..f9757cc 100644
+index a8e9c70..14969ec 100644
--- a/src/placement.c
+++ b/src/placement.c
-@@ -714,7 +714,7 @@ smartPlacement (Client * c, int full_x, int full_y, int full_w, int full_h)
+@@ -711,7 +711,7 @@ smartPlacement (Client * c, int full_x, int full_y, int full_w, int full_h)
Client *c2 = list->data;
gint i, n;
gboolean done;
@@ -25,7 +25,7 @@ index aba284f..f9757cc 100644
gdouble best_surface = 0;
gboolean can_window_fit = FALSE;
-@@ -786,7 +786,7 @@ smartPlacement (Client * c, int full_x, int full_y, int full_w, int full_h)
+@@ -783,7 +783,7 @@ smartPlacement (Client * c, int full_x, int full_y, int full_w, int full_h)
for (i = 0; i < n; ++i)
{
cairo_rectangle_int_t r;
@@ -34,7 +34,7 @@ index aba284f..f9757cc 100644
gdouble exp_surface;
gboolean exp_can_window_fit;
gdouble surface;
-@@ -797,10 +797,9 @@ smartPlacement (Client * c, int full_x, int full_y, int full_w, int full_h)
+@@ -794,10 +794,9 @@ smartPlacement (Client * c, int full_x, int full_y, int full_w, int full_h)
/* expand horizontally, then vertically */
expand_horizontal (region_hole, &rect, full_x, full_y, full_w, full_h);
expand_vertical (region_hole, &rect, full_x, full_y, full_w, full_h);
@@ -48,7 +48,7 @@ index aba284f..f9757cc 100644
/* expand vertically, then horizontally */
expand_vertical (region_hole, &rect, full_x, full_y, full_w, full_h);
-@@ -814,9 +813,8 @@ smartPlacement (Client * c, int full_x, int full_y, int full_w, int full_h)
+@@ -811,9 +810,8 @@ smartPlacement (Client * c, int full_x, int full_y, int full_w, int full_h)
|| (exp_can_window_fit && can_fit && surface < exp_surface))
{
exp_can_window_fit = can_fit;
@@ -59,7 +59,7 @@ index aba284f..f9757cc 100644
}
/* is this the new best result ? (same criteria) */
-@@ -825,15 +823,14 @@ smartPlacement (Client * c, int full_x, int full_y, int full_w, int full_h)
+@@ -822,15 +820,14 @@ smartPlacement (Client * c, int full_x, int full_y, int full_w, int full_h)
|| (can_window_fit && exp_can_window_fit && exp_surface < best_surface))
{
can_window_fit = exp_can_window_fit;
@@ -78,7 +78,7 @@ index aba284f..f9757cc 100644
/* unless it could fit, make sure it's fully within monitor */
if (!can_window_fit)
-@@ -848,6 +845,18 @@ smartPlacement (Client * c, int full_x, int full_y, int full_w, int full_h)
+@@ -845,6 +842,18 @@ smartPlacement (Client * c, int full_x, int full_y, int full_w, int full_h)
c->y -= n;
}
@@ -98,5 +98,5 @@ index aba284f..f9757cc 100644
c->x += frame_left;
c->y += frame_top;
--
-2.3.1
+2.3.3
diff --git a/0003-Fix-new-window-always-top-left-when-screen-not-full.patch b/0003-Fix-new-window-always-top-left-when-screen-not-full.patch
index 75e5713bd0e8..18ad8129db5e 100644
--- a/0003-Fix-new-window-always-top-left-when-screen-not-full.patch
+++ b/0003-Fix-new-window-always-top-left-when-screen-not-full.patch
@@ -1,4 +1,4 @@
-From af8f2eb1f25d2ca467fe941aeed111a743fce7cc Mon Sep 17 00:00:00 2001
+From 68c37fbcd533ff2307c82f3b48bb090d9bbbd433 Mon Sep 17 00:00:00 2001
From: jjacky <i.am.jack.mail@gmail.com>
Date: Mon, 6 May 2013 11:00:51 +0200
Subject: [PATCH 3/3] Fix new window always top-left when screen not full
@@ -14,10 +14,10 @@ Signed-off-by: Olivier Brunel <jjk@jjacky.com>
1 file changed, 4 insertions(+)
diff --git a/src/placement.c b/src/placement.c
-index f9757cc..f57493f 100644
+index 14969ec..a595f67 100644
--- a/src/placement.c
+++ b/src/placement.c
-@@ -779,6 +779,7 @@ smartPlacement (Client * c, int full_x, int full_y, int full_w, int full_h)
+@@ -776,6 +776,7 @@ smartPlacement (Client * c, int full_x, int full_y, int full_w, int full_h)
if (!region_hole)
break;
@@ -25,7 +25,7 @@ index f9757cc..f57493f 100644
cairo_region_destroy (region_monitor);
cairo_region_destroy (region_used);
-@@ -864,6 +865,9 @@ smartPlacement (Client * c, int full_x, int full_y, int full_w, int full_h)
+@@ -861,6 +862,9 @@ smartPlacement (Client * c, int full_x, int full_y, int full_w, int full_h)
return;
}
@@ -36,5 +36,5 @@ index f9757cc..f57493f 100644
cairo_region_destroy (region_used);
--
-2.3.1
+2.3.3
diff --git a/PKGBUILD b/PKGBUILD
index 2390ef916d54..d34de054e491 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,8 +4,8 @@
_pkgname=xfwm4
pkgname=$_pkgname-better-smartplacement
-pkgver=4.12.0
-pkgrel=2
+pkgver=4.12.1
+pkgrel=1
pkgdesc="Xfce window manager w/ better smart placement of new windows"
arch=('i686' 'x86_64')
license=('GPL2')
@@ -18,16 +18,19 @@ provides=($_pkgname)
conflicts=($_pkgname)
install=${pkgname}.install
source=(http://archive.xfce.org/src/xfce/${_pkgname}/4.12/${_pkgname}-${pkgver}.tar.bz2
+ 0001-Fix-a-mishmash-between-width-and-height.patch
0001-Rewrote-smartPlacement.patch
0002-smartPlacement-w-snap_to_border-we-snap-to-bottom-ri.patch
0003-Fix-new-window-always-top-left-when-screen-not-full.patch)
-sha1sums=('5c3ea9faaa9b45a40ca7ecfff447cdca192534f6'
- '14c407c8734add318b7b0f0a9b86bcaf6a210b81'
- '4cb167d59c1ad0776aa9a53cafafd0168ede5cc9'
- '89f5b54d7370db86c7547580a6d1376cb88980fa')
+sha1sums=('e7470b69bba29c9c0e0bcd1471e80b73c6ccfd91'
+ '2fc881cf4fbdbd7c6f55eb5d4900dc133516ee14'
+ 'ea46b6b9561bdd2e4f5225b4aeed811b2ed5d890'
+ 'e179b132c8da76a6b75e51bb7364e19ba9ecf7de'
+ '9356911cd08c9703f356c0b7993a6392302dbcad')
prepare() {
cd ${srcdir}/${_pkgname}-${pkgver}
+ patch -p1 -i ../0001-Fix-a-mishmash-between-width-and-height.patch
patch -p1 -i ../0001-Rewrote-smartPlacement.patch
patch -p1 -i ../0002-smartPlacement-w-snap_to_border-we-snap-to-bottom-ri.patch
patch -p1 -i ../0003-Fix-new-window-always-top-left-when-screen-not-full.patch