How to pop canvas on top of other windows

Dear Rooters,
in a ROOT based program I would like to pop a TCanvas on top of the other windows
which might obscure it.
I tried things like (5.34/05 on Ubuntu 12.04):

TRootCanvas *win = (TRootCanvas*)gCanvasLego->GetCanvasImp();
win->RaiseWindow();

No success.

Thanks for a hint

Otto

Hi Otto,

I think it is very WM dependent, for example, both win->RaiseWindow(); and win->MapRaised(); work perfectly well on Windows… On which platform are you working?

[color=#FF0000]EDIT:[/color] OOops, Ubuntu 12.04, sorry… I’ll try on a Linux VM and I’ll let you know…

Cheers, Bertrand.

I just try on Ubuntu (in VirtualBox)

if the window is not iconized both function behaves the same way. The window stays in the back but the icon corresponding to this window in the task bar starts moving.

It the window is iconized, RaiseWindow does nothing and MapRaised open the window back.

(Ubuntu 12.04 ROOT 5.34)

Hello everyone,

I also want to know how to raise the window of a particular canvas above other windows in the end of my program.

I have

TCanvas * c5 = new TCanvas("c5","c5"); // some code here (other canvas windows are created) c5->RaiseWindow(); // I want this plot above others
but the last function call has no effect.

I use RHEL 6.3 installed in VMware Fusion 4.1.3,
ROOT v5.27/07.

Thank you for your help,
Siarhei.