[Xfce4-commits] [apps/xfdashboard] 01/02: Add debug messages to XfdashboardLiveWorkspace and its decision if a window is visible or not

noreply at xfce.org noreply at xfce.org
Thu Jun 28 06:58:34 CEST 2018


This is an automated email from the git hooks/post-receive script.

n   o   m   a   d       p   u   s   h   e   d       a       c   o   m   m   i   t       t   o       b   r   a   n   c   h       m   a   s   t   e   r   
   in repository apps/xfdashboard.

commit ed3770703ea9c7b7609b090e6b08a10e78c6b9ec
Author: Stephan Haller <nomad at froevel.de>
Date:   Thu Jun 28 06:57:00 2018 +0200

    Add debug messages to XfdashboardLiveWorkspace and its decision if a window is visible or not
---
 libxfdashboard/live-workspace.c | 62 +++++++++++++++++++++++++++++++++++------
 1 file changed, 54 insertions(+), 8 deletions(-)

diff --git a/libxfdashboard/live-workspace.c b/libxfdashboard/live-workspace.c
index cc8169f..92a0053 100644
--- a/libxfdashboard/live-workspace.c
+++ b/libxfdashboard/live-workspace.c
@@ -103,6 +103,7 @@ static gboolean _xfdashboard_live_workspace_is_visible_window(XfdashboardLiveWor
 {
 	XfdashboardLiveWorkspacePrivate			*priv;
 	XfdashboardWindowTrackerWindowState		state;
+	gboolean								visible;
 
 	g_return_val_if_fail(XFDASHBOARD_IS_LIVE_WORKSPACE(self), FALSE);
 	g_return_val_if_fail(XFDASHBOARD_IS_WINDOW_TRACKER_WINDOW(inWindow), FALSE);
@@ -110,19 +111,64 @@ static gboolean _xfdashboard_live_workspace_is_visible_window(XfdashboardLiveWor
 	priv=self->priv;
 
 	/* Determine if windows should be shown at workspace depending on its state */
+	visible=TRUE;
+
 	state=xfdashboard_window_tracker_window_get_state(inWindow);
-	if((state & XFDASHBOARD_WINDOW_TRACKER_WINDOW_STATE_SKIP_PAGER) ||
-		(state & XFDASHBOARD_WINDOW_TRACKER_WINDOW_STATE_SKIP_TASKLIST) ||
-		!xfdashboard_window_tracker_window_is_visible(inWindow) ||
-		(!priv->workspace && !(state & XFDASHBOARD_WINDOW_TRACKER_WINDOW_STATE_PINNED)) ||
-		(priv->workspace && !xfdashboard_window_tracker_window_is_on_workspace(inWindow, priv->workspace)) ||
+	if(visible && (state & XFDASHBOARD_WINDOW_TRACKER_WINDOW_STATE_SKIP_PAGER))
+	{
+		XFDASHBOARD_DEBUG(self, ACTOR,
+							"Window '%s' is invisible due to 'skip-pager' window state",
+							xfdashboard_window_tracker_window_get_name(inWindow));
+		visible=FALSE;
+	}
+
+	if(visible && (state & XFDASHBOARD_WINDOW_TRACKER_WINDOW_STATE_SKIP_TASKLIST))
+	{
+		XFDASHBOARD_DEBUG(self, ACTOR,
+							"Window '%s' is invisible due to 'skip-tasklist' window state",
+							xfdashboard_window_tracker_window_get_name(inWindow));
+		visible=FALSE;
+	}
+
+	if(visible &&
+		!xfdashboard_window_tracker_window_is_visible(inWindow))
+	{
+		XFDASHBOARD_DEBUG(self, ACTOR,
+							"Window '%s' is really invisible",
+							xfdashboard_window_tracker_window_get_name(inWindow));
+		visible=FALSE;
+	}
+
+	if(visible &&
+		(!priv->workspace && !(state & XFDASHBOARD_WINDOW_TRACKER_WINDOW_STATE_PINNED)))
+	{
+		XFDASHBOARD_DEBUG(self, ACTOR,
+							"Window '%s' is invisible because no workspace was set and window is not pinned",
+							xfdashboard_window_tracker_window_get_name(inWindow));
+		visible=FALSE;
+	}
+
+	if(visible &&
+		(priv->workspace && !xfdashboard_window_tracker_window_is_on_workspace(inWindow, priv->workspace)))
+	{
+		XFDASHBOARD_DEBUG(self, ACTOR,
+							"Window '%s' is invisible because window is not on workspace '%s'",
+							xfdashboard_window_tracker_window_get_name(inWindow),
+							xfdashboard_window_tracker_workspace_get_name(priv->workspace));
+		visible=FALSE;
+	}
+
+	if(visible &&
 		xfdashboard_window_tracker_window_is_stage(inWindow))
 	{
-		return(FALSE);
+		XFDASHBOARD_DEBUG(self, ACTOR,
+							"Window '%s' is invisible because it is the stage window",
+							xfdashboard_window_tracker_window_get_name(inWindow));
+		visible=FALSE;
 	}
 
-	/* If we get here the window should be shown */
-	return(TRUE);
+	/* Return visibility result */
+	return(visible);
 }
 
 /* Find live window actor by window */

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list