urwid 3.0.1__tar.gz → 3.0.2__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.

Files changed (315) hide show
  1. {urwid-3.0.1 → urwid-3.0.2}/PKG-INFO +1 -1
  2. {urwid-3.0.1 → urwid-3.0.2}/docs/changelog.rst +9 -0
  3. {urwid-3.0.1 → urwid-3.0.2}/tests/test_scrollable.py +18 -0
  4. {urwid-3.0.1 → urwid-3.0.2}/urwid/version.py +2 -2
  5. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/scrollable.py +1 -1
  6. {urwid-3.0.1 → urwid-3.0.2}/urwid.egg-info/PKG-INFO +1 -1
  7. {urwid-3.0.1 → urwid-3.0.2}/.coveralls.yml +0 -0
  8. {urwid-3.0.1 → urwid-3.0.2}/.devcontainer/dev.dockerfile +0 -0
  9. {urwid-3.0.1 → urwid-3.0.2}/.devcontainer/devcontainer.json +0 -0
  10. {urwid-3.0.1 → urwid-3.0.2}/.dockerignore +0 -0
  11. {urwid-3.0.1 → urwid-3.0.2}/.editorconfig +0 -0
  12. {urwid-3.0.1 → urwid-3.0.2}/.github/CODE_OF_CONDUCT.md +0 -0
  13. {urwid-3.0.1 → urwid-3.0.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  14. {urwid-3.0.1 → urwid-3.0.2}/.github/ISSUE_TEMPLATE/docs.md +0 -0
  15. {urwid-3.0.1 → urwid-3.0.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  16. {urwid-3.0.1 → urwid-3.0.2}/.github/ISSUE_TEMPLATE/question.md +0 -0
  17. {urwid-3.0.1 → urwid-3.0.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  18. {urwid-3.0.1 → urwid-3.0.2}/.github/dependabot.yml +0 -0
  19. {urwid-3.0.1 → urwid-3.0.2}/.github/labeler.yml +0 -0
  20. {urwid-3.0.1 → urwid-3.0.2}/.github/release.yml +0 -0
  21. {urwid-3.0.1 → urwid-3.0.2}/.github/workflows/documentation.yml +0 -0
  22. {urwid-3.0.1 → urwid-3.0.2}/.github/workflows/isolated_static_check.yml +0 -0
  23. {urwid-3.0.1 → urwid-3.0.2}/.github/workflows/labels.yml +0 -0
  24. {urwid-3.0.1 → urwid-3.0.2}/.github/workflows/pythonpackage.yml +0 -0
  25. {urwid-3.0.1 → urwid-3.0.2}/.github/workflows/yamllint.yml +0 -0
  26. {urwid-3.0.1 → urwid-3.0.2}/.gitignore +0 -0
  27. {urwid-3.0.1 → urwid-3.0.2}/.pre-commit-config.yaml +0 -0
  28. {urwid-3.0.1 → urwid-3.0.2}/.yamllint.yml +0 -0
  29. {urwid-3.0.1 → urwid-3.0.2}/COPYING +0 -0
  30. {urwid-3.0.1 → urwid-3.0.2}/MANIFEST.in +0 -0
  31. {urwid-3.0.1 → urwid-3.0.2}/README.rst +0 -0
  32. {urwid-3.0.1 → urwid-3.0.2}/black-requirements.txt +0 -0
  33. {urwid-3.0.1 → urwid-3.0.2}/classifiers.txt +0 -0
  34. {urwid-3.0.1 → urwid-3.0.2}/docs/Makefile +0 -0
  35. {urwid-3.0.1 → urwid-3.0.2}/docs/conf.py +0 -0
  36. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/bigtext.py +0 -0
  37. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/bigtext.py.xdotool +0 -0
  38. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/bigtext1.png +0 -0
  39. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/bigtext2.png +0 -0
  40. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/bigtext3.png +0 -0
  41. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/browse.py +0 -0
  42. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/browse.py.xdotool +0 -0
  43. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/browse1.png +0 -0
  44. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/browse2.png +0 -0
  45. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/edit.py +0 -0
  46. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/edit.py.xdotool +0 -0
  47. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/edit1.png +0 -0
  48. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/edit2.png +0 -0
  49. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/edit_text.txt +0 -0
  50. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/graph.py +0 -0
  51. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/graph.py.xdotool +0 -0
  52. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/graph1.png +0 -0
  53. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/graph2.png +0 -0
  54. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/index.rst +0 -0
  55. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/palette_test.py +0 -0
  56. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/palette_test.py.xdotool +0 -0
  57. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/palette_test1.png +0 -0
  58. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/palette_test2.png +0 -0
  59. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/pop_up.py +0 -0
  60. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/pop_up.py.xdotool +0 -0
  61. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/pop_up1.png +0 -0
  62. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/pop_up2.png +0 -0
  63. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/real_browse.py +0 -0
  64. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/real_edit.py +0 -0
  65. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/subproc.py +0 -0
  66. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/subproc.py.xdotool +0 -0
  67. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/subproc1.png +0 -0
  68. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/subproc2.png +0 -0
  69. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/subproc2.py +0 -0
  70. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/tour.py +0 -0
  71. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/tour.py.xdotool +0 -0
  72. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/tour1.png +0 -0
  73. {urwid-3.0.1 → urwid-3.0.2}/docs/examples/tour2.png +0 -0
  74. {urwid-3.0.1 → urwid-3.0.2}/docs/index.rst +0 -0
  75. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/bright_combinations.py +0 -0
  76. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/bright_combinations.py.xdotool +0 -0
  77. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/bright_combinations1.png +0 -0
  78. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/canvascache.rst +0 -0
  79. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/displayattributes.rst +0 -0
  80. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/displaymodules.rst +0 -0
  81. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/encodings.rst +0 -0
  82. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/images/display_modules.png +0 -0
  83. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/images/introduction.png +0 -0
  84. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/images/urwid_widgets.svgz +0 -0
  85. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/images/urwid_widgets_1.png +0 -0
  86. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/images/urwid_widgets_1.xcf +0 -0
  87. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/images/urwid_widgets_2.png +0 -0
  88. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/images/urwid_widgets_2.xcf +0 -0
  89. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/images/widget_layout.png +0 -0
  90. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/index.rst +0 -0
  91. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/mainloop.rst +0 -0
  92. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/overview.rst +0 -0
  93. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/safe_combinations.py +0 -0
  94. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/safe_combinations.py.xdotool +0 -0
  95. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/safe_combinations1.png +0 -0
  96. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/textlayout.rst +0 -0
  97. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/userinput.rst +0 -0
  98. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/wanat.py +0 -0
  99. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/wanat_multi.py +0 -0
  100. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/wcur1.py +0 -0
  101. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/wcur2.py +0 -0
  102. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/widgets.rst +0 -0
  103. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/wmod.py +0 -0
  104. {urwid-3.0.1 → urwid-3.0.2}/docs/manual/wsel.py +0 -0
  105. {urwid-3.0.1 → urwid-3.0.2}/docs/reference/attrspec.rst +0 -0
  106. {urwid-3.0.1 → urwid-3.0.2}/docs/reference/canvas.rst +0 -0
  107. {urwid-3.0.1 → urwid-3.0.2}/docs/reference/command_map.rst +0 -0
  108. {urwid-3.0.1 → urwid-3.0.2}/docs/reference/constants.rst +0 -0
  109. {urwid-3.0.1 → urwid-3.0.2}/docs/reference/deprecated.rst +0 -0
  110. {urwid-3.0.1 → urwid-3.0.2}/docs/reference/display_modules.rst +0 -0
  111. {urwid-3.0.1 → urwid-3.0.2}/docs/reference/exceptions.rst +0 -0
  112. {urwid-3.0.1 → urwid-3.0.2}/docs/reference/global_settings.rst +0 -0
  113. {urwid-3.0.1 → urwid-3.0.2}/docs/reference/index.rst +0 -0
  114. {urwid-3.0.1 → urwid-3.0.2}/docs/reference/list_walkers.rst +0 -0
  115. {urwid-3.0.1 → urwid-3.0.2}/docs/reference/main_loop.rst +0 -0
  116. {urwid-3.0.1 → urwid-3.0.2}/docs/reference/meta.rst +0 -0
  117. {urwid-3.0.1 → urwid-3.0.2}/docs/reference/signals.rst +0 -0
  118. {urwid-3.0.1 → urwid-3.0.2}/docs/reference/text_layout.rst +0 -0
  119. {urwid-3.0.1 → urwid-3.0.2}/docs/reference/widget.rst +0 -0
  120. {urwid-3.0.1 → urwid-3.0.2}/docs/tools/compile_pngs.sh +0 -0
  121. {urwid-3.0.1 → urwid-3.0.2}/docs/tools/screenshots.sh +0 -0
  122. {urwid-3.0.1 → urwid-3.0.2}/docs/tools/static/.placeholder +0 -0
  123. {urwid-3.0.1 → urwid-3.0.2}/docs/tools/templates/indexcontent.html +0 -0
  124. {urwid-3.0.1 → urwid-3.0.2}/docs/tools/templates/indexsidebar.html +0 -0
  125. {urwid-3.0.1 → urwid-3.0.2}/docs/tools/templates/localtoc.html +0 -0
  126. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/adventure.py +0 -0
  127. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/adventure.py.xdotool +0 -0
  128. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/adventure1.png +0 -0
  129. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/adventure2.png +0 -0
  130. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/adventure3.png +0 -0
  131. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/adventure4.png +0 -0
  132. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/cmenu.py +0 -0
  133. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/cmenu.py.xdotool +0 -0
  134. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/cmenu1.png +0 -0
  135. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/cmenu2.png +0 -0
  136. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/cmenu3.png +0 -0
  137. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/cmenu4.png +0 -0
  138. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/highcolors.py +0 -0
  139. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/highcolors.py.xdotool +0 -0
  140. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/highcolors1.png +0 -0
  141. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/hmenu.py +0 -0
  142. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/hmenu.py.xdotool +0 -0
  143. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/hmenu1.png +0 -0
  144. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/hmenu2.png +0 -0
  145. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/hmenu3.png +0 -0
  146. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/hmenu4.png +0 -0
  147. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/index.rst +0 -0
  148. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/input.py +0 -0
  149. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/input.py.xdotool +0 -0
  150. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/input1.png +0 -0
  151. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/input2.png +0 -0
  152. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/input3.png +0 -0
  153. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/input4.png +0 -0
  154. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/input5.png +0 -0
  155. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/menu25.png +0 -0
  156. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/minimal.py +0 -0
  157. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/minimal.py.xdotool +0 -0
  158. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/minimal1.png +0 -0
  159. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/multiple.py +0 -0
  160. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/multiple.py.xdotool +0 -0
  161. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/multiple1.png +0 -0
  162. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/multiple2.png +0 -0
  163. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/multiple3.png +0 -0
  164. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/multiple4.png +0 -0
  165. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/qa.py +0 -0
  166. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/qa.py.xdotool +0 -0
  167. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/qa1.png +0 -0
  168. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/qa2.png +0 -0
  169. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/qa3.png +0 -0
  170. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/sig.py +0 -0
  171. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/sig.py.xdotool +0 -0
  172. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/sig1.png +0 -0
  173. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/sig2.png +0 -0
  174. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/sig3.png +0 -0
  175. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/sig4.png +0 -0
  176. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/smenu.py +0 -0
  177. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/smenu.py.xdotool +0 -0
  178. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/smenu1.png +0 -0
  179. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/smenu2.png +0 -0
  180. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/smenu3.png +0 -0
  181. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/urwid_attr.py +0 -0
  182. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/urwid_attr.py.xdotool +0 -0
  183. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/urwid_attr1.png +0 -0
  184. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/urwid_attr2.png +0 -0
  185. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/urwid_attr3.png +0 -0
  186. {urwid-3.0.1 → urwid-3.0.2}/docs/tutorial/urwid_attr4.png +0 -0
  187. {urwid-3.0.1 → urwid-3.0.2}/docs/urwid-logo.png +0 -0
  188. {urwid-3.0.1 → urwid-3.0.2}/examples/asyncio_socket_server.py +0 -0
  189. {urwid-3.0.1 → urwid-3.0.2}/examples/bigtext.py +0 -0
  190. {urwid-3.0.1 → urwid-3.0.2}/examples/browse.py +0 -0
  191. {urwid-3.0.1 → urwid-3.0.2}/examples/calc.py +0 -0
  192. {urwid-3.0.1 → urwid-3.0.2}/examples/dialog.py +0 -0
  193. {urwid-3.0.1 → urwid-3.0.2}/examples/edit.py +0 -0
  194. {urwid-3.0.1 → urwid-3.0.2}/examples/fib.py +0 -0
  195. {urwid-3.0.1 → urwid-3.0.2}/examples/graph.py +0 -0
  196. {urwid-3.0.1 → urwid-3.0.2}/examples/input_test.py +0 -0
  197. {urwid-3.0.1 → urwid-3.0.2}/examples/lcd_cf635.py +0 -0
  198. {urwid-3.0.1 → urwid-3.0.2}/examples/palette_test.py +0 -0
  199. {urwid-3.0.1 → urwid-3.0.2}/examples/pop_up.py +0 -0
  200. {urwid-3.0.1 → urwid-3.0.2}/examples/subproc.py +0 -0
  201. {urwid-3.0.1 → urwid-3.0.2}/examples/subproc2.py +0 -0
  202. {urwid-3.0.1 → urwid-3.0.2}/examples/terminal.py +0 -0
  203. {urwid-3.0.1 → urwid-3.0.2}/examples/tour.py +0 -0
  204. {urwid-3.0.1 → urwid-3.0.2}/examples/treesample.py +0 -0
  205. {urwid-3.0.1 → urwid-3.0.2}/examples/twisted_serve_ssh.py +0 -0
  206. {urwid-3.0.1 → urwid-3.0.2}/examples/twisted_serve_ssh.tac +0 -0
  207. {urwid-3.0.1 → urwid-3.0.2}/isort-requirements.txt +0 -0
  208. {urwid-3.0.1 → urwid-3.0.2}/pylint-requirements.txt +0 -0
  209. {urwid-3.0.1 → urwid-3.0.2}/pyproject.toml +0 -0
  210. {urwid-3.0.1 → urwid-3.0.2}/requirements.txt +0 -0
  211. {urwid-3.0.1 → urwid-3.0.2}/ruff-requirements.txt +0 -0
  212. {urwid-3.0.1 → urwid-3.0.2}/setup.cfg +0 -0
  213. {urwid-3.0.1 → urwid-3.0.2}/test_requirements.txt +0 -0
  214. {urwid-3.0.1 → urwid-3.0.2}/tests/__init__.py +0 -0
  215. {urwid-3.0.1 → urwid-3.0.2}/tests/test_canvas.py +0 -0
  216. {urwid-3.0.1 → urwid-3.0.2}/tests/test_columns.py +0 -0
  217. {urwid-3.0.1 → urwid-3.0.2}/tests/test_container.py +0 -0
  218. {urwid-3.0.1 → urwid-3.0.2}/tests/test_doctests.py +0 -0
  219. {urwid-3.0.1 → urwid-3.0.2}/tests/test_escapes.py +0 -0
  220. {urwid-3.0.1 → urwid-3.0.2}/tests/test_event_loops.py +0 -0
  221. {urwid-3.0.1 → urwid-3.0.2}/tests/test_filler.py +0 -0
  222. {urwid-3.0.1 → urwid-3.0.2}/tests/test_floatedit.py +0 -0
  223. {urwid-3.0.1 → urwid-3.0.2}/tests/test_font.py +0 -0
  224. {urwid-3.0.1 → urwid-3.0.2}/tests/test_frame.py +0 -0
  225. {urwid-3.0.1 → urwid-3.0.2}/tests/test_graphics.py +0 -0
  226. {urwid-3.0.1 → urwid-3.0.2}/tests/test_grid_flow.py +0 -0
  227. {urwid-3.0.1 → urwid-3.0.2}/tests/test_line_box.py +0 -0
  228. {urwid-3.0.1 → urwid-3.0.2}/tests/test_listbox.py +0 -0
  229. {urwid-3.0.1 → urwid-3.0.2}/tests/test_main_loop.py +0 -0
  230. {urwid-3.0.1 → urwid-3.0.2}/tests/test_moved_imports.py +0 -0
  231. {urwid-3.0.1 → urwid-3.0.2}/tests/test_overlay.py +0 -0
  232. {urwid-3.0.1 → urwid-3.0.2}/tests/test_padding.py +0 -0
  233. {urwid-3.0.1 → urwid-3.0.2}/tests/test_pile.py +0 -0
  234. {urwid-3.0.1 → urwid-3.0.2}/tests/test_raw_display.py +0 -0
  235. {urwid-3.0.1 → urwid-3.0.2}/tests/test_signals.py +0 -0
  236. {urwid-3.0.1 → urwid-3.0.2}/tests/test_str_util.py +0 -0
  237. {urwid-3.0.1 → urwid-3.0.2}/tests/test_text_layout.py +0 -0
  238. {urwid-3.0.1 → urwid-3.0.2}/tests/test_tree.py +0 -0
  239. {urwid-3.0.1 → urwid-3.0.2}/tests/test_util.py +0 -0
  240. {urwid-3.0.1 → urwid-3.0.2}/tests/test_vterm.py +0 -0
  241. {urwid-3.0.1 → urwid-3.0.2}/tests/test_widget.py +0 -0
  242. {urwid-3.0.1 → urwid-3.0.2}/tests/util.py +0 -0
  243. {urwid-3.0.1 → urwid-3.0.2}/tox.ini +0 -0
  244. {urwid-3.0.1 → urwid-3.0.2}/urwid/__init__.py +0 -0
  245. {urwid-3.0.1 → urwid-3.0.2}/urwid/canvas.py +0 -0
  246. {urwid-3.0.1 → urwid-3.0.2}/urwid/command_map.py +0 -0
  247. {urwid-3.0.1 → urwid-3.0.2}/urwid/container.py +0 -0
  248. {urwid-3.0.1 → urwid-3.0.2}/urwid/decoration.py +0 -0
  249. {urwid-3.0.1 → urwid-3.0.2}/urwid/display/__init__.py +0 -0
  250. {urwid-3.0.1 → urwid-3.0.2}/urwid/display/_posix_raw_display.py +0 -0
  251. {urwid-3.0.1 → urwid-3.0.2}/urwid/display/_raw_display_base.py +0 -0
  252. {urwid-3.0.1 → urwid-3.0.2}/urwid/display/_web.css +0 -0
  253. {urwid-3.0.1 → urwid-3.0.2}/urwid/display/_web.js +0 -0
  254. {urwid-3.0.1 → urwid-3.0.2}/urwid/display/_win32.py +0 -0
  255. {urwid-3.0.1 → urwid-3.0.2}/urwid/display/_win32_raw_display.py +0 -0
  256. {urwid-3.0.1 → urwid-3.0.2}/urwid/display/common.py +0 -0
  257. {urwid-3.0.1 → urwid-3.0.2}/urwid/display/curses.py +0 -0
  258. {urwid-3.0.1 → urwid-3.0.2}/urwid/display/escape.py +0 -0
  259. {urwid-3.0.1 → urwid-3.0.2}/urwid/display/html_fragment.py +0 -0
  260. {urwid-3.0.1 → urwid-3.0.2}/urwid/display/lcd.py +0 -0
  261. {urwid-3.0.1 → urwid-3.0.2}/urwid/display/raw.py +0 -0
  262. {urwid-3.0.1 → urwid-3.0.2}/urwid/display/web.py +0 -0
  263. {urwid-3.0.1 → urwid-3.0.2}/urwid/event_loop/__init__.py +0 -0
  264. {urwid-3.0.1 → urwid-3.0.2}/urwid/event_loop/abstract_loop.py +0 -0
  265. {urwid-3.0.1 → urwid-3.0.2}/urwid/event_loop/asyncio_loop.py +0 -0
  266. {urwid-3.0.1 → urwid-3.0.2}/urwid/event_loop/glib_loop.py +0 -0
  267. {urwid-3.0.1 → urwid-3.0.2}/urwid/event_loop/main_loop.py +0 -0
  268. {urwid-3.0.1 → urwid-3.0.2}/urwid/event_loop/select_loop.py +0 -0
  269. {urwid-3.0.1 → urwid-3.0.2}/urwid/event_loop/tornado_loop.py +0 -0
  270. {urwid-3.0.1 → urwid-3.0.2}/urwid/event_loop/trio_loop.py +0 -0
  271. {urwid-3.0.1 → urwid-3.0.2}/urwid/event_loop/twisted_loop.py +0 -0
  272. {urwid-3.0.1 → urwid-3.0.2}/urwid/event_loop/zmq_loop.py +0 -0
  273. {urwid-3.0.1 → urwid-3.0.2}/urwid/font.py +0 -0
  274. {urwid-3.0.1 → urwid-3.0.2}/urwid/graphics.py +0 -0
  275. {urwid-3.0.1 → urwid-3.0.2}/urwid/numedit.py +0 -0
  276. {urwid-3.0.1 → urwid-3.0.2}/urwid/signals.py +0 -0
  277. {urwid-3.0.1 → urwid-3.0.2}/urwid/split_repr.py +0 -0
  278. {urwid-3.0.1 → urwid-3.0.2}/urwid/str_util.py +0 -0
  279. {urwid-3.0.1 → urwid-3.0.2}/urwid/text_layout.py +0 -0
  280. {urwid-3.0.1 → urwid-3.0.2}/urwid/util.py +0 -0
  281. {urwid-3.0.1 → urwid-3.0.2}/urwid/vterm.py +0 -0
  282. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/__init__.py +0 -0
  283. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/attr_map.py +0 -0
  284. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/attr_wrap.py +0 -0
  285. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/bar_graph.py +0 -0
  286. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/big_text.py +0 -0
  287. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/box_adapter.py +0 -0
  288. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/columns.py +0 -0
  289. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/constants.py +0 -0
  290. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/container.py +0 -0
  291. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/divider.py +0 -0
  292. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/edit.py +0 -0
  293. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/filler.py +0 -0
  294. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/frame.py +0 -0
  295. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/grid_flow.py +0 -0
  296. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/line_box.py +0 -0
  297. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/listbox.py +0 -0
  298. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/monitored_list.py +0 -0
  299. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/overlay.py +0 -0
  300. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/padding.py +0 -0
  301. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/pile.py +0 -0
  302. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/popup.py +0 -0
  303. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/progress_bar.py +0 -0
  304. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/solid_fill.py +0 -0
  305. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/text.py +0 -0
  306. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/treetools.py +0 -0
  307. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/widget.py +0 -0
  308. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/widget_decoration.py +0 -0
  309. {urwid-3.0.1 → urwid-3.0.2}/urwid/widget/wimp.py +0 -0
  310. {urwid-3.0.1 → urwid-3.0.2}/urwid/wimp.py +0 -0
  311. {urwid-3.0.1 → urwid-3.0.2}/urwid.egg-info/SOURCES.txt +0 -0
  312. {urwid-3.0.1 → urwid-3.0.2}/urwid.egg-info/dependency_links.txt +0 -0
  313. {urwid-3.0.1 → urwid-3.0.2}/urwid.egg-info/not-zip-safe +0 -0
  314. {urwid-3.0.1 → urwid-3.0.2}/urwid.egg-info/requires.txt +0 -0
  315. {urwid-3.0.1 → urwid-3.0.2}/urwid.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: urwid
3
- Version: 3.0.1
3
+ Version: 3.0.2
4
4
  Summary: A full-featured console (xterm et al.) user interface library
5
5
  Author-email: Ian Ward <ian@excess.org>
6
6
  License: LGPL-2.1-only
@@ -2,6 +2,15 @@
2
2
  Changelog
3
3
  ---------
4
4
 
5
+ Urwid 3.0.2
6
+ ===========
7
+
8
+ 2025-05-07
9
+
10
+ Bug fixes 🕷
11
+ ++++++++++++
12
+ * Bugfix: Corner case: Scrollbar render for only 1 row height by @penguinolog in https://github.com/urwid/urwid/pull/1021
13
+
5
14
  Urwid 3.0.1
6
15
  ===========
7
16
 
@@ -306,6 +306,24 @@ class TestScrollBarListBox(unittest.TestCase):
306
306
  widget.render(reduced_size).decoded_text,
307
307
  )
308
308
 
309
+ def test_minimal_height(self):
310
+ """If we have only 1 line render height and thumb position in the middle - do not render top."""
311
+ widget = urwid.ScrollBar(
312
+ urwid.ListBox(
313
+ (
314
+ urwid.CheckBox("A"),
315
+ urwid.CheckBox("B"),
316
+ urwid.CheckBox("C"),
317
+ )
318
+ )
319
+ )
320
+ reduced_size = (7, 1)
321
+ self.assertEqual(("[ ] A █",), widget.render(reduced_size).decoded_text)
322
+ widget.keypress(reduced_size, "down")
323
+ self.assertEqual(("[ ] B █",), widget.render(reduced_size).decoded_text)
324
+ widget.keypress(reduced_size, "down")
325
+ self.assertEqual(("[ ] C █",), widget.render(reduced_size).decoded_text)
326
+
309
327
 
310
328
  def trivial_AttrMap(widget):
311
329
  return urwid.AttrMap(widget, {})
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '3.0.1'
21
- __version_tuple__ = version_tuple = (3, 0, 1)
20
+ __version__ = version = '3.0.2'
21
+ __version_tuple__ = version_tuple = (3, 0, 2)
@@ -562,7 +562,7 @@ class ScrollBar(WidgetDecoration[WrappedWidget]):
562
562
  top_weight = float(pos) / max(1, posmax) # pylint: disable=possibly-used-before-assignment
563
563
  top_height = int((maxrow - thumb_height) * top_weight)
564
564
  if top_height == 0 and top_weight > 0:
565
- top_height = 1
565
+ top_height = min(1, maxrow - thumb_height)
566
566
 
567
567
  # Bottom part is remaining space
568
568
  bottom_height = maxrow - thumb_height - top_height
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: urwid
3
- Version: 3.0.1
3
+ Version: 3.0.2
4
4
  Summary: A full-featured console (xterm et al.) user interface library
5
5
  Author-email: Ian Ward <ian@excess.org>
6
6
  License: LGPL-2.1-only
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