summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorStanislav Seletskiy2016-05-16 18:30:48 +0600
committerStanislav Seletskiy2016-05-16 18:30:48 +0600
commit4c8e300f0a956d6754cf28acb63e60b13565af5f (patch)
treecebdef71fb5560a185267ff4a07e0313911df2e2
parente1235f93a7a50d4f6792ce67d1faa4e4d555024a (diff)
downloadaur-4c8e300f0a956d6754cf28acb63e60b13565af5f.tar.gz
highlight messages from hook
-rw-r--r--.SRCINFO7
-rw-r--r--PKGBUILD15
-rw-r--r--should-be-able-to-highlight-message-from-pre-msg-hook.patch80
3 files changed, 96 insertions, 6 deletions
diff --git a/.SRCINFO b/.SRCINFO
index af505dd73f25..98c00299648e 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,5 +1,7 @@
+# Generated by mksrcinfo v8
+# Mon May 16 12:30:35 UTC 2016
pkgbase = mcabber-crew-hg-extended
- pkgdesc = is a small Jabber console client, includes features: SSL, PGP, MUC, UTF8
+ pkgdesc = mcabber-crew jabber client with extended autocompletion and highlighting
pkgver = 2062
pkgrel = 2
url = http://www.mcabber.com
@@ -19,8 +21,11 @@ pkgbase = mcabber-crew-hg-extended
conflicts = mcabber
conflicts = mcabber-lm-hg
conflicts = mcabber-hg
+ conflicts = mcabber-crew
source = register_builtin_cat_export.patch
+ source = should-be-able-to-highlight-message-from-pre-msg-hook.patch
md5sums = b857d5063795e599c1ac0b5bdaa7d232
+ md5sums = eb243e13d29e7939828655994dec6960
pkgname = mcabber-crew-hg-extended
diff --git a/PKGBUILD b/PKGBUILD
index 97ab470421de..f874c0c876aa 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,18 +1,22 @@
-# Packager: Andrew <darkseed2007@yandex.ru>
pkgname=mcabber-crew-hg-extended
pkgver=2062
pkgrel=2
-pkgdesc="is a small Jabber console client, includes features: SSL, PGP, MUC, UTF8"
+pkgdesc="mcabber-crew jabber client with extended autocompletion and highlighting"
arch=('i686' 'x86_64')
provides=('mcabber=0.10.2')
-conflicts=(mcabber mcabber-lm-hg mcabber-hg)
+conflicts=(mcabber mcabber-lm-hg mcabber-hg mcabber-crew)
url="http://www.mcabber.com"
license=('GPL')
provides=('mcabber-crew-hg')
depends=('ncurses' 'glib2' 'openssl' 'gpgme' 'libotr' 'aspell' 'loudmouth-ossl')
makedepends=('pkgconfig' 'mercurial')
-source=(register_builtin_cat_export.patch)
-md5sums=('b857d5063795e599c1ac0b5bdaa7d232')
+source=(
+ register_builtin_cat_export.patch
+ should-be-able-to-highlight-message-from-pre-msg-hook.patch
+)
+
+md5sums=('b857d5063795e599c1ac0b5bdaa7d232'
+ 'eb243e13d29e7939828655994dec6960')
_hgroot="https://bitbucket.org/McKael/mcabber-crew"
_hgrepo="mcabber-crew"
@@ -26,6 +30,7 @@ build() {
cp -a ${srcdir}/${_hgrepo}/mcabber ${srcdir}/mcabber-build || return 1
cd ${srcdir}/mcabber-build
patch -p2 < ../register_builtin_cat_export.patch
+ patch -p2 < ../should-be-able-to-highlight-message-from-pre-msg-hook.patch
./autogen.sh
./configure --with-libotr-inc-prefix=/usr/include/libotr3 --prefix=/usr --enable-hgcset \
--mandir=/usr/share/man \
diff --git a/should-be-able-to-highlight-message-from-pre-msg-hook.patch b/should-be-able-to-highlight-message-from-pre-msg-hook.patch
new file mode 100644
index 000000000000..8d1493850c6b
--- /dev/null
+++ b/should-be-able-to-highlight-message-from-pre-msg-hook.patch
@@ -0,0 +1,80 @@
+diff --git a/src/mcabber-crew/mcabber/mcabber/hooks.c b/src/mcabber-crew/mcabber/mcabber/hooks.c
+index 754dad4..fbea29f 100644
+--- a/mcabber/mcabber/hooks.c
++++ b/mcabber/mcabber/hooks.c
+@@ -241,29 +241,6 @@ void hk_message_in(const char *bjid, const char *resname,
+ wmsg = (char*) msg;
+ }
+
+-#ifdef MODULES_ENABLE
+- {
+- guint h_result;
+- hk_arg_t args[] = {
+- { "jid", bjid },
+- { "resource", resname },
+- { "message", msg },
+- { "groupchat", is_groupchat ? "true" : "false" },
+- { "delayed", strdelay },
+- { "error", error_msg_subtype ? "true" : "false" },
+- { "carbon", carbon ? "true" : "false" },
+- { NULL, NULL },
+- };
+- h_result = hk_run_handlers(HOOK_PRE_MESSAGE_IN, args);
+- if (h_result == HOOK_HANDLER_RESULT_NO_MORE_HANDLER_DROP_DATA) {
+- scr_LogPrint(LPRINT_DEBUG, "Message dropped (hook result).");
+- g_free(bmsg);
+- g_free(mmsg);
+- return;
+- }
+- }
+-#endif
+-
+ // If this user isn't in the roster, we add it
+ roster_usr = roster_find(bjid, jidsearch, 0);
+ if (!roster_usr) {
+@@ -343,6 +320,33 @@ void hk_message_in(const char *bjid, const char *resname,
+ scr_LogPrint(LPRINT_LOGNORM, "Error message received from <%s>", bjid);
+ }
+
++#ifdef MODULES_ENABLE
++ {
++ guint h_result;
++ hk_arg_t args[] = {
++ { "jid", bjid },
++ { "resource", resname },
++ { "message", msg },
++ { "groupchat", is_groupchat ? "true" : "false" },
++ { "delayed", strdelay },
++ { "error", error_msg_subtype ? "true" : "false" },
++ { "carbon", carbon ? "true" : "false" },
++ { NULL, NULL },
++ };
++ h_result = hk_run_handlers(HOOK_PRE_MESSAGE_IN, args);
++ if (h_result == HOOK_HANDLER_RESULT_NO_MORE_HANDLER_DROP_DATA) {
++ scr_LogPrint(LPRINT_DEBUG, "Message dropped (hook result).");
++ g_free(bmsg);
++ g_free(mmsg);
++ return;
++ }
++
++ if (h_result == HOOK_HANDLER_RESULT_HIGHLIGHT_MESSAGE) {
++ message_flags |= HBB_PREFIX_HLIGHT;
++ }
++ }
++#endif
++
+ // Note: the hlog_write should not be called first, because in some
+ // cases scr_write_incoming_message() will load the history and we'd
+ // have the message twice...
+diff --git a/src/mcabber-crew/mcabber/mcabber/hooks.h b/src/mcabber-crew/mcabber/mcabber/hooks.h
+index f427271..ef33f59 100644
+--- a/mcabber/mcabber/hooks.h
++++ b/mcabber/mcabber/hooks.h
+@@ -29,6 +29,7 @@ typedef enum {
+ HOOK_HANDLER_RESULT_ALLOW_MORE_HANDLERS = 0,
+ HOOK_HANDLER_RESULT_NO_MORE_HANDLER,
+ HOOK_HANDLER_RESULT_NO_MORE_HANDLER_DROP_DATA,
++ HOOK_HANDLER_RESULT_HIGHLIGHT_MESSAGE,
+ } hk_handler_result;
+
+ typedef struct {