Making a frame be on top of everything

Hi guys,

I want my frame to be always on top, but I want it to be really on top. I want no other windows to hide it, even if they are also “always on top”. I’m using wx.STAY_ON_TOP and wx.FRAME_FLOAT_ON_PARENT, but still there are windows that appear on top of mine. Also, the taskbar appears on top of my frame, while I’d like it to be behind my frame.

Any idea how to make my frame really on top?

Thanks,

Ram.

It’s impossible, as a few moments thought should have told you. You
must surely realize you aren’t the only person in the world who
wants their app to really be on top. As long as there is more than
one, someone loses.

···

Ram Rachum wrote:

I want my frame to be always on top, but I want it to be * really* on top. I want no other windows to hide it, even if they are
also “always on top”. I’m using wx.STAY_ON_TOP and
wx.FRAME_FLOAT_ON_PARENT, but still there are windows that
appear on top of mine. Also, the taskbar appears on top of my
frame, while I’d like it to be behind my frame.

Any idea how to make my frame really on top?

-- Tim Roberts, Providenza & Boekelheide, Inc.

timr@probo.com

Of course that occurred to me. And the next thought was that there might be some kind of numerical order to those windows. And I was thinking that maybe it’s possible to change the priority of my window to make it higher than the priorities of other windows.

This is why I’m asking the group.

···

On Fri, Aug 31, 2012 at 11:44 PM, Tim Roberts timr@probo.com wrote:

Ram Rachum wrote:

I want my frame to be always on top, but I want it to be * really* on top. I want no other windows to hide it, even if they are
also “always on top”. I’m using wx.STAY_ON_TOP and
wx.FRAME_FLOAT_ON_PARENT, but still there are windows that
appear on top of mine. Also, the taskbar appears on top of my
frame, while I’d like it to be behind my frame.

Any idea how to make my frame really on top?

-- Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.
It's impossible, as a few moments thought should have told you.  You

must surely realize you aren’t the only person in the world who
wants their app to really be on top. As long as there is more than
one, someone loses.

To unsubscribe, send email to wxPython-users+unsubscribe@googlegroups.com

or visit http://groups.google.com/group/wxPython-users?hl=en

Ram Rachum wrote:

Of course that occurred to me. And the next thought was that there
might be some kind of numerical order to those windows. And I was
thinking that maybe it's possible to change the priority of my window
to make it higher than the priorities of other windows.

There is no priority among "stay on top" windows, because everyone one
of them wants to be the topmost of the "on top" windows.

It's an old mainframe adage: "when everyone has priority, no one has
priority."

···

--
Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.

I don’t understand, why does Windows decide that the window of the Flash upgrade dialog and Rosetta Stone will appear over my program, CuteMouseGrid? Why does one appear on top of the other, and not the other way around? Is it random? Is it according to which window was created first? It has to be decided according to something, and then what I need to find out is whether I can change this something to make my program favored.

I want to note that my program is intended to be run mostly by me, in case that helps.

···

On Sat, Sep 1, 2012 at 12:28 AM, Tim Roberts timr@probo.com wrote:

Ram Rachum wrote:

Of course that occurred to me. And the next thought was that there

might be some kind of numerical order to those windows. And I was

thinking that maybe it’s possible to change the priority of my window

to make it higher than the priorities of other windows.

There is no priority among “stay on top” windows, because everyone one

of them wants to be the topmost of the “on top” windows.

It’s an old mainframe adage: "when everyone has priority, no one has

priority."

Tim Roberts, timr@probo.com

Providenza & Boekelheide, Inc.

To unsubscribe, send email to wxPython-users+unsubscribe@googlegroups.com

or visit http://groups.google.com/group/wxPython-users?hl=en

As far as I know, it’s just the order of creation.
I still don’t think you’re acknowledging the underlying
philosophical problem here. What happens when, next week, we get a
user that says “I absolutely need my topmost window to be on top of
CuteMouseGrid”?
Topmost windows are supposed to be transient, so long-term ordering
doesn’t matter. What is your window doing?

···

Ram Rachum wrote:

      I don't understand, why does Windows decide that the window

of the Flash upgrade dialog and Rosetta Stone will appear over
my program, CuteMouseGrid? Why does one appear on top of the
other, and not the other way around? Is it random? Is it
according to which window was created first?

It has to be decided according to something , and
then what I need to find out is whether I can change this
something to make my program favored.

-- Tim Roberts, Providenza & Boekelheide, Inc.

timr@probo.com

Ram Rachum wrote:

      I don't understand, why does Windows decide that the window

of the Flash upgrade dialog and Rosetta Stone will appear over
my program, CuteMouseGrid? Why does one appear on top of the
other, and not the other way around? Is it random? Is it
according to which window was created first?

As far as I know, it’s just the order of creation.

I don’t think so. I’ve pitted my program against Rosetta Stone, and Rosetta Stone always wins, regardless of which program is launched first.

It has to be decided according to something , and
then what I need to find out is whether I can change this
something to make my program favored.

I still don't think you're acknowledging the underlying

philosophical problem here. What happens when, next week, we get a
user that says “I absolutely need my topmost window to be on top of
CuteMouseGrid”?

I hoped this discussion wouldn’t get philosophical, but if this issue bothers you, let me explain.

Windows decides which window to show first according to something. You and I currently do not know what that something is. You suggested order creation, which makes sense, but is not true. Maybe it’s according to some other constant in the program.

As an example, maybe Windows compares the path of the executables, and whichever appears first in the dictionary gets the higher priority. (I’m not saying this is how Windows operates, it’s just an example.) Then in this case the answer to your philosophical question would be that whoever has the more first-in-the-dictionary path will win. The fabric of spacetime has remained intact.

Topmost windows are supposed to be transient, so long-term ordering

doesn’t matter. What is your window doing?

My window is a utility that helps the user click the mouse on any spot on the screen by displaying a grid on the screen, and choosing cells using the keyboard. Therefore I obviously want it to show on top of everything, so no letters will be hidden.

···

On Sat, Sep 1, 2012 at 1:27 AM, Tim Roberts timr@probo.com wrote:

-- Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.

To unsubscribe, send email to wxPython-users+unsubscribe@googlegroups.com

or visit http://groups.google.com/group/wxPython-users?hl=en

Ram Rachum wrote:

I don't think so. I've pitted my program against Rosetta Stone, and
Rosetta Stone always wins, regardless of which program is launched first.

Are you sure Rosetta Stone's window is actually a window, as opposed to
drawing directly on the desktop?

I hoped this discussion wouldn't get philosophical, but if this issue
bothers you, let me explain.

Well, it's not a matter of being "bothered". It's just that many people
get focused on one solution to a given problem, and end up focusing on
their one solution without considering that their overall problem might
better be solved in another way.

···

--
Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.

Ram Rachum wrote:

I don’t think so. I’ve pitted my program against Rosetta Stone, and

Rosetta Stone always wins, regardless of which program is launched first.

Are you sure Rosetta Stone’s window is actually a window, as opposed to

drawing directly on the desktop?

It has 2 modes, window and full-screen. It’s always-on-top only when it’s full-screen. Does that shed any light?

In any case, I’ll be happy to refocus the discussion on my question: How can I make my app be on top of all other apps?

···

On Sat, Sep 1, 2012 at 2:02 AM, Tim Roberts timr@probo.com wrote:

I hoped this discussion wouldn’t get philosophical, but if this issue

bothers you, let me explain.

Well, it’s not a matter of being “bothered”. It’s just that many people

get focused on one solution to a given problem, and end up focusing on

their one solution without considering that their overall problem might

better be solved in another way.

Tim Roberts, timr@probo.com

Providenza & Boekelheide, Inc.

To unsubscribe, send email to wxPython-users+unsubscribe@googlegroups.com

or visit http://groups.google.com/group/wxPython-users?hl=en

Ram Rachum wrote:

I don’t think so. I’ve pitted my program against Rosetta Stone, and

Rosetta Stone always wins, regardless of which program is launched first.

Are you sure Rosetta Stone’s window is actually a window, as opposed to

drawing directly on the desktop?

It has 2 modes, window and full-screen. It’s always-on-top only when it’s full-screen. Does that shed any light?

In any case, I’ll be happy to refocus the discussion on my question: How can I make my app be on top of all other apps?

Does anyone have a clue about this?

···

On Sat, Sep 1, 2012 at 2:05 AM, Ram Rachum ram@rachum.com wrote:

On Sat, Sep 1, 2012 at 2:02 AM, Tim Roberts timr@probo.com wrote:

I hoped this discussion wouldn’t get philosophical, but if this issue

bothers you, let me explain.

Well, it’s not a matter of being “bothered”. It’s just that many people

get focused on one solution to a given problem, and end up focusing on

their one solution without considering that their overall problem might

better be solved in another way.

Tim Roberts, timr@probo.com

Providenza & Boekelheide, Inc.

To unsubscribe, send email to wxPython-users+unsubscribe@googlegroups.com

or visit http://groups.google.com/group/wxPython-users?hl=en

The basic answer is you don’t you let your user decide which
application they would like on top. The only other option, (in a
tightly controlled environment), is make sure your application is
the only one the user is allowed to have installed on the computer.
Basically saying “My Application is more important than else that might be going on at the moment” is considered rude and
dictatorial.
Gadget/Steve

···

On 04/09/2012 9:15 AM, Ram Rachum
wrote:

      On Sat, Sep 1, 2012 at 2:05 AM, Ram

Rachum ram@rachum.com
wrote:

              On Sat, Sep 1, 2012 at 2:02 AM, Tim

Roberts timr@probo.com
wrote:

Ram Rachum wrote:

                  >

                  > I don't think so. I've pitted my program

against Rosetta Stone, and

                  > Rosetta Stone always wins, regardless of

which program is launched first.

                Are you sure Rosetta Stone's window is actually a

window, as opposed to

                drawing directly on the desktop?
              It has 2 modes, window and full-screen. It's

always-on-top only when it’s full-screen. Does that
shed any light?

              In any case, I'll be happy to refocus the

discussion on my question: How can I make my app be on
top of all other apps?

Does anyone have a clue about this?

anything

Ram Rachum wrote:

                  >

                  > I don't think so. I've pitted my program

against Rosetta Stone, and

                  > Rosetta Stone always wins, regardless of

which program is launched first.

                Are you sure Rosetta Stone's window is actually a

window, as opposed to

                drawing directly on the desktop?
              It has 2 modes, window and full-screen. It's

always-on-top only when it’s full-screen. Does that
shed any light?

              In any case, I'll be happy to refocus the

discussion on my question: How can I make my app be on
top of all other apps?

Does anyone have a clue about this?

The basic answer is you don't you let your user decide which

application they would like on top. The only other option, (in a
tightly controlled environment), is make sure your application is
the only one the user is allowed to have installed on the computer.
Basically saying “My Application is more important than anything
else that might be going on at the moment” is considered rude and
dictatorial.

Gadget/Steve

You’re making a technical question into a philsophical/moral one.

Currently the only user of the program is myself, and I’d very much like it to be on top of other programs on my own computer. How do I do that?

···

On Tue, Sep 4, 2012 at 12:02 PM, Gadget/Steve GadgetSteve@live.co.uk wrote:

  On 04/09/2012 9:15 AM, Ram Rachum > wrote:
      On Sat, Sep 1, 2012 at 2:05 AM, Ram > > Rachum <ram@rachum.com> > >           wrote:
              On Sat, Sep 1, 2012 at 2:02 AM, Tim > > > Roberts <timr@probo.com> > > >                   wrote:

To unsubscribe, send email to wxPython-users+unsubscribe@googlegroups.com

or visit http://groups.google.com/group/wxPython-users?hl=en

Very easy - just don’t run anything else!

···

On 04/09/2012 10:04 AM, Ram Rachum
wrote:

      On Tue, Sep 4, 2012 at 12:02 PM,

Gadget/Steve GadgetSteve@live.co.uk
wrote:

On 04/09/2012 9:15 AM, Ram Rachum wrote:

                  On Sat, Sep 1, 2012 at 2:05

AM, Ram Rachum ram@rachum.com
wrote:

                          On Sat, Sep 1, 2012 at 2:02 AM, Tim

Roberts timr@probo.com
wrote:

Ram Rachum wrote:

                              >

                              > I don't think so. I've pitted my

program against Rosetta Stone, and

                              > Rosetta Stone always wins,

regardless of which program is
launched first.

                            Are you sure Rosetta Stone's window is

actually a window, as opposed to

                            drawing directly on the desktop?
                          It has 2 modes, window and full-screen.

It’s always-on-top only when it’s
full-screen. Does that shed any light?

                          In any case, I'll be happy to refocus

the discussion on my question: How can I
make my app be on top of all other apps?

Does anyone have a clue about this?

          The basic answer is you don't you let your user decide

which application they would like on top. The only other
option, (in a tightly controlled environment), is make
sure your application is the only one the user is allowed
to have installed on the computer. Basically saying “My
Application is more important than anything
else that might be going on at the moment” is considered
rude and dictatorial.

              Gadget/Steve
        You're making a technical question into a

philsophical/moral one.

        Currently the only user of the program is myself, and I'd

very much like it to be on top of other programs on my own
computer. How do I do that?

            To unsubscribe, send email to wxPython-users+unsubscribe@googlegroups.com

            or visit [http://groups.google.com/group/wxPython-users?hl=en](http://groups.google.com/group/wxPython-users?hl=en)

  To unsubscribe, send email to

or visit

wxPython-users+unsubscribe@googlegroups.com
http://groups.google.com/group/wxPython-users?hl=en

Ram Rachum wrote:

                              >

                              > I don't think so. I've pitted my

program against Rosetta Stone, and

                              > Rosetta Stone always wins,

regardless of which program is
launched first.

                            Are you sure Rosetta Stone's window is

actually a window, as opposed to

                            drawing directly on the desktop?
                          It has 2 modes, window and full-screen.

It’s always-on-top only when it’s
full-screen. Does that shed any light?

                          In any case, I'll be happy to refocus

the discussion on my question: How can I
make my app be on top of all other apps?

Does anyone have a clue about this?

          The basic answer is you don't you let your user decide

which application they would like on top. The only other
option, (in a tightly controlled environment), is make
sure your application is the only one the user is allowed
to have installed on the computer. Basically saying “My
Application is more important than anything
else that might be going on at the moment” is considered
rude and dictatorial.

              Gadget/Steve
        You're making a technical question into a

philsophical/moral one.

        Currently the only user of the program is myself, and I'd

very much like it to be on top of other programs on my own
computer. How do I do that?

            To unsubscribe, send email to wxPython-users+unsubscribe@googlegroups.com

            or visit [http://groups.google.com/group/wxPython-users?hl=en](http://groups.google.com/group/wxPython-users?hl=en)

  To unsubscribe, send email to

wxPython-users+unsubscribe@googlegroups.com

  or visit [http://groups.google.com/group/wxPython-users?hl=en](http://groups.google.com/group/wxPython-users?hl=en)

Very easy - just don’t run anything else!

I want my window to be on top even when I’m running other programs.

···

On Tue, Sep 4, 2012 at 2:03 PM, Gadget/Steve GadgetSteve@live.co.uk wrote:

  On 04/09/2012 10:04 AM, Ram Rachum > wrote:
      On Tue, Sep 4, 2012 at 12:02 PM, > > Gadget/Steve <GadgetSteve@live.co.uk> > >           wrote:

On 04/09/2012 9:15 AM, Ram Rachum wrote:

                  On Sat, Sep 1, 2012 at 2:05 > > > > AM, Ram Rachum <ram@rachum.com> > > > >                       wrote:
                          On Sat, Sep 1, 2012 at 2:02 AM, Tim > > > > > Roberts <timr@probo.com> > > > > >                               wrote:

To unsubscribe, send email to wxPython-users+unsubscribe@googlegroups.com

or visit http://groups.google.com/group/wxPython-users?hl=en

http://www.fadsoft.net/AlwaysOnTopMaker.htm simplest solution for windows

Hi Ram and All,

···

On Tue, Sep 4, 2012 at 7:10 AM, Ram Rachum <ram@rachum.com> wrote:

This may have some pointers that work for Win32:

http://stackoverflow.com/questions/3678966/how-can-i-ensure-that-the-application-windows-is-always-on-top

Does a wxPython splash screen appear over your other "always on top"
Rosetta Stone application? If so, then there must be some way to hack
wxPython to do what you want, I think. If not, then using something
like the above-mentioned win32ui calls on Winders would seem to be the
best way to go.

But jj's comment may be the quickest and simplest solution in this case.

HTH. Good luck.

Cheers,
Scott.

and a bit of thing called googling, usually used by NASA scientists only, revealed this

and

···

On Friday, August 31, 2012 11:42:38 PM UTC+3, Ram Rachum wrote:

Hi guys,

I want my frame to be always on top, but I want it to be really on top. I want no other windows to hide it, even if they are also “always on top”. I’m using wx.STAY_ON_TOP and wx.FRAME_FLOAT_ON_PARENT, but still there are windows that appear on top of mine. Also, the taskbar appears on top of my frame, while I’d like it to be behind my frame.

Any idea how to make my frame really on top?

Thanks,

Ram.

Thanks guys,

I’ve looked at the 2 Stack Overflow questions you’ve sent. The answers basically boil down to this:

def make_really_on_top(self):

import win32gui, win32process, win32con

import os

win32gui.SetWindowPos(

self.Handle,

win32con.HWND_TOPMOST,

self.Position[0], self.Position[1],

self.Size[0], self.Size[1],

0

)

I’ve tried it, it doesn’t work. My windows still stay below Rosetta Stone and the Windows task bar. I’ve also played with the various flags and didn’t find a combination that worked.

The utility program AlwaysOnTopMaker is not helpful because I don’t want to run it every time for my program. I want it to be automatic.

Any more ideas?

···

On Tue, Sep 4, 2012 at 2:26 PM, grunculus grunculus@gmail.com wrote:

Hi Ram and All,

On Tue, Sep 4, 2012 at 7:10 AM, Ram Rachum ram@rachum.com wrote:

This may have some pointers that work for Win32:

http://stackoverflow.com/questions/3678966/how-can-i-ensure-that-the-application-windows-is-always-on-top

Does a wxPython splash screen appear over your other “always on top”

Rosetta Stone application? If so, then there must be some way to hack

wxPython to do what you want, I think. If not, then using something

like the above-mentioned win32ui calls on Winders would seem to be the

best way to go.

But jj’s comment may be the quickest and simplest solution in this case.

HTH. Good luck.

Cheers,

Scott.

To unsubscribe, send email to wxPython-users+unsubscribe@googlegroups.com

or visit http://groups.google.com/group/wxPython-users?hl=en

Try this one http://www.autohotkey.com/community/viewtopic.php?t=72271
It might need some kind of launcher or bat file to run, basically I think this is what TaskManager uses, cus I swith it to “always on top” on win8, it restarts. Problem might be, that U just can’t beat it.

Crazy idea - mby U can pass Windows and draw U’r app directly using video drivers. but don’t know if it’s possible at all…

It has 2 modes, window and full-screen. It’s always-on-top only when it’s full-screen. Does that shed any light?

Yes – you want full scree mode for your app too – something like ShowFullScreen()

-Chris

···

Rachum ram@rachum.com wrote:

In any case, I’ll be happy to refocus the discussion on my question: How can I make my app be on top of all other apps?

Does anyone have a clue about this?

I hoped this discussion wouldn’t get philosophical, but if this issue

bothers you, let me explain.

Well, it’s not a matter of being “bothered”. It’s just that many people

get focused on one solution to a given problem, and end up focusing on

their one solution without considering that their overall problem might

better be solved in another way.

Tim Roberts, timr@probo.com

Providenza & Boekelheide, Inc.

To unsubscribe, send email to wxPython-users+unsubscribe@googlegroups.com

or visit http://groups.google.com/group/wxPython-users?hl=en

To unsubscribe, send email to wxPython-users+unsubscribe@googlegroups.com

or visit http://groups.google.com/group/wxPython-users?hl=en