summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 479c190)
raw | patch | inline | side by side (parent: 479c190)
author | Max Kellermann <max@duempel.org> | |
Thu, 18 Sep 2008 21:35:12 +0000 (23:35 +0200) | ||
committer | Max Kellermann <max@duempel.org> | |
Thu, 18 Sep 2008 21:35:12 +0000 (23:35 +0200) |
Why should an audio player display a large clock?
configure.ac | patch | blob | history | |
src/Makefile.am | patch | blob | history | |
src/command.c | patch | blob | history | |
src/command.h | patch | blob | history | |
src/ncmpc.h | patch | blob | history | |
src/options.c | patch | blob | history | |
src/screen.c | patch | blob | history | |
src/screen_clock.c | [deleted file] | patch | blob | history |
src/screen_help.c | patch | blob | history |
diff --git a/configure.ac b/configure.ac
index 57e7bb5ea0c76dfaa8aa9f6d09328238341827d2..bf9b4e526439d69f8acf6e9bd00ae3c78f41b977 100644 (file)
--- a/configure.ac
+++ b/configure.ac
AC_DEFINE(DISABLE_KEYDEF_SCREEN, 1, [Disable key editor screen])
fi
-dnl Optional screen - clock
-AC_MSG_CHECKING([whether to include the clock screen])
-AC_ARG_ENABLE([clock-screen],
- AC_HELP_STRING([--enable-clock-screen],
- [Enable clock screen @<:@default=yes@:>@]),
- [clock_screen="$enableval"],
- [clock_screen=yes])
-AC_MSG_RESULT([$clock_screen])
-if test "x$clock_screen" != "xyes" ; then
- AC_DEFINE(DISABLE_CLOCK_SCREEN, 1, [Disable clock screen])
-fi
-
dnl Optional screen - lyrics
AC_MSG_CHECKING([whether to include the lyrics screen])
AC_ARG_ENABLE([lyrics-screen],
diff --git a/src/Makefile.am b/src/Makefile.am
index 55f42eb9ddf7cd90e49f71d575dc90619e6cb6ad..fc0160e65c54877c97e9f650e40b61a7cda9a71c 100644 (file)
--- a/src/Makefile.am
+++ b/src/Makefile.am
screen_help.c\
screen_lyrics.c\
screen_keydef.c\
- screen_clock.c\
list_window.c\
colors.c\
support.c\
diff --git a/src/command.c b/src/command.c
index 93afe42c1135d37390d85dfa1e4d147470f44482..afb7e42e41ea3a1a092859e0378a1b642c2cf73e 100644 (file)
--- a/src/command.c
+++ b/src/command.c
N_("Change search mode") },
#endif
-#ifdef ENABLE_CLOCK_SCREEN
- { {'6', F6, 0 }, 0, CMD_SCREEN_CLOCK, "screen-clock",
- N_("Clock screen") },
-#endif
#ifdef ENABLE_LYRICS_SCREEN
{ {'7', F7, 0 }, 0, CMD_SCREEN_LYRICS, "screen-lyrics",
N_("Lyrics screen") },
diff --git a/src/command.h b/src/command.h
index 4b20a592ce04a90b3e1daa0733961403ef3a653c..dab6c99cef93746921f2eaf643d2d26241da42d8 100644 (file)
--- a/src/command.h
+++ b/src/command.h
CMD_SCREEN_ARTIST,
CMD_SCREEN_SEARCH,
CMD_SCREEN_KEYDEF,
- CMD_SCREEN_CLOCK,
CMD_SCREEN_HELP,
CMD_SCREEN_LYRICS,
CMD_LYRICS_UPDATE,
diff --git a/src/ncmpc.h b/src/ncmpc.h
index 0d87ebaecd6a32f8b965442af42f98934575a67b..c87c84d88fe270777abde35b538854c15f2e3f48 100644 (file)
--- a/src/ncmpc.h
+++ b/src/ncmpc.h
#ifndef DISABLE_KEYDEF_SCREEN
#define ENABLE_KEYDEF_SCREEN 1
#endif
-#ifndef DISABLE_CLOCK_SCREEN
-#define ENABLE_CLOCK_SCREEN 1
-#endif
#ifndef DISABLE_LYRICS_SCREEN
#define ENABLE_LYRICS_SCREEN 1
#endif
diff --git a/src/options.c b/src/options.c
index 7426a55caed471dcc240973488f07074992fb4ae..34772460f2045041a531d9544890690b63dbf60d 100644 (file)
--- a/src/options.c
+++ b/src/options.c
#endif
#ifdef ENABLE_KEYDEF_SCREEN
printf(" key-screen");
-#endif
-#ifdef ENABLE_CLOCK_SCREEN
- printf(" clock-screen");
#endif
printf("\n");
exit(EXIT_SUCCESS);
diff --git a/src/screen.c b/src/screen.c
index 62781fb8a2bb7bb31f41d0969a7a75eeb41200e4..e510b168265ed7f3a3a3ea781890723a51507c7b 100644 (file)
--- a/src/screen.c
+++ b/src/screen.c
#define SCREEN_ARTIST_ID 2
#define SCREEN_HELP_ID 100
#define SCREEN_KEYDEF_ID 101
-#define SCREEN_CLOCK_ID 102
#define SCREEN_SEARCH_ID 103
#define SCREEN_LYRICS_ID 104
#ifdef ENABLE_KEYDEF_SCREEN
extern const struct screen_functions screen_keydef;
#endif
-#ifdef ENABLE_CLOCK_SCREEN
-extern const struct screen_functions screen_clock;
-#endif
extern const struct screen_functions screen_lyrics;
typedef struct screen_functions * (*screen_get_mode_functions_fn_t) (void);
#ifdef ENABLE_KEYDEF_SCREEN
{ SCREEN_KEYDEF_ID, "keydef", &screen_keydef },
#endif
-#ifdef ENABLE_CLOCK_SCREEN
- { SCREEN_CLOCK_ID, "clock", &screen_clock },
-#endif
#ifdef ENABLE_LYRICS_SCREEN
{ SCREEN_LYRICS_ID, "lyrics", &screen_lyrics },
#endif
case CMD_SCREEN_KEYDEF:
switch_screen_mode(SCREEN_KEYDEF_ID, c);
break;
- case CMD_SCREEN_CLOCK:
- switch_screen_mode(SCREEN_CLOCK_ID, c);
- break;
case CMD_SCREEN_LYRICS:
switch_screen_mode(SCREEN_LYRICS_ID, c);
break;
diff --git a/src/screen_clock.c b/src/screen_clock.c
--- a/src/screen_clock.c
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- * $Id$
- *
- * This file is based on the 'Grand digital clock' (gdc.c) shipped with
- * ncurses.
- */
-
-#include "config.h"
-
-#ifndef DISABLE_CLOCK_SCREEN
-#include "ncmpc.h"
-#include "mpdclient.h"
-#include "options.h"
-#include "command.h"
-#include "screen.h"
-#include "screen_utils.h"
-#include "gcc.h"
-
-#include <time.h>
-#include <stdlib.h>
-#include <string.h>
-#include <glib.h>
-#include <ncurses.h>
-
-
-#define YDEPTH 5
-#define BUFSIZE 64
-
-#define ENABLE_SECONDS 0
-
-static struct window win;
-static gboolean enable_seconds = ENABLE_SECONDS;
-
-/* orginal variables from gdc.c */
-static short disp[11] =
- {
- 075557, 011111, 071747, 071717, 055711,
- 074717, 074757, 071111, 075757, 075717, 002020
- };
-
-static long older[6], next[6], newer[6], mask;
-
-static int YBASE = 10;
-static int XBASE = 10;
-static int XLENGTH = 54;
-
-/* orginal functions */
-static void
-set(int t, int n)
-{
- int i, m;
-
- m = 7 << n;
- for (i = 0; i < 5; i++) {
- next[i] |= ((disp[t] >> ((4 - i) * 3)) & 07) << n;
- mask |= (next[i] ^ older[i]) & m;
- }
- if (mask & m)
- mask |= m;
-}
-
-static void
-drawbox(void)
-{
- chtype bottom[XLENGTH + 1];
- int n;
-
- mvwaddch(win.w, YBASE - 1, XBASE - 1, ACS_ULCORNER);
- whline(win.w, ACS_HLINE, XLENGTH);
- mvwaddch(win.w, YBASE - 1, XBASE + XLENGTH, ACS_URCORNER);
-
- mvwaddch(win.w, YBASE + YDEPTH, XBASE - 1, ACS_LLCORNER);
- mvwinchnstr(win.w, YBASE + YDEPTH, XBASE, bottom, XLENGTH);
- for (n = 0; n < XLENGTH; n++)
- bottom[n] = ACS_HLINE | (bottom[n] & (A_ATTRIBUTES | A_COLOR));
- mvwaddchnstr(win.w, YBASE + YDEPTH, XBASE, bottom, XLENGTH);
- mvwaddch(win.w, YBASE + YDEPTH, XBASE + XLENGTH, ACS_LRCORNER);
-
- wmove(win.w, YBASE, XBASE - 1);
- wvline(win.w, ACS_VLINE, YDEPTH);
-
- wmove(win.w, YBASE, XBASE + XLENGTH);
- wvline(win.w, ACS_VLINE, YDEPTH);
-}
-
-
-static void
-standt(int on)
-{
- if (on)
- wattron(win.w, A_REVERSE);
- else
- wattroff(win.w, A_REVERSE);
-}
-
-/* ncmpc screen functions */
-
-static void
-clock_resize(int cols, int rows)
-{
- int j;
-
- for (j = 0; j < 5; j++)
- older[j] = newer[j] = next[j] = 0;
-
- win.cols = cols;
- win.rows = rows;
-
- if (cols < 60)
- enable_seconds = FALSE;
- else
- enable_seconds = ENABLE_SECONDS;
-
- if (enable_seconds)
- XLENGTH = 54;
- else
- XLENGTH = 54-18;
-
-
- XBASE = (cols-XLENGTH)/2;
- YBASE = (rows-YDEPTH)/2-(YDEPTH/2)+2;
-}
-
-static void
-clock_init(WINDOW *w, int cols, int rows)
-{
- win.w = w;
- clock_resize(cols, rows);
-}
-
-static const char *
-clock_title(mpd_unused char *str, mpd_unused size_t size)
-{
- return _("Clock");
-}
-
-static void
-clock_update(mpd_unused screen_t *screen, mpd_unused mpdclient_t *c)
-{
- time_t now;
- struct tm *tm;
- long t, a;
- int i, j, s, k;
- char buf[BUFSIZE];
-
- time(&now);
- tm = localtime(&now);
-
- if (win.rows<=YDEPTH+1 || win.cols<=XLENGTH+1) {
- strftime(buf, BUFSIZE, "%X ",tm);
- mvwaddstr(win.w, win.rows ? win.rows/2:0, (win.cols-strlen(buf))/2, buf);
- wrefresh(win.w);
- return;
- }
-
- mask = 0;
- set(tm->tm_sec % 10, 0);
- set(tm->tm_sec / 10, 4);
- set(tm->tm_min % 10, 10);
- set(tm->tm_min / 10, 14);
- set(tm->tm_hour % 10, 20);
- set(tm->tm_hour / 10, 24);
- set(10, 7);
- set(10, 17);
-
- for (k = 0; k < 6; k++) {
- newer[k] = (newer[k] & ~mask) | (next[k] & mask);
- next[k] = 0;
- for (s = 1; s >= 0; s--) {
- standt(s);
- for (i = 0; i < 6; i++) {
- if ((a = (newer[i] ^ older[i]) & (s ? newer : older)[i])
- != 0) {
- for (j = 0, t = 1 << 26; t; t >>= 1, j++) {
- if (a & t) {
- if (!(a & (t << 1))) {
- wmove(win.w, YBASE + i, XBASE + 2 * j);
- }
- if( enable_seconds || j<18 )
- waddstr(win.w, " ");
- }
- }
- }
- if (!s) {
- older[i] = newer[i];
- }
- }
- if (!s) {
- wrefresh(win.w);
- }
- }
- }
-
-#ifdef HAVE_LOCALE_H
- strftime(buf, BUFSIZE, "%x", tm);
-# else
- /* this depends on the detailed format of ctime(3) */
- strcpy(buf, ctime(&now));
- strcpy(buf + 10, buf + 19);
-#endif
- mvwaddstr(win.w, YBASE+YDEPTH+1, (win.cols-strlen(buf))/2, buf);
-
- wmove(win.w, 6, 0);
- drawbox();
- wrefresh(win.w);
-}
-
-static void
-clock_paint(screen_t *screen, mpdclient_t *c)
-{
- /* this seems to be a better way to clear the window than wclear() ?! */
- wmove(win.w, 0, 0);
- wclrtobot(win.w);
- clock_update(screen, c);
-}
-
-const struct screen_functions screen_clock = {
- .init = clock_init,
- .resize = clock_resize,
- .paint = clock_paint,
- .update = clock_update,
- .get_title = clock_title,
-};
-
-#endif
diff --git a/src/screen_help.c b/src/screen_help.c
index 58ca6e13dd4e6f64627b3e318fe493231fdee0e1..07e3375fe5b4ffc4a272ff4aef773be9c468c114 100644 (file)
--- a/src/screen_help.c
+++ b/src/screen_help.c
#ifdef ENABLE_SEARCH_SCREEN
{ 0, CMD_SCREEN_SEARCH, NULL },
#endif
-#ifdef ENABLE_CLOCK_SCREEN
- { 0, CMD_SCREEN_CLOCK, NULL },
-#endif
#ifdef ENABLE_KEYDEF_SCREEN
{ 0, CMD_SCREEN_KEYDEF, NULL },
#endif