mirror of
https://github.com/profanity-im/profanity.git
synced 2024-12-04 14:46:46 -05:00
parent
070c3ae6cc
commit
e02ab52a4e
@ -482,37 +482,40 @@ static void
|
|||||||
_handle_idle_time()
|
_handle_idle_time()
|
||||||
{
|
{
|
||||||
gint prefs_time = prefs_get_autoaway_time() * 60000;
|
gint prefs_time = prefs_get_autoaway_time() * 60000;
|
||||||
|
resource_presence_t current_presence = accounts_get_last_presence(jabber_get_account_name());
|
||||||
unsigned long idle_ms = ui_get_idle_time();
|
unsigned long idle_ms = ui_get_idle_time();
|
||||||
|
|
||||||
if (!idle) {
|
if (!idle) {
|
||||||
if (idle_ms >= prefs_time) {
|
if ((current_presence == RESOURCE_ONLINE) || (current_presence == RESOURCE_CHAT)) {
|
||||||
idle = TRUE;
|
if (idle_ms >= prefs_time) {
|
||||||
|
idle = TRUE;
|
||||||
|
|
||||||
// handle away mode
|
// handle away mode
|
||||||
if (strcmp(prefs_get_string(PREF_AUTOAWAY_MODE), "away") == 0) {
|
if (strcmp(prefs_get_string(PREF_AUTOAWAY_MODE), "away") == 0) {
|
||||||
presence_update(RESOURCE_AWAY, prefs_get_string(PREF_AUTOAWAY_MESSAGE), 0);
|
presence_update(RESOURCE_AWAY, prefs_get_string(PREF_AUTOAWAY_MESSAGE), 0);
|
||||||
if (prefs_get_string(PREF_AUTOAWAY_MESSAGE) != NULL) {
|
if (prefs_get_string(PREF_AUTOAWAY_MESSAGE) != NULL) {
|
||||||
int pri =
|
int pri =
|
||||||
accounts_get_priority_for_presence_type(jabber_get_account_name(),
|
accounts_get_priority_for_presence_type(jabber_get_account_name(),
|
||||||
RESOURCE_AWAY);
|
RESOURCE_AWAY);
|
||||||
cons_show("Idle for %d minutes, status set to away (priority %d), \"%s\".",
|
cons_show("Idle for %d minutes, status set to away (priority %d), \"%s\".",
|
||||||
prefs_get_autoaway_time(), pri, prefs_get_string(PREF_AUTOAWAY_MESSAGE));
|
prefs_get_autoaway_time(), pri, prefs_get_string(PREF_AUTOAWAY_MESSAGE));
|
||||||
title_bar_set_status(CONTACT_AWAY);
|
title_bar_set_status(CONTACT_AWAY);
|
||||||
ui_current_page_off();
|
ui_current_page_off();
|
||||||
} else {
|
} else {
|
||||||
int pri =
|
int pri =
|
||||||
accounts_get_priority_for_presence_type(jabber_get_account_name(),
|
accounts_get_priority_for_presence_type(jabber_get_account_name(),
|
||||||
RESOURCE_AWAY);
|
RESOURCE_AWAY);
|
||||||
cons_show("Idle for %d minutes, status set to away (priority %d).",
|
cons_show("Idle for %d minutes, status set to away (priority %d).",
|
||||||
prefs_get_autoaway_time(), pri);
|
prefs_get_autoaway_time(), pri);
|
||||||
title_bar_set_status(CONTACT_AWAY);
|
title_bar_set_status(CONTACT_AWAY);
|
||||||
ui_current_page_off();
|
ui_current_page_off();
|
||||||
|
}
|
||||||
|
|
||||||
|
// handle idle mode
|
||||||
|
} else if (strcmp(prefs_get_string(PREF_AUTOAWAY_MODE), "idle") == 0) {
|
||||||
|
presence_update(RESOURCE_ONLINE,
|
||||||
|
prefs_get_string(PREF_AUTOAWAY_MESSAGE), idle_ms / 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
// handle idle mode
|
|
||||||
} else if (strcmp(prefs_get_string(PREF_AUTOAWAY_MODE), "idle") == 0) {
|
|
||||||
presence_update(RESOURCE_ONLINE,
|
|
||||||
prefs_get_string(PREF_AUTOAWAY_MESSAGE), idle_ms / 1000);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user