Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pygame set window on top without changing it's position

Tags:

python

pygame

As I found in the following topic : How to make python window run as "Always On Top"?

I know how to put a window on top. But I would like to keep it at the same position. The autor says that he found a work around to find the x and y values. I would like to know how I can achieve that !

How can I get the x, y values of a pygame window ? Maybe it's a wrong way of doing.

The effect I am looking for is that the window goes on top when I trigger it with some function call.

For those who know League of legends, when a game starts, the window goes on top and remains at the same coordinates.

like image 776
Waroulolz Avatar asked Jan 30 '26 08:01

Waroulolz


1 Answers

There's a shorter solution using the same function:

from ctypes import windll
SetWindowPos = windll.user32.SetWindowPos

NOSIZE = 1
NOMOVE = 2
TOPMOST = -1
NOT_TOPMOST = -2

def alwaysOnTop(yesOrNo):
    zorder = (NOT_TOPMOST, TOPMOST)[yesOrNo] # choose a flag according to bool
    hwnd = pygame.display.get_wm_info()['window'] # handle to the window
    SetWindowPos(hwnd, zorder, 0, 0, 0, 0, NOMOVE|NOSIZE)
like image 147
kmaork Avatar answered Feb 01 '26 20:02

kmaork



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!