Creating a new window that stays on top even when in full screen mode (Qt on Linux)

Posted by Lorenz03Tx on Stack Overflow See other posts from Stack Overflow or by Lorenz03Tx
Published on 2010-05-13T14:25:06Z Indexed on 2010/05/13 14:44 UTC
Read the original article Hit count: 135

Filed under:
|
|

I'm using Qt 4.6.3, and ubuntu linux on an embedded target. I call

dlg->setWindowState(Qt::WindowFullScreen);

on my windows in my application (so I don't loose any real-estate on the touch screen to task bar and status panel on the top and bottom of the screen. This all works fine and as expected. The issue comes in when I want to popup the on screen keyboard to allow the user to input some data. I use

m_keyProc= new QProcess();
m_keyProc->start("onboard -s 640x120");

This pops up the keyboard but it is behind the full screen window. The onbaord keyboards preferences are set such that it is always on top, but that seems to actually mean "except for full screen windows". I guess that makes sense and probably meets most use cases, but I need it to be really on top.

Can I either A) Not be full screen mode (so the keyboard works) and programmatically hide the task bars? or B) Force the keyboard to be on top despite my full screen status?

Note: On windows we call

m_keyProc->start("C:\\Windows\\system32\\osk.exe");

and the osk keyboard is on top despite the full screen status. So, I'm guessing this is a difference in window mangers on the different operating systems. So do I need to set some flag on the window with the linux window manager?

© Stack Overflow or respective owner

Related posts about qt

Related posts about linux