diff --git a/src/main.cc b/src/main.cc index dbaae037..0049f6be 100644 --- a/src/main.cc +++ b/src/main.cc @@ -557,28 +557,28 @@ int run_server(StringView session, StringView init_command, else buffer_manager.create_buffer("*scratch*", Buffer::Flags::None); - if (not daemon) - { - local_client = client_manager.create_client( - create_local_ui(ui_type), get_env_vars(), init_command); - - if (local_client) - { - auto& selections = local_client->context().selections_write_only(); - auto& buffer = selections.buffer(); - selections = SelectionList(buffer, buffer.clamp(target_coord)); - local_client->context().window().center_line(target_coord.line); - - if (startup_error) - local_client->print_status({ - "error during startup, see *debug* buffer for details", - get_face("Error") - }); - } - } - try { + if (not daemon) + { + local_client = client_manager.create_client( + create_local_ui(ui_type), get_env_vars(), init_command); + + if (local_client) + { + auto& selections = local_client->context().selections_write_only(); + auto& buffer = selections.buffer(); + selections = SelectionList(buffer, buffer.clamp(target_coord)); + local_client->context().window().center_line(target_coord.line); + + if (startup_error) + local_client->print_status({ + "error during startup, see *debug* buffer for details", + get_face("Error") + }); + } + } + while (not terminate and (not client_manager.empty() or daemon)) { client_manager.redraw_clients();