aboutsummaryrefslogtreecommitdiffstats
path: root/slack/register.py
diff options
context:
space:
mode:
authorTrygve Aaberge <trygveaa@gmail.com>2023-09-17 11:30:53 +0200
committerTrygve Aaberge <trygveaa@gmail.com>2024-02-18 11:32:54 +0100
commit994e2d246fc09ed942a871696ccae1bdc3002217 (patch)
tree2c1ac01192e50c6d1c717f8c78b70fd47585fcf9 /slack/register.py
parent2a9cad66efec738e68230d335540e6c9e7d9c7e8 (diff)
downloadwee-slack-994e2d246fc09ed942a871696ccae1bdc3002217.tar.gz
Support thread buffers
Diffstat (limited to 'slack/register.py')
-rw-r--r--slack/register.py29
1 files changed, 14 insertions, 15 deletions
diff --git a/slack/register.py b/slack/register.py
index d45fc41..5e81792 100644
--- a/slack/register.py
+++ b/slack/register.py
@@ -5,7 +5,6 @@ import weechat
from slack.commands import register_commands
from slack.config import SlackConfig
from slack.shared import shared
-from slack.slack_conversation import get_conversation_from_buffer_pointer
from slack.slack_emoji import load_standard_emojis
from slack.task import run_async, sleep
from slack.util import get_callback_name, with_color
@@ -21,9 +20,9 @@ def shutdown_cb():
def signal_buffer_switch_cb(data: str, signal: str, buffer_pointer: str) -> int:
- conversation = get_conversation_from_buffer_pointer(buffer_pointer)
- if conversation:
- run_async(conversation.buffer_switched_to())
+ slack_buffer = shared.buffers.get(buffer_pointer)
+ if slack_buffer:
+ run_async(slack_buffer.buffer_switched_to())
return weechat.WEECHAT_RC_OK
@@ -38,29 +37,29 @@ def input_text_cursor_moved_cb(data: str, signal: str, buffer_pointer: str) -> i
def reset_completion_context_on_input(buffer_pointer: str):
- conversation = get_conversation_from_buffer_pointer(buffer_pointer)
- if conversation and conversation.completion_context != "IN_PROGRESS_COMPLETION":
- conversation.completion_context = "NO_COMPLETION"
+ slack_buffer = shared.buffers.get(buffer_pointer)
+ if slack_buffer and slack_buffer.completion_context != "IN_PROGRESS_COMPLETION":
+ slack_buffer.completion_context = "NO_COMPLETION"
def modifier_input_text_display_with_cursor_cb(
data: str, modifier: str, buffer_pointer: str, string: str
) -> str:
prefix = ""
- conversation = get_conversation_from_buffer_pointer(buffer_pointer)
- if conversation:
+ slack_buffer = shared.buffers.get(buffer_pointer)
+ if slack_buffer:
input_delim_color = weechat.config_string(
weechat.config_get("weechat.bar.input.color_delim")
)
input_delim_start = with_color(input_delim_color, "[")
input_delim_end = with_color(input_delim_color, "]")
- if not conversation.workspace.is_connected:
+ if not slack_buffer.workspace.is_connected:
prefix += (
f"{input_delim_start}"
f"{with_color(shared.config.color.disconnected.value, 'disconnected')}"
f"{input_delim_end} "
)
- if conversation.is_loading:
+ if slack_buffer.is_loading:
prefix += (
f"{input_delim_start}"
f"{with_color(shared.config.color.loading.value, 'loading')}"
@@ -70,12 +69,12 @@ def modifier_input_text_display_with_cursor_cb(
def typing_self_cb(data: str, signal: str, signal_data: str) -> int:
- if not shared.config.look.typing_status_self:
+ if not shared.config.look.typing_status_self or signal != "typing_self_typing":
return weechat.WEECHAT_RC_OK
- conversation = get_conversation_from_buffer_pointer(signal_data)
- if conversation:
- conversation.typing_update_self(signal)
+ slack_buffer = shared.buffers.get(signal_data)
+ if slack_buffer:
+ slack_buffer.set_typing_self()
return weechat.WEECHAT_RC_OK