Index: src/gtkprefs.c
===================================================================
RCS file: /cvsroot/gaim/gaim/src/gtkprefs.c,v
retrieving revision 1.144
diff -u -r1.144 gtkprefs.c
--- src/gtkprefs.c	28 Apr 2004 01:45:06 -0000	1.144
+++ src/gtkprefs.c	28 Apr 2004 20:43:33 -0000
@@ -1647,6 +1647,9 @@
 
 	gtk_size_group_add_widget(sg, dd);
 	gtk_misc_set_alignment(GTK_MISC(dd), 0, 0);
+	gaim_gtk_prefs_labeled_spin_button(vbox,
+			_("Minutes before becoming _idle:"), "/core/away/mins_before_idle",
+			1, 24 * 60, sg);
 
 	vbox = gaim_gtk_make_frame (ret, _("Auto-away"));
 	button = gaim_gtk_prefs_checkbox(_("Set away _when idle"),
Index: src/idle.c
===================================================================
RCS file: /cvsroot/gaim/gaim/src/idle.c,v
retrieving revision 1.54
diff -u -r1.54 idle.c
--- src/idle.c	10 Jan 2004 04:04:56 -0000	1.54
+++ src/idle.c	28 Apr 2004 20:43:34 -0000
@@ -48,8 +48,6 @@
 /* XXX For the away stuff */
 #include "gaim.h"
 
-#define IDLEMARK 600   	/* 10 minutes! */
-
 gint check_idle(gpointer data)
 {
 	const char *report_idle;
@@ -61,7 +59,7 @@
 	static XScreenSaverInfo *mit_info = NULL;
 #endif
 #endif
-	int idle_time;
+	int idle_time, idlemark;
 
 	account = gaim_connection_get_account(gc);
 
@@ -71,6 +69,8 @@
 
 	report_idle = gaim_prefs_get_string("/gaim/gtk/idle/reporting_method");
 
+	idlemark = 60 * gaim_prefs_get_int("/core/away/mins_before_idle");
+
 #ifdef USE_SCREENSAVER
 	if (report_idle != NULL && !strcmp(report_idle, "system")) {
 #ifndef _WIN32
@@ -152,13 +152,13 @@
 	if (report_idle != NULL && !strcmp(report_idle, "none"))
 		return TRUE;
 
-	if (idle_time >= IDLEMARK && !gc->is_idle) {
+	if (idle_time >= idlemark && !gc->is_idle) {
 		gaim_debug(GAIM_DEBUG_INFO, "idle", "Setting %s idle %d seconds\n",
 				   gaim_account_get_username(account), idle_time);
 		serv_set_idle(gc, idle_time);
 		gc->is_idle = 1;
 		/* LOG	system_log(log_idle, gc, NULL, OPT_LOG_BUDDY_IDLE | OPT_LOG_MY_SIGNON); */
-	} else if (idle_time < IDLEMARK && gc->is_idle) {
+	} else if (idle_time < idlemark && gc->is_idle) {
 		gaim_debug(GAIM_DEBUG_INFO, "idle", "Setting %s unidle\n",
 				   gaim_account_get_username(account));
 		serv_touch_idle(gc);
Index: src/prefs.c
===================================================================
RCS file: /cvsroot/gaim/gaim/src/prefs.c,v
retrieving revision 1.428
diff -u -r1.428 prefs.c
--- src/prefs.c	18 Apr 2004 19:30:19 -0000	1.428
+++ src/prefs.c	28 Apr 2004 20:43:38 -0000
@@ -107,6 +107,7 @@
 	/* Away */
 	gaim_prefs_add_none("/core/away");
 	gaim_prefs_add_bool("/core/away/away_when_idle", TRUE);
+	gaim_prefs_add_int("/core/away/mins_before_idle", 5);
 	gaim_prefs_add_int("/core/away/mins_before_away", 5);
 	/* XXX: internationalized string in prefs...evil */
 	gaim_prefs_add_string("/core/away/default_message",

