src/idle.c

Sun, 17 Oct 2004 23:55:49 +0000

author
Sean Egan <seanegan@pidgin.im>
date
Sun, 17 Oct 2004 23:55:49 +0000
changeset 10108
0897c42d6cb9
parent 9993
ae32679a8892
child 10319
e45260cc6aa6
permissions
-rw-r--r--

[gaim-migrate @ 11141]
Two things:
a. Added Enter as a gtk_binding to GtkIMHtml. This fixes everything.
Input methods now work. The "Enter sends" and "Ctrl-Enter sends" preferences
were removed and defaulted to yes and no respectively, BUT, in a very super-cool
turn of events, you can now add your own bindings to .gtkrc to make WHATEVER
YOU WANT send. Awesome. Someone should use g_signal_accumulator_true_handled
or something to make profiles and away messages able to insert newlines.

b. Removed "Use multi-colored screennames in chats," defaulted to yes, and
wrote a nifty algorithm to automatically adjust the colors to accomodate the
background (see http://gaim.sf.net/sean/porn-chat.png). People should play
around and tweak it a bit. The algorithm takes into consideration the
luminosity of the current background and the base hue to use for the screenname
in generating the new colors. Note that it does this while maintaining the hues.
Someone should optimize this so it skips over the floating point arithmatic when
the background color is white.

1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
1 /*
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
2 * gaim
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
3 *
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7475
diff changeset
4 * Gaim is the legal property of its developers, whose names are too numerous
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7475
diff changeset
5 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7475
diff changeset
6 * source distribution.
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
7 *
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
8 * This program is free software; you can redistribute it and/or modify
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
9 * it under the terms of the GNU General Public License as published by
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
11 * (at your option) any later version.
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
12 *
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
13 * This program is distributed in the hope that it will be useful,
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
16 * GNU General Public License for more details.
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
17 *
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
18 * You should have received a copy of the GNU General Public License
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
19 * along with this program; if not, write to the Free Software
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
21 *
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
22 */
9791
f5c5bda0b96b [gaim-migrate @ 10659]
Gary Kramlich <grim@pidgin.im>
parents: 9730
diff changeset
23 #include "internal.h"
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
24
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
25 #ifdef USE_SCREENSAVER
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
26 # ifndef _WIN32
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
27 # include <X11/Xlib.h>
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
28 # include <X11/Xutil.h>
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
29 # include <X11/extensions/scrnsaver.h>
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
30 # include <gdk/gdkx.h>
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
31 # else
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
32 # include "idletrack.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
33 # endif
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
34 #endif /* USE_SCREENSAVER */
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
35
5615
2eb715cbbd9b [gaim-migrate @ 6022]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
36 #include "connection.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
37 #include "debug.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
38 #include "log.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
39 #include "prefs.h"
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
40 #include "signals.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
41
4536
76c632fee2bc [gaim-migrate @ 4815]
Herman Bloggs <herman@bluedigits.com>
parents: 4201
diff changeset
42 #define IDLEMARK 600 /* 10 minutes! */
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
43
2381
553cf0455173 [gaim-migrate @ 2394]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2372
diff changeset
44 gint check_idle(gpointer data)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
45 {
5560
7cd6678f838b [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5548
diff changeset
46 const char *report_idle;
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
47 GaimConnection *gc = data;
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
48 GaimAccount *account;
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
49 time_t t;
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
50 #ifdef USE_SCREENSAVER
3905
9721673d9f55 [gaim-migrate @ 4058]
Herman Bloggs <herman@bluedigits.com>
parents: 3517
diff changeset
51 #ifndef _WIN32
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
52 static XScreenSaverInfo *mit_info = NULL;
1062
5936424ca7b1 [gaim-migrate @ 1072]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
53 #endif
3905
9721673d9f55 [gaim-migrate @ 4058]
Herman Bloggs <herman@bluedigits.com>
parents: 3517
diff changeset
54 #endif
4201
547da94c5a14 [gaim-migrate @ 4432]
Christian Hammond <chipx86@chipx86.com>
parents: 3905
diff changeset
55 int idle_time;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
56
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
57 account = gaim_connection_get_account(gc);
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
58
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
59 gaim_signal_emit(gaim_blist_get_handle(), "update-idle");
1250
46ac03911ab0 [gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents: 1141
diff changeset
60
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
61 time(&t);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
62
5560
7cd6678f838b [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5548
diff changeset
63 report_idle = gaim_prefs_get_string("/gaim/gtk/idle/reporting_method");
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
64
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
65 #ifdef USE_SCREENSAVER
5755
7343a01b1592 [gaim-migrate @ 6180]
Lee Roach <phroggster@gmail.com>
parents: 5748
diff changeset
66 if (report_idle != NULL && !strcmp(report_idle, "system")) {
3905
9721673d9f55 [gaim-migrate @ 4058]
Herman Bloggs <herman@bluedigits.com>
parents: 3517
diff changeset
67 #ifndef _WIN32
2115
848a8af1a4af [gaim-migrate @ 2125]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2114
diff changeset
68 int event_base, error_base;
848a8af1a4af [gaim-migrate @ 2125]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2114
diff changeset
69 if (XScreenSaverQueryExtension(GDK_DISPLAY(), &event_base, &error_base)) {
2114
bcebefe6507c [gaim-migrate @ 2124]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2090
diff changeset
70 if (mit_info == NULL) {
bcebefe6507c [gaim-migrate @ 2124]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2090
diff changeset
71 mit_info = XScreenSaverAllocInfo();
bcebefe6507c [gaim-migrate @ 2124]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2090
diff changeset
72 }
2115
848a8af1a4af [gaim-migrate @ 2125]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2114
diff changeset
73 XScreenSaverQueryInfo(GDK_DISPLAY(), GDK_ROOT_WINDOW(), mit_info);
2114
bcebefe6507c [gaim-migrate @ 2124]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2090
diff changeset
74 idle_time = (mit_info->idle) / 1000;
bcebefe6507c [gaim-migrate @ 2124]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2090
diff changeset
75 } else
bcebefe6507c [gaim-migrate @ 2124]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2090
diff changeset
76 idle_time = 0;
3905
9721673d9f55 [gaim-migrate @ 4058]
Herman Bloggs <herman@bluedigits.com>
parents: 3517
diff changeset
77 #else
4536
76c632fee2bc [gaim-migrate @ 4815]
Herman Bloggs <herman@bluedigits.com>
parents: 4201
diff changeset
78 idle_time = (GetTickCount() - wgaim_get_lastactive()) / 1000;
3905
9721673d9f55 [gaim-migrate @ 4058]
Herman Bloggs <herman@bluedigits.com>
parents: 3517
diff changeset
79 #endif
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
80 } else
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
81 #endif /* USE_SCREENSAVER */
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
82 idle_time = t - gc->last_sent_time;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
83
5560
7cd6678f838b [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5548
diff changeset
84 if (gaim_prefs_get_bool("/core/away/away_when_idle") &&
5748
2fee4320c0b8 [gaim-migrate @ 6173]
Nathan Walp <nwalp@pidgin.im>
parents: 5615
diff changeset
85 (idle_time > (60 * gaim_prefs_get_int("/core/away/mins_before_away")))
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
86 && (!gc->is_auto_away))
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
87 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
88 GaimPresence *presence;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
89
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
90 presence = gaim_account_get_presence(account);
5560
7cd6678f838b [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5548
diff changeset
91
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
92 if (gaim_presence_is_available(presence))
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
93 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
94 /* XXX CORE/UI
6216
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
95 struct away_message *default_away = NULL;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
96 GSList *l;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
97 */
6216
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
98 const char *default_name;
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
99
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
100 default_name = gaim_prefs_get_string("/core/away/default_message");
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
101 /* XXX CORE/UI
6216
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
102 for(l = away_messages; l; l = l->next) {
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
103 if(!strcmp(default_name, ((struct away_message *)l->data)->name)) {
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
104 default_away = l->data;
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
105 break;
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
106 }
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
107 }
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
108
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
109 if(!default_away && away_messages)
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
110 default_away = away_messages->data;
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9791
diff changeset
111 */
6216
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
112
5211
94d9756c381f [gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
113 gaim_debug(GAIM_DEBUG_INFO, "idle",
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
114 "Making %s away automatically\n",
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
115 gaim_account_get_username(account));
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9791
diff changeset
116
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9791
diff changeset
117 /* XXX CORE/UI
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
118 if (g_list_length(gaim_connections_get_all()) == 1)
1446
3948b2c7fb6a [gaim-migrate @ 1456]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1407
diff changeset
119 do_away_message(NULL, default_away);
1895
aa3e49e81811 [gaim-migrate @ 1905]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1885
diff changeset
120 else if (default_away)
1446
3948b2c7fb6a [gaim-migrate @ 1456]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1407
diff changeset
121 serv_set_away(gc, GAIM_AWAY_CUSTOM, default_away->message);
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9791
diff changeset
122 */
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9791
diff changeset
123
1468
9edfa387a871 [gaim-migrate @ 1478]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1450
diff changeset
124 gc->is_auto_away = 1;
9edfa387a871 [gaim-migrate @ 1478]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1450
diff changeset
125 } else
9edfa387a871 [gaim-migrate @ 1478]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1450
diff changeset
126 gc->is_auto_away = 2;
5748
2fee4320c0b8 [gaim-migrate @ 6173]
Nathan Walp <nwalp@pidgin.im>
parents: 5615
diff changeset
127 } else if (gc->is_auto_away &&
2fee4320c0b8 [gaim-migrate @ 6173]
Nathan Walp <nwalp@pidgin.im>
parents: 5615
diff changeset
128 idle_time < 60 * gaim_prefs_get_int("/core/away/mins_before_away")) {
1468
9edfa387a871 [gaim-migrate @ 1478]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1450
diff changeset
129 if (gc->is_auto_away == 2) {
9edfa387a871 [gaim-migrate @ 1478]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1450
diff changeset
130 gc->is_auto_away = 0;
1815
e2b090284b19 [gaim-migrate @ 1825]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1575
diff changeset
131 return TRUE;
1446
3948b2c7fb6a [gaim-migrate @ 1456]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1407
diff changeset
132 }
1468
9edfa387a871 [gaim-migrate @ 1478]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1450
diff changeset
133 gc->is_auto_away = 0;
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9791
diff changeset
134
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9791
diff changeset
135 /* XXX CORE/UI
1407
3d249b7e49fe [gaim-migrate @ 1417]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1404
diff changeset
136 if (awaymessage == NULL) {
5211
94d9756c381f [gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
137 gaim_debug(GAIM_DEBUG_INFO, "idle",
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
138 "Removing auto-away message for %s\n", gaim_account_get_username(account));
1401
e81430ba5d7a [gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1367
diff changeset
139 serv_set_away(gc, GAIM_AWAY_CUSTOM, NULL);
1407
3d249b7e49fe [gaim-migrate @ 1417]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1404
diff changeset
140 } else {
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
141 if (g_list_length(gaim_connections_get_all()) == 1)
1450
acf8fed569d5 [gaim-migrate @ 1460]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1446
diff changeset
142 do_im_back(0, 0);
acf8fed569d5 [gaim-migrate @ 1460]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1446
diff changeset
143 else {
5211
94d9756c381f [gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
144 gaim_debug(GAIM_DEBUG_INFO, "idle",
94d9756c381f [gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
145 "Replacing auto-away with global for %s\n",
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
146 gaim_account_get_username(account));
1450
acf8fed569d5 [gaim-migrate @ 1460]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1446
diff changeset
147 serv_set_away(gc, GAIM_AWAY_CUSTOM, awaymessage->message);
acf8fed569d5 [gaim-migrate @ 1460]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1446
diff changeset
148 }
1407
3d249b7e49fe [gaim-migrate @ 1417]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1404
diff changeset
149 }
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9791
diff changeset
150 */
1109
c15973749312 [gaim-migrate @ 1119]
Ben Miller <millebe@cs.earlham.edu>
parents: 1062
diff changeset
151 }
c15973749312 [gaim-migrate @ 1119]
Ben Miller <millebe@cs.earlham.edu>
parents: 1062
diff changeset
152
c15973749312 [gaim-migrate @ 1119]
Ben Miller <millebe@cs.earlham.edu>
parents: 1062
diff changeset
153
c15973749312 [gaim-migrate @ 1119]
Ben Miller <millebe@cs.earlham.edu>
parents: 1062
diff changeset
154 /* If we're not reporting idle times to the server, still use Gaim
c15973749312 [gaim-migrate @ 1119]
Ben Miller <millebe@cs.earlham.edu>
parents: 1062
diff changeset
155 usage for auto-away, but quit here so we don't report to the
c15973749312 [gaim-migrate @ 1119]
Ben Miller <millebe@cs.earlham.edu>
parents: 1062
diff changeset
156 server */
5560
7cd6678f838b [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5548
diff changeset
157
5755
7343a01b1592 [gaim-migrate @ 6180]
Lee Roach <phroggster@gmail.com>
parents: 5748
diff changeset
158 if (report_idle != NULL && !strcmp(report_idle, "none"))
1109
c15973749312 [gaim-migrate @ 1119]
Ben Miller <millebe@cs.earlham.edu>
parents: 1062
diff changeset
159 return TRUE;
c15973749312 [gaim-migrate @ 1119]
Ben Miller <millebe@cs.earlham.edu>
parents: 1062
diff changeset
160
4547
6111945dc464 [gaim-migrate @ 4826]
Herman Bloggs <herman@bluedigits.com>
parents: 4536
diff changeset
161 if (idle_time >= IDLEMARK && !gc->is_idle) {
5211
94d9756c381f [gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
162 gaim_debug(GAIM_DEBUG_INFO, "idle", "Setting %s idle %d seconds\n",
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
163 gaim_account_get_username(account), idle_time);
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
164 serv_set_idle(gc, idle_time);
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
165 gc->is_idle = 1;
7475
987384816492 [gaim-migrate @ 8088]
Mark Doliner <markdoliner@pidgin.im>
parents: 7431
diff changeset
166 /* LOG system_log(log_idle, gc, NULL, OPT_LOG_BUDDY_IDLE | OPT_LOG_MY_SIGNON); */
4536
76c632fee2bc [gaim-migrate @ 4815]
Herman Bloggs <herman@bluedigits.com>
parents: 4201
diff changeset
167 } else if (idle_time < IDLEMARK && gc->is_idle) {
5211
94d9756c381f [gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
168 gaim_debug(GAIM_DEBUG_INFO, "idle", "Setting %s unidle\n",
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
169 gaim_account_get_username(account));
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
170 serv_touch_idle(gc);
7475
987384816492 [gaim-migrate @ 8088]
Mark Doliner <markdoliner@pidgin.im>
parents: 7431
diff changeset
171 /* LOG system_log(log_unidle, gc, NULL, OPT_LOG_BUDDY_IDLE | OPT_LOG_MY_SIGNON); */
1029
c5ea048dc7ac [gaim-migrate @ 1039]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1028
diff changeset
172 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
173
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
174 return TRUE;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
175
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
176 }

mercurial