Comment 9 for bug 1094825

Revision history for this message
Matthieu Baerts (matttbe) wrote :

@fabounet: the problem is that this kind of windows are not tracked by the dock except if this window is active.
What can we do? We can hide it if this window is active:

========
=== modified file 'src/gldit/cairo-dock-applications-manager.c'
--- src/gldit/cairo-dock-applications-manager.c 2013-01-01 14:01:06 +0000
+++ src/gldit/cairo-dock-applications-manager.c 2013-01-01 14:43:06 +0000
@@ -210,8 +210,10 @@

 static void _hide_show_if_on_our_way (CairoDock *pDock, Icon *icon)
 {
- if (pDock->iVisibility != CAIRO_DOCK_VISI_AUTO_HIDE_ON_OVERLAP && ! myDocksParam.bAutoHideOnFullScreen)
- return ;
+ if (pDock->iVisibility != CAIRO_DOCK_VISI_AUTO_HIDE_ON_OVERLAP
+ && pDock->iVisibility != CAIRO_DOCK_VISI_AUTO_HIDE_ON_OVERLAP_ANY
+ && ! myDocksParam.bAutoHideOnFullScreen)
+ return;

  // maybe we have a window without icon in the dock...
  GtkAllocation *pWindowGeometry;
@@ -226,6 +228,9 @@
  else
   pWindowGeometry = NULL;

+ if (pDock->iVisibility == CAIRO_DOCK_VISI_AUTO_HIDE_ON_OVERLAP_ANY && pWindowGeometry == NULL)
+ return; // windows without icons in the dock are not tracked except if it's active.
+
  /* hide the dock if the active window or its parent if this window doesn't
   * have any dedicated icon in the dock -> If my window's text editor is
   * maximised and then I open a 'Search' box, the dock should not appear
===========

but we need to check if this window has been closed: