rpms/aumix/FC-5 curses-cleanup.patch,NONE,1.1 aumix.spec,1.4,1.5
Gabriel L. Somlo (somlo)
fedora-extras-commits at redhat.com
Wed Mar 21 15:00:11 UTC 2007
Author: somlo
Update of /cvs/extras/rpms/aumix/FC-5
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3588
Modified Files:
aumix.spec
Added Files:
curses-cleanup.patch
Log Message:
fix bugzilla ticket # 232828
curses-cleanup.patch:
--- NEW FILE curses-cleanup.patch ---
diff -NarU5 aumix-2.8.orig/src/common.c aumix-2.8/src/common.c
--- aumix-2.8.orig/src/common.c 2007-03-20 16:22:56.000000000 -0400
+++ aumix-2.8/src/common.c 2007-03-20 17:33:21.000000000 -0400
@@ -21,15 +21,11 @@
#include <errno.h>
#include "common.h"
#ifdef HAVE_CURSES
#include "curses.h"
-#include "gpm-xterm.h"
#endif /* HAVE_CURSES */
-#if defined (HAVE_GTK) || defined (HAVE_GTK1)
-#include "gtk.h"
-#endif /* HAVE_GTK || HAVE_GTK1 */
#include "interactive.h"
FILE *OpenDefaultFile(char *mode);
FILE *setfile;
char *save_filename = NULL; /* name of file for saved settings */
@@ -118,10 +114,11 @@
{
int optn, ii;
int save = 0, load = 0;
#ifdef HAVE_CURSES
int setcolors = FALSE;
+ char *term_name;
#endif /* HAVE_CURSES */
/* Internationalization */
#ifdef HAVE_NLS
I18nInitialize();
#endif /* HAVE_NLS */
@@ -160,11 +157,11 @@
ErrorExitWarn(InitializeMixer(device_filename), 'e');
break;
case 'f': /* User specified the save file. */
save_filename = strdup(optarg);
break;
-#ifdef HAVE_CURSES /* no color schemes for GTK+ */
+#ifdef HAVE_CURSES
case 'C': /* User specified the color scheme. */
scheme_name = strdup(optarg);
setcolors = TRUE;
interactive = IN_CURSES;
break;
@@ -173,16 +170,16 @@
save = 1;
break;
case 'L': /* Load from file. */
load = 1;
break;
-#if defined (HAVE_CURSES) || defined (HAVE_GTK) || defined (HAVE_GTK1)
+#if defined (HAVE_CURSES)
case 'I': /* User asked for interactive mode. */
if (!interactive)
interactive = IN_ANY;
break;
-#endif /* HAVE_CURSES || HAVE_GTK || HAVE_GTK1 */
+#endif /* HAVE_CURSES */
case 'h': /* Show help. */
Usage(EXIT_SUCCESS);
break;
default: /* Show help. */
Usage(EXIT_FAILURE);
@@ -198,48 +195,15 @@
ErrorExitWarn(LoadSettings(), 'e');
close(mixer_fd);
exit(EXIT_SUCCESS);
}
-#if defined (HAVE_CURSES) || defined (HAVE_GTK) || defined (HAVE_GTK1)
+#if defined (HAVE_CURSES)
/* Be interactive if no options were given. */
if (!interactive && argc <= 1)
- interactive = IN_ANY;
-/* By now we've decided whether to go interactive.
- The -C (color scheme) option implies curses, even if GTK is available.
-*/
- if (interactive == IN_ANY) {
-#if defined (HAVE_GTK) || defined (HAVE_GTK1)
- if (getenv("DISPLAY") != NULL)
- interactive = IN_GTK;
-#endif /* HAVE_GTK || HAVE_GTK1 */
-#ifdef HAVE_CURSES
- if (interactive == IN_ANY)
- interactive = IN_CURSES;
+ interactive = IN_CURSES;
#endif /* HAVE_CURSES */
- }
-#endif /* HAVE_CURSES || HAVE_GTK || HAVE_GTK1 */
-/* By now, interactive is not IN_ANY. It is IN_GTK only if DISPLAY is set,
- and otherwise defaults to IN_CURSES. Since interactive contains the right
- value, it should not be changed any more.
-*/
-#if defined (HAVE_GTK) || defined (HAVE_GTK1)
-/* GTK+ stuff */
- if (interactive == IN_GTK) {
-#ifndef DUMMY_MIXER
- if ((mixer_fd = open(device_filename, O_RDWR)) < 0)
- return EOPENMIX;
-#endif /* DUMMY_MIXER */
- ErrorExitWarn(MixerStatus(), 'e');
- if (!devmask)
- return EFINDDEVICE;
- gtk_init(&argc, &argv);
- InitScreenGTK();
- gtk_main();
- return 0;
- }
-#endif /* HAVE_GTK || HAVE_GTK1 */
if (!interactive) {
if (usage_ok && optn == -1)
Usage(EXIT_SUCCESS);
}
if (mixer_fd == -1)
@@ -250,13 +214,18 @@
if (setcolors == TRUE)
ErrorExitWarn(InitColors(scheme_name), 'e');
else
SetDefaultColors();
InitScreen();
- StartMouse();
+#if HAVE_GETMOUSE
+ term_name = termname();
+ /* enable ncurses mouse reporting */
+ if (strcasestr(term_name, "screen") != term_name)
+ /* but only if our terminal is NOT screen* */
+ mousemask(BUTTON1_PRESSED | BUTTON1_CLICKED, NULL);
+#endif /* HAVE_GETMOUSE */
Inter();
- Gpm_Close();
#endif /* HAVE_CURSES */
close(mixer_fd);
#if HAVE_CURSES
CloseScreen();
@@ -683,11 +652,11 @@
static char version[] = "@(#) aumix " VERSION "\n";
static char copyright[] =
"@(#) copyright (c) 1993, 1996-2000 the authors--see AUTHORS file\n";
fp = (status == EXIT_SUCCESS) ? stdout : stderr;
fprintf(fp, LOCAL_TEXT("aumix %s usage: aumix [-<channel option>[[+|-][<amount>]]|<level>|\nR[ecord]|P[lay]|q[uery]]"), VERSION);
-#if defined(HAVE_CURSES) || defined(HAVE_GTK) || defined(HAVE_GTK1)
+#if defined(HAVE_CURSES)
fprintf(fp, LOCAL_TEXT(" [-dhILqS]"));
#else
fprintf(fp, LOCAL_TEXT(" [-dhLqS]"));
#endif
#if defined(HAVE_CURSES)
@@ -714,14 +683,14 @@
fprintf(fp, LOCAL_TEXT("\
d: adjust a device besides /dev/mixer\n\
f: specify file for saving and loading settings (defaults to\n\
~/.aumixrc or /etc/aumixrc)\n\
h: this helpful message\n"));
-#if defined(HAVE_CURSES) || defined(HAVE_GTK) || defined(HAVE_GTK1)
+#if defined(HAVE_CURSES)
fprintf(fp, LOCAL_TEXT("\
I: start in interactive mode after doing non-interactive functions\n"));
-#endif /* HAVE_CURSES || HAVE_GTK || HAVE_GTK1 */
+#endif /* HAVE_CURSES */
fprintf(fp, LOCAL_TEXT("\
L: load settings\n\
q: query all channels and print their settings\n\
S: save settings\n"));
exit(status);
diff -NarU5 aumix-2.8.orig/src/common.h aumix-2.8/src/common.h
--- aumix-2.8.orig/src/common.h 2007-03-20 16:22:18.000000000 -0400
+++ aumix-2.8/src/common.h 2007-03-20 16:26:05.000000000 -0400
@@ -20,15 +20,14 @@
#ifndef AUMIX_H
#define AUMIX_H
#include "../config.h"
#define AUMIXRC_PATH "/etc"
#define AUMIXRC "aumixrc"
-#if defined (HAVE_CURSES) || defined (HAVE_GTK) || defined (HAVE_GTK1)
+#if defined (HAVE_CURSES)
#define IN_CURSES 1
-#define IN_GTK 2
#define IN_ANY 3
-#endif /* HAVE_CURSES || HAVE_GTK || HAVE_GTK1 */
+#endif /* HAVE_CURSES */
#ifndef TRUE /* defined in ncurses.h */
#define TRUE 1
#endif /* TRUE */
#ifndef FALSE
#define FALSE 0
diff -NarU5 aumix-2.8.orig/src/curses.c aumix-2.8/src/curses.c
--- aumix-2.8.orig/src/curses.c 2002-10-23 11:07:40.000000000 -0400
+++ aumix-2.8/src/curses.c 2007-03-20 17:33:43.000000000 -0400
@@ -175,11 +175,11 @@
mvaddstr(5, 26, (char *) LOCAL_TEXT("adjust slider\n"));
mvaddstr(6, 26, (char *) LOCAL_TEXT("toggle record/play\n"));
mvaddstr(7, 26, (char *) LOCAL_TEXT("center balance\n"));
refresh();
- Getch();
+ wgetch(stdscr);
alarm(REFRESH_PERIOD); /* Enable updates again. */
in_keysbox = FALSE;
timeout(1000);
clear();
InitScreen();
@@ -341,11 +341,11 @@
}
PlaceCursor();
signal(SIGALRM, AumixSignalHandler);
alarm(REFRESH_PERIOD);
for (;;) {
- key = Getch();
+ key = wgetch(stdscr);
incr = 0;
dir = 0;
switch (key) {
case '.':
case ',':
diff -NarU5 aumix-2.8.orig/src/curses.h aumix-2.8/src/curses.h
--- aumix-2.8.orig/src/curses.h 2002-05-06 02:23:29.000000000 -0400
+++ aumix-2.8/src/curses.h 2007-03-20 16:43:05.000000000 -0400
@@ -83,12 +83,10 @@
8, /* uk */
};
#define ARROW_WIDTH 1 /* width of selection arrow */
#define R_P_WIDTH 1 /* width of record/play indicator */
int level_increment, balance_increment, menu_width, level_width, label_width, balance_width, levelbalmode;
-int (*Wgetch) (WINDOW * win);
-#define Getch() (*Wgetch)(stdscr)
void WakeUpCurses(void);
void InitScreenCurses(void);
void PlaceCursor(void);
void HighlightLabelCurses(void);
void KeysBoxCurses(void);
diff -NarU5 aumix-2.8.orig/src/gpm-xterm.c aumix-2.8/src/gpm-xterm.c
--- aumix-2.8.orig/src/gpm-xterm.c 2002-03-28 04:37:26.000000000 -0500
+++ aumix-2.8/src/gpm-xterm.c 1969-12-31 19:00:00.000000000 -0500
@@ -1,284 +0,0 @@
-/* $Aumix: aumix/src/gpm-xterm.c,v 1.2 2002/03/28 09:37:26 trevor Exp $
- * gpm-xterm.c - pseudo client for non-Linux xterm-only mouse support.
- * This code has been extracted from libgpm-0.18 and then
- * took its own way.
- *
- * Copyright (C) 1994, 1995 rubini at linux.it (Alessandro Rubini)
- * Copyright (C) 1994 Janne Kukonlehto
- *
- * This file is part of aumix.
- *
- * Aumix is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option) any later
- * version.
- *
- * Aumix is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * aumix; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
- * Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#include "common.h"
-#if defined(HAVE_CURSES) && !defined(HAVE_LIBGPM)
-#include "gpm-xterm.h"
-
-#ifdef HAVE_USEKEYPAD
-int gpm_keypad(WINDOW * win, int new)
-{
- int old;
- old = win->_use_keypad;
- win->_use_keypad = new;
- return old;
-}
-#endif /* HAVE_USEKEYPAD */
-
-/* This is from liblow.c (libgpm). */
-int gpm_flag = 0, gpm_tried = 0, gpm_fd = -1, gpm_hflag = 0, gpm_zerobased = 0, gpm_visiblepointer = 0, gpm_morekeys = 0;
-struct timeval gpm_timeout = {10, 0};
-Gpm_Handler *gpm_handler = NULL;
-void *gpm_data = NULL;
-static int gpm_convert_event(unsigned char *mdata, Gpm_Event * ePtr);
-/* This is from libcurses.c (libgpm). */
-int Gpm_Wgetch(WINDOW * win)
-{
- int flag, result;
- int fd = STDIN_FILENO;
- static Gpm_Event ev;
- static fd_set selSet;
-/* patched by JD 11/08/1998 */
- static int nbprevchar = 0, prevchar[MAXNBPREVCHAR];
- static unsigned char mdata[4];
- int c;
-#ifdef HAVE_USEKEYPAD
- int keypad;
-#endif /* HAVE_USEKEYPAD */
-
- if (gpm_flag == 0)
- return wgetch(win);
- if (gpm_morekeys && gpm_handler)
- return (*gpm_handler) (&ev, gpm_data);
-
- gpm_hflag = 0; /* not generated by handler (default) */
-
-/* JD patch 11/08/1998 */
- if (nbprevchar) /* if there are some consumed chars */
- return prevchar[--nbprevchar];
-
- while (1) {
- do {
- FD_ZERO(&selSet);
- FD_SET(fd, &selSet);
- gpm_timeout.tv_sec = SELECT_TIME;
- flag = select(fd + 1, &selSet, (fd_set *) NULL, (fd_set *) NULL, (struct timeval *) NULL);
- }
- while (flag == 0);
-
- if ((c = wgetch(win)) != 0x1b)
- return c;
-
- /* escape: go on */
- FD_ZERO(&selSet);
- FD_SET(fd, &selSet);
- if ((flag = select(fd + 1, &selSet, (fd_set *) NULL, (fd_set *) NULL, (struct timeval *) NULL)) == 0)
- return c;
- if ((c = wgetch(win)) != '[') {
- prevchar[nbprevchar++] = c;
- return 0x1B;
- } /* patched by JD 11/08/1998 */
- /* '[': go on */
- FD_ZERO(&selSet);
- FD_SET(fd, &selSet);
- if ((flag = select(fd + 1, &selSet, (fd_set *) NULL, (fd_set *) NULL, (struct timeval *) NULL)) == 0) {
- prevchar[nbprevchar++] = c;
- return 0x1B;
- } /* patched by JD 11/08/1998 */
- if ((c = wgetch(win)) != 'M')
-/* patched by JD 11/08/1998 Note: prevchar is a LIFO! */
- {
- prevchar[nbprevchar++] = c;
- prevchar[nbprevchar++] = '[';
- return 0x1B;
- }
- /* Now, it surely is a mouse event. */
-#ifdef HAVE_USEKEYPAD
- keypad = gpm_keypad(win, FALSE);
-#endif /* HAVE_USEKEYPAD */
- for (c = 0; c < 3; c++)
- mdata[c] = wgetch(win);
-#ifdef HAVE_USEKEYPAD
- (void) gpm_keypad(win, keypad);
-#endif /* HAVE_USEKEYPAD */
- gpm_convert_event(mdata, &ev);
-
- if (gpm_handler && (result = (*gpm_handler) (&ev, gpm_data))) {
- gpm_hflag = 1;
- return result;
- }
- } /* while(1) */
-}
-/******* This is from liblow.c (libgpm). */
-int Gpm_Open(Gpm_Connect * conn, int flag)
-{
- char *tty;
- if ((tty = (char *) getenv("TERM")) && !strncmp(tty, "xterm", 5)) {
- if (gpm_tried)
- return gpm_fd; /* already open */
- gpm_fd = -2;
- GPM_XTERM_ON;
- gpm_flag = 1;
- return gpm_fd;
- }
- return -1;
-}
-
-int Gpm_Close(void)
-{
- if (gpm_fd == -2) /* xterm */
- GPM_XTERM_OFF;
- gpm_tried = 0;
- gpm_fd = -1;
- return 0;
-}
-
-int Gpm_Getc(FILE * f)
-{
- int flag, result;
- static Gpm_Event ev;
- int fd = fileno(f);
- static int count;
- static struct timeval to = {0, DELAY_MS * 1000};
- static fd_set selSet;
-/* patched by JD 11/08/1998 */
- static int nbprevchar = 0, prevchar[MAXNBPREVCHAR];
- static unsigned char mdata[4];
- int c;
- /* Hmm... I must be sure it is unbuffered. */
- if (!(count++))
- setvbuf(f, NULL, _IONBF, 0);
-
- if (!gpm_flag)
- return fgetc(f);
-
- /* If the handler asked to provide more keys, give them back. */
- if (gpm_morekeys && gpm_handler)
- return (*gpm_handler) (&ev, gpm_data);
- gpm_hflag = 0;
-
-/* patched by JD 11/08/1998 */
- if (nbprevchar) /* if there are some consumed chars */
- return prevchar[--nbprevchar];
-
- while (1) {
- do {
- FD_ZERO(&selSet);
- FD_SET(fd, &selSet);
- gpm_timeout.tv_sec = SELECT_TIME;
- flag = select(fd + 1, &selSet, (fd_set *) NULL, (fd_set *) NULL, &to);
- }
- while (flag == 0);
-
- if ((c = fgetc(f)) != 0x1b)
- return c;
-
- /* escape: go on */
- FD_ZERO(&selSet);
- FD_SET(fd, &selSet);
- to.tv_usec = DELAY_MS * 1000;
- if ((flag = select(fd + 1, &selSet, (fd_set *) NULL, (fd_set *) NULL, &to)) == 0)
- return c;
- if ((c = fgetc(f)) != '[')
-/* patched by JD 11/08/1998 */
- {
- prevchar[nbprevchar++] = c;
- return 0x1B;
- }
-/* {ungetc(c,stdin); return 0x1B;} */
-
- /* '[': go on */
- FD_ZERO(&selSet);
- FD_SET(fd, &selSet);
- to.tv_usec = DELAY_MS * 1000;
- if ((flag = select(fd + 1, &selSet, (fd_set *) NULL, (fd_set *) NULL, &to)) == 0)
-/* patched by JD 11/08/1998 */
- {
- prevchar[nbprevchar++] = c;
- return 0x1B;
- }
-/* {ungetc(c,f); return 0x1B;} */
- if ((c = fgetc(f)) != 'M')
-/* patched by JD 11/08/1998 Note: prevchar is a LIFO! */
- {
- prevchar[nbprevchar++] = c;
- prevchar[nbprevchar++] = '[';
- return 0x1B;
- }
- /* Now, it surely is a mouse event. */
- for (c = 0; c < 3; c++)
- mdata[c] = fgetc(f);
- gpm_convert_event(mdata, &ev);
-
- if (gpm_handler && (result = (*gpm_handler) (&ev, gpm_data))) {
- gpm_hflag = 1;
- return result;
- }
- } /* while(1) */
-}
-
-int Gpm_Repeat(int msec)
-{
- struct timeval to = {0, 0};
- fd_set selSet;
- int fd = STDIN_FILENO;
- to.tv_usec = msec * 1000;
- FD_ZERO(&selSet);
- FD_SET(fd, &selSet);
- return (select(fd + 1, &selSet, (fd_set *) NULL, (fd_set *) NULL, &to) == 0);
-}
-/* This is the real protocol conversion. */
-static int gpm_convert_event(unsigned char *mdata, Gpm_Event * ePtr)
-{
- static struct timeval tv1 = {0, 0}, tv2;
- /*
- * The clicks variable has the following meaning: 0 means button 1 is down; 1 means button 2 is down; 2 means button 3 is down; 3 means all buttons are up.
- */
- static int clicks = 0;
- int c;
- c = mdata[0] - 32;
-
- if (c == 3) {
- ePtr->type = GPM_UP | (GPM_SINGLE << clicks);
- ePtr->buttons = 0;
- GET_TIME(tv1);
- clicks = 0;
- } else {
- ePtr->type = GPM_DOWN;
- GET_TIME(tv2);
- if (tv1.tv_sec && (DIF_TIME(tv1, tv2) < 250)) { /* 250 ms for double click */
- clicks++;
- clicks %= 3;
- } else
- clicks = 0;
-
- switch (c) {
- case 0:
- ePtr->buttons |= GPM_B_LEFT;
- break;
- case 1:
- ePtr->buttons |= GPM_B_MIDDLE;
- break;
- case 2:
- ePtr->buttons |= GPM_B_RIGHT;
- default:
- break;
- }
- }
- /* Coordinates are 33-based. Transform them to 1-based. */
- ePtr->x = mdata[1] - 32;
- ePtr->y = mdata[2] - 32;
- return 0;
-}
-#endif /* defined(HAVE_CURSES) && !defined(HAVE_LIBGPM) */
diff -NarU5 aumix-2.8.orig/src/gpm-xterm.h aumix-2.8/src/gpm-xterm.h
--- aumix-2.8.orig/src/gpm-xterm.h 2002-10-29 16:27:52.000000000 -0500
+++ aumix-2.8/src/gpm-xterm.h 1969-12-31 19:00:00.000000000 -0500
@@ -1,103 +0,0 @@
-/* $Aumix: aumix/src/gpm-xterm.h,v 1.3 2002/10/29 21:27:52 trevor Exp $
- * gpm-xterm.h - pseudo client for non-Linux xterm only mouse support.
- * This code has been extracted from libgpm-0.18 and then
- * took its own way.
- *
- * Copyright 1994, 1995 rubini at ipvvis.unipv.it (Alessandro Rubini)
- * Copyright 1994 miguel at roxanne.nuclecu.unam.mx (Miguel de Icaza)
- *
- * This file is part of aumix.
- *
- * Aumix is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option) any later
- * version.
- *
- * Aumix is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * aumix; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
- * Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef _GPM_XTERM_H_
-#define _GPM_XTERM_H_
-
-#include "curses.h"
-
-/* Xtermish stuff */
-#define GPM_XTERM_ON \
- printf("\033[?1001s"), fflush(stdout), /* save old hilit tracking */ \
- printf("\033[?1000h"), fflush(stdout) /* enable mouse tracking */
-#define GPM_XTERM_OFF \
-printf("\033[?1000l"), fflush(stdout), /* disable mouse tracking */ \
-printf("\033[?1001r"), fflush(stdout) /* restore old hilittracking */
-#define GET_TIME(tv) (gettimeofday(&tv, (struct timezone *)NULL))
-#define DIF_TIME(t1,t2) ((t2.tv_sec -t1.tv_sec) *1000+(t2.tv_usec-t1.tv_usec)/1000)
-#define MAXNBPREVCHAR 4 /* I don't think more is useful, JD */
-#define DELAY_MS 500 /* from mc */
-/* buttons */
-#define GPM_B_RIGHT 1
-#define GPM_B_MIDDLE 2
-#define GPM_B_LEFT 4
-/* event types */
-#define GPM_BARE_EVENTS(type) ((type)&(0xF|GPM_ENTER|GPM_LEAVE))
-enum Gpm_Etype {
- GPM_MOVE = 1,
- GPM_DRAG = 2, /* Exactly one in four is active at a time. */
- GPM_DOWN = 4,
- GPM_UP = 8,
- GPM_SINGLE = 16, /* At most one in three is set. */
- GPM_DOUBLE = 32,
- GPM_TRIPLE = 64, /* Warning: I depend on the values. */
- GPM_MFLAG = 128, /* motion during click? */
- GPM_HARD = 256, /* If set in the defaultMask, force an already used event to pass over to another handler. */
- GPM_ENTER = 512, /* enter event, used in Roi's */
- GPM_LEAVE = 1024 /* leave event, used in Roi's */
-};
-/* event data structure */
-enum Gpm_Margin {
- GPM_TOP = 1,
- GPM_BOT = 2,
- GPM_LFT = 4,
- GPM_RGT = 8
-};
-typedef struct Gpm_Event {
- unsigned char buttons, modifiers; /* Try to be a multiple of 4. */
- unsigned short vc;
- short dx, dy, x, y;
- enum Gpm_Etype type;
- int clicks;
- enum Gpm_Margin margin;
-} Gpm_Event;
-/* connection data structure */
-#define GPM_MAGIC 0x47706D4C /* "GpmL" */
-typedef struct Gpm_Connect {
- unsigned short eventMask, defaultMask;
- unsigned short minMod, maxMod;
- int pid;
- int vc;
-} Gpm_Connect;
-/* global variables for the client */
-extern int gpm_flag, gpm_ctlfd, gpm_fd, gpm_hflag, gpm_morekeys;
-typedef int Gpm_Handler(Gpm_Event * event, void *clientdata);
-extern Gpm_Handler *gpm_handler;
-extern void *gpm_data;
-extern int Gpm_Open(Gpm_Connect *, int);
-extern int Gpm_Close(void);
-extern int Gpm_Getc(FILE *);
-#define Gpm_Getchar() Gpm_Getc(stdin)
-extern int Gpm_Repeat(int millisec);
-extern int Gpm_Wgetch(WINDOW *);
-#define Gpm_Getch() (Gpm_Wgetch(stdscr))
-/* Disable the functions available in libgpm but not here. */
-#define Gpm_FitValuesM(x, y, margin)
-#define Gpm_FitValues(x,y)
-#define Gpm_FitEvent(ePtr)
-#define Gpm_DrawPointer(x,y,fd)
-#define GPM_DRAWPOINTER(ePtr)
-/* from gpmCfg.h */
-#define SELECT_TIME 86400 /* seconds in one day */
-#endif /* _GPM_XTERM_H_ */
diff -NarU5 aumix-2.8.orig/src/gtk.c aumix-2.8/src/gtk.c
--- aumix-2.8.orig/src/gtk.c 2002-10-29 16:27:52.000000000 -0500
+++ aumix-2.8/src/gtk.c 1969-12-31 19:00:00.000000000 -0500
@@ -1,467 +0,0 @@
-/* $Aumix: aumix/src/gtk.c,v 1.8 2002/10/29 21:27:52 trevor Exp $
- *
- * gtk.c: GTK+ interface for aumix
- * (c) 1998-2001 the authors (see AUTHORS file)
- *
- * based on:
- * Freestyle DJ sample playing tool
- * Revision 1.11 1998/06/18 18:17:39
- * (C) 1998 Pete Hollobon hollobon at bigfoot.com
- * http://www.york.ac.uk/~ph116/freestyle.html
- *
- * also based on:
- * gmixer 0.98 (22.2.1999)
- * Copyleft (C) 1998, 1999 Sergey Kiselev
- * sergey at junior.technion.ac.il
- *
- * also based on:
- * filesel.c and pixmap.c examples
- * GTK v1.2 Tutorial
- * Tony Gale <gale at gtk.org>, Ian Main <imain at gtk.org>
- * February 23rd, 2000
- *
- * This file is part of aumix.
- *
- * Aumix is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option) any later
- * version.
- *
- * Aumix is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * aumix; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
- * Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#include "common.h"
-#if defined (HAVE_GTK1) || defined (HAVE_GTK)
-#include "gtk.h"
-#include "../data/aumix.xpm"
-#include "record.xpm"
-#include "play.xpm"
-#include "interactive.h"
-#include <signal.h> /* SIGALRM */
-
-void SaveSettingsGTK(void)
-{
- (void) SaveSettings();
-}
-
-void LoadSettingsGTK(void)
-{
- (void) LoadSettings();
-}
-
-void HideShowNumbersGTK(void)
-{
- int ii;
- if (valuesvisible) {
- for (ii = 0; ii < SOUND_MIXER_NRDEVICES; ii++) {
- if ((1 << ii) & devmask && visible[ii]) {
- gtk_scale_set_draw_value(GTK_SCALE(levels[ii]), FALSE);
- if ((1 << ii) & stereodevs)
- gtk_scale_set_draw_value(GTK_SCALE(baltracks[ii]), FALSE);
- }
- }
- gtk_widget_hide(labelzero);
- gtk_widget_hide(labelcent);
- } else {
- for (ii = 0; ii < SOUND_MIXER_NRDEVICES; ii++) {
- if ((1 << ii) & devmask && visible[ii]) {
- gtk_scale_set_draw_value(GTK_SCALE(levels[ii]), TRUE);
- if ((1 << ii) & stereodevs)
- gtk_scale_set_draw_value(GTK_SCALE(baltracks[ii]), TRUE);
- }
- }
- gtk_widget_show(labelzero);
- gtk_widget_show(labelcent);
- }
- valuesvisible = !valuesvisible;
-}
-
-void HideShowBalancesGTK(void)
-{
- int ii;
- if (balancevisible) {
- gtk_widget_hide(labelbalance);
- gtk_widget_hide(labelleft);
- gtk_widget_hide(labelright);
- for (ii = 0; ii < SOUND_MIXER_NRDEVICES; ii++) {
- if (visible[ii] && (1 << ii) & stereodevs)
- gtk_widget_hide(baltracks[ii]);
- }
- } else {
- gtk_widget_show(labelbalance);
- gtk_widget_show(labelleft);
- gtk_widget_show(labelright);
- for (ii = 0; ii < SOUND_MIXER_NRDEVICES; ii++) {
- if (visible[ii] && (1 << ii) & stereodevs)
- gtk_widget_show(baltracks[ii]);
- }
- }
- balancevisible = !balancevisible;
-}
-
-void HideShowMenuGTK(GtkWidget * menu)
-{
- if (menuvisible) {
- gtk_widget_hide(GTK_WIDGET(menu));
- } else {
- gtk_widget_show(GTK_WIDGET(menu));
- }
- menuvisible = !menuvisible;
-}
-
-void HideShowChannelGTK(int device)
-{
- if (visible[device]) {
- /* Hide the record/play button, if any. */
- if ((1 << device) & recmask)
- gtk_widget_hide(GTK_WIDGET(rpbuttons[device]));
- /* Hide the level track. */
- gtk_scale_set_draw_value(GTK_SCALE(levels[device]), FALSE);
- gtk_widget_hide(GTK_WIDGET(levels[device]));
-/* Hide the name of the channel. */
- gtk_widget_hide(channellabel[device]);
- /* Hide the balance track, if any. */
- if ((1 << device) & stereodevs) {
-/* Hide the balance track, if any. */
- gtk_scale_set_draw_value(GTK_SCALE(baltracks[device]), FALSE);
- gtk_widget_hide(baltracks[device]);
- }
- } else {
- /* Show the record/play button, if any. */
- if ((1 << device) & recmask)
- gtk_widget_show(GTK_WIDGET(rpbuttons[device]));
- /* Show the level track. */
- gtk_scale_set_draw_value(GTK_SCALE(levels[device]), TRUE);
- gtk_widget_show(GTK_WIDGET(levels[device]));
- /* Show the name of the channel. */
- gtk_widget_show(channellabel[device]);
- /* Show the balance track, if any. */
- if ((1 << device) & stereodevs && balancevisible) {
- /* Show the balance track, if any. */
- gtk_scale_set_draw_value(GTK_SCALE(baltracks[device]), TRUE);
- gtk_widget_show(baltracks[device]);
- }
- }
-/* Toggle visibility flag for the device. */
- visible[device] = !visible[device];
-}
-
-void AdjustLevelGTK(int device)
-{
- AdjustLevel(device, 0, adjustment[device]->value);
- return;
-}
-
-void AdjustBalanceGTK(int device)
-{
- AdjustBalance(device, 0, balance[device]->value);
- return;
-}
-
-void InitScreenGTK(void)
-{
- GdkColormap *colormap;
- GdkBitmap *bitmap;
- GdkPixmap *icon_pixmap;
- GtkStyle *style;
- GtkWidget *window;
- GtkWidget *mainbox;
- GtkWidget *filemenu;
- GtkWidget *filemenuitems[5];
- GtkWidget *viewmenu;
- GtkWidget *viewmenuitems[SOUND_MIXER_NRDEVICES + 3];
- GtkWidget *separator;
- GtkWidget *mutemenu;
- GtkWidget *muteallitem;
- GtkWidget *menubar;
- GtkWidget *menubarlabel;
- GtkAccelGroup *accel;
- GtkWidget *labelrec;
- GtkWidget *labellevel;
- GtkWidget *control_box;
- int balset, max, y, tmp, left, right;
- long int ii;
- GtkSignalFunc filefuncs[] = {&LoadSettingsGTK, &SaveSettingsGTK, &LoadDialog, &SaveDialog, &CloseScreenGTK};
- char *filemenutext[] = {LOCAL_TEXT_NOOP("Load"), LOCAL_TEXT_NOOP("Save"), LOCAL_TEXT_NOOP("Load From"), LOCAL_TEXT_NOOP("Save To"), LOCAL_TEXT_NOOP("Quit")};
- char *fileacceltext[5] = {LOCAL_TEXT_NOOP("l"), LOCAL_TEXT_NOOP("s"), LOCAL_TEXT_NOOP("f"), LOCAL_TEXT_NOOP("t"), LOCAL_TEXT_NOOP("q")};
- char *viewmenutext[] = {LOCAL_TEXT_NOOP("Menu"), LOCAL_TEXT_NOOP("Balance"), LOCAL_TEXT_NOOP("Numbers")};
- char *viewacceltext[] = {LOCAL_TEXT_NOOP("v"), LOCAL_TEXT_NOOP("b"), LOCAL_TEXT_NOOP("n")};
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- gtk_window_set_title(GTK_WINDOW(window), "aumix");
- gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(gtk_main_quit), NULL);
- gtk_container_border_width(GTK_CONTAINER(window), BORDER);
- mainbox = gtk_vbox_new(FALSE, BORDER);
- gtk_widget_show(mainbox);
- gtk_container_add(GTK_CONTAINER(window), mainbox);
- accel = gtk_accel_group_new();
-#ifdef HAVE_GTK1
- gtk_accel_group_attach(accel, GTK_OBJECT(window));
-#else
- gtk_window_add_accel_group(GTK_WINDOW(window), accel);
-#endif
- menubar = gtk_menu_bar_new();
- gtk_widget_show(menubar);
- gtk_box_pack_start(GTK_BOX(mainbox), menubar, FALSE, TRUE, 0);
- filemenu = gtk_menu_new();
- mutemenu = gtk_menu_new();
- viewmenu = gtk_menu_new();
- for (ii = 0; ii < 5; ii++) {
- filemenuitems[ii] = gtk_menu_item_new_with_label(LOCAL_TEXT(filemenutext[ii]));
- gtk_menu_append(GTK_MENU(filemenu), filemenuitems[ii]);
- gtk_widget_show(filemenuitems[ii]);
- gtk_widget_add_accelerator(filemenuitems[ii], "activate", accel, *LOCAL_TEXT(fileacceltext[ii]), 0, GTK_ACCEL_VISIBLE);
- gtk_signal_connect(GTK_OBJECT(filemenuitems[ii]), "activate", filefuncs[ii], NULL);
- }
- for (ii = 0; ii < SOUND_MIXER_NRDEVICES; ii++) {
- visible[ii] = TRUE;
- if ((1 << ii) & (devmask | recmask)) {
- viewmenuitems[ii] = gtk_check_menu_item_new_with_label(LOCAL_TEXT(dev_label[ii]));
- gtk_menu_append(GTK_MENU(viewmenu), viewmenuitems[ii]);
- gtk_widget_show(viewmenuitems[ii]);
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(viewmenuitems[ii]), TRUE);
- }
- }
- separator = gtk_menu_item_new();
- gtk_widget_show(separator);
- gtk_menu_append(GTK_MENU(viewmenu), separator);
- menuvisible = TRUE;
- balancevisible = TRUE;
- valuesvisible = TRUE;
- viewmenuitems[SOUND_MIXER_NRDEVICES] = gtk_check_menu_item_new_with_label(LOCAL_TEXT("Menu"));
- viewmenuitems[SOUND_MIXER_NRDEVICES + 1] = gtk_check_menu_item_new_with_label(LOCAL_TEXT("Balance"));
- viewmenuitems[SOUND_MIXER_NRDEVICES + 2] = gtk_check_menu_item_new_with_label(LOCAL_TEXT("Numbers"));
- gtk_menu_append(GTK_MENU(viewmenu), viewmenuitems[SOUND_MIXER_NRDEVICES]);
- gtk_menu_append(GTK_MENU(viewmenu), viewmenuitems[SOUND_MIXER_NRDEVICES + 1]);
- gtk_menu_append(GTK_MENU(viewmenu), viewmenuitems[SOUND_MIXER_NRDEVICES + 2]);
- gtk_widget_add_accelerator(viewmenuitems[SOUND_MIXER_NRDEVICES], "activate", accel, *LOCAL_TEXT("v"), 0, GTK_ACCEL_VISIBLE);
- gtk_widget_add_accelerator(viewmenuitems[SOUND_MIXER_NRDEVICES + 1], "activate", accel, *LOCAL_TEXT("b"), 0, GTK_ACCEL_VISIBLE);
- gtk_widget_add_accelerator(viewmenuitems[SOUND_MIXER_NRDEVICES + 2], "activate", accel, *LOCAL_TEXT("n"), 0, GTK_ACCEL_VISIBLE);
- gtk_widget_show(viewmenuitems[SOUND_MIXER_NRDEVICES]);
- gtk_widget_show(viewmenuitems[SOUND_MIXER_NRDEVICES + 1]);
- gtk_widget_show(viewmenuitems[SOUND_MIXER_NRDEVICES + 2]);
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(viewmenuitems[SOUND_MIXER_NRDEVICES]), TRUE);
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(viewmenuitems[SOUND_MIXER_NRDEVICES + 1]), TRUE);
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(viewmenuitems[SOUND_MIXER_NRDEVICES + 2]), TRUE);
- muteallitem = gtk_check_menu_item_new_with_label(LOCAL_TEXT("Mute All"));
- gtk_menu_append(GTK_MENU(mutemenu), muteallitem);
-/* XXX The "m" needs to get translated. */
- gtk_widget_add_accelerator(muteallitem, "activate", accel, 'm', 0, GTK_ACCEL_VISIBLE);
- gtk_widget_show(muteallitem);
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(muteallitem), FALSE);
- menubarlabel = gtk_menu_item_new_with_label(LOCAL_TEXT("File"));
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(menubarlabel), filemenu);
- gtk_menu_bar_append(GTK_MENU_BAR(menubar), menubarlabel);
- gtk_widget_show(menubarlabel);
- menubarlabel = gtk_menu_item_new_with_label(LOCAL_TEXT("View"));
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(menubarlabel), viewmenu);
- gtk_menu_bar_append(GTK_MENU_BAR(menubar), menubarlabel);
- gtk_widget_show(menubarlabel);
- menubarlabel = gtk_menu_item_new_with_label(LOCAL_TEXT("Mute"));
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(menubarlabel), mutemenu);
- gtk_menu_bar_append(GTK_MENU_BAR(menubar), menubarlabel);
- gtk_widget_show(menubarlabel);
- gtk_signal_connect(GTK_OBJECT(muteallitem), "activate", GTK_SIGNAL_FUNC(ToggleMuting), NULL);
- maintable = gtk_table_new(CountChannels(SOUND_MIXER_NRDEVICES) + 2, /* 1 row per mixing channel and two for headings */
- 8, /* 8 columns: record/play, "0", "Level", "100", channel names, "L", "balance", and "R" */
- FALSE); /* not homogeneous: all cells not same size */
- gtk_widget_show(maintable);
- gtk_container_add(GTK_CONTAINER(mainbox), maintable);
- style = gtk_widget_get_style(window);
- for (ii = 0; ii < SOUND_MIXER_NRDEVICES; ii++) {
- if ((1 << ii) & devmask) {
- /* Try to read mixer. */
- if (SOUND_IOCTL(mixer_fd, MIXER_READ(ii), &tmp) == -1)
- gtk_exit(EREADMIX);
- right = tmp >> 8;
- left = tmp & 0xFF;
- max = (left > right) ? left : right;
- /* See rangewidgets example. */
- adjustment[ii] = GTK_ADJUSTMENT(gtk_adjustment_new(((right + left) / 2), 0, MAXLEVEL, 1, 1, 0));
- if ((1 << ii) & stereodevs) {
- if (tmp) {
- balset = (left > right) ? (MAXLEVEL / 2) * right / max : MAXLEVEL - ((MAXLEVEL / 2) * left / max);
- } else {
- balset = (MAXLEVEL / 2);
- }
- balance[ii] = GTK_ADJUSTMENT(gtk_adjustment_new(balset, 0, MAXLEVEL, 1, 1, 0));
- balcallback[ii] = gtk_signal_connect_object(GTK_OBJECT(balance[ii]), "value_changed", GTK_SIGNAL_FUNC(AdjustBalanceGTK), (gpointer) ii);
- baltracks[ii] = gtk_hscale_new(balance[ii]);
- gtk_scale_set_value_pos(GTK_SCALE(baltracks[ii]), GTK_POS_RIGHT);
- gtk_scale_set_digits(GTK_SCALE(baltracks[ii]), 0);
-#ifdef HAVE_GTK
- gtk_widget_set_size_request(GTK_WIDGET (baltracks[ii]), 84, -1);
-#endif
- gtk_widget_show(baltracks[ii]);
- gtk_range_set_update_policy(GTK_RANGE(baltracks[ii]), GTK_UPDATE_CONTINUOUS);
- }
- lvlcallback[ii] = gtk_signal_connect_object(GTK_OBJECT(adjustment[ii]), "value_changed", GTK_SIGNAL_FUNC(AdjustLevelGTK), (gpointer) ii);
- levels[ii] = gtk_hscale_new(GTK_ADJUSTMENT(adjustment[ii]));
- gtk_signal_connect_object(GTK_OBJECT(viewmenuitems[ii]), "activate", GTK_SIGNAL_FUNC(HideShowChannelGTK), (gpointer) ii);
- gtk_scale_set_value_pos(GTK_SCALE(levels[ii]), GTK_POS_LEFT);
- gtk_scale_set_digits(GTK_SCALE(levels[ii]), 0);
-#ifdef HAVE_GTK
- gtk_widget_set_size_request(GTK_WIDGET (levels[ii]), 84, -1);
-#endif
- gtk_widget_show(GTK_WIDGET(levels[ii]));
- gtk_range_set_update_policy(GTK_RANGE(levels[ii]), GTK_UPDATE_CONTINUOUS);
- }
- if ((1 << ii) & recmask) {
- colormap = gtk_widget_get_colormap(window);
- record_pixmap = gdk_pixmap_colormap_create_from_xpm_d(window->window, colormap, &rmask, &style->bg[GTK_STATE_NORMAL], (gchar **) record_xpm);
- play_pixmap = gdk_pixmap_colormap_create_from_xpm_d(window->window, colormap, &pmask, &style->bg[GTK_STATE_NORMAL], (gchar **) play_xpm);
- ErrorExitWarn(ReadRecSrc(), 'e');
- /* a pixmap widget to contain the pixmap */
- pixmapwid[ii] = gtk_pixmap_new((1 << ii) & recsrc ? record_pixmap : play_pixmap, (1 << ii) & recsrc ? rmask : pmask);
- gtk_widget_show(pixmapwid[ii]);
- rpbuttons[ii] = GTK_TOGGLE_BUTTON(gtk_toggle_button_new());
- gtk_container_add(GTK_CONTAINER(rpbuttons[ii]), pixmapwid[ii]);
- gtk_widget_show(GTK_WIDGET(rpbuttons[ii]));
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rpbuttons[ii]), (1 << ii) & recsrc ? TRUE : FALSE);
- rpcallback[ii] = gtk_signal_connect_object(GTK_OBJECT(rpbuttons[ii]), "clicked", GTK_SIGNAL_FUNC(SwitchRecordPlay), (gpointer) ii);
- }
- }
- gtk_signal_connect_object(GTK_OBJECT(viewmenuitems[SOUND_MIXER_NRDEVICES]), "activate", GTK_SIGNAL_FUNC(HideShowMenuGTK), GTK_OBJECT(menubar));
- gtk_signal_connect_object(GTK_OBJECT(viewmenuitems[SOUND_MIXER_NRDEVICES + 1]), "activate", GTK_SIGNAL_FUNC(HideShowBalancesGTK), 0);
- gtk_signal_connect_object(GTK_OBJECT(viewmenuitems[SOUND_MIXER_NRDEVICES + 2]), "activate", GTK_SIGNAL_FUNC(HideShowNumbersGTK), 0);
- control_box = gtk_hbox_new(FALSE, BORDER);
- gtk_widget_show(control_box);
- labelrec = gtk_label_new(LOCAL_TEXT("Rec"));
- gtk_widget_show(labelrec);
- gtk_table_attach_defaults(GTK_TABLE(maintable), labelrec, 0, 1, 0, 1);
- labellevel = gtk_label_new(LOCAL_TEXT("Level"));
- gtk_widget_show(labellevel);
- gtk_table_attach_defaults(GTK_TABLE(maintable), labellevel, 2, 3, 0, 1);
- labelbalance = gtk_label_new(LOCAL_TEXT("Balance"));
- gtk_widget_show(labelbalance);
- gtk_table_attach_defaults(GTK_TABLE(maintable), labelbalance, 6, 7, 0, 1);
- y = 0;
- for (ii = 0; ii < SOUND_MIXER_NRDEVICES; ii++) {
- if ((1 << ii) & (devmask | recmask)) {
- if ((1 << ii) & recmask)
- gtk_table_attach_defaults(GTK_TABLE(maintable), GTK_WIDGET(rpbuttons[ii]), 0, 1, y + 1, y + 2);
- channellabel[ii] = gtk_label_new(LOCAL_TEXT(dev_label[ii]));
- gtk_widget_show(channellabel[ii]);
- gtk_table_attach_defaults(GTK_TABLE(maintable), channellabel[ii], 4, 5, y + 1, y + 2);
- if ((1 << ii) & devmask) {
- gtk_table_attach_defaults(GTK_TABLE(maintable), GTK_WIDGET(levels[ii]), 1, 4, y + 1, y + 2);
- if ((1 << ii) & stereodevs)
- gtk_table_attach_defaults(GTK_TABLE(maintable), baltracks[ii], 5, 8, y + 1, y + 2);
- }
- y++;
- }
- }
- labelleft = gtk_label_new(LOCAL_TEXT("L"));
- gtk_widget_show(labelleft);
- gtk_table_attach_defaults(GTK_TABLE(maintable), labelleft, 5, 6, y + 1, y + 2);
- labelright = gtk_label_new(LOCAL_TEXT("R"));
- gtk_widget_show(labelright);
- gtk_table_attach_defaults(GTK_TABLE(maintable), labelright, 7, 8, y + 1, y + 2);
- labelzero = gtk_label_new(LOCAL_TEXT("0"));
- gtk_widget_show(labelzero);
- gtk_table_attach_defaults(GTK_TABLE(maintable), labelzero, 1, 2, y + 1, y + 2);
- labelcent = gtk_label_new(LOCAL_TEXT("100"));
- gtk_widget_show(labelcent);
- gtk_table_attach_defaults(GTK_TABLE(maintable), labelcent, 3, 4, y + 1, y + 2);
- gtk_box_pack_start(GTK_BOX(mainbox), control_box, TRUE, TRUE, 0);
- gtk_widget_realize(window);
- icon_pixmap = gdk_pixmap_create_from_xpm_d(window->window, &bitmap, &style->bg[GTK_STATE_NORMAL], aumix_xpm);
- gdk_window_set_icon(window->window, NULL, icon_pixmap, bitmap);
- gtk_widget_show(window);
- signal(SIGALRM, AumixSignalHandler);
- alarm(REFRESH_PERIOD);
-}
-
-void CloseScreenGTK(void)
-{
- gtk_exit(0);
- return;
-}
-
-void WakeUpGTK(void)
-{
- /* things to do on SIGALRM */
- int max, balset, ii, tmp, left, right;
- for (ii = 0; ii < SOUND_MIXER_NRDEVICES; ii++) {
- if ((1 << ii) & devmask) {
- /* Try to read mixer. */
- if (SOUND_IOCTL(mixer_fd, MIXER_READ(ii), &tmp) == -1)
- gtk_exit(EREADMIX);
- right = tmp >> 8;
- left = tmp & 0xFF;
- gtk_signal_handler_block(GTK_OBJECT(adjustment[ii]), lvlcallback[ii]);
- gtk_adjustment_set_value(adjustment[ii], (right + left) / 2);
- gtk_signal_handler_unblock(GTK_OBJECT(adjustment[ii]), lvlcallback[ii]);
- max = (left > right) ? left : right;
- if ((1 << ii) & stereodevs) {
- if (tmp) {
- balset = (left > right) ? (MAXLEVEL / 2) * right / max : MAXLEVEL - ((MAXLEVEL / 2) * left / max);
- } else {
- balset = (MAXLEVEL / 2);
- }
- gtk_signal_handler_block(GTK_OBJECT(balance[ii]), balcallback[ii]);
- gtk_adjustment_set_value(balance[ii], balset);
- gtk_signal_handler_unblock(GTK_OBJECT(balance[ii]), balcallback[ii]);
- }
- }
- if ((1 << ii) & recmask) {
- gtk_signal_handler_block(GTK_OBJECT(rpbuttons[ii]), rpcallback[ii]);
- ErrorExitWarn(ReadRecSrc(), 'e');
- gtk_widget_show(pixmapwid[ii]);
- gtk_pixmap_set(GTK_PIXMAP(pixmapwid[ii]), (1 << ii) & recsrc ? record_pixmap : play_pixmap, NULL);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rpbuttons[ii]), (1 << ii) & recsrc ? TRUE : FALSE);
- gtk_widget_show(pixmapwid[ii]);
- gtk_signal_handler_unblock(GTK_OBJECT(rpbuttons[ii]), rpcallback[ii]);
- }
- }
-}
-
-void FileOKLoad(GtkWidget * w, GtkFileSelection * fs)
-/* Get the selected filename and copy it into the global save_filename. */
-{
- save_filename = g_strdup(gtk_file_selection_get_filename(GTK_FILE_SELECTION(fs)));
- ErrorExitWarn(LoadSettings(), 'w');
-}
-
-void FileOKSave(GtkWidget * w, GtkFileSelection * fs)
-/* Get the selected filename and copy it into the global save_filename. */
-{
- save_filename = g_strdup(gtk_file_selection_get_filename(GTK_FILE_SELECTION(fs)));
- ErrorExitWarn(SaveSettings(), 'e');
-}
-
-void LoadDialog(void)
-{
- GtkWidget *filew;
- /* Create a new file selection widget */
- filew = gtk_file_selection_new("File selection");
- gtk_signal_connect(GTK_OBJECT(filew), "destroy", (GtkSignalFunc) gtk_widget_destroy, &filew);
- /* Connect the ok_button to FileOKLoad function */
- gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filew)->ok_button), "clicked", (GtkSignalFunc) FileOKLoad, filew);
- /* Connect the cancel_button to destroy the widget */
- gtk_signal_connect_object(GTK_OBJECT(GTK_FILE_SELECTION(filew)->cancel_button), "clicked", (GtkSignalFunc) gtk_widget_destroy, GTK_OBJECT(filew));
- /* Let's set the filename, as a default. */
- gtk_file_selection_set_filename(GTK_FILE_SELECTION(filew), ".aumixrc");
- gtk_widget_show(filew);
-}
-
-void SaveDialog(void)
-{
- GtkWidget *filew;
- /* Create a new file selection widget */
- filew = gtk_file_selection_new("File selection");
- gtk_signal_connect(GTK_OBJECT(filew), "destroy", (GtkSignalFunc) gtk_widget_destroy, &filew);
- /* Connect the ok_button to FileOKSave function */
- gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filew)->ok_button), "clicked", (GtkSignalFunc) FileOKSave, filew);
- /* Connect the cancel_button to destroy the widget */
- gtk_signal_connect_object(GTK_OBJECT(GTK_FILE_SELECTION(filew)->cancel_button), "clicked", (GtkSignalFunc) gtk_widget_destroy, GTK_OBJECT(filew));
- /* Let's set the filename, as a default. */
- gtk_file_selection_set_filename(GTK_FILE_SELECTION(filew), ".aumixrc");
- gtk_widget_show(filew);
-}
-#endif /* HAVE_GTK1 || HAVE_GTK */
diff -NarU5 aumix-2.8.orig/src/gtk.h aumix-2.8/src/gtk.h
--- aumix-2.8.orig/src/gtk.h 2002-03-17 20:26:15.000000000 -0500
+++ aumix-2.8/src/gtk.h 1969-12-31 19:00:00.000000000 -0500
@@ -1,43 +0,0 @@
-/* $Aumix: aumix/src/gtk.h,v 1.2 2002/03/18 01:26:15 trevor Exp $ */
-
-#ifndef AUMIX_GTK_H
-#define AUMIX_GTK_H
-#define BORDER 2
-#include <sys/stat.h>
-#include <sys/mman.h>
-#include <gtk/gtk.h>
-
-GdkBitmap *rmask;
-GdkBitmap *pmask;
-GtkWidget *pixmapwid[SOUND_MIXER_NRDEVICES];
-GdkPixmap *record_pixmap;
-GdkPixmap *play_pixmap;
-GtkAdjustment *adjustment[SOUND_MIXER_NRDEVICES];
-GtkAdjustment *balance[SOUND_MIXER_NRDEVICES];
-GtkWidget *baltracks[SOUND_MIXER_NRDEVICES];
-GtkWidget *channellabel[SOUND_MIXER_NRDEVICES];
-GtkToggleButton *rpbuttons[SOUND_MIXER_NRDEVICES];
-GtkWidget *levels[SOUND_MIXER_NRDEVICES];
-GtkWidget *maintable;
-gint balcallback[SOUND_MIXER_NRDEVICES];
-gint lvlcallback[SOUND_MIXER_NRDEVICES];
-gint rpcallback[SOUND_MIXER_NRDEVICES];
-gboolean menuvisible, balancevisible, valuesvisible, visible[SOUND_MIXER_NRDEVICES];
-GtkWidget *labelzero, *labelcent, *labelleft, *labelright, *labelbalance;
-void WakeUpGTK(void);
-void HideShowBalancesGTK(void);
-void HideShowNumbersGTK(void);
-void HideShowMenuGTK(GtkWidget * menu);
-void HideShowChannelGTK(int device);
-void SaveSettingsGTK(void);
-void LoadSettingsGTK(void);
-void AdjustLevelGTK(int device);
-void AdjustBalanceGTK(int device);
-void InitScreenGTK(void);
-void CloseScreenGTK(void);
-void FileOKLoad(GtkWidget * w, GtkFileSelection * fs);
-void FileOKSave(GtkWidget * w, GtkFileSelection * fs);
-void LoadDialog(void);
-void SaveDialog(void);
-void get_main_menu(GtkWidget * window, GtkWidget ** menubar);
-#endif /* AUMIX_GTK_H */
diff -NarU5 aumix-2.8.orig/src/interactive.c aumix-2.8/src/interactive.c
--- aumix-2.8.orig/src/interactive.c 2002-10-29 16:27:52.000000000 -0500
+++ aumix-2.8/src/interactive.c 2007-03-20 16:26:05.000000000 -0400
@@ -17,55 +17,33 @@
* aumix; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
* Suite 330, Boston, MA 02111-1307, USA.
*/
#include "common.h"
-#if defined (HAVE_CURSES) || defined (HAVE_GTK) || defined (HAVE_GTK1)
+#if defined (HAVE_CURSES)
#include "interactive.h"
-#ifdef HAVE_CURSES
#include "curses.h"
-#endif /* HAVE_CURSES */
-#if defined (HAVE_GTK) || defined (HAVE_GTK1)
-#include "gtk.h"
-#endif /* HAVE_GTK || HAVE_GTK1 */
void AumixSignalHandler(int signal_number)
{
/* Handle SIGALRM. */
signal(SIGALRM, AumixSignalHandler); /* Reset the signal handler. */
-#ifdef HAVE_CURSES
if (interactive == IN_CURSES)
WakeUpCurses();
-#endif
-#if defined (HAVE_GTK) || defined (HAVE_GTK1)
- if (interactive == IN_GTK)
- WakeUpGTK();
-#endif
alarm(REFRESH_PERIOD);
}
void InitScreen(void)
{
-#ifdef HAVE_CURSES
if (interactive == IN_CURSES)
InitScreenCurses();
-#endif /* HAVE_CURSES */
-#if defined (HAVE_GTK) || defined (HAVE_GTK1)
- if (interactive == IN_GTK)
- InitScreenGTK();
-#endif /* HAVE_GTK */
}
void KeysBox(void)
{
-#ifdef HAVE_CURSES
if (interactive == IN_CURSES)
KeysBoxCurses();
-#endif /* HAVE_CURSES */
-#if defined (HAVE_GTK) || defined (HAVE_GTK1)
-/* if (interactive == IN_GTK) KeysBoxGTK(); */
-#endif /* HAVE_GTK || HAVE_GTK1 */
}
void RefreshAllSettings(void)
{
int dev;
@@ -157,14 +135,12 @@
UnmuteOne(device);
}
}
RefreshAllSettings();
mutestate = newstate;
-#ifdef HAVE_CURSES
if (interactive == IN_CURSES)
ShowMutingCurses();
-#endif /* HAVE_CURSES */
mutestate = newstate;
}
void ToggleMuting(void)
/* Switch between no muting and global muting; do nothing if soloing (MUTE_ONLY). */
@@ -244,14 +220,12 @@
}
void DrawLevelBalMode(int dev, int mode)
/* arrow to show whether keyboard commands will adjust level or balance */
{
-#ifdef HAVE_CURSES
if (interactive == IN_CURSES)
DrawLevelBalModeCurses(dev, mode);
-#endif /* HAVE_CURSES */
}
void AdjustLevel(int dev, int incr, int setlevel)
/*
* dev: device to adjust
@@ -294,23 +268,19 @@
DrawLevel(dev);
}
void DrawLevel(int dev)
{
-#ifdef HAVE_CURSES
if (interactive == IN_CURSES)
DrawLevelCurses(dev);
-#endif /* HAVE_CURSES */
}
void EraseLevel(int dev)
/* Redraw level track. */
{
-#ifdef HAVE_CURSES
if (interactive == IN_CURSES)
EraseLevelCurses(dev);
-#endif /* HAVE_CURSES */
}
void AdjustBalance(int dev, int incr, int setabs)
/*
* dev: device to adjust
@@ -350,14 +320,12 @@
}
void RedrawBalance(int dev)
/* Redraw balance track. */
{
-#ifdef HAVE_CURSES
if (interactive == IN_CURSES)
RedrawBalanceCurses(dev);
-#endif /* HAVE_CURSES */
}
void SwitchRecordPlay(int dev)
{
/* Toggle record/play. */
@@ -374,26 +342,18 @@
}
}
void DrawRecordPlay(int dev)
{
-#ifdef HAVE_CURSES
if (interactive == IN_CURSES)
DrawRecordPlayCurses(dev);
-#endif /* HAVE_CURSES */
}
void CloseScreen(void)
{
-#ifdef HAVE_CURSES
if (interactive == IN_CURSES)
CloseScreenCurses();
-#endif /* HAVE_CURSES */
-#if defined (HAVE_GTK) || defined (HAVE_GTK1)
- if (interactive == IN_GTK)
- CloseScreenGTK();
-#endif /* HAVE_GTK || HAVE_GTK1 */
}
void ReadInteractiveKeys(void)
{
chark = strdup(LOCAL_TEXT("k"));
@@ -402,6 +362,6 @@
charo = strdup(LOCAL_TEXT("o"));
charq = strdup(LOCAL_TEXT("q"));
chars = strdup(LOCAL_TEXT("s"));
charu = strdup(LOCAL_TEXT("u"));
}
-#endif /* HAVE_CURSES || HAVE_GTK || HAVE_GTK1 */
+#endif /* HAVE_CURSES */
diff -NarU5 aumix-2.8.orig/src/Makefile.am aumix-2.8/src/Makefile.am
--- aumix-2.8.orig/src/Makefile.am 2002-03-18 20:09:17.000000000 -0500
+++ aumix-2.8/src/Makefile.am 2007-03-20 16:26:05.000000000 -0400
@@ -1,17 +1,17 @@
# $Aumix: aumix/src/Makefile.am,v 1.2 2002/03/19 01:09:17 trevor Exp $
bin_PROGRAMS = aumix
if CURSES
bin_SCRIPTS = mute xaumix
endif
-aumix_SOURCES = common.c curses.c dummy.c gpm-xterm.c gtk.c interactive.c \
- mouse.c common.h curses.h gpm-xterm.h gtk.h interactive.h \
+aumix_SOURCES = common.c curses.c dummy.c interactive.c \
+ mouse.c common.h curses.h interactive.h \
mouse.h play.xpm record.xpm
localedir = $(datadir)/locale
INCLUDES = -I../intl -DLOCALEDIR=\"$(localedir)\" -I at includedir@
-CFLAGS = @CFLAGS@ @GLIB_CFLAGS@ @GTK_CFLAGS@
+CFLAGS = @CFLAGS@ @GLIB_CFLAGS@
LDADD = -L at libdir@
-LIBS = @LIBS@ @GTK_LIBS@ @INTLLIBS@
+LIBS = @LIBS@ @INTLLIBS@
DEFS = @DEFS@
curses.o: curses.c
$(COMPILE) -DDATADIR=\"$(datadir)/aumix\" -c $<
diff -NarU5 aumix-2.8.orig/src/Makefile.in aumix-2.8/src/Makefile.in
--- aumix-2.8.orig/src/Makefile.in 2002-11-24 20:35:45.000000000 -0500
+++ aumix-2.8/src/Makefile.in 2007-03-20 16:26:05.000000000 -0400
@@ -66,13 +66,10 @@
CURSLIB = @CURSLIB@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
-GTK_CFLAGS = @GTK_CFLAGS@
-GTK_CONFIG = @GTK_CONFIG@
-GTK_LIBS = @GTK_LIBS@
GT_NO = @GT_NO@
GT_YES = @GT_YES@
HAVE_NLS = @HAVE_NLS@
INSTOBJEXT = @INSTOBJEXT@
INTLLIBS = @INTLLIBS@
@@ -86,26 +83,26 @@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
bin_PROGRAMS = aumix
@CURSES_TRUE at bin_SCRIPTS = mute xaumix
-aumix_SOURCES = common.c curses.c dummy.c gpm-xterm.c gtk.c interactive.c mouse.c common.h curses.h gpm-xterm.h gtk.h interactive.h mouse.h play.xpm record.xpm
+aumix_SOURCES = common.c curses.c dummy.c interactive.c mouse.c common.h curses.h interactive.h mouse.h play.xpm record.xpm
localedir = $(datadir)/locale
INCLUDES = -I../intl -DLOCALEDIR=\"$(localedir)\" -I at includedir@
-CFLAGS = @CFLAGS@ @GLIB_CFLAGS@ @GTK_CFLAGS@
+CFLAGS = @CFLAGS@ @GLIB_CFLAGS@
LDADD = -L at libdir@
-LIBS = @LIBS@ @GTK_LIBS@ @INTLLIBS@
+LIBS = @LIBS@ @INTLLIBS@
DEFS = @DEFS@
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
PROGRAMS = $(bin_PROGRAMS)
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
-aumix_OBJECTS = common.o curses.o dummy.o gpm-xterm.o gtk.o \
+aumix_OBJECTS = common.o curses.o dummy.o \
interactive.o mouse.o
aumix_LDADD = $(LDADD)
aumix_DEPENDENCIES =
aumix_LDFLAGS =
SCRIPTS = $(bin_SCRIPTS)
diff -NarU5 aumix-2.8.orig/src/mouse.c aumix-2.8/src/mouse.c
--- aumix-2.8.orig/src/mouse.c 2002-05-07 04:41:38.000000000 -0400
+++ aumix-2.8/src/mouse.c 2007-03-20 17:37:30.000000000 -0400
@@ -17,144 +17,21 @@
* Suite 330, Boston, MA 02111-1307, USA.
*/
#include "common.h"
#if HAVE_CURSES
-#if HAVE_SYSMOUSE
-#if HAVE_SYS_CONSIO_H
-#include <sys/consio.h>
-#include <sys/fbio.h>
-#else
-#include <machine/console.h>
-#endif /* HAVE_SYS_CONSIO_H */
-#include <errno.h>
-#endif /* HAVE_SYSMOUSE */
#include "interactive.h"
#include "curses.h"
#include "mouse.h"
-#if HAVE_SYSMOUSE
-extern void SysmouseHandler(int sig);
-extern int Sysm_Wgetch(WINDOW * win);
-
-static int xpos, ypos, buttons;
-static int cwidth = 8, cheight = 16;
-#endif /* HAVE_SYSMOUSE */
-
-void StartMouse(void)
-{
- Gpm_Connect conn;
-#if HAVE_SYSMOUSE
- mouse_info_t mi;
- video_info_t vi;
- int fd = STDIN_FILENO;
-#ifndef FBIO_GETMODE /* FreeBSD 3.x */
-#define FBIO_GETMODE CONS_GET
-#define FBIO_MODEINFO CONS_MODEINFO
-#endif /* HAVE_SYSMOUSE */
- if (ioctl(fd, FBIO_GETMODE, &vi.vi_mode) != -1 && ioctl(fd, FBIO_MODEINFO, &vi) != -1) {
- cwidth = vi.vi_cwidth;
- cheight = vi.vi_cheight;
- }
- /* Have sysmouse send us SIGUSR2 for mouse state changes. */
- signal(SIGUSR2, SIG_IGN);
- mi.operation = MOUSE_MODE;
- mi.u.mode.mode = 0;
- mi.u.mode.signal = SIGUSR2;
- /*
- * If successful, register signal handler and our wgetch() replacement.
- */
- if (ioctl(fd, CONS_MOUSECTL, &mi) != -1) {
- signal(SIGUSR2, SysmouseHandler);
- mi.operation = MOUSE_SHOW;
- ioctl(fd, CONS_MOUSECTL, &mi);
- Wgetch = Sysm_Wgetch;
- return;
- }
-#endif /* HAVE_SYSMOUSE */
- conn.eventMask = (unsigned short) ~0;
- conn.defaultMask = GPM_MOVE | GPM_HARD;
- conn.maxMod = 0;
- conn.minMod = 0;
- /* don't check for < 0, gpm-xterm returns -2 */
- if (Gpm_Open(&conn, 0) != -1) {
- gpm_handler = MouseHandler;
- Wgetch = Gpm_Wgetch;
- } else
- Wgetch = wgetch;
-#if HAVE_GETMOUSE
- /* enable ncurses mouse reporting */
-#define MMASK (BUTTON1_PRESSED | BUTTON1_CLICKED | \
- BUTTON2_PRESSED | BUTTON2_CLICKED)
- (void) mousemask(MMASK, (mmask_t *) NULL);
-#endif /* HAVE_GETMOUSE */
-}
-
-int MouseHandler(Gpm_Event * event, void *data)
-{
- if ((event->type & GPM_DOWN) || (event->type & GPM_DRAG)) {
- if (in_keysbox)
- return ' '; /* Simulate keyboard event. */
- else
- DoMouse(event->x - 1, event->y - 1, GPM_TO_DOMOUSE(event->buttons));
- }
- return 0;
-}
-#if HAVE_SYSMOUSE
-/*
- * Signal handler for SIGUSR2: Retrieves mouse coordinates; converts pixels
- * to rows and columns.
- */
-void SysmouseHandler(int sig)
-{
- int fd = STDIN_FILENO;
- struct mouse_info mi;
- mi.operation = MOUSE_GETINFO;
- if (ioctl(fd, CONS_MOUSECTL, &mi) == -1)
- return;
- xpos = mi.u.data.x;
- ypos = mi.u.data.y;
- /* for cosmetic bug in syscons.c on FreeBSD 3.3/3.4 */
- mi.operation = MOUSE_HIDE;
- ioctl(fd, CONS_MOUSECTL, &mi);
- mi.operation = MOUSE_SHOW;
- ioctl(fd, CONS_MOUSECTL, &mi);
- buttons = mi.u.data.buttons & 3;
-}
-/*
- * Wait in select() loop. If interrupted, check for mouse button press and
- * construct a minimal gpm pseudo-event and call MouseHandler(). Otherwise
- * hand over to wgetch().
- */
-int Sysm_Wgetch(WINDOW * win)
-{
- fd_set rfds;
- Gpm_Event event;
- int key;
- FD_ZERO(&rfds);
- FD_SET(STDIN_FILENO, &rfds);
- while (select(STDIN_FILENO + 1, &rfds, (fd_set *) NULL, (fd_set *) NULL, (struct timeval *) NULL) <= 0) {
- if (errno == EINTR && buttons) {
- event.buttons = SYSMOUSE_TO_GPM(buttons);
- event.x = xpos / cwidth + 1;
- event.y = ypos / cheight + 1;
- event.type = GPM_DOWN;
- if ((key = MouseHandler(&event, (void *) NULL)) != 0)
- return key;
- }
- }
- return wgetch(win);
-}
-#endif /* HAVE_SYSMOUSE */
/* assumes upper left corner is (0, 0) */
void DoMouse(int x, int y, int b)
{
int dev_orig, mouse_dev, ii, jj;
if ((x < XOFFSET + menu_width) && (b & BUTTON1)) { /* menu */
switch (y) {
case 2: /* quit */
- Gpm_Close();
close(mixer_fd);
CloseScreen();
exit(EXIT_SUCCESS);
case 3: /* load */
LoadSettings();
diff -NarU5 aumix-2.8.orig/src/mouse.h aumix-2.8/src/mouse.h
--- aumix-2.8.orig/src/mouse.h 2002-03-28 04:37:27.000000000 -0500
+++ aumix-2.8/src/mouse.h 2007-03-20 16:26:05.000000000 -0400
@@ -17,30 +17,17 @@
* Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef AUMIX_MOUSE_H
#define AUMIX_MOUSE_H
-#if HAVE_LIBGPM
-#include <gpm.h>
-#else
-#include "gpm-xterm.h"
-#endif /* HAVE_LIBGPM */
/* buttons for DoMouse() */
#define BUTTON1 0x1
#define BUTTON2 0x2
/* convert mouse button representations */
-#define SYSMOUSE_TO_GPM(b) \
- ((((b) & 1) ? GPM_B_LEFT : 0) | \
- (((b) & 2) ? GPM_B_MIDDLE : 0))
-#define GPM_TO_DOMOUSE(b) \
- ((((b) & GPM_B_LEFT) ? BUTTON1 : 0) | \
- (((b) & GPM_B_MIDDLE) ? BUTTON2 : 0))
#define NCURSES_TO_DOMOUSE(b) \
((((b) & (BUTTON1_PRESSED | BUTTON1_CLICKED)) ? BUTTON1 : 0) | \
(((b) & (BUTTON2_PRESSED | BUTTON2_CLICKED)) ? BUTTON2 : 0))
extern void DoMouse(int x, int y, int b);
-extern int MouseHandler(Gpm_Event * event, void *data);
-extern void StartMouse(void);
#endif /* AUMIX_MOUSE_H */
Index: aumix.spec
===================================================================
RCS file: /cvs/extras/rpms/aumix/FC-5/aumix.spec,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- aumix.spec 17 Mar 2007 17:14:29 -0000 1.4
+++ aumix.spec 21 Mar 2007 14:59:38 -0000 1.5
@@ -1,6 +1,6 @@
Name: aumix
Version: 2.8
-Release: 13%{?dist}
+Release: 14%{?dist}
Summary: Audio mixer based on ncurses
License: GPL
Group: Applications/Multimedia
@@ -11,6 +11,7 @@
Patch2: aumix-fix-cursor-color-on-exit.patch
Patch3: aumix-fix-crackrock.patch
Patch4: aumix-2.8-bug-115869.patch
+Patch5: curses-cleanup.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gettext ncurses-devel
@@ -24,6 +25,7 @@
%patch2 -p0
%patch3 -p1
%patch4 -p0
+%patch5 -p1
%build
%configure --without-gtk --without-gtk1
@@ -48,6 +50,10 @@
%{_datadir}/aumix
%changelog
+* Tue Mar 20 2007 Gabriel L. Somlo <somlo at cmu.edu> 2.8-14
+- curses-cleanup.patch removes "cruft" such as gtk and system/console mouse
+- more importantly, it fixes bugzilla ticket # 232828
+
* Sat Mar 17 2007 Gabriel L. Somlo <somlo at cmu.edu> 2.8-13
- bumped rel. to 13, to be ahead of latest core (unreleased) cvs
More information about the fedora-extras-commits
mailing list