[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