From 97e594b4adea4b9b7605eafddf3bf920c86d4192 Mon Sep 17 00:00:00 2001 From: Kalle Wallin Date: Wed, 31 Mar 2004 14:05:43 +0000 Subject: [PATCH] Moved cursor to main window (selected_row,0) when idle. git-svn-id: https://svn.musicpd.org/ncmpc/trunk@556 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- list_window.h | 2 ++ screen.c | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/list_window.h b/list_window.h index c53f381..9e91703 100644 --- a/list_window.h +++ b/list_window.h @@ -1,6 +1,8 @@ #ifndef LIST_WINDOW_H #define LIST_WINDOW_H +#define LW_ROW(lw) (lw ? lw->selected-lw->start : 0) + typedef char * (*list_window_callback_fn_t) (int index, int *highlight, void *data); diff --git a/screen.c b/screen.c index 30bf9f3..aabc6f0 100644 --- a/screen.c +++ b/screen.c @@ -417,6 +417,7 @@ screen_update(mpd_client_t *c) { static int repeat = -1; static int random = -1; + list_window_t *lw = NULL; if( !screen->painted ) return screen_paint(c); @@ -441,10 +442,12 @@ screen_update(mpd_client_t *c) case SCREEN_PLAY_WINDOW: paint_top_window(TOP_HEADER_PLAY, c->status->volume, 0); play_update(screen, c); + lw = screen->playlist; break; case SCREEN_FILE_WINDOW: paint_top_window(file_get_header(c), c->status->volume, 0); file_update(screen, c); + lw = screen->filelist; break; case SCREEN_SEARCH_WINDOW: paint_top_window(TOP_HEADER_SEARCH, c->status->volume, 0); @@ -453,11 +456,13 @@ screen_update(mpd_client_t *c) case SCREEN_HELP_WINDOW: paint_top_window(TOP_HEADER_HELP, c->status->volume, 0); help_update(screen, c); + lw = screen->helplist; break; } paint_progress_window(c); paint_status_window(c); - wmove(screen->main_window.w, 0, 0); wnoutrefresh(screen->main_window.w); + wmove(screen->main_window.w, LW_ROW(lw), 0); + wnoutrefresh(screen->main_window.w); doupdate(); } -- 2.30.2