diff --git a/0001-SF-888-task-button-update-monitor-information-correc.patch b/0001-SF-888-task-button-update-monitor-information-correc.patch new file mode 100644 index 0000000..525f6cc --- /dev/null +++ b/0001-SF-888-task-button-update-monitor-information-correc.patch @@ -0,0 +1,34 @@ +From e7fe1afb83f3d1e5bbde170793d0288e87bcaf99 Mon Sep 17 00:00:00 2001 +From: Mamoru TASAKA +Date: Sat, 13 Jan 2018 01:25:59 +0900 +Subject: [PATCH] [SF:888] task-button: update monitor information correctly + +When window moved and we try to update button status, monitor information of +TaskDetails must be updated before computing / updating visibility. +--- + plugins/task-button.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/plugins/task-button.c b/plugins/task-button.c +index 3e99068..6aa2d05 100644 +--- a/plugins/task-button.c ++++ b/plugins/task-button.c +@@ -1709,6 +1709,7 @@ gboolean task_button_window_reconfigured(TaskButton *button, Window win) + monitor than before, redraw the task button */ + old_mon = details->monitor; + new_mon = get_window_monitor(details->win); ++ details->monitor = new_mon; + + if (button->flags.same_monitor_only + && (old_mon == button->monitor || new_mon == button->monitor)) +@@ -1718,7 +1719,6 @@ gboolean task_button_window_reconfigured(TaskButton *button, Window win) + task_redraw_label(button); + // FIXME: test if need to update menu + } +- details->monitor = new_mon; + return TRUE; + } + +-- +2.15.1 + diff --git a/0002-SF-894-task-button-correctly-find-the-window-current.patch b/0002-SF-894-task-button-correctly-find-the-window-current.patch new file mode 100644 index 0000000..e5905f3 --- /dev/null +++ b/0002-SF-894-task-button-correctly-find-the-window-current.patch @@ -0,0 +1,43 @@ +From f813fc8a551c7c8e514a61451d4c19f641030851 Mon Sep 17 00:00:00 2001 +From: Mamoru TASAKA +Date: Sat, 13 Jan 2018 10:25:33 +0900 +Subject: [PATCH] [SF:894] task-button: correctly find the window currently + visible and use it + +When same_monitor_only mode, the last_focused details may not the one currently visible +(as last_focused details may be on other monitor). So even if n_visible is one, +find out details currently visible anyway. +--- + plugins/task-button.c | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) + +diff --git a/plugins/task-button.c b/plugins/task-button.c +index 6aa2d05..b306c45 100644 +--- a/plugins/task-button.c ++++ b/plugins/task-button.c +@@ -1343,7 +1343,21 @@ static gboolean task_button_button_release_event(GtkWidget *widget, GdkEventButt + else + { + /* Not a grouped-task representative, or entered from the grouped-task popup menu. */ +- task_button_window_do_release_event(widget, tb->last_focused, event); ++ /* [SF:894] Find the details currently visible, it should exists here. ++ Note that with same_monitor_only mode, the last_focused details may not the one ++ currently visible (as last_focused details may be on other monitor). ++ */ ++ task = NULL; ++ for (l = tb->details; l; l = l->next) ++ { ++ task = l->data; ++ if (task->visible) ++ { ++ break; ++ } ++ } ++ task_button_window_do_release_event(widget, task, event); ++ + } + + /* As a matter of policy, avoid showing selected or prelight states on flat buttons. */ +-- +2.15.1 + diff --git a/lxpanel.spec b/lxpanel.spec index 0d6c94b..0790adc 100644 --- a/lxpanel.spec +++ b/lxpanel.spec @@ -26,7 +26,7 @@ %global git_version D%{gitbaredate}git%{git_short} %endif -%global mainrel 2 +%global mainrel 2.101 %if 0%{?use_release} >= 1 %global fedorarel %{?prever:0.}%{mainrel}%{?prever:.%{prerpmver}} @@ -63,6 +63,10 @@ Source101: create-lxpanel-git-bare-tarball.sh # Fedora bug: https://bugzilla.redhat.com/show_bug.cgi?id=746063 Patch0: lxpanel-0.8.1-Fix-pager-scroll.patch +# Patches reported upstream +Patch51: 0001-SF-888-task-button-update-monitor-information-correc.patch +Patch52: 0002-SF-894-task-button-correctly-find-the-window-current.patch + ## distro specific patches # default configuration Patch100: lxpanel-0.5.9-default.patch @@ -152,6 +156,9 @@ git add . git commit -m "base" -q %endif +cat %PATCH51 | git am +cat %PATCH52 | git am + %patch0 -p1 -b .revert %patch100 -p1 -b .default @@ -214,6 +221,9 @@ cd .. %{_libdir}/pkgconfig/lxpanel.pc %changelog +* Sun Jan 14 2018 Mamoru TASAKA +- Two fixes for taskbutton plugin related to multiple monitor configuration + * Tue Jan 9 2018 Mamoru TASAKA - 0.9.3-2.D20180109git2ddf8dfc - thermal patch merged upstream - Update to the latest git