xC/xP: implement M-H in the web frontend

This commit is contained in:
2022-09-16 02:46:03 +02:00
parent ee76186bef
commit d5153fe354
3 changed files with 39 additions and 15 deletions

32
xC.c
View File

@@ -5235,6 +5235,18 @@ buffer_clear (struct app_context *ctx, struct buffer *buffer)
buffer->lines_count = 0;
}
static void
buffer_toggle_unimportant (struct app_context *ctx, struct buffer *buffer)
{
buffer->hide_unimportant ^= true;
relay_prepare_buffer_update (ctx, buffer);
relay_broadcast (ctx);
if (buffer == ctx->current_buffer)
buffer_print_backlog (ctx, buffer);
}
static struct buffer *
buffer_at_index (struct app_context *ctx, int n)
{
@@ -14372,12 +14384,7 @@ on_toggle_unimportant (int count, int key, void *user_data)
(void) count;
(void) key;
struct app_context *ctx = user_data;
ctx->current_buffer->hide_unimportant ^= true;
relay_prepare_buffer_update (ctx, ctx->current_buffer);
relay_broadcast (ctx);
buffer_print_backlog (ctx, ctx->current_buffer);
buffer_toggle_unimportant (ctx, ctx->current_buffer);
return true;
}
@@ -15444,10 +15451,12 @@ client_message_buffer_name (const struct relay_command_message *m)
{
case RELAY_COMMAND_BUFFER_COMPLETE:
return m->data.buffer_input.buffer_name.str;
case RELAY_COMMAND_BUFFER_INPUT:
return m->data.buffer_input.buffer_name.str;
case RELAY_COMMAND_BUFFER_ACTIVATE:
return m->data.buffer_activate.buffer_name.str;
case RELAY_COMMAND_BUFFER_INPUT:
return m->data.buffer_input.buffer_name.str;
case RELAY_COMMAND_BUFFER_TOGGLE_UNIMPORTANT:
return m->data.buffer_toggle_unimportant.buffer_name.str;
case RELAY_COMMAND_BUFFER_LOG:
return m->data.buffer_log.buffer_name.str;
default:
@@ -15573,11 +15582,14 @@ client_process_message (struct client *c,
client_process_buffer_complete (c, m->command_seq, buffer,
&m->data.buffer_complete);
break;
case RELAY_COMMAND_BUFFER_ACTIVATE:
buffer_activate (c->ctx, buffer);
break;
case RELAY_COMMAND_BUFFER_INPUT:
process_input (c->ctx, buffer, m->data.buffer_input.text.str);
break;
case RELAY_COMMAND_BUFFER_ACTIVATE:
buffer_activate (c->ctx, buffer);
case RELAY_COMMAND_BUFFER_TOGGLE_UNIMPORTANT:
buffer_toggle_unimportant (c->ctx, buffer);
break;
case RELAY_COMMAND_BUFFER_LOG:
client_process_buffer_log (c, m->command_seq, buffer);