Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee=Noneclosed_at=Nonecreated_at=<Date2015-08-27.16:44:16.845>labels= ['type-bug', 'expert-tkinter']
title='Tkinter tests that fail on linux in tiling window manager'updated_at=<Date2015-09-01.09:25:19.131>user='https://github.com/terryjreedy'
I already added a workaround to pass these tests on my netbook (new windows are opened maximized on it). May be there is a way to make a window floating in tiled window manager in Tk.
The-Compiler commented on Sep 1, 2015
The-Compilermannequin
Mannequin
More actions
At least with my WM, there is no concept of having floating windows when in tiling mode, so I don't think that would be possible.
I also don't think there's a standard way to tell a window manager to not tile windows.
What about opening a simple window with a fixed geometry, checking if this was changed by the WM, and if it is, skip those tests?
The GUI tests that assumed a window is mapped immediately with a usable geometry now go through require_mapped() / wait_until_mapped() (in test.test_tkinter.support), which waits for the window manager to map the window and skips cleanly when it won't — so they no longer fail under tiling WMs like herbstluftwm. Done across #152499, #152599 and #152690. Closing as fixed — thanks for the report!
NotebookTest.test_traversal wasn't covered by GH-152499 and still fails intermittently on a real X11 display: identify(5, 5) is called before the notebook reaches its requested size, so the pixel lands outside the first tab and returns ''. Reopening to harden it.
Activity
terryjreedy commented on Aug 27, 2015
Serhiy, Florian emailed this to me in response to my pydev post on Linux gui tests. I'll let you decide if you think anything needs to be done.
======================================================================
FAIL: test_pack_configure_anchor (tkinter.test.test_tkinter.test_geometry_managers.PackTest)
----------------------------------------------------------------------
======================================================================
FAIL: test_pack_configure_expand (tkinter.test.test_tkinter.test_geometry_managers.PackTest)
----------------------------------------------------------------------
======================================================================
FAIL: test_pack_configure_padx_ipadx_fill (tkinter.test.test_tkinter.test_geometry_managers.PackTest)
----------------------------------------------------------------------
Traceback (most recent call last): File "/usr/lib/python3.4/tkinter/test/test_tkinter/test_geometry_managers.py", line 125, in test_pack_configure_padx_ipadx_fill check('20x40+260+80', '240x200+0+0', side='right', padx=20) File "/usr/lib/python3.4/tkinter/test/test_tkinter/test_geometry_managers.py", line 123, in check self.assertEqual(a.winfo_geometry(), geom1) AssertionError: '20x40+412+102' != '20x40+260+80' - 20x40+412+102 + 20x40+260+80======================================================================
FAIL: test_pack_configure_pady_ipady_fill (tkinter.test.test_tkinter.test_geometry_managers.PackTest)
----------------------------------------------------------------------
Traceback (most recent call last): File "/usr/lib/python3.4/tkinter/test/test_tkinter/test_geometry_managers.py", line 167, in test_pack_configure_pady_ipady_fill check('20x40+280+80', '280x200+0+0', side='right', pady=20) File "/usr/lib/python3.4/tkinter/test/test_tkinter/test_geometry_managers.py", line 165, in check self.assertEqual(a.winfo_geometry(), geom1) AssertionError: '20x40+432+102' != '20x40+280+80' - 20x40+432+102 + 20x40+280+80======================================================================
FAIL: test_pack_configure_side (tkinter.test.test_tkinter.test_geometry_managers.PackTest)
----------------------------------------------------------------------
They however run fine in floating mode, so I'm guessing this is just a
limitation of those tests.
serhiy-storchaka commented on Aug 28, 2015
I already added a workaround to pass these tests on my netbook (new windows are opened maximized on it). May be there is a way to make a window floating in tiled window manager in Tk.
The-Compiler commented on Sep 1, 2015
At least with my WM, there is no concept of having floating windows when in tiling mode, so I don't think that would be possible.
I also don't think there's a standard way to tell a window manager to not tile windows.
What about opening a simple window with a fixed geometry, checking if this was changed by the WM, and if it is, skip those tests?
gh-69134: Harden tkinter GUI tests that depend on a mapped widget (GH…
[3.14] gh-69134: Harden tkinter GUI tests that depend on a mapped wid…
[3.13] gh-69134: Harden tkinter GUI tests that depend on a mapped wid…
[3.15] gh-69134: Harden tkinter GUI tests that depend on a mapped wid…
gh-69134: Wait until mapped in keyboard virtual-event tests (GH-152599)
[3.13] gh-69134: Wait until mapped in keyboard virtual-event tests (G…
[3.15] gh-69134: Wait until mapped in keyboard virtual-event tests (G…
[3.14] gh-69134: Wait until mapped in keyboard virtual-event tests (G…
pythongh-69134: Wait until mapped in SimpleDialog keyboard tests
pythongh-69134: Wait until mapped in SimpleDialog keyboard tests
gh-69134: Wait until mapped in SimpleDialog keyboard tests (GH-152690)
serhiy-storchaka commented on Jul 5, 2026
The GUI tests that assumed a window is mapped immediately with a usable geometry now go through require_mapped() / wait_until_mapped() (in test.test_tkinter.support), which waits for the window manager to map the window and skips cleanly when it won't — so they no longer fail under tiling WMs like herbstluftwm. Done across #152499, #152599 and #152690. Closing as fixed — thanks for the report!
[3.13] gh-69134: Wait until mapped in SimpleDialog keyboard tests (GH…
[3.14] gh-69134: Wait until mapped in SimpleDialog keyboard tests (GH…
[3.15] gh-69134: Wait until mapped in SimpleDialog keyboard tests (GH…
serhiy-storchaka commented on Jul 9, 2026
NotebookTest.test_traversal wasn't covered by GH-152499 and still fails intermittently on a real X11 display: identify(5, 5) is called before the notebook reaches its requested size, so the pixel lands outside the first tab and returns ''. Reopening to harden it.
gh-69134: Harden NotebookTest.test_traversal (GH-153403)
[3.14] gh-69134: Harden NotebookTest.test_traversal (GH-153403) (GH-1…
[3.15] gh-69134: Harden NotebookTest.test_traversal (GH-153403) (GH-1…
[3.13] gh-69134: Harden NotebookTest.test_traversal (GH-153403) (GH-1…