32 std::shared_ptr<async::async_queue<events::ui_event_t>>
ui;
49 std::visit([
this](
const auto &evt) { this->
handle(evt); }, input);
59 active_chat_rdx_ = evt.rdx_fingerprint;
70 active_chat_rdx_.reset();
89 if (not active_chat_rdx_.has_value()) {
95 if (msg.contact_rdx.has_value() and msg.contact_rdx.value() == active_chat_rdx_.value()) { ui_queue_->push(msg); }
100 std::shared_ptr<async::async_queue<events::ui_event_t>> ui_queue_;
103 mutable std::optional<std::string> active_chat_rdx_;
std::variant< display_message, enter_chat_mode, exit_chat_mode > display_filter_input_t
Display filter input: either a display message or control event.
std::shared_ptr< async::async_queue< events::ui_event_t > > ui
Filters display messages based on active chat context.
auto handle(const events::exit_chat_mode &evt) const -> void
Handles exiting chat mode.
auto handle(const events::display_message &msg) const -> void
Handles a display message, filtering based on chat context.
auto handle(const events::display_filter_input_t &input) const -> void
Variant handler for standard_processor.
display_filter(const out_queues_t &queues)
Constructs a display filter with the given output queue.
auto handle(const events::enter_chat_mode &evt) const -> void
Handles entering chat mode.
Request to display a message to the user.
@ command_feedback
Command execution feedback.
@ system
System messages (always show)
Enter chat mode with specified contact.
Exit chat mode, return to showing all messages.