From d0db1a6cdc7081af1de58683ed38f8aace267375 Mon Sep 17 00:00:00 2001 From: Přemysl Janouch Date: Fri, 15 Jan 2016 05:08:54 +0100 Subject: degesch: enforce fullscreen buffers Probably long overdue. Now we actually look like something resembling a regular IRC client. --- NEWS | 2 ++ degesch.c | 16 ++++------------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/NEWS b/NEWS index dc455df..e481cac 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,8 @@ * Use TLS Server Name Indication when connecting to servers + * degesch: now we erase the screen before displaying buffers + * degesch: added autocomplete for /topic * degesch: resolve remote addresses asynchronously diff --git a/degesch.c b/degesch.c index bf8ab95..2030647 100644 --- a/degesch.c +++ b/degesch.c @@ -1514,7 +1514,6 @@ struct app_context char *attrs[ATTR_COUNT]; ///< Terminal attributes bool isolate_buffers; ///< Isolate global/server buffers bool beep_on_highlight; ///< Beep on highlight - bool fullscreen_buffers; ///< Buffers take the whole screen bool logging; ///< Logging to file enabled bool show_all_prefixes; ///< Show all prefixes before nicks @@ -1715,7 +1714,6 @@ static void on_config_logging_change (struct config_item *item); } TRIVIAL_BOOLEAN_ON_CHANGE (isolate_buffers) -TRIVIAL_BOOLEAN_ON_CHANGE (fullscreen_buffers) TRIVIAL_BOOLEAN_ON_CHANGE (beep_on_highlight) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1876,11 +1874,6 @@ static struct config_schema g_config_behaviour[] = .type = CONFIG_ITEM_BOOLEAN, .default_ = "off", .on_change = on_config_isolate_buffers_change }, - { .name = "fullscreen_buffers", - .comment = "Space above buffer contents is filled with whitespace", - .type = CONFIG_ITEM_BOOLEAN, - .default_ = "off", - .on_change = on_config_fullscreen_buffers_change }, { .name = "beep_on_highlight", .comment = "Beep when highlighted or on a new invisible PM", .type = CONFIG_ITEM_BOOLEAN, @@ -3412,11 +3405,11 @@ buffer_print_backlog (struct app_context *ctx, struct buffer *buffer) // That is, minus the readline prompt int display_limit = MAX (10, g_terminal.lines - 1); - terminal_printer_fn printer = get_attribute_printer (stdout); - if (ctx->fullscreen_buffers) + // Simulate curses-like fullscreen buffers if the terminal allows it + if (clear_screen) { - if (soft_assert (clear_screen)) - tputs (clear_screen, 1, printer); + terminal_printer_fn printer = get_attribute_printer (stdout); + tputs (clear_screen, 1, printer); if (cursor_to_ll) tputs (cursor_to_ll, 1, printer); else if (row_address) @@ -3432,7 +3425,6 @@ buffer_print_backlog (struct app_context *ctx, struct buffer *buffer) iconv_xstrdup (ctx->term_from_utf8, buffer->name, -1, NULL); print_status ("%s", buffer_name_localized); free (buffer_name_localized); - display_limit--; } struct buffer_line *line = buffer->lines_tail; -- cgit v1.2.3-70-g09d2