-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tkinter methods lift(), lower(), deiconify() and geometry() not working (properly or at all) #691
Comments
Would you be able to test this on Xubuntu 24.04 when it comes out in a few days? It would be helpful to know if this is a change with the upstream or something that can be fixed locally within Cinnamon. |
Thank you for the quick comment, @rcalixte. |
So I have tested this on Xubuntu 24.04 and I have made two observations:
This also means that problem 4 is probably an issue with Tkinter itself and has nothing to do with Muffin. So we can focus here on problems 1, 2 and 3. |
Will you be able to test on Mint 22 when it is released? I wonder if this is a system dependency that has been updated (and will therefore be fixed in Debian 13/LMDE 7). |
Hi @rcalixte |
Distribution
Linux Mint 21.3 Cinnamon; LMDE 6 Faye
Package version
6.0.4
Graphics hardware in use
No response
Frequency
Always
Bug description
While everything works flawlessly on Xubuntu 22, I experience the following issues on various Cinnamon desktops.
Please, consider the steps below in a Python3 interpreter:
One can then minimize the widget window either by calling
root.iconify()
or using the window manager's dedicated button for this.root.deiconify()
won't bring the window back on the desktop, it stays minimized.root.withdraw(); root.deiconify()
, but this changes the widgets location on the desktop and also its icon on the taskbar shits to the end.root.iconify()
executes in no time, while on LM,root.iconify()
is hanging for a few seconds after minimizing the widget as if it was waiting for something?..If you don't minimize this window, but move another window of whatever application over it, you face...
root.lift()
won't raise it to the top, it stays hidden under the other window.root.focus_force(); root.lift()
does the job, but it steals the focus.root.attributes('-topmost', 1); root.attributes('-topmost', 0)
might be a perfect workaround though.After lifting it, let's say, you want to lower it again...
Problem 3:
root.lower()
won't do anything. Here too, I am only aware of the sub-optimal workaround withroot.focus_force(); root.lower()
, which leaves the focus on a widget that is not even visible.Problem 4: please, consider the script below:
On Cinnamon, the first push on the button makes the whole widget jump around 20 pixels up and left, subsequent clicks on the button don't do anything. Nevertheless, it keep printing
200x200-0-0
even though it's obviously not there. The example works with other coordinates too, it doesn't have to be-0-0
. On Xubuntu, the widget stays in the corner as it is supposed to.I guess this is not an extensive list of similar issues at least with the newest versions of python3-tk (3.10.8-1 on Linux Mint 21.3 Cinnamon and 3.11.2-3 on LMDE 6 Faye). I wonder where exactly the problems might hide, since none of these issues appear on Xubuntu 22. I would guess, it has to do with the different window managers, this is why I posted here as well. (I posted about these issues first on stackoverflow.)
Any insights and workarounds would be very welcome!
Steps to reproduce
Please, see above.
Expected behavior
Please, see above.
Additional information
No response
The text was updated successfully, but these errors were encountered: