Taskbar and flags


#1

I’m trying to hide a window from the taskbar.
Following julian’s comments, I overrided getDesktopWindowStyleFlags() in my window (which inherits from a DocumentWindow).
So, I can set all the flags as I want, except for the windowAppearsOnTaskbar flag.
According to the comments, I should call DocumentWindow::getDesktopWindowStyleFlags() and then remove ComponentPeer::windowAppearsOnTaskbar from it.
It doesn’t work.
I think the problem could be in
TopLevelWindow::getDesktopWindowStyleFlags(),
where by default the windowAppearsOnTaskbar flag is set.

Or am I missing something?
All the other flags work perfectly.


#2

It doesn’t matter whether TopLevelWindow sets the flag or not, if your overridden method clears that flag before returning it?


#3

Ok, I digged a bit more.
Looks like using a native title bar is messing up with the flags.
Here’s a sample code. Just Unzip the file in the “extras” folder.
This affects windows only.
Thanks


#4

On windows I don’t think it’s possible to use a native titlebar without it also appearing on the taskbar…


#5

Alright. So could it be possible to add another flag in juce to make the window a WS_EX_TOOLWINDOW, like this post explains?
http://www.rawmaterialsoftware.com/viewtopic.php?f=2&t=1292&hilit=toolwindow


#6

The win32 code already uses that flag, but not if it has title bar, because if you turn it on, it changes the appearance of the title bar. I guess that’s not necessarily a bad thing, I might try it and see what it looks like.


#7

Thank you!
It’s not a bad idea. I see a lot of software that uses this kind of windows.
It comes very handy when displaying, for instance, plugins editors (see cubase).


#8

I attempt it without obtaining no result.
español: yo lo intente sin obtener ningún resultado.


#9

I’ve checked in some code that does this now if you want to try it.


#10

yes.