Auto-hide taskbar issue


#1

When my application window is maximized the Windows taskbar (set to auto-hide) does not slide up when the user moves the cursor to the bottom of the screen.

Anybody knows what can be wrong?

Thanks


#2

Isn’t that an option you can choose in the taskbar’s settings?


#3

Yes, the taskbar auto-hide is an option of the taskbar. I don’t use it, but one of my users reported that she did not have access to the auto-hidden taskbar when my application was running fullscreen.

I tested it myself, and my window (after a setFullScreen(true)) does not allow the taskbar to re-appear, while other applications work fine (i.e. the cursor arriving at the bottom of the screen automatically pulls up the taskbar).

I tried to find a workaround with implementing maximiseButtonPressed() and handling the necessary resizing myself. Leaving 1 pixel at the bottom solves the problem, but it is of course a hack, because the Juce framework does not know what’s going on.

Another issue with the Juce full screen code is that it does not work well with multiple monitors. Calling the obvious setFullScreen always puts the application on the main monitor. My quick hack deals with that too:

Rectangle screenRect = getParentMonitorArea();

if (fullScreen)
{
	setBounds(screenRect.getX() + (screenRect.getWidth() - DEFAULT_WIDTH)/2 , screenRect.getY() + (screenRect.getHeight() - DEFAULT_HEIGHT)/2, DEFAULT_WIDTH, DEFAULT_HEIGHT);
	fullScreen = false;
}
else
{
	// We leave 1 pixel at the bottom for the auto-hide taskbar
	setBounds(screenRect.getX(), screenRect.getY(), screenRect.getWidth() , screenRect.getHeight()-1);
	fullScreen = true;
}

Am I wrong somewhere or is the Juce code simpler than it should be?


#4

Maybe it’s because the window is being set to always-on-top, so is in front of the taskbar? I’ll take a look next time I’m doing some windows work.


#5

After some more investigation it seems that you were right, without the “Keep the taskbar on top of other windows” option the auto-hide taskbar does not work well (not even for the Windows system apps).

The other (dual monitor maximize) issue seems to be a Win7 and/or Parallels problem. Your setFullScreen code still does not work well on my dual monitor Win7 running in Parallels on MacBook Pro, but it’s OK on my dual monitor desktop PC running Vista32.


#6

Ok, thanks, I’ll have a look at that configuration.