Hello!

I want to implement some basic function in my vis: to not let it show, when the main window is minimized at startup. All visualization plugins I saw till now show up at every song change (SW_SHOWNOACTIVATE is called at the end of window creation)

I inserted an if-then clause which checks if main window IsWindowVisible or IsIconic, but I have to do this each time there is data, because user can minimize-maximize the foobar window, and thus the vis window even during a song.
CODE
if ( cfg_stay_on_top==0 && (!IsWindowVisible(parentWindowForNow) || IsIconic(parentWindowForNow)))
  {
   if (IsWindowVisible(g_wnd))
   {
    ShowWindow(g_wnd,SW_HIDE);
   }
  }
 else
  {
   if (!IsWindowVisible(g_wnd))
   {
    ShowWindow(g_wnd,SW_SHOWNOACTIVATE);
   }
  }

Can the same be achieved with event handling? I tried a switch for WM_SHOWWINDOW, and then switch for SW_PARENTCLOSING/OPENING inside g_windowproc, but to no avail, I've no idea how to use this right.
CODE
case WM_SHOWWINDOW:
 switch (lp)
 {
 case SW_PARENTCLOSING:
  //if (cfg_stay_on_top == 0)
   ShowWindow(wnd,SW_HIDE);
  break;
 case SW_PARENTOPENING:
  //if (cfg_stay_on_top == 0)
   ShowWindow(wnd,SW_SHOWNOACTIVATE);
  break;
 }
 break;

Maybe I could ShowWindow(g_wnd, SW_HIDE) at first, and then only activate the vis window when the main window is visible?

Anyone understand what I mean? unsure.gif I would be happy if someone could help me, even though the first part of code I posted does just what I want, but I don't think thats neat and clean.

Thanks smile.gif & sorry for the long post