urwid 2.6.13__tar.gz → 2.6.14__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of urwid might be problematic. Click here for more details.
- {urwid-2.6.13 → urwid-2.6.14}/PKG-INFO +1 -1
- urwid-2.6.14/pylint-requirements.txt +1 -0
- urwid-2.6.14/ruff-requirements.txt +1 -0
- {urwid-2.6.13 → urwid-2.6.14}/test_requirements.txt +1 -1
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_grid_flow.py +24 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_scrollable.py +10 -10
- {urwid-2.6.13 → urwid-2.6.14}/urwid/version.py +2 -2
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/grid_flow.py +18 -8
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/scrollable.py +1 -1
- {urwid-2.6.13 → urwid-2.6.14}/urwid.egg-info/PKG-INFO +1 -1
- urwid-2.6.13/pylint-requirements.txt +0 -1
- urwid-2.6.13/ruff-requirements.txt +0 -1
- {urwid-2.6.13 → urwid-2.6.14}/.coveralls.yml +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.devcontainer/dev.dockerfile +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.devcontainer/devcontainer.json +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.dockerignore +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.editorconfig +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.github/CODE_OF_CONDUCT.md +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.github/ISSUE_TEMPLATE/docs.md +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.github/ISSUE_TEMPLATE/question.md +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.github/dependabot.yml +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.github/labeler.yml +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.github/release.yml +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.github/workflows/documentation.yml +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.github/workflows/isolated_static_check.yml +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.github/workflows/labels.yml +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.github/workflows/pythonpackage.yml +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.github/workflows/yamllint.yml +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.gitignore +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.pre-commit-config.yaml +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/.yamllint.yml +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/COPYING +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/MANIFEST.in +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/README.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/black-requirements.txt +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/classifiers.txt +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/Makefile +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/changelog.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/conf.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/bigtext.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/bigtext.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/bigtext1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/bigtext2.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/bigtext3.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/browse.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/browse.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/browse1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/browse2.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/edit.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/edit.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/edit1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/edit2.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/edit_text.txt +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/graph.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/graph.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/graph1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/graph2.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/index.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/palette_test.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/palette_test.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/palette_test1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/palette_test2.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/pop_up.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/pop_up.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/pop_up1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/pop_up2.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/real_browse.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/real_edit.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/subproc.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/subproc.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/subproc1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/subproc2.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/subproc2.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/tour.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/tour.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/tour1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/examples/tour2.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/index.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/bright_combinations.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/bright_combinations.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/bright_combinations1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/canvascache.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/displayattributes.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/displaymodules.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/encodings.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/images/display_modules.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/images/introduction.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/images/urwid_widgets.svgz +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/images/urwid_widgets_1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/images/urwid_widgets_1.xcf +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/images/urwid_widgets_2.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/images/urwid_widgets_2.xcf +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/images/widget_layout.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/index.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/mainloop.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/overview.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/safe_combinations.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/safe_combinations.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/safe_combinations1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/textlayout.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/userinput.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/wanat.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/wanat_multi.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/wcur1.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/wcur2.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/widgets.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/wmod.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/manual/wsel.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/reference/attrspec.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/reference/canvas.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/reference/command_map.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/reference/constants.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/reference/deprecated.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/reference/display_modules.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/reference/exceptions.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/reference/global_settings.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/reference/index.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/reference/list_walkers.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/reference/main_loop.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/reference/meta.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/reference/signals.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/reference/text_layout.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/reference/widget.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tools/compile_pngs.sh +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tools/screenshots.sh +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tools/static/.placeholder +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tools/templates/indexcontent.html +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tools/templates/indexsidebar.html +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tools/templates/localtoc.html +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/adventure.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/adventure.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/adventure1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/adventure2.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/adventure3.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/adventure4.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/cmenu.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/cmenu.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/cmenu1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/cmenu2.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/cmenu3.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/cmenu4.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/highcolors.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/highcolors.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/highcolors1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/hmenu.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/hmenu.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/hmenu1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/hmenu2.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/hmenu3.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/hmenu4.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/index.rst +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/input.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/input.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/input1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/input2.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/input3.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/input4.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/input5.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/menu25.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/minimal.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/minimal.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/minimal1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/multiple.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/multiple.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/multiple1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/multiple2.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/multiple3.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/multiple4.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/qa.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/qa.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/qa1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/qa2.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/qa3.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/sig.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/sig.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/sig1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/sig2.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/sig3.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/sig4.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/smenu.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/smenu.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/smenu1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/smenu2.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/smenu3.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/urwid_attr.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/urwid_attr.py.xdotool +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/urwid_attr1.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/urwid_attr2.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/urwid_attr3.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/tutorial/urwid_attr4.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/docs/urwid-logo.png +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/asyncio_socket_server.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/bigtext.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/browse.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/calc.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/dialog.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/edit.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/fib.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/graph.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/input_test.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/lcd_cf635.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/palette_test.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/pop_up.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/subproc.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/subproc2.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/terminal.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/tour.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/treesample.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/twisted_serve_ssh.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/examples/twisted_serve_ssh.tac +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/isort-requirements.txt +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/pyproject.toml +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/requirements.txt +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/setup.cfg +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/setup.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/__init__.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_canvas.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_columns.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_container.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_doctests.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_escapes.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_event_loops.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_filler.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_floatedit.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_font.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_frame.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_graphics.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_line_box.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_listbox.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_main_loop.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_moved_imports.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_overlay.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_padding.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_pile.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_raw_display.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_signals.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_str_util.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_text_layout.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_tree.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_util.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_vterm.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/test_widget.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tests/util.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/tox.ini +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/__init__.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/canvas.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/command_map.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/container.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/decoration.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/display/__init__.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/display/_posix_raw_display.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/display/_raw_display_base.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/display/_web.css +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/display/_web.js +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/display/_win32.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/display/_win32_raw_display.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/display/common.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/display/curses.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/display/escape.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/display/html_fragment.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/display/lcd.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/display/raw.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/display/web.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/event_loop/__init__.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/event_loop/abstract_loop.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/event_loop/asyncio_loop.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/event_loop/glib_loop.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/event_loop/main_loop.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/event_loop/select_loop.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/event_loop/tornado_loop.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/event_loop/trio_loop.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/event_loop/twisted_loop.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/event_loop/zmq_loop.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/font.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/graphics.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/numedit.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/signals.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/split_repr.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/str_util.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/text_layout.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/util.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/vterm.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/__init__.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/attr_map.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/attr_wrap.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/bar_graph.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/big_text.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/box_adapter.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/columns.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/constants.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/container.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/divider.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/edit.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/filler.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/frame.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/line_box.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/listbox.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/monitored_list.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/overlay.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/padding.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/pile.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/popup.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/progress_bar.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/solid_fill.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/text.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/treetools.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/widget.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/widget_decoration.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/widget/wimp.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid/wimp.py +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid.egg-info/SOURCES.txt +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid.egg-info/dependency_links.txt +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid.egg-info/not-zip-safe +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid.egg-info/requires.txt +0 -0
- {urwid-2.6.13 → urwid-2.6.14}/urwid.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
pylint==3.2.3
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ruff==0.4.8
|
|
@@ -204,3 +204,27 @@ class GridFlowTest(unittest.TestCase):
|
|
|
204
204
|
gf.set_focus(t1)
|
|
205
205
|
self.assertEqual(gf.focus_position, 0)
|
|
206
206
|
self.assertRaises(ValueError, lambda: gf.set_focus("nonexistant"))
|
|
207
|
+
|
|
208
|
+
def test_empty(self):
|
|
209
|
+
"""Test behaviour of empty widget."""
|
|
210
|
+
grid = urwid.GridFlow(
|
|
211
|
+
(),
|
|
212
|
+
cell_width=10,
|
|
213
|
+
h_sep=1,
|
|
214
|
+
v_sep=1,
|
|
215
|
+
align=urwid.CENTER,
|
|
216
|
+
)
|
|
217
|
+
self.assertEqual(frozenset((urwid.FLOW,)), grid.sizing(), "Empty grid can not be handled as FIXED")
|
|
218
|
+
rows = 1
|
|
219
|
+
with self.subTest("Flow"):
|
|
220
|
+
maxcol = 1
|
|
221
|
+
self.assertEqual((maxcol, rows), grid.pack((maxcol,)))
|
|
222
|
+
rendered = grid.render((maxcol,))
|
|
223
|
+
self.assertEqual(maxcol, rendered.cols())
|
|
224
|
+
self.assertEqual(rows, rendered.rows())
|
|
225
|
+
|
|
226
|
+
with self.subTest("Fixed"):
|
|
227
|
+
maxcol = 0
|
|
228
|
+
self.assertEqual((maxcol, rows), grid.pack(()))
|
|
229
|
+
with self.assertRaises(ValueError):
|
|
230
|
+
grid.render(())
|
|
@@ -133,11 +133,11 @@ class TestScrollBarScrollable(unittest.TestCase):
|
|
|
133
133
|
|
|
134
134
|
self.assertEqual(top_position_rendered, widget.render(reduced_size).decoded_text)
|
|
135
135
|
|
|
136
|
-
widget.mouse_event(reduced_size, "mouse press", 5, 1, 1, False)
|
|
136
|
+
self.assertTrue(widget.mouse_event(reduced_size, "mouse press", 5, 1, 1, False))
|
|
137
137
|
|
|
138
138
|
self.assertEqual(pos_1_down_rendered, widget.render(reduced_size).decoded_text)
|
|
139
139
|
|
|
140
|
-
widget.mouse_event(reduced_size, "mouse press", 4, 1, 1, False)
|
|
140
|
+
self.assertTrue(widget.mouse_event(reduced_size, "mouse press", 4, 1, 1, False))
|
|
141
141
|
|
|
142
142
|
self.assertEqual(top_position_rendered, widget.render(reduced_size).decoded_text)
|
|
143
143
|
|
|
@@ -283,11 +283,11 @@ class TestScrollBarListBox(unittest.TestCase):
|
|
|
283
283
|
|
|
284
284
|
self.assertEqual(top_position_rendered, widget.render(reduced_size).decoded_text)
|
|
285
285
|
|
|
286
|
-
widget.mouse_event(reduced_size, "mouse press", 5, 1, 1, False)
|
|
286
|
+
self.assertTrue(widget.mouse_event(reduced_size, "mouse press", 5, 1, 1, False))
|
|
287
287
|
|
|
288
288
|
self.assertEqual(pos_1_down_rendered, widget.render(reduced_size).decoded_text)
|
|
289
289
|
|
|
290
|
-
widget.mouse_event(reduced_size, "mouse press", 4, 1, 1, False)
|
|
290
|
+
self.assertTrue(widget.mouse_event(reduced_size, "mouse press", 4, 1, 1, False))
|
|
291
291
|
|
|
292
292
|
self.assertEqual(top_position_rendered, widget.render(reduced_size).decoded_text)
|
|
293
293
|
|
|
@@ -401,11 +401,11 @@ class TestScrollBarAttrMap(unittest.TestCase):
|
|
|
401
401
|
|
|
402
402
|
self.assertEqual(top_position_rendered, widget.render(reduced_size).decoded_text)
|
|
403
403
|
|
|
404
|
-
widget.mouse_event(reduced_size, "mouse press", 5, 1, 1, False)
|
|
404
|
+
self.assertTrue(widget.mouse_event(reduced_size, "mouse press", 5, 1, 1, False))
|
|
405
405
|
|
|
406
406
|
self.assertEqual(pos_1_down_rendered, widget.render(reduced_size).decoded_text)
|
|
407
407
|
|
|
408
|
-
widget.mouse_event(reduced_size, "mouse press", 4, 1, 1, False)
|
|
408
|
+
self.assertTrue(widget.mouse_event(reduced_size, "mouse press", 4, 1, 1, False))
|
|
409
409
|
|
|
410
410
|
self.assertEqual(top_position_rendered, widget.render(reduced_size).decoded_text)
|
|
411
411
|
|
|
@@ -479,11 +479,11 @@ class TestScrollBarListBoxAttrMap(unittest.TestCase):
|
|
|
479
479
|
|
|
480
480
|
self.assertEqual(top_position_rendered, widget.render(reduced_size).decoded_text)
|
|
481
481
|
|
|
482
|
-
widget.mouse_event(reduced_size, "mouse press", 5, 1, 1, False)
|
|
482
|
+
self.assertTrue(widget.mouse_event(reduced_size, "mouse press", 5, 1, 1, False))
|
|
483
483
|
|
|
484
484
|
self.assertEqual(pos_1_down_rendered, widget.render(reduced_size).decoded_text)
|
|
485
485
|
|
|
486
|
-
widget.mouse_event(reduced_size, "mouse press", 4, 1, 1, False)
|
|
486
|
+
self.assertTrue(widget.mouse_event(reduced_size, "mouse press", 4, 1, 1, False))
|
|
487
487
|
|
|
488
488
|
self.assertEqual(top_position_rendered, widget.render(reduced_size).decoded_text)
|
|
489
489
|
|
|
@@ -518,11 +518,11 @@ class TestScrollBarListBoxAttrMap(unittest.TestCase):
|
|
|
518
518
|
|
|
519
519
|
self.assertEqual(top_position_rendered, widget.render(reduced_size).decoded_text)
|
|
520
520
|
|
|
521
|
-
widget.mouse_event(reduced_size, "mouse press", 5, 1, 1, False)
|
|
521
|
+
self.assertTrue(widget.mouse_event(reduced_size, "mouse press", 5, 1, 1, False))
|
|
522
522
|
|
|
523
523
|
self.assertEqual(pos_1_down_rendered, widget.render(reduced_size).decoded_text)
|
|
524
524
|
|
|
525
|
-
widget.mouse_event(reduced_size, "mouse press", 4, 1, 1, False)
|
|
525
|
+
self.assertTrue(widget.mouse_event(reduced_size, "mouse press", 4, 1, 1, False))
|
|
526
526
|
|
|
527
527
|
self.assertEqual(top_position_rendered, widget.render(reduced_size).decoded_text)
|
|
528
528
|
|
|
@@ -30,13 +30,18 @@ class GridFlowWarning(WidgetWarning):
|
|
|
30
30
|
|
|
31
31
|
class GridFlow(WidgetWrap[Pile], WidgetContainerMixin, WidgetContainerListContentsMixin):
|
|
32
32
|
"""
|
|
33
|
-
The GridFlow widget is a flow widget that renders all the widgets it
|
|
34
|
-
|
|
35
|
-
bottom.
|
|
33
|
+
The GridFlow widget is a flow widget that renders all the widgets it contains the same width,
|
|
34
|
+
and it arranges them from left to right and top to bottom.
|
|
36
35
|
"""
|
|
37
36
|
|
|
38
37
|
def sizing(self) -> frozenset[Sizing]:
|
|
39
|
-
|
|
38
|
+
"""Widget sizing.
|
|
39
|
+
|
|
40
|
+
..note:: Empty widget sizing is limited to the FLOW due to no data for width.
|
|
41
|
+
"""
|
|
42
|
+
if self:
|
|
43
|
+
return frozenset((Sizing.FLOW, Sizing.FIXED))
|
|
44
|
+
return frozenset((Sizing.FLOW,))
|
|
40
45
|
|
|
41
46
|
def __init__(
|
|
42
47
|
self,
|
|
@@ -422,14 +427,16 @@ class GridFlow(WidgetWrap[Pile], WidgetContainerMixin, WidgetContainerListConten
|
|
|
422
427
|
def _get_maxcol(self, size: tuple[int] | tuple[()]) -> int:
|
|
423
428
|
if size:
|
|
424
429
|
(maxcol,) = size
|
|
425
|
-
if maxcol < self.cell_width:
|
|
430
|
+
if self and maxcol < self.cell_width:
|
|
426
431
|
warnings.warn(
|
|
427
432
|
f"Size is smaller than cell width ({maxcol!r} < {self.cell_width!r})",
|
|
428
433
|
GridFlowWarning,
|
|
429
434
|
stacklevel=3,
|
|
430
435
|
)
|
|
431
|
-
|
|
436
|
+
elif self:
|
|
432
437
|
maxcol = len(self) * self.cell_width + (len(self) - 1) * self.h_sep
|
|
438
|
+
else:
|
|
439
|
+
maxcol = 0
|
|
433
440
|
return maxcol
|
|
434
441
|
|
|
435
442
|
def get_display_widget(self, size: tuple[int] | tuple[()]) -> Divider | Pile:
|
|
@@ -525,7 +532,7 @@ class GridFlow(WidgetWrap[Pile], WidgetContainerMixin, WidgetContainerListConten
|
|
|
525
532
|
|
|
526
533
|
def keypress(
|
|
527
534
|
self,
|
|
528
|
-
size: tuple[int], # type: ignore[override]
|
|
535
|
+
size: tuple[int] | tuple[()], # type: ignore[override]
|
|
529
536
|
key: str,
|
|
530
537
|
) -> str | None:
|
|
531
538
|
"""
|
|
@@ -545,7 +552,10 @@ class GridFlow(WidgetWrap[Pile], WidgetContainerMixin, WidgetContainerListConten
|
|
|
545
552
|
) -> tuple[int, int]:
|
|
546
553
|
if size:
|
|
547
554
|
return super().pack(size, focus)
|
|
548
|
-
|
|
555
|
+
if self:
|
|
556
|
+
cols = len(self) * self.cell_width + (len(self) - 1) * self.h_sep
|
|
557
|
+
else:
|
|
558
|
+
cols = 0
|
|
549
559
|
return cols, self.rows((cols,), focus)
|
|
550
560
|
|
|
551
561
|
def rows(self, size: tuple[int], focus: bool = False) -> int:
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
pylint==3.2.2
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
ruff==0.4.7
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|