diff options
author | Trygve Aaberge <trygveaa@gmail.com> | 2023-08-20 12:10:28 +0200 |
---|---|---|
committer | Trygve Aaberge <trygveaa@gmail.com> | 2024-02-18 11:32:53 +0100 |
commit | b4c1ebeead35f84d50dee33a9bf6d314a84a3d86 (patch) | |
tree | 47e07e1c04d360168812d47f6dd3703eaa6456bd /slack/register.py | |
parent | 4e38811c1a97ed4217b8cf38aa0f82816e9f8513 (diff) | |
download | wee-slack-b4c1ebeead35f84d50dee33a9bf6d314a84a3d86.tar.gz |
Support sending and receiving typing
This does not support globally showing typing from direct messages, like
the old wee-slack did, because that's not supported by WeeChats typing
plugin. It only shows typing in the current buffer.
Diffstat (limited to 'slack/register.py')
-rw-r--r-- | slack/register.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/slack/register.py b/slack/register.py index e7628e0..7eab789 100644 --- a/slack/register.py +++ b/slack/register.py @@ -68,6 +68,16 @@ def modifier_input_text_display_with_cursor_cb( return prefix + string +def typing_self_cb(data: str, signal: str, signal_data: str) -> int: + if not shared.config.look.typing_status_self.value: + return weechat.WEECHAT_RC_OK + + conversation = get_conversation_from_buffer_pointer(signal_data) + if conversation: + conversation.typing_update_self(signal) + return weechat.WEECHAT_RC_OK + + def ws_ping_cb(data: str, remaining_calls: int) -> int: for workspace in shared.workspaces.values(): if workspace.is_connected: @@ -117,6 +127,7 @@ def register(): get_callback_name(modifier_input_text_display_with_cursor_cb), "", ) + weechat.hook_signal("typing_self_*", get_callback_name(typing_self_cb), "") weechat.hook_timer(5000, 0, 0, get_callback_name(ws_ping_cb), "") run_async(init_async()) |