urwid 3.0.5__tar.gz → 4.0.0__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.
- {urwid-3.0.5 → urwid-4.0.0}/.github/workflows/documentation.yml +1 -1
- {urwid-3.0.5 → urwid-4.0.0}/.github/workflows/pythonpackage.yml +4 -4
- {urwid-3.0.5 → urwid-4.0.0}/PKG-INFO +1 -1
- {urwid-3.0.5 → urwid-4.0.0}/pyproject.toml +3 -8
- urwid-4.0.0/ruff-requirements.txt +1 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_event_loops.py +1 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/__init__.py +1 -9
- {urwid-3.0.5 → urwid-4.0.0}/urwid/display/_posix_raw_display.py +4 -1
- {urwid-3.0.5 → urwid-4.0.0}/urwid/display/common.py +2 -1
- {urwid-3.0.5 → urwid-4.0.0}/urwid/event_loop/main_loop.py +0 -21
- {urwid-3.0.5 → urwid-4.0.0}/urwid/font.py +2 -19
- urwid-4.0.0/urwid/version.py +24 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/attr_wrap.py +0 -16
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/columns.py +0 -20
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/filler.py +0 -17
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/listbox.py +1 -1
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/monitored_list.py +0 -21
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/pile.py +0 -24
- {urwid-3.0.5 → urwid-4.0.0}/urwid.egg-info/PKG-INFO +1 -1
- {urwid-3.0.5 → urwid-4.0.0}/urwid.egg-info/SOURCES.txt +0 -4
- urwid-3.0.5/ruff-requirements.txt +0 -1
- urwid-3.0.5/tests/test_moved_imports.py +0 -19
- urwid-3.0.5/urwid/container.py +0 -59
- urwid-3.0.5/urwid/decoration.py +0 -65
- urwid-3.0.5/urwid/version.py +0 -34
- urwid-3.0.5/urwid/wimp.py +0 -23
- {urwid-3.0.5 → urwid-4.0.0}/.coveralls.yml +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.devcontainer/dev.dockerfile +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.devcontainer/devcontainer.json +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.dockerignore +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.editorconfig +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.github/CODE_OF_CONDUCT.md +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.github/ISSUE_TEMPLATE/docs.md +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.github/ISSUE_TEMPLATE/question.md +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.github/dependabot.yml +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.github/labeler.yml +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.github/release.yml +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.github/workflows/isolated_static_check.yml +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.github/workflows/labels.yml +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.github/workflows/yamllint.yml +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.gitignore +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.pre-commit-config.yaml +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/.yamllint.yml +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/COPYING +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/MANIFEST.in +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/README.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/classifiers.txt +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/Makefile +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/changelog.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/conf.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/bigtext.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/bigtext.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/bigtext1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/bigtext2.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/bigtext3.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/browse.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/browse.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/browse1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/browse2.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/edit.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/edit.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/edit1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/edit2.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/edit_text.txt +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/graph.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/graph.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/graph1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/graph2.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/index.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/palette_test.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/palette_test.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/palette_test1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/palette_test2.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/pop_up.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/pop_up.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/pop_up1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/pop_up2.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/real_browse.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/real_edit.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/subproc.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/subproc.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/subproc1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/subproc2.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/subproc2.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/tour.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/tour.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/tour1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/examples/tour2.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/index.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/bright_combinations.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/bright_combinations.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/bright_combinations1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/canvascache.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/displayattributes.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/displaymodules.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/encodings.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/images/display_modules.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/images/introduction.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/images/urwid_widgets.svgz +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/images/urwid_widgets_1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/images/urwid_widgets_1.xcf +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/images/urwid_widgets_2.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/images/urwid_widgets_2.xcf +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/images/widget_layout.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/index.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/mainloop.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/overview.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/safe_combinations.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/safe_combinations.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/safe_combinations1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/textlayout.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/userinput.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/wanat.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/wanat_multi.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/wcur1.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/wcur2.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/widgets.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/wmod.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/manual/wsel.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/reference/attrspec.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/reference/canvas.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/reference/command_map.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/reference/constants.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/reference/deprecated.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/reference/display_modules.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/reference/exceptions.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/reference/global_settings.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/reference/index.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/reference/list_walkers.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/reference/main_loop.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/reference/meta.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/reference/signals.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/reference/text_layout.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/reference/widget.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tools/compile_pngs.sh +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tools/screenshots.sh +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tools/static/.placeholder +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tools/templates/indexcontent.html +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tools/templates/indexsidebar.html +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tools/templates/localtoc.html +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/adventure.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/adventure.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/adventure1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/adventure2.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/adventure3.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/adventure4.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/cmenu.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/cmenu.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/cmenu1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/cmenu2.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/cmenu3.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/cmenu4.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/highcolors.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/highcolors.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/highcolors1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/hmenu.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/hmenu.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/hmenu1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/hmenu2.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/hmenu3.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/hmenu4.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/index.rst +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/input.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/input.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/input1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/input2.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/input3.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/input4.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/input5.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/menu25.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/minimal.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/minimal.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/minimal1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/multiple.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/multiple.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/multiple1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/multiple2.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/multiple3.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/multiple4.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/qa.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/qa.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/qa1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/qa2.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/qa3.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/sig.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/sig.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/sig1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/sig2.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/sig3.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/sig4.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/smenu.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/smenu.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/smenu1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/smenu2.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/smenu3.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/urwid_attr.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/urwid_attr.py.xdotool +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/urwid_attr1.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/urwid_attr2.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/urwid_attr3.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/tutorial/urwid_attr4.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/docs/urwid-logo.png +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/asyncio_socket_server.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/bigtext.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/browse.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/calc.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/dialog.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/edit.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/fib.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/graph.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/input_test.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/lcd_cf635.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/palette_test.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/pop_up.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/subproc.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/subproc2.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/terminal.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/tour.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/treesample.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/twisted_serve_ssh.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/examples/twisted_serve_ssh.tac +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/pylint-requirements.txt +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/requirements.txt +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/setup.cfg +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/test_requirements.txt +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/__init__.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_canvas.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_columns.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_container.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_doctests.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_escapes.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_filler.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_floatedit.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_font.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_frame.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_grapheme_clusters.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_graphics.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_grid_flow.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_line_box.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_listbox.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_main_loop.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_overlay.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_padding.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_pile.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_raw_display.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_scrollable.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_signals.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_str_util.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_text_layout.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_tree.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_util.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_vterm.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/test_widget.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tests/util.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/tox.ini +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/canvas.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/command_map.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/display/__init__.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/display/_raw_display_base.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/display/_web.css +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/display/_web.js +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/display/_win32.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/display/_win32_raw_display.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/display/curses.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/display/escape.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/display/html_fragment.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/display/lcd.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/display/raw.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/display/web.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/event_loop/__init__.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/event_loop/abstract_loop.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/event_loop/asyncio_loop.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/event_loop/glib_loop.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/event_loop/select_loop.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/event_loop/tornado_loop.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/event_loop/trio_loop.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/event_loop/twisted_loop.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/event_loop/zmq_loop.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/graphics.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/numedit.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/signals.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/split_repr.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/str_util.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/text_layout.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/util.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/vterm.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/__init__.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/attr_map.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/bar_graph.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/big_text.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/box_adapter.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/constants.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/container.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/divider.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/edit.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/frame.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/grid_flow.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/line_box.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/overlay.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/padding.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/popup.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/progress_bar.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/scrollable.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/solid_fill.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/text.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/treetools.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/widget.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/widget_decoration.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid/widget/wimp.py +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid.egg-info/dependency_links.txt +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid.egg-info/not-zip-safe +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid.egg-info/requires.txt +0 -0
- {urwid-3.0.5 → urwid-4.0.0}/urwid.egg-info/top_level.txt +0 -0
|
@@ -172,13 +172,13 @@ jobs:
|
|
|
172
172
|
- name: Build dist
|
|
173
173
|
run: python -m build
|
|
174
174
|
|
|
175
|
-
- uses: actions/upload-artifact@
|
|
175
|
+
- uses: actions/upload-artifact@v7
|
|
176
176
|
with:
|
|
177
177
|
path: dist/*.tar.gz
|
|
178
178
|
name: built-sdist
|
|
179
179
|
retention-days: 3
|
|
180
180
|
|
|
181
|
-
- uses: actions/upload-artifact@
|
|
181
|
+
- uses: actions/upload-artifact@v7
|
|
182
182
|
with:
|
|
183
183
|
path: dist/*.whl
|
|
184
184
|
name: built-bdist
|
|
@@ -199,7 +199,7 @@ jobs:
|
|
|
199
199
|
run: |
|
|
200
200
|
python -m pip install --upgrade pip
|
|
201
201
|
pip install --upgrade twine
|
|
202
|
-
- uses: actions/download-artifact@
|
|
202
|
+
- uses: actions/download-artifact@v8
|
|
203
203
|
with:
|
|
204
204
|
# unpacks default artifact into dist/
|
|
205
205
|
# if `name: wheels` is omitted, the action will create extra parent dir
|
|
@@ -224,7 +224,7 @@ jobs:
|
|
|
224
224
|
permissions:
|
|
225
225
|
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
|
|
226
226
|
steps:
|
|
227
|
-
- uses: actions/download-artifact@
|
|
227
|
+
- uses: actions/download-artifact@v8
|
|
228
228
|
with:
|
|
229
229
|
pattern: built-*
|
|
230
230
|
merge-multiple: true
|
|
@@ -30,14 +30,9 @@ platforms=["unix-like"]
|
|
|
30
30
|
zip-safe = false
|
|
31
31
|
|
|
32
32
|
[tool.setuptools.packages.find]
|
|
33
|
-
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"examples",
|
|
37
|
-
"test",
|
|
38
|
-
"tests",
|
|
39
|
-
"bin",
|
|
40
|
-
".*"
|
|
33
|
+
include = [
|
|
34
|
+
"urwid",
|
|
35
|
+
"urwid.*",
|
|
41
36
|
]
|
|
42
37
|
namespaces = false
|
|
43
38
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ruff==0.15.8
|
|
@@ -247,6 +247,7 @@ class AsyncioEventLoopTest(unittest.TestCase, EventLoopTestMixin):
|
|
|
247
247
|
self.assertRaises(ZeroDivisionError, evl.run)
|
|
248
248
|
|
|
249
249
|
|
|
250
|
+
@unittest.skip("Unstable test: race conditions happens")
|
|
250
251
|
@unittest.skipUnless(GLIB_AVAILABLE, "GLIB unavailable")
|
|
251
252
|
class GLibEventLoopTest(unittest.TestCase, EventLoopTestMixin):
|
|
252
253
|
def setUp(self):
|
|
@@ -255,15 +255,7 @@ VERSION = __version_tuple__
|
|
|
255
255
|
__locals: dict[str, typing.Any] = locals() # use mutable access for pure lazy loading
|
|
256
256
|
|
|
257
257
|
# Backward compatible lazy load with deprecation warnings
|
|
258
|
-
_moved_warn: dict[str, str] = {
|
|
259
|
-
"lcd_display": "urwid.display.lcd",
|
|
260
|
-
"html_fragment": "urwid.display.html_fragment",
|
|
261
|
-
"web_display": "urwid.display.web",
|
|
262
|
-
"monitored_list": "urwid.widget.monitored_list",
|
|
263
|
-
"listbox": "urwid.widget.listbox",
|
|
264
|
-
"treetools": "urwid.widget.treetools",
|
|
265
|
-
}
|
|
266
|
-
# Backward compatible lazy load without any warnings
|
|
258
|
+
_moved_warn: dict[str, str] = {}
|
|
267
259
|
# Before DeprecationWarning need to start PendingDeprecationWarning process.
|
|
268
260
|
|
|
269
261
|
|
|
@@ -315,7 +315,10 @@ class Screen(_raw_display_base.Screen):
|
|
|
315
315
|
selector.register(fd, selectors.EVENT_READ)
|
|
316
316
|
input_ready = selector.select(0)
|
|
317
317
|
while input_ready:
|
|
318
|
-
|
|
318
|
+
chunk = os.read(fd, 1024)
|
|
319
|
+
if len(chunk) == 0:
|
|
320
|
+
raise RuntimeError("stdin has been closed")
|
|
321
|
+
chars.extend(chunk)
|
|
319
322
|
input_ready = selector.select(0)
|
|
320
323
|
|
|
321
324
|
return chars
|
|
@@ -1018,7 +1018,8 @@ class BaseScreen(abc.ABC, metaclass=signals.MetaSignals):
|
|
|
1018
1018
|
Deprecated in favor of calling `start` as a context manager.
|
|
1019
1019
|
"""
|
|
1020
1020
|
warnings.warn(
|
|
1021
|
-
"run_wrapper is deprecated in favor of calling `start` as a context manager."
|
|
1021
|
+
"run_wrapper is deprecated in favor of calling `start` as a context manager."
|
|
1022
|
+
"API will be removed in version 5.0.",
|
|
1022
1023
|
DeprecationWarning,
|
|
1023
1024
|
stacklevel=3,
|
|
1024
1025
|
)
|
|
@@ -28,7 +28,6 @@ import os
|
|
|
28
28
|
import sys
|
|
29
29
|
import time
|
|
30
30
|
import typing
|
|
31
|
-
import warnings
|
|
32
31
|
from contextlib import suppress
|
|
33
32
|
|
|
34
33
|
from urwid import display, signals
|
|
@@ -169,16 +168,6 @@ class MainLoop:
|
|
|
169
168
|
else:
|
|
170
169
|
self._topmost_widget = self._widget
|
|
171
170
|
|
|
172
|
-
def _set_widget(self, widget: Widget) -> None:
|
|
173
|
-
warnings.warn(
|
|
174
|
-
f"method `{self.__class__.__name__}._set_widget` is deprecated, "
|
|
175
|
-
f"please use `{self.__class__.__name__}.widget` property."
|
|
176
|
-
"API will be removed in version 4.0.",
|
|
177
|
-
DeprecationWarning,
|
|
178
|
-
stacklevel=2,
|
|
179
|
-
)
|
|
180
|
-
self.widget = widget
|
|
181
|
-
|
|
182
171
|
@property
|
|
183
172
|
def pop_ups(self) -> bool:
|
|
184
173
|
return self._pop_ups
|
|
@@ -191,16 +180,6 @@ class MainLoop:
|
|
|
191
180
|
else:
|
|
192
181
|
self._topmost_widget = self._widget
|
|
193
182
|
|
|
194
|
-
def _set_pop_ups(self, pop_ups: bool) -> None:
|
|
195
|
-
warnings.warn(
|
|
196
|
-
f"method `{self.__class__.__name__}._set_pop_ups` is deprecated, "
|
|
197
|
-
f"please use `{self.__class__.__name__}.pop_ups` property."
|
|
198
|
-
"API will be removed in version 4.0.",
|
|
199
|
-
DeprecationWarning,
|
|
200
|
-
stacklevel=2,
|
|
201
|
-
)
|
|
202
|
-
self.pop_ups = pop_ups
|
|
203
|
-
|
|
204
183
|
def set_alarm_in(self, sec: float, callback: Callable[[Self, _T], typing.Any], user_data: _T = None):
|
|
205
184
|
"""
|
|
206
185
|
Schedule an alarm in *sec* seconds that will call *callback* from the
|
|
@@ -33,8 +33,6 @@ from urwid.util import apply_target_encoding
|
|
|
33
33
|
if typing.TYPE_CHECKING:
|
|
34
34
|
from collections.abc import Iterator, Sequence
|
|
35
35
|
|
|
36
|
-
from typing_extensions import Literal
|
|
37
|
-
|
|
38
36
|
|
|
39
37
|
def separate_glyphs(gdata: str, height: int) -> tuple[dict[str, tuple[int, list[str]]], bool]:
|
|
40
38
|
"""return (dictionary of glyphs, utf8 required)"""
|
|
@@ -100,7 +98,8 @@ def add_font(name: str, cls: FontRegistry) -> None:
|
|
|
100
98
|
warnings.warn(
|
|
101
99
|
"`add_font` is deprecated, please set 'name' attribute to the font class,"
|
|
102
100
|
" use metaclass keyword argument 'font_name'"
|
|
103
|
-
" or use `Font.register(<name>)`"
|
|
101
|
+
" or use `Font.register(<name>)`"
|
|
102
|
+
"API will be removed in version 5.0.",
|
|
104
103
|
DeprecationWarning,
|
|
105
104
|
stacklevel=2,
|
|
106
105
|
)
|
|
@@ -221,22 +220,6 @@ class Font(metaclass=FontRegistry):
|
|
|
221
220
|
"""Font description."""
|
|
222
221
|
return f"{self.__class__.__name__}():\n {self.height!r}\n {pformat(self.data, indent=4)}"
|
|
223
222
|
|
|
224
|
-
@staticmethod
|
|
225
|
-
def _to_text(
|
|
226
|
-
obj: str,
|
|
227
|
-
encoding: str = "utf-8",
|
|
228
|
-
errors: Literal["strict", "ignore", "replace"] = "strict",
|
|
229
|
-
) -> str:
|
|
230
|
-
warnings.warn(
|
|
231
|
-
"_to_text is deprecated: only text fonts are supported. API will be removed in version 4.0.",
|
|
232
|
-
DeprecationWarning,
|
|
233
|
-
stacklevel=3,
|
|
234
|
-
)
|
|
235
|
-
if isinstance(obj, str):
|
|
236
|
-
return obj
|
|
237
|
-
|
|
238
|
-
raise TypeError(f"{obj!r} is not str")
|
|
239
|
-
|
|
240
223
|
def add_glyphs(self, gdata: str) -> None:
|
|
241
224
|
d, utf8_required = separate_glyphs(gdata, self.height)
|
|
242
225
|
self.char.update(d)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# file generated by vcs-versioning
|
|
2
|
+
# don't change, don't track in version control
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
__all__ = [
|
|
6
|
+
"__version__",
|
|
7
|
+
"__version_tuple__",
|
|
8
|
+
"version",
|
|
9
|
+
"version_tuple",
|
|
10
|
+
"__commit_id__",
|
|
11
|
+
"commit_id",
|
|
12
|
+
]
|
|
13
|
+
|
|
14
|
+
version: str
|
|
15
|
+
__version__: str
|
|
16
|
+
__version_tuple__: tuple[int | str, ...]
|
|
17
|
+
version_tuple: tuple[int | str, ...]
|
|
18
|
+
commit_id: str | None
|
|
19
|
+
__commit_id__: str | None
|
|
20
|
+
|
|
21
|
+
__version__ = version = '4.0.0'
|
|
22
|
+
__version_tuple__ = version_tuple = (4, 0, 0)
|
|
23
|
+
|
|
24
|
+
__commit_id__ = commit_id = 'gc66b59ad5'
|
|
@@ -71,22 +71,6 @@ class AttrWrap(AttrMap):
|
|
|
71
71
|
)
|
|
72
72
|
self.original_widget = new_widget
|
|
73
73
|
|
|
74
|
-
def get_w(self):
|
|
75
|
-
warnings.warn(
|
|
76
|
-
"backwards compatibility, widget used to be stored as original_widget. API will be removed in version 4.0.",
|
|
77
|
-
DeprecationWarning,
|
|
78
|
-
stacklevel=2,
|
|
79
|
-
)
|
|
80
|
-
return self.original_widget
|
|
81
|
-
|
|
82
|
-
def set_w(self, new_widget: Widget) -> None:
|
|
83
|
-
warnings.warn(
|
|
84
|
-
"backwards compatibility, widget used to be stored as original_widget. API will be removed in version 4.0.",
|
|
85
|
-
DeprecationWarning,
|
|
86
|
-
stacklevel=2,
|
|
87
|
-
)
|
|
88
|
-
self.original_widget = new_widget
|
|
89
|
-
|
|
90
74
|
def get_attr(self) -> Hashable:
|
|
91
75
|
return self.attr_map[None]
|
|
92
76
|
|
|
@@ -483,26 +483,6 @@ class Columns(Widget, WidgetContainerMixin, WidgetContainerListContentsMixin):
|
|
|
483
483
|
box_columns = set(box_columns)
|
|
484
484
|
self.contents = [(w, (t, n, i in box_columns)) for (i, (w, (t, n, b))) in enumerate(self.contents)]
|
|
485
485
|
|
|
486
|
-
@property
|
|
487
|
-
def has_flow_type(self) -> bool:
|
|
488
|
-
"""
|
|
489
|
-
.. deprecated:: 1.0 Read values from :attr:`contents` instead.
|
|
490
|
-
"""
|
|
491
|
-
warnings.warn(
|
|
492
|
-
".has_flow_type is deprecated, read values from .contents instead. API will be removed in version 4.0.",
|
|
493
|
-
DeprecationWarning,
|
|
494
|
-
stacklevel=2,
|
|
495
|
-
)
|
|
496
|
-
return WHSettings.PACK in self.column_types
|
|
497
|
-
|
|
498
|
-
@has_flow_type.setter
|
|
499
|
-
def has_flow_type(self, value):
|
|
500
|
-
warnings.warn(
|
|
501
|
-
".has_flow_type is deprecated, read values from .contents instead. API will be removed in version 4.0.",
|
|
502
|
-
DeprecationWarning,
|
|
503
|
-
stacklevel=2,
|
|
504
|
-
)
|
|
505
|
-
|
|
506
486
|
@property
|
|
507
487
|
def contents(
|
|
508
488
|
self,
|
|
@@ -177,23 +177,6 @@ class Filler(WidgetDecoration[WrappedWidget]):
|
|
|
177
177
|
)
|
|
178
178
|
self.original_widget = new_body
|
|
179
179
|
|
|
180
|
-
def get_body(self) -> WrappedWidget:
|
|
181
|
-
"""backwards compatibility, widget used to be stored as body"""
|
|
182
|
-
warnings.warn(
|
|
183
|
-
"backwards compatibility, widget used to be stored as body. API will be removed in version 4.0.",
|
|
184
|
-
DeprecationWarning,
|
|
185
|
-
stacklevel=2,
|
|
186
|
-
)
|
|
187
|
-
return self.original_widget
|
|
188
|
-
|
|
189
|
-
def set_body(self, new_body: WrappedWidget) -> None:
|
|
190
|
-
warnings.warn(
|
|
191
|
-
"backwards compatibility, widget used to be stored as body. API will be removed in version 4.0.",
|
|
192
|
-
DeprecationWarning,
|
|
193
|
-
stacklevel=2,
|
|
194
|
-
)
|
|
195
|
-
self.original_widget = new_body
|
|
196
|
-
|
|
197
180
|
def selectable(self) -> bool:
|
|
198
181
|
"""Return selectable from body."""
|
|
199
182
|
return self._original_widget.selectable()
|
|
@@ -896,7 +896,7 @@ class ListBox(Widget, WidgetContainerMixin):
|
|
|
896
896
|
|
|
897
897
|
def __call__(inner_self) -> Self:
|
|
898
898
|
warnings.warn(
|
|
899
|
-
"ListBox.contents is a property, not a method",
|
|
899
|
+
"ListBox.contents is a property, not a method. Call API will be removed in version 5.0.",
|
|
900
900
|
DeprecationWarning,
|
|
901
901
|
stacklevel=3,
|
|
902
902
|
)
|
|
@@ -21,7 +21,6 @@ from __future__ import annotations
|
|
|
21
21
|
|
|
22
22
|
import functools
|
|
23
23
|
import typing
|
|
24
|
-
import warnings
|
|
25
24
|
|
|
26
25
|
if typing.TYPE_CHECKING:
|
|
27
26
|
from collections.abc import Callable, Collection, Iterable, Iterator
|
|
@@ -244,26 +243,6 @@ class MonitoredFocusList(MonitoredList[_T], typing.Generic[_T]):
|
|
|
244
243
|
self._focus_changed(index)
|
|
245
244
|
self._focus = index
|
|
246
245
|
|
|
247
|
-
def _get_focus(self) -> int | None:
|
|
248
|
-
warnings.warn(
|
|
249
|
-
f"method `{self.__class__.__name__}._get_focus` is deprecated, "
|
|
250
|
-
f"please use `{self.__class__.__name__}.focus` property."
|
|
251
|
-
"API will be removed in version 4.0.",
|
|
252
|
-
DeprecationWarning,
|
|
253
|
-
stacklevel=3,
|
|
254
|
-
)
|
|
255
|
-
return self.focus
|
|
256
|
-
|
|
257
|
-
def _set_focus(self, index: int) -> None:
|
|
258
|
-
warnings.warn(
|
|
259
|
-
f"method `{self.__class__.__name__}._set_focus` is deprecated, "
|
|
260
|
-
f"please use `{self.__class__.__name__}.focus` property."
|
|
261
|
-
"API will be removed in version 4.0.",
|
|
262
|
-
DeprecationWarning,
|
|
263
|
-
stacklevel=3,
|
|
264
|
-
)
|
|
265
|
-
self.focus = index
|
|
266
|
-
|
|
267
246
|
def _focus_changed(self, new_focus: int) -> None: # pylint: disable=method-hidden # monkeypatch used
|
|
268
247
|
pass
|
|
269
248
|
|
|
@@ -504,30 +504,6 @@ class Pile(Widget, WidgetContainerMixin, WidgetContainerListContentsMixin):
|
|
|
504
504
|
return
|
|
505
505
|
raise ValueError(f"Widget not found in Pile contents: {item!r}")
|
|
506
506
|
|
|
507
|
-
@property
|
|
508
|
-
def focus_item(self):
|
|
509
|
-
warnings.warn(
|
|
510
|
-
"only for backwards compatibility."
|
|
511
|
-
"You should use the new standard container properties "
|
|
512
|
-
"`focus` and `focus_position` to get the child widget in focus or modify the focus position."
|
|
513
|
-
"API will be removed in version 4.0.",
|
|
514
|
-
DeprecationWarning,
|
|
515
|
-
stacklevel=2,
|
|
516
|
-
)
|
|
517
|
-
return self.focus
|
|
518
|
-
|
|
519
|
-
@focus_item.setter
|
|
520
|
-
def focus_item(self, new_item):
|
|
521
|
-
warnings.warn(
|
|
522
|
-
"only for backwards compatibility."
|
|
523
|
-
"You should use the new standard container properties "
|
|
524
|
-
"`focus` and `focus_position` to get the child widget in focus or modify the focus position."
|
|
525
|
-
"API will be removed in version 4.0.",
|
|
526
|
-
DeprecationWarning,
|
|
527
|
-
stacklevel=2,
|
|
528
|
-
)
|
|
529
|
-
self.focus = new_item
|
|
530
|
-
|
|
531
507
|
@property
|
|
532
508
|
def focus_position(self) -> int:
|
|
533
509
|
"""
|
|
@@ -221,7 +221,6 @@ tests/test_grid_flow.py
|
|
|
221
221
|
tests/test_line_box.py
|
|
222
222
|
tests/test_listbox.py
|
|
223
223
|
tests/test_main_loop.py
|
|
224
|
-
tests/test_moved_imports.py
|
|
225
224
|
tests/test_overlay.py
|
|
226
225
|
tests/test_padding.py
|
|
227
226
|
tests/test_pile.py
|
|
@@ -238,8 +237,6 @@ tests/util.py
|
|
|
238
237
|
urwid/__init__.py
|
|
239
238
|
urwid/canvas.py
|
|
240
239
|
urwid/command_map.py
|
|
241
|
-
urwid/container.py
|
|
242
|
-
urwid/decoration.py
|
|
243
240
|
urwid/font.py
|
|
244
241
|
urwid/graphics.py
|
|
245
242
|
urwid/numedit.py
|
|
@@ -250,7 +247,6 @@ urwid/text_layout.py
|
|
|
250
247
|
urwid/util.py
|
|
251
248
|
urwid/version.py
|
|
252
249
|
urwid/vterm.py
|
|
253
|
-
urwid/wimp.py
|
|
254
250
|
urwid.egg-info/PKG-INFO
|
|
255
251
|
urwid.egg-info/SOURCES.txt
|
|
256
252
|
urwid.egg-info/dependency_links.txt
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
ruff==0.14.14
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
import unittest
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class TestMovedImports(unittest.TestCase):
|
|
7
|
-
def test_moved_imports_direct(self) -> None:
|
|
8
|
-
with self.assertWarns(DeprecationWarning):
|
|
9
|
-
from urwid import web_display
|
|
10
|
-
|
|
11
|
-
from urwid.display import web
|
|
12
|
-
|
|
13
|
-
self.assertIs(web, web_display)
|
|
14
|
-
|
|
15
|
-
def test_moved_imports_nested(self) -> None:
|
|
16
|
-
from urwid.display import html_fragment
|
|
17
|
-
from urwid.html_fragment import HtmlGenerator
|
|
18
|
-
|
|
19
|
-
self.assertIs(html_fragment.HtmlGenerator, HtmlGenerator)
|
urwid-3.0.5/urwid/container.py
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
# Urwid container widget classes
|
|
2
|
-
# Copyright (C) 2004-2012 Ian Ward
|
|
3
|
-
#
|
|
4
|
-
# This library is free software; you can redistribute it and/or
|
|
5
|
-
# modify it under the terms of the GNU Lesser General Public
|
|
6
|
-
# License as published by the Free Software Foundation; either
|
|
7
|
-
# version 2.1 of the License, or (at your option) any later version.
|
|
8
|
-
#
|
|
9
|
-
# This library is distributed in the hope that it will be useful,
|
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
12
|
-
# Lesser General Public License for more details.
|
|
13
|
-
#
|
|
14
|
-
# You should have received a copy of the GNU Lesser General Public
|
|
15
|
-
# License along with this library; if not, write to the Free Software
|
|
16
|
-
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
17
|
-
#
|
|
18
|
-
# Urwid web site: https://urwid.org/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
from __future__ import annotations
|
|
22
|
-
|
|
23
|
-
import warnings
|
|
24
|
-
|
|
25
|
-
from urwid.widget import (
|
|
26
|
-
Columns,
|
|
27
|
-
ColumnsError,
|
|
28
|
-
Frame,
|
|
29
|
-
FrameError,
|
|
30
|
-
GridFlow,
|
|
31
|
-
GridFlowError,
|
|
32
|
-
Overlay,
|
|
33
|
-
OverlayError,
|
|
34
|
-
Pile,
|
|
35
|
-
PileError,
|
|
36
|
-
WidgetContainerMixin,
|
|
37
|
-
)
|
|
38
|
-
|
|
39
|
-
__all__ = (
|
|
40
|
-
"Columns",
|
|
41
|
-
"ColumnsError",
|
|
42
|
-
"Frame",
|
|
43
|
-
"FrameError",
|
|
44
|
-
"GridFlow",
|
|
45
|
-
"GridFlowError",
|
|
46
|
-
"Overlay",
|
|
47
|
-
"OverlayError",
|
|
48
|
-
"Pile",
|
|
49
|
-
"PileError",
|
|
50
|
-
"WidgetContainerMixin",
|
|
51
|
-
)
|
|
52
|
-
|
|
53
|
-
warnings.warn(
|
|
54
|
-
f"{__name__!r} is not expected to be imported directly. "
|
|
55
|
-
'Please use public access from "urwid" package. '
|
|
56
|
-
f"Module {__name__!r} is deprecated and will be removed in the version 4.0.",
|
|
57
|
-
DeprecationWarning,
|
|
58
|
-
stacklevel=3,
|
|
59
|
-
)
|
urwid-3.0.5/urwid/decoration.py
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
# Urwid widget decoration classes
|
|
2
|
-
# Copyright (C) 2004-2012 Ian Ward
|
|
3
|
-
#
|
|
4
|
-
# This library is free software; you can redistribute it and/or
|
|
5
|
-
# modify it under the terms of the GNU Lesser General Public
|
|
6
|
-
# License as published by the Free Software Foundation; either
|
|
7
|
-
# version 2.1 of the License, or (at your option) any later version.
|
|
8
|
-
#
|
|
9
|
-
# This library is distributed in the hope that it will be useful,
|
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
12
|
-
# Lesser General Public License for more details.
|
|
13
|
-
#
|
|
14
|
-
# You should have received a copy of the GNU Lesser General Public
|
|
15
|
-
# License along with this library; if not, write to the Free Software
|
|
16
|
-
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
17
|
-
#
|
|
18
|
-
# Urwid web site: https://urwid.org/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
from __future__ import annotations
|
|
22
|
-
|
|
23
|
-
import warnings
|
|
24
|
-
|
|
25
|
-
from urwid.widget import (
|
|
26
|
-
AttrMap,
|
|
27
|
-
AttrMapError,
|
|
28
|
-
AttrWrap,
|
|
29
|
-
BoxAdapter,
|
|
30
|
-
BoxAdapterError,
|
|
31
|
-
Filler,
|
|
32
|
-
FillerError,
|
|
33
|
-
Padding,
|
|
34
|
-
PaddingError,
|
|
35
|
-
WidgetDecoration,
|
|
36
|
-
WidgetDisable,
|
|
37
|
-
WidgetPlaceholder,
|
|
38
|
-
calculate_top_bottom_filler,
|
|
39
|
-
normalize_valign,
|
|
40
|
-
)
|
|
41
|
-
|
|
42
|
-
__all__ = (
|
|
43
|
-
"AttrMap",
|
|
44
|
-
"AttrMapError",
|
|
45
|
-
"AttrWrap",
|
|
46
|
-
"BoxAdapter",
|
|
47
|
-
"BoxAdapterError",
|
|
48
|
-
"Filler",
|
|
49
|
-
"FillerError",
|
|
50
|
-
"Padding",
|
|
51
|
-
"PaddingError",
|
|
52
|
-
"WidgetDecoration",
|
|
53
|
-
"WidgetDisable",
|
|
54
|
-
"WidgetPlaceholder",
|
|
55
|
-
"calculate_top_bottom_filler",
|
|
56
|
-
"normalize_valign",
|
|
57
|
-
)
|
|
58
|
-
|
|
59
|
-
warnings.warn(
|
|
60
|
-
f"{__name__!r} is not expected to be imported directly. "
|
|
61
|
-
'Please use public access from "urwid" package. '
|
|
62
|
-
f"Module {__name__!r} is deprecated and will be removed in the version 4.0.",
|
|
63
|
-
DeprecationWarning,
|
|
64
|
-
stacklevel=3,
|
|
65
|
-
)
|
urwid-3.0.5/urwid/version.py
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# file generated by setuptools-scm
|
|
2
|
-
# don't change, don't track in version control
|
|
3
|
-
|
|
4
|
-
__all__ = [
|
|
5
|
-
"__version__",
|
|
6
|
-
"__version_tuple__",
|
|
7
|
-
"version",
|
|
8
|
-
"version_tuple",
|
|
9
|
-
"__commit_id__",
|
|
10
|
-
"commit_id",
|
|
11
|
-
]
|
|
12
|
-
|
|
13
|
-
TYPE_CHECKING = False
|
|
14
|
-
if TYPE_CHECKING:
|
|
15
|
-
from typing import Tuple
|
|
16
|
-
from typing import Union
|
|
17
|
-
|
|
18
|
-
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
19
|
-
COMMIT_ID = Union[str, None]
|
|
20
|
-
else:
|
|
21
|
-
VERSION_TUPLE = object
|
|
22
|
-
COMMIT_ID = object
|
|
23
|
-
|
|
24
|
-
version: str
|
|
25
|
-
__version__: str
|
|
26
|
-
__version_tuple__: VERSION_TUPLE
|
|
27
|
-
version_tuple: VERSION_TUPLE
|
|
28
|
-
commit_id: COMMIT_ID
|
|
29
|
-
__commit_id__: COMMIT_ID
|
|
30
|
-
|
|
31
|
-
__version__ = version = '3.0.5'
|
|
32
|
-
__version_tuple__ = version_tuple = (3, 0, 5)
|
|
33
|
-
|
|
34
|
-
__commit_id__ = commit_id = 'gdc1616c59'
|
urwid-3.0.5/urwid/wimp.py
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
import warnings
|
|
4
|
-
|
|
5
|
-
from urwid.widget import Button, CheckBox, CheckBoxError, PopUpLauncher, PopUpTarget, RadioButton, SelectableIcon
|
|
6
|
-
|
|
7
|
-
__all__ = (
|
|
8
|
-
"Button",
|
|
9
|
-
"CheckBox",
|
|
10
|
-
"CheckBoxError",
|
|
11
|
-
"PopUpLauncher",
|
|
12
|
-
"PopUpTarget",
|
|
13
|
-
"RadioButton",
|
|
14
|
-
"SelectableIcon",
|
|
15
|
-
)
|
|
16
|
-
|
|
17
|
-
warnings.warn(
|
|
18
|
-
f"{__name__!r} is not expected to be imported directly. "
|
|
19
|
-
'Please use public access from "urwid" package. '
|
|
20
|
-
f"Module {__name__!r} is deprecated and will be removed in the version 4.0.",
|
|
21
|
-
DeprecationWarning,
|
|
22
|
-
stacklevel=3,
|
|
23
|
-
)
|
|
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
|