PyTermGUI 7.8.0__tar.gz → 7.8.1__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.
- {pytermgui-7.8.0 → pytermgui-7.8.1}/CHANGELOG.md +6 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/PKG-INFO +8 -2
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/__init__.py +1 -1
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/widgets/input_field.py +12 -4
- {pytermgui-7.8.0 → pytermgui-7.8.1}/.gitignore +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/LICENSE +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/README.md +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pyproject.toml +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/animations.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/ansi_interface.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/cmd.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/color_info.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/colors.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/context_managers.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/enums.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/exceptions.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/exporters.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/fancy_repr.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/file_loaders.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/helpers.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/highlighters.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/input.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/inspector.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/markup/__init__.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/markup/aliases.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/markup/language.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/markup/macros.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/markup/parsing.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/markup/style_maps.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/markup/tokens.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/palettes.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/prettifiers.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/pretty.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/py.typed +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/regex.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/serialization.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/term.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/widgets/__init__.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/widgets/base.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/widgets/boxes.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/widgets/button.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/widgets/checkbox.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/widgets/collapsible.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/widgets/color_picker.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/widgets/containers.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/widgets/fancy_repr.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/widgets/frames.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/widgets/inline.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/widgets/keyboard_button.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/widgets/pixel_matrix.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/widgets/slider.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/widgets/styles.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/widgets/toggle.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/win32console.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/window_manager/__init__.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/window_manager/compositor.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/window_manager/layouts.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/window_manager/manager.py +0 -0
- {pytermgui-7.8.0 → pytermgui-7.8.1}/pytermgui/window_manager/window.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyTermGUI
|
|
3
|
-
Version: 7.8.
|
|
3
|
+
Version: 7.8.1
|
|
4
4
|
Summary: Python TUI framework with mouse support, modular widget system, customizable and rapid terminal markup language and more!
|
|
5
5
|
Project-URL: homepage, https://github.com/bczsalba/PyTermGUI
|
|
6
6
|
Project-URL: repository, https://github.com/bczsalba/PyTermGUI
|
|
@@ -107,7 +107,13 @@ on the emulator forwarding the requested events.
|
|
|
107
107
|
|
|
108
108
|
## Latest release
|
|
109
109
|
|
|
110
|
-
### [7.8.
|
|
110
|
+
### [7.8.1] - 2026-09-10
|
|
111
|
+
|
|
112
|
+
### Bugfixes
|
|
113
|
+
|
|
114
|
+
- Fix multiline input navigation and joining lines with Backspace
|
|
115
|
+
|
|
116
|
+
## [7.8.0] - 2026-08-10
|
|
111
117
|
|
|
112
118
|
### Additions
|
|
113
119
|
|
|
@@ -178,6 +178,15 @@ class InputField(Widget): # pylint: disable=too-many-instance-attributes
|
|
|
178
178
|
|
|
179
179
|
line = self._lines[row]
|
|
180
180
|
|
|
181
|
+
if col == 0 and row > 0 and count == 1:
|
|
182
|
+
previous = self._lines[row - 1]
|
|
183
|
+
self._lines[row - 1] = previous + line
|
|
184
|
+
self._lines.pop(row)
|
|
185
|
+
self.move_cursor((row - 1, len(previous)), absolute=True)
|
|
186
|
+
self._styled_cache = None
|
|
187
|
+
|
|
188
|
+
return "\n"
|
|
189
|
+
|
|
181
190
|
start, end = sorted([col, col - count])
|
|
182
191
|
start = max(0, start)
|
|
183
192
|
self._lines[row] = line[:start] + line[end:]
|
|
@@ -435,7 +444,6 @@ class InputField(Widget): # pylint: disable=too-many-instance-attributes
|
|
|
435
444
|
row, col = self.cursor
|
|
436
445
|
|
|
437
446
|
line = self._lines[row]
|
|
438
|
-
width = len(line)
|
|
439
447
|
|
|
440
448
|
# Going left, possibly upwards
|
|
441
449
|
if col < 0:
|
|
@@ -445,17 +453,17 @@ class InputField(Widget): # pylint: disable=too-many-instance-attributes
|
|
|
445
453
|
else:
|
|
446
454
|
self.cursor.row -= 1
|
|
447
455
|
line = self._lines[self.cursor.row]
|
|
448
|
-
self.cursor.col =
|
|
456
|
+
self.cursor.col = len(line)
|
|
449
457
|
|
|
450
458
|
# Going right, possibly downwards
|
|
451
|
-
elif col >
|
|
459
|
+
elif col > len(line) and line != "":
|
|
452
460
|
if len(self._lines) > row + 1:
|
|
453
461
|
self.cursor.row += 1
|
|
454
462
|
self.cursor.col = 0
|
|
455
463
|
|
|
456
464
|
line = self._lines[self.cursor.row]
|
|
457
465
|
|
|
458
|
-
self.cursor.col = max(0, min(self.cursor.col,
|
|
466
|
+
self.cursor.col = max(0, min(self.cursor.col, len(line)))
|
|
459
467
|
|
|
460
468
|
def get_lines(self) -> list[str]:
|
|
461
469
|
"""Builds the input field's lines."""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|