From: Kalle Wallin Date: Wed, 31 Mar 2004 14:05:43 +0000 (+0000) Subject: Moved cursor to main window (selected_row,0) when idle. X-Git-Tag: v0.12_alpha1~614 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=97e594b4adea4b9b7605eafddf3bf920c86d4192;p=ncmpc.git 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 --- 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(); }