From e3dc184882e6512453929a6a8932785a6658aaab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Tue, 30 Jul 2019 22:06:02 +0200 Subject: [PATCH] term: break out 'flash' to a separate 'term' function --- osc.c | 14 +------------- terminal.c | 17 +++++++++++++++++ terminal.h | 1 + 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/osc.c b/osc.c index 20d80c9e..3424d476 100644 --- a/osc.c +++ b/osc.c @@ -3,8 +3,6 @@ #include #include -#include - #define LOG_MODULE "osc" #define LOG_ENABLE_DBG 0 #include "log.h" @@ -205,17 +203,7 @@ osc_flash(struct terminal *term) { /* Our own private - flash */ unsigned duration_ms = vt_param_get(term, 1, 100); - LOG_DBG("FLASH for %ums", duration_ms); - - struct itimerspec alarm = { - .it_value = {.tv_sec = 0, .tv_nsec = duration_ms * 1000000}, - }; - - if (timerfd_settime(term->flash.fd, 0, &alarm, NULL) < 0) - LOG_ERRNO("failed to arm flash timer"); - else { - term->flash.active = true; - } + term_flash(term, duration_ms); } void diff --git a/terminal.c b/terminal.c index d6742259..2bc68746 100644 --- a/terminal.c +++ b/terminal.c @@ -4,6 +4,7 @@ #include #include +#include #include #define LOG_MODULE "terminal" @@ -485,3 +486,19 @@ term_set_window_title(struct terminal *term, const char *title) term->window_title = strdup(title); render_set_title(term, term->window_title); } + +void +term_flash(struct terminal *term, unsigned duration_ms) +{ + LOG_DBG("FLASH for %ums", duration_ms); + + struct itimerspec alarm = { + .it_value = {.tv_sec = 0, .tv_nsec = duration_ms * 1000000}, + }; + + if (timerfd_settime(term->flash.fd, 0, &alarm, NULL) < 0) + LOG_ERRNO("failed to arm flash timer"); + else { + term->flash.active = true; + } +} diff --git a/terminal.h b/terminal.h index 8248dc3a..98ac7a72 100644 --- a/terminal.h +++ b/terminal.h @@ -382,3 +382,4 @@ void term_mouse_motion(struct terminal *term, int button, int row, int col, bool shift, bool alt, bool ctrl); void term_set_window_title(struct terminal *term, const char *title); +void term_flash(struct terminal *term, unsigned duration_ms);