v1.8.6: fix sudo detection, terminal copy/paste

- Tighten sudo auto-password to only match "[sudo] password for" in last line (fixes journalctl hang)
- Remove state="disabled" from terminal widget (fixes copy/paste on Windows)
- Copy: Ctrl+C (with selection), Ctrl+Shift+C, right-click menu
- Paste: Ctrl+V, Ctrl+Shift+V, right-click menu

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
chrome-storm-c442
2026-02-24 03:58:53 -05:00
parent f7c7fe731f
commit c597fe9e5d
4 changed files with 17 additions and 11 deletions

View File

@@ -522,7 +522,9 @@ class TerminalWidget(tk.Frame):
self._prev_cursor_y = cursor.y
self._prev_cursor_hidden = cursor_hidden
self._text.configure(state="disabled")
# Keep text widget in "normal" state — all input is handled
# by key bindings returning "break", so no user editing is possible.
# "disabled" state breaks mouse selection on Windows.
def _make_tags(self, fg, bg, bold, italic, underline, reverse,
strikethrough) -> tuple:
@@ -853,7 +855,9 @@ class TerminalWidget(tk.Frame):
"""Select all text in terminal."""
self._text.configure(state="normal")
self._text.tag_add("sel", "1.0", "end-1c")
self._text.configure(state="disabled")
# Keep text widget in "normal" state — all input is handled
# by key bindings returning "break", so no user editing is possible.
# "disabled" state breaks mouse selection on Windows.
def _on_mousewheel(self, event):
# Ctrl+wheel → zoom