In Emacs 24.4 you should be able to use
(add-hook 'focus-out-hook #'turn-on-my-jabber-sound)
(add-hook 'focus-in-hook #'turn-off-my-jabber-sound)
(defun turn-on-my-jabber-sound ()
;; t for `on'
(setq my-jabber-sound 't))
(defun turn-off-my-jabber-sound ()
;; nil for `off'
(setq my-jabber-sound 'nil))
Then test if my-jabber-sound is t or nil when ...
The Slack XMPP server doesn't provide correct information about chat rooms in response to an information discovery query. Could you try the following function and see if M-x jabber-join-slack-room lets you join the room?
(defun jabber-join-slack-room (jc group nickname)
(let ((account (jabber-read-account))
There is a command for connecting to all bookmarked group chats that have the "autojoin" flag set: M-x jabber-muc-autojoin. This is included in jabber-post-connect-hooks by default, so you should only need to use it just after modifying bookmarks.
You can join a room manually with M-x jabber-muc-join. It currently doesn't offer the bookmarked rooms for ...
As jabber.el started using the GnuTLS facility of Emacs before the variable gnutls-verify-error existed, it uses its own variable jabber-invalid-certificate-servers. That variable contains a list of all servers for which certificate errors should be ignored. Try this:
(setq jabber-invalid-certificate-servers '("chat.deshackra.com"))
I have custom notification code that runs, and like you I often do not want them if I am obviously editing in Emacs at the time the message arrives.
Often I am looking away from Emacs, away from my desk, or something else and emacs still has focus, so messages can be missed easily if only mode line notifications are used or if they are notifications are ...
You probably need to use starttls instead. I use it and it works for me.
(setq jabber-account-list '(("USERNAME@gmail.com/emacs"
(:password . ".....")
(:network-server . "talk.google.com")
(:connection-type . starttls)
I also had to go ...
I use that same gist to connect and had some troubles. Very different troubles, but troubles none the less. I needed to set certain ssl variable values, and add some options to the account as follows in order to get connected:
(setq ssl-program-name "gnutls-cli"
ssl-program-arguments '("--insecure" "-p" service host)
Connecting as nil@nil is something that would happen if you type M-x jabber-connect and hit RET at the prompt. (This is a bug.) jabber-connect lets you specify any JID to connect as, and only uses jabber-account-list as a source for tab completion.
Try M-x jabber-connect-all instead; it will pick up any and all accounts specified in jabber-account-list.
If you customize the variable jabber-alert-muc-hooks (M-x customize-option RET jabber-alert-muc-hooks), you'll see that most of the alerts come in pairs, one with -personal appended, i.e. jabber-muc-echo and jabber-muc-echo-personal. Disable jabber-muc-echo and enable jabber-muc-echo-personal, and you'll only see alerts when someone highlights you.