aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPřemysl Eric Janouch <p@janouch.name>2021-10-15 12:08:44 +0200
committerPřemysl Eric Janouch <p@janouch.name>2021-10-15 12:09:37 +0200
commit573554b9decf74f3b57ab6d26252700132255525 (patch)
tree849a1472bb630e2bbebb880108df463aef905f37 /src
parent9d7bc2a839b5f5200489a64c348acc02ee6ceb8f (diff)
downloadtdv-573554b9decf74f3b57ab6d26252700132255525.tar.gz
tdv-573554b9decf74f3b57ab6d26252700132255525.tar.xz
tdv-573554b9decf74f3b57ab6d26252700132255525.zip
sdgtk -> sdgui, improve build, mention in README
It's finally not horrible.
Diffstat (limited to 'src')
-rw-r--r--src/sdgui.c (renamed from src/sdgtk.c)0
-rw-r--r--src/sdtui.c29
-rw-r--r--src/utils.c28
-rw-r--r--src/utils.h1
4 files changed, 27 insertions, 31 deletions
diff --git a/src/sdgtk.c b/src/sdgui.c
index 3565bc6..3565bc6 100644
--- a/src/sdgtk.c
+++ b/src/sdgui.c
diff --git a/src/sdtui.c b/src/sdtui.c
index 3be34f4..1158d05 100644
--- a/src/sdtui.c
+++ b/src/sdtui.c
@@ -36,8 +36,12 @@
#include <signal.h>
#include <pwd.h>
-#include <termo.h> // input
-#include <ncurses.h> // output
+#include <termo.h> // input
+#include <ncurses.h> // output
+#include <termios.h>
+#ifndef TIOCGWINSZ
+#include <sys/ioctl.h>
+#endif // ! TIOCGWINSZ
#include "config.h"
#include "stardict.h"
@@ -62,6 +66,27 @@ unichar_width (gunichar ch)
return 1 + g_unichar_iswide (ch);
}
+void
+update_curses_terminal_size (void)
+{
+#if defined (HAVE_RESIZETERM) && defined (TIOCGWINSZ)
+ struct winsize size;
+ if (!ioctl (STDOUT_FILENO, TIOCGWINSZ, (char *) &size))
+ {
+ char *row = getenv ("LINES");
+ char *col = getenv ("COLUMNS");
+ unsigned long tmp;
+ resizeterm (
+ (row && xstrtoul (&tmp, row, 10)) ? tmp : size.ws_row,
+ (col && xstrtoul (&tmp, col, 10)) ? tmp : size.ws_col);
+ }
+#else // HAVE_RESIZETERM && TIOCGWINSZ
+ // The standard endwin/refresh sequence makes the terminal flicker.
+ endwin ();
+ refresh ();
+#endif // HAVE_RESIZETERM && TIOCGWINSZ
+}
+
static guint
add_read_watch (int fd, GIOFunc func, gpointer user_data)
{
diff --git a/src/utils.c b/src/utils.c
index 275e4e1..3bba022 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -23,12 +23,6 @@
#include <errno.h>
#include <stdarg.h>
-#include <curses.h>
-#include <termios.h>
-#ifndef TIOCGWINSZ
-#include <sys/ioctl.h>
-#endif // ! TIOCGWINSZ
-
#include "config.h"
#include "utils.h"
@@ -101,28 +95,6 @@ xstrtoul (unsigned long *out, const char *s, int base)
return errno == 0 && !*end && end != s;
}
-// Didn't want to have this ugly piece of code in the main source file;
-// the standard endwin/refresh sequence makes the terminal flicker.
-void
-update_curses_terminal_size (void)
-{
-#if defined (HAVE_RESIZETERM) && defined (TIOCGWINSZ)
- struct winsize size;
- if (!ioctl (STDOUT_FILENO, TIOCGWINSZ, (char *) &size))
- {
- char *row = getenv ("LINES");
- char *col = getenv ("COLUMNS");
- unsigned long tmp;
- resizeterm (
- (row && xstrtoul (&tmp, row, 10)) ? tmp : size.ws_row,
- (col && xstrtoul (&tmp, col, 10)) ? tmp : size.ws_col);
- }
-#else // HAVE_RESIZETERM && TIOCGWINSZ
- endwin ();
- refresh ();
-#endif // HAVE_RESIZETERM && TIOCGWINSZ
-}
-
/// Print a fatal error message and terminate the process immediately.
void
fatal (const gchar *format, ...)
diff --git a/src/utils.h b/src/utils.h
index 99ad19a..b47daa9 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -41,7 +41,6 @@ gchar *xdxf_to_pango_markup_with_reduced_effort (const gchar *xml);
gboolean stream_read_all (GByteArray *ba, GInputStream *is, GError **error);
gchar *stream_read_string (GDataInputStream *dis, GError **error);
gboolean xstrtoul (unsigned long *out, const char *s, int base);
-void update_curses_terminal_size (void);
void fatal (const gchar *format, ...) G_GNUC_PRINTF (1, 2) G_GNUC_NORETURN;
#endif // ! UTILS_H