aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--conf.c21
-rw-r--r--list_window.c6
-rw-r--r--options.h4
3 files changed, 16 insertions, 15 deletions
diff --git a/conf.c b/conf.c
index 80f40db35..a8deb89a3 100644
--- a/conf.c
+++ b/conf.c
@@ -40,6 +40,7 @@
#define CONF_COLOR_PROGRESS "progress_color"
#define CONF_COLOR_STATUS "status_color"
#define CONF_COLOR_ALERT "alert_color"
+#define CONF_WIDE_CURSOR "wide_cursor"
#define CONF_KEY_DEFINITION "key"
typedef enum {
@@ -292,73 +293,71 @@ read_rc_file(char *filename, options_t *options)
}
value[j] = '\0';
- match_found = 0;
+ match_found = 1;
if( !strcasecmp(CONF_KEY_DEFINITION, name) )
{
parse_key_definition(value);
- match_found = 1;
}
/* enable colors */
else if( !strcasecmp(CONF_ENABLE_COLORS, name) )
{
options->enable_colors = str2bool(value);
- match_found = 1;
}
/* auto center */
else if( !strcasecmp(CONF_AUTO_CENTER, name) )
{
options->auto_center = str2bool(value);
- match_found = 1;
}
/* background color */
else if( !strcasecmp(CONF_COLOR_BACKGROUND, name) )
{
if( (color=str2color(value)) >= 0 )
options->bg_color = color;
- match_found = 1;
}
/* color - top (title) window */
else if( !strcasecmp(CONF_COLOR_TITLE, name) )
{
if( (color=str2color(value)) >= 0 )
options->title_color = color;
- match_found = 1;
}
/* color - line (title) window */
else if( !strcasecmp(CONF_COLOR_LINE, name) )
{
if( (color=str2color(value)) >= 0 )
options->line_color = color;
- match_found = 1;
}
/* color - list window */
else if( !strcasecmp(CONF_COLOR_LIST, name) )
{
if( (color=str2color(value)) >= 0 )
options->list_color = color;
- match_found = 1;
}
/* color - progress bar */
else if( !strcasecmp(CONF_COLOR_PROGRESS, name) )
{
if( (color=str2color(value)) >= 0 )
options->progress_color = color;
- match_found = 1;
}
/* color - status window */
else if( !strcasecmp(CONF_COLOR_STATUS, name) )
{
if( (color=str2color(value)) >= 0 )
options->status_color = color;
- match_found = 1;
}
/* color - alerts */
else if( !strcasecmp(CONF_COLOR_ALERT, name) )
{
if( (color=str2color(value)) >= 0 )
options->alert_color = color;
- match_found = 1;
+ }
+ else if( !strcasecmp(CONF_WIDE_CURSOR, name) )
+ {
+ options->wide_cursor = str2bool(value);
+ }
+ else
+ {
+ match_found = 0;
}
diff --git a/list_window.c b/list_window.c
index c086fca57..5a07f603f 100644
--- a/list_window.c
+++ b/list_window.c
@@ -5,6 +5,7 @@
#include <ncurses.h>
#include "config.h"
+#include "options.h"
#include "support.h"
#include "command.h"
#include "list_window.h"
@@ -118,6 +119,7 @@ list_window_paint(list_window_t *lw,
void *callback_data)
{
int i;
+ int fill = options.wide_cursor;
while( lw->selected < lw->start )
{
@@ -137,7 +139,7 @@ list_window_paint(list_window_t *lw,
label = (callback) (lw->start+i, &highlight, callback_data);
wmove(lw->w, i, 0);
- if( lw->clear )
+ if( lw->clear && (!fill || !label) )
wclrtoeol(lw->w);
if( label )
{
@@ -147,6 +149,8 @@ list_window_paint(list_window_t *lw,
wattron(lw->w, A_REVERSE);
waddnstr(lw->w, label, lw->cols-1);
+ if( fill )
+ mvwhline(lw->w, i, strlen(label), ' ', lw->cols-1);
if( highlight )
wattroff(lw->w, A_BOLD);
diff --git a/options.h b/options.h
index d3bbc80dc..a06eda2ed 100644
--- a/options.h
+++ b/options.h
@@ -2,9 +2,6 @@
#define MPD_HOST_ENV "MPD_HOST"
#define MPD_PORT_ENV "MPD_PORT"
-#define NCMPCRC_ENV "NCMPCRC"
-
-
typedef struct
{
char *host;
@@ -24,6 +21,7 @@ typedef struct
int progress_color;
int status_color;
int alert_color;
+ int wide_cursor;
} options_t;