1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-09-29 19:56:07 -04:00

Do not send presence when in groupchat

This commit is contained in:
James Booth 2012-11-05 21:48:13 +00:00
parent 2f6361a578
commit 83834b96ae
4 changed files with 18 additions and 3 deletions

View File

@ -149,7 +149,7 @@ inp_get_char(int *ch, char *input, int *size)
// if not got char, and in chat window, flag as no activity
// send inactive or gone, depending how long inactive
if (*ch == ERR) {
if (win_in_chat()) {
if (win_in_chat() && !win_in_groupchat()) {
char *recipient = win_get_recipient();
chat_session_no_activity(recipient);
@ -168,8 +168,8 @@ inp_get_char(int *ch, char *input, int *size)
}
// if got char and in chat window, chat session active
if (prefs_get_outtype() && (*ch != ERR) && win_in_chat() && !in_command &&
_printable(*ch)) {
if (prefs_get_outtype() && (*ch != ERR) && win_in_chat() &&
!win_in_groupchat() && !in_command && _printable(*ch)) {
char *recipient = win_get_recipient();
chat_session_set_composing(recipient);
if (!chat_session_get_sent(recipient) ||

View File

@ -401,6 +401,9 @@ _message_handler(xmpp_conn_t * const conn,
from = xmpp_stanza_get_attribute(stanza, "from");
if (room_jid_is_room_chat(from)) {
cons_show("CHAT ROOM MESSAGE RECIEVED");
} else {

View File

@ -106,6 +106,7 @@ void win_remind(void);
void win_join_chat(const char * const room_jid, const char * const nick);
void win_show_chat_room_member(const char * const room_jid,
const char * const nick);
int win_in_groupchat(void);
// console window actions
void cons_about(void);

View File

@ -43,6 +43,7 @@
#include "log.h"
#include "preferences.h"
#include "release.h"
#include "room_chat.h"
#include "ui.h"
#define CONS_WIN_TITLE "_cons"
@ -196,6 +197,16 @@ win_in_chat(void)
(strcmp(_wins[_curr_prof_win].from, "") != 0));
}
int
win_in_groupchat(void)
{
if (room_jid_is_room_chat(_wins[_curr_prof_win].from)) {
return 1;
} else {
return 0;
}
}
char *
win_get_recipient(void)
{