From 383db1270e6cb9011f2b5250002b82106a0f8573 Mon Sep 17 00:00:00 2001 From: itdominator <1itdominator@gmail.com> Date: Wed, 15 Apr 2026 01:58:25 -0500 Subject: [PATCH] feat(code): adjust split view shortcut and register text insert event - Change split pane close shortcut from Ctrl+Shift+W to Alt+\ - Register new TextInsertEvent in event system exports - Prepare groundwork for handling low-level text insertion events in editor pipeline --- plugins/code/commands/split_pane/plugin.py | 2 +- src/libs/dto/code/events/__init__.py | 1 + src/libs/dto/code/events/text_insert_event.py | 20 +++++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 src/libs/dto/code/events/text_insert_event.py diff --git a/plugins/code/commands/split_pane/plugin.py b/plugins/code/commands/split_pane/plugin.py index 5d611ed..bcdb864 100644 --- a/plugins/code/commands/split_pane/plugin.py +++ b/plugins/code/commands/split_pane/plugin.py @@ -55,7 +55,7 @@ class Plugin(PluginCode): command_name = "close_split_view", command = _close_split_view, binding_mode = "released", - binding = "w" + binding = "\\" ) self.emit_to("source_views", event) diff --git a/src/libs/dto/code/events/__init__.py b/src/libs/dto/code/events/__init__.py index 77cc360..d60048d 100644 --- a/src/libs/dto/code/events/__init__.py +++ b/src/libs/dto/code/events/__init__.py @@ -29,6 +29,7 @@ from .cursor_moved_event import CursorMovedEvent from .delete_range_event import DeleteRangeEvent from .modified_changed_event import ModifiedChangedEvent from .text_changed_event import TextChangedEvent +from .text_insert_event import TextInsertEvent from .text_inserted_event import TextInsertedEvent from .focused_view_event import FocusedViewEvent from .set_active_file_event import SetActiveFileEvent diff --git a/src/libs/dto/code/events/text_insert_event.py b/src/libs/dto/code/events/text_insert_event.py new file mode 100644 index 0000000..2838118 --- /dev/null +++ b/src/libs/dto/code/events/text_insert_event.py @@ -0,0 +1,20 @@ +# Python imports +from dataclasses import dataclass, field + +# Lib imports +import gi + +gi.require_version('Gtk', '3.0') + +from gi.repository import Gtk + +# Application imports +from .code_event import CodeEvent + + + +@dataclass +class TextInsertEvent(CodeEvent): + location: Gtk.TextIter = None + text: str = "" + length: int = 0