aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/interface-curses/interface.c
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2025-08-25 14:32:38 +0300
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2025-08-26 21:33:40 +0300
commitd1c20b8388105fd1027ea2aaf65dad772f9fe16f (patch)
tree2de220dd1c20fcbf11d4781d76380b55d66fdc2a /src/interface-curses/interface.c
parentf525d8f09ec0e60effe70623a19c700a3a202db0 (diff)
downloadsciteco-libxcurses.tar.gz
This is mostly for XDG/4 compatibility.
Diffstat (limited to 'src/interface-curses/interface.c')
-rw-r--r--src/interface-curses/interface.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/interface-curses/interface.c b/src/interface-curses/interface.c
index 62a6e64..dfada8c 100644
--- a/src/interface-curses/interface.c
+++ b/src/interface-curses/interface.c
@@ -99,7 +99,7 @@
#endif
#endif
-#if defined(NCURSES_UNIX) || defined(NETBSD_CURSES)
+#if defined(NCURSES_UNIX) || defined(NETBSD_CURSES) || defined(MKS_CURSES)
/**
* Whether Curses works on a real or pseudo TTY
* (i.e. classic use with terminal emulators on Unix)
@@ -316,7 +316,7 @@ teco_view_noutrefresh(teco_view_t *ctx)
scintilla_noutrefresh(ctx);
}
-static inline WINDOW *
+static inline WINDOW * G_GNUC_UNUSED
teco_view_get_window(teco_view_t *ctx)
{
return scintilla_get_window(ctx);
@@ -398,8 +398,6 @@ static void teco_interface_restore_batch(void);
static void teco_interface_init_clipboard(void);
-static void teco_interface_resize_all_windows(void);
-
static void teco_interface_set_window_title(const gchar *title);
static void teco_interface_draw_info(void);
static void teco_interface_draw_cmdline(void);
@@ -732,7 +730,7 @@ teco_interface_init_interactive(GError **error)
*
* NOTE: The delay is overwritten by initscr() on netbsd-curses.
*/
-#ifdef CURSES_TTY
+#if defined(CURSES_TTY) && !defined(MKS_CURSES)
if (!g_getenv("ESCDELAY"))
set_escdelay(25);
#endif
@@ -867,6 +865,8 @@ teco_interface_restore_batch(void)
}
}
+#ifdef KEY_RESIZE
+
static void
teco_interface_resize_all_windows(void)
{
@@ -888,6 +888,8 @@ teco_interface_resize_all_windows(void)
teco_interface_draw_cmdline();
}
+#endif /* KEY_RESIZE */
+
void
teco_interface_msg_literal(teco_msg_t type, const gchar *str, gsize len)
{
@@ -994,6 +996,7 @@ teco_interface_show_view(teco_view_t *view)
{
teco_interface_current_view = view;
+#ifdef KEY_RESIZE
if (!teco_interface.cmdline_window) /* batch mode */
return;
@@ -1008,6 +1011,7 @@ teco_interface_show_view(teco_view_t *view)
wresize(current_view_win, lines - 3, cols);
/* Set up window position: never changes */
mvwin(current_view_win, 1, 0);
+#endif
}
#if PDCURSES
@@ -1127,6 +1131,8 @@ teco_interface_draw_info(void)
waddstr(teco_interface.info_window, PACKAGE_NAME " ");
+ G_GNUC_UNUSED gint cur_x, cur_y, max_x, max_y;
+
switch (teco_interface.info_type) {
case TECO_INFO_TYPE_QREG:
info_type_str = PACKAGE_NAME " - <QRegister> ";
@@ -1145,10 +1151,11 @@ teco_interface_draw_info(void)
teco_curses_add_wc(teco_interface.info_window,
teco_ed & TECO_ED_ICONS ? teco_curses_icons_lookup_file(teco_interface.info_current.data) : '-');
waddstr(teco_interface.info_window, " <Buffer> ");
+ getyx(teco_interface.info_window, cur_y, cur_x);
+ getmaxyx(teco_interface.info_window, max_y, max_x);
teco_curses_format_filename(teco_interface.info_window,
teco_interface.info_current.data,
- getmaxx(teco_interface.info_window) -
- getcurx(teco_interface.info_window) - 1);
+ max_x - cur_x - 1);
waddch(teco_interface.info_window, teco_interface.info_dirty ? '*' : ' ');
break;
@@ -1274,8 +1281,11 @@ teco_interface_cmdline_update(const teco_cmdline_t *cmdline)
static void
teco_interface_draw_cmdline(void)
{
+ G_GNUC_UNUSED gint max_x, max_y;
+ getmaxyx(teco_interface.cmdline_window, max_y, max_x);
+
/* total width available for command line */
- guint total_width = getmaxx(teco_interface.cmdline_window) - 1;
+ guint total_width = max_x - 1;
/* beginning of command line to show */
guint disp_offset = teco_interface.cmdline_len -