1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00
Commit Graph

1213 Commits

Author SHA1 Message Date
Artem Shinkarov
705a946882 Adding plugin interface for C files.
Implementation of hooks using C interface basedon dlfcn.  Added test
plugin and makefile to build it.  In order to test it add the followin
into your profrc:
    [plugins]
    load=test-c-plugin.so
and execute profanity piping stderr to some file.  The file should
contain all entries whenever the plugin function is triggered.  It seem
to be workin but some parts are missing.
2013-08-18 03:55:20 +01:00
James Booth
ffb565a16a Removed unused includes in python_api 2013-08-18 00:43:28 +01:00
James Booth
eadb90dc43 Renamed hook on_message -> on_message_received 2013-08-18 00:26:14 +01:00
James Booth
eead7ea7e3 Removed python.h depdendency from callbacks.c 2013-08-18 00:17:23 +01:00
James Booth
9ca23ed24e Moved python callbacks 2013-08-18 00:12:29 +01:00
James Booth
f15b61e4cb Language wrappers for callbacks 2013-08-18 00:10:10 +01:00
James Booth
8cae5c13b0 Refactored plugin callbacks 2013-08-17 23:41:53 +01:00
James Booth
79b5d89f23 Fixed includes to remove compile warning 2013-08-17 23:25:05 +01:00
James Booth
d2b15cad7c Moved python init and shutdown 2013-08-17 23:21:32 +01:00
James Booth
67972f8eac Pulled out common api into api.c, added python bindings 2013-08-17 23:16:14 +01:00
James Booth
2ac4a183d0 Added python_plugin_create() 2013-08-17 22:51:25 +01:00
James Booth
580b14ab68 Added plugin load list as preference, moved python hooks 2013-08-17 22:42:44 +01:00
James Booth
140a2ad0e3 Merge branch 'master' into plugins
Conflicts:
	.gitignore
2013-08-13 21:42:01 +01:00
James Booth
6ea17d8e01 Merge branch 'master' into nextdev 2013-08-13 21:40:18 +01:00
James Booth
dc896b27d4 Renamed plugins_command_run 2013-08-11 13:49:59 +01:00
James Booth
ffb1359889 Added get_current_recipient to api
Browser plugin now uses last link received in a chat window
2013-08-11 01:35:11 +01:00
James Booth
d8eb320b85 Added on_message hook
Browser plugin now uses last received hyperlink when no arg supplied
2013-08-11 01:00:21 +01:00
James Booth
462b09a546 Fix ctrl + arrow keys for fedora 2013-08-10 20:47:56 +01:00
James Booth
9f76a5e610 Added browser plugin, allow up to 5 args for command callbacks 2013-08-08 01:40:03 +01:00
James Booth
ab45239033 Added connect.py plugin, refactored init and start events, added send_line 2013-08-06 00:29:12 +01:00
James Booth
de3d46becc Merge branch 'master' into plugins 2013-08-05 23:18:35 +01:00
James Booth
6651b13bd0 Merge branch 'master' into nextdev 2013-08-05 23:18:19 +01:00
James Booth
42eef398b4 Free Jid 2013-08-05 23:12:10 +01:00
James Booth
c6e9a7455d Undo change to stanza check for nick change return value 2013-08-05 23:08:30 +01:00
James Booth
1525be6133 Refactor MUC self presence checks 2013-08-05 22:55:11 +01:00
James Booth
55282e063d Handle when servers dont send status 101 or jid for MUC nick changes 2013-08-05 21:20:07 +01:00
James Booth
f17dc5b4ca Added plugins_run_timed to plugins.h 2013-08-04 19:57:25 +01:00
James Booth
a56b9e1f73 Cleared newline loading plugins 2013-08-04 19:31:06 +01:00
James Booth
9bbe8def98 Added cons_alert to python API 2013-08-04 18:57:33 +01:00
James Booth
084b03691e Implemented time python callbacks 2013-08-04 18:43:46 +01:00
James Booth
13bef17c0b Added register_timed to plugins api 2013-08-04 17:50:35 +01:00
James Booth
3588a9d776 Merge remote-tracking branch 'dmitry/nextdev-patches' into nextdev 2013-08-04 17:20:46 +01:00
Dmitry Podgorny
20dff5fe2f use posix stat syscall for windows 2013-08-04 19:14:07 +03:00
James Booth
9e6a6f224f Merge branch 'master' into plugins 2013-08-04 17:06:00 +01:00
James Booth
87c6277109 Merge branch 'master' into nextdev 2013-08-04 17:05:47 +01:00
James Booth
e170965c93 Added patch from Dmitry to fix crash on delayed message from contact not in roster
fixes #219
2013-08-04 17:04:15 +01:00
James Booth
d638a4825e Added notify to python API 2013-08-04 16:42:25 +01:00
Dmitry Podgorny
9e09284302 removed assignment to NULL in _chat_session_free 2013-08-03 15:31:54 +03:00
Dmitry Podgorny
3c385e0aaa replace struct stat and stat() for windows 2013-08-03 14:42:02 +03:00
Dmitry Podgorny
a6e66cc571 fixed memory leaks
Also avoided several NULL pointer dereferences.
2013-08-03 14:38:38 +03:00
Dmitry Podgorny
28ec3334cf refactored logging
Use ftell instead of stat syscall to increase portability.
2013-08-03 14:31:36 +03:00
Dmitry Podgorny
0346fda0b3 most FREE_SET_NULL replaced with free
FREE_SET_NULL makes extra assignment of NULL for pointers in stack or
dynamic memory that is going to be freed.
FREE_SET_NULL is useful for pointers that can be used in future.
2013-08-03 14:27:07 +03:00
Dmitry Podgorny
6f498d1f69 refactored mkdir_recursive
Now this function returns result of operation. TRUE is success.
2013-08-03 14:14:30 +03:00
Dmitry Podgorny
c559d96d77 removed sizeof(char)
sizeof(char) == 1 according to standard
2013-08-03 13:17:50 +03:00
James Booth
17e14347e3 Add plugin commands to command autocompleter 2013-08-03 03:20:17 +01:00
James Booth
c3acda5da7 Added /whoami command plugin 2013-08-03 02:45:26 +01:00
James Booth
5464d5079b Added plugins commands 2013-08-03 02:21:43 +01:00
James Booth
dded9e954f Separated python api and plugins code 2013-08-03 00:58:04 +01:00
James Booth
8d2d71bacb Renamed plugins files 2013-08-03 00:48:22 +01:00
James Booth
35d4f42466 Renamed api module -> plugins 2013-08-03 00:43:05 +01:00
James Booth
bf19ffb910 Refactored calling plugin functions 2013-08-03 00:40:10 +01:00
James Booth
6cb32996a5 Added on_connect event to plugins api 2013-08-03 00:22:00 +01:00
James Booth
799fd06680 Pulled out events 2013-08-02 23:52:16 +01:00
James Booth
e7c978766e Clear up references 2013-08-02 23:38:04 +01:00
James Booth
8105a393e9 Load all plugins in plugins directory 2013-08-02 23:36:47 +01:00
James Booth
51b2137705 Merge remote-tracking branch 'dmitry/memleaks' into nextdev 2013-07-31 19:32:58 +01:00
James Booth
992ee28091 Merge branch 'master' into nextdev 2013-07-31 19:32:15 +01:00
Dmitry Podgorny
7b37f2ace7 separate glib allocator and stdlib malloc/free
Memory allocated by glib should be freed by g_free. Probably g_free
calls stdlib free, but in order to avoid portability issues better use
g_free as described in glib documentation.
2013-07-31 02:03:22 +03:00
Dmitry Podgorny
f2638e001a rewritten FREE_SET_NULL and GFREE_SET_NULL
NULL is valid argument for free(). Construction do {} while (0) allows
using FREE_SET_NULL as one token and force to put semicolon at the end.
2013-07-31 01:58:59 +03:00
Dmitry Podgorny
5505387c37 fixed several memory leaks in command.c and jid.c 2013-07-31 01:51:07 +03:00
James Booth
ece153cd08 Set path for plugins 2013-07-30 23:42:46 +01:00
James Booth
5cb28822eb Pass data to plugin init function 2013-07-30 23:37:46 +01:00
Dmitry Podgorny
71f4194513 fixed null pointer dereference in /join command
Command /join @/ leads to crash because jid_create("@/") returns NULL
2013-07-31 01:37:02 +03:00
James Booth
586ea10071 Added prof_on_start function to hello world plugin 2013-07-25 01:17:45 +01:00
James Booth
4f42bb570d Pass any string in python function 2013-07-25 01:13:41 +01:00
James Booth
5583dd29b3 Call cons_show with hard coded string 2013-07-25 00:54:31 +01:00
James Booth
06837c2a40 Changed python filename 2013-07-23 00:40:03 +01:00
James Booth
cf5b465dac Merge branch 'master' into plugins 2013-07-22 22:10:13 +01:00
James Booth
66238641e0 Merge branch 'master' into nextdev 2013-07-22 22:09:51 +01:00
James Booth
a64b293878 Removed escaping XML as handled by libstrophe
4ad21c9283
2013-07-22 20:35:43 +01:00
James Booth
c5c596f70a Merge branch 'master' into nextdev 2013-07-21 23:33:32 +01:00
James Booth
4b416ba58e Experimenting with python integration for plugins 2013-07-21 23:31:09 +01:00
James Booth
cbe3c41abe Fixed typo on /invite help 2013-07-20 23:47:57 +01:00
James Booth
7af6bad5e6 Fix freetext arguments with quotes
fixes #203
2013-07-20 21:02:07 +01:00
James Booth
7906bd6a9d Bookmarks: Move stanza pointer on in loop, check for autojoin "true" 2013-07-15 00:52:47 +01:00
James Booth
5cb136225e Merge remote-tracking branch 'dmitry/bookmarks' into nextdev 2013-07-14 23:32:43 +01:00
James Booth
dd2e3a0bdf Merge remote-tracking branch 'dmitry/fixes' 2013-07-14 23:31:02 +01:00
Dmitry Podgorny
b9d29e9aa5 draft of bookmarks implementation
'/bookmark add' and '/bookmark remove' ain't finished
2013-07-14 23:58:02 +03:00
Dmitry Podgorny
0b221bde20 removed useless code in autocomplete.c 2013-07-14 21:34:02 +03:00
Dmitry Podgorny
c8b7438736 fixed typos in command.c 2013-07-14 21:32:20 +03:00
Dmitry Podgorny
6e23584575 improved autojoin logic
Delete id handler after timeout (5sec) if response isn't received
Auto join maximum 5 conferences
2013-07-14 17:08:49 +03:00
Dmitry Podgorny
ccbbd16d5f Merge branch 'master' into bookmarks 2013-07-14 13:50:57 +03:00
Dmitry Podgorny
034cf730cc use get_unique_id for bookmarks 2013-07-14 13:49:50 +03:00
James Booth
11688d1113 Merge branch 'master' into nextdev 2013-07-14 01:02:06 +01:00
James Booth
7f82dc42f5 Remaining parser function unicode compatible 2013-07-14 01:00:11 +01:00
James Booth
e7478d8cb8 Added parser tests 2013-07-14 00:46:56 +01:00
James Booth
4d35031cb0 Implemented parse_args_with_freetext with unicode compatibility 2013-07-14 00:24:57 +01:00
James Booth
51786f67a6 Implemented parse_args with unicode compatibility 2013-07-14 00:14:36 +01:00
James Booth
60cad8d296 Merge branch 'master' into unicode 2013-07-13 23:17:35 +01:00
James Booth
1d05a70473 Down arrow adds current line to history and shows empty line 2013-07-13 23:02:36 +01:00
James Booth
bb550fed55 Handle unicode chars in command parser 2013-07-12 00:46:33 +01:00
James Booth
5233000498 Removed if clause in parser 2013-07-11 23:03:20 +01:00
James Booth
36265dde2f Moved functions to parser.c, moved parser to tools 2013-07-11 22:57:35 +01:00
James Booth
a581db3d48 Merge branch 'master' into nextdev 2013-07-09 22:42:47 +01:00
James Booth
907beb55f6 Removed debug 2013-07-09 22:42:20 +01:00
James Booth
d302532be6 Merge branch 'master' into nextdev 2013-07-09 22:38:06 +01:00
James Booth
e99a0e117a Fix autocompletion of quoted strings - WIP
Needs some refactoring
Need to use unicode functions in:
    parser.c
    autocomplete.c
2013-07-09 22:34:55 +01:00
James Booth
581c1e8b95 Coloured contact and subscription in /roster and /group output 2013-07-03 23:44:51 +01:00
James Booth
27a8d4a7cb Merge branch 'master' into nextdev 2013-07-03 21:23:55 +01:00
James Booth
817857e4c0 Fixed naming clash for roster help 2013-07-03 21:23:18 +01:00
James Booth
976728ef7a Merge remote-tracking branch 'dmitry/bookmarks' into nextdev 2013-07-01 21:27:52 +01:00
James Booth
e933572ab9 Tidied help 2013-06-30 22:59:06 +01:00
James Booth
c970bb2790 Merge pull request #196 from pasis/memleaks
Fixed memory leaks in command.c
2013-06-30 13:50:06 -07:00
Sam Whited
1f7e7e8447 Fix a small typo
(`Invalud' -> `Invalid')
2013-06-30 14:05:20 -04:00
Dmitry Podgorny
2837c4054f initial support of autojoin for MUC 2013-06-30 18:59:38 +03:00
Dmitry Podgorny
eb6236fa04 fixed memory leaks in command.c 2013-06-30 17:19:43 +03:00
James Booth
e12ede6cd8 Still show usage with current setting 2013-06-25 23:41:53 +01:00
James Booth
ca5c6a5745 Show current setting with settings commands
closes #139
2013-06-25 23:38:06 +01:00
James Booth
0554198668 Changed help for /help command 2013-06-25 22:16:23 +01:00
James Booth
2077834b10 Changed client type to 'console' as per http://xmpp.org/registrar/disco-categories.html#client 2013-06-25 01:00:24 +01:00
James Booth
c8567cd793 Restructured help 2013-06-25 00:49:29 +01:00
James Booth
b48ef9d5e0 Renamed commands array 2013-06-24 21:38:02 +01:00
James Booth
ccfbd2a436 Sorted command prototypes 2013-06-23 21:29:12 +01:00
James Booth
7d0a31184a Renamed _cmd_set commands 2013-06-23 21:21:14 +01:00
James Booth
b52dcfe557 Moved /account, /prefs and /theme to settings commands 2013-06-23 19:19:39 +01:00
James Booth
d5e9ca649d Show messages on /group add and /group remove
closes #189
closes #190
2013-06-23 17:38:30 +01:00
James Booth
dace47e5d3 Show message when removing contact from group when not in group 2013-06-23 16:35:13 +01:00
James Booth
265fff8f40 Show message when contact already in group 2013-06-23 16:29:42 +01:00
James Booth
f9b8da1afe Autocomplete /group add and /group remove contact paramater
closes #193
2013-06-23 01:23:44 +01:00
James Booth
1cf20b2491 Start chat session on /msg with no message parameter
fixes #173
2013-06-20 17:50:20 +01:00
James Booth
b9fc61fd30 Moved stophe references in message send 2013-06-20 17:41:44 +01:00
James Booth
96496ca219 Merge remote-tracking branch 'dmitry/captcha-2' into captcha 2013-06-16 18:58:18 +01:00
Dmitry Podgorny
1f207beb99 fixed memory leaks in presence.c 2013-06-09 18:52:28 +03:00
Dmitry Podgorny
c84cb17bd4 added support of captcha in a MUC 2013-06-09 16:19:49 +03:00
Dmitry Podgorny
eff5986d38 fixed several memory leaks
And infinity loop in stanza_destroy_form().
2013-06-09 14:20:48 +03:00
Kieran Thandi
f7dc09efc3 Changed help 2013-06-07 16:37:43 +01:00
James Booth
6082ab8778 Implemented /group command with no args (list groups) 2013-06-02 20:20:44 +01:00
James Booth
b89a751903 Refactor specific autocomplete functions 2013-06-02 20:11:42 +01:00
James Booth
af95c82fe7 Refactor autocompleters 2013-06-02 19:56:35 +01:00
James Booth
f72e7d89b8 Changed autocomplete for /group and /who 2013-06-02 17:51:38 +01:00
James Booth
f455f9ab90 Seperated roster group management to /group command 2013-06-02 17:25:52 +01:00
James Booth
aba9adcd0d Use freetext parser for /who 2013-06-02 03:48:40 +01:00
James Booth
90daeb06ab Added group argument to /who 2013-06-02 03:33:49 +01:00
James Booth
1ef0c8c45f Added 'any' to /who command 2013-06-02 03:02:32 +01:00
James Booth
9dd5456f88 Added group add and group remove to /roster command 2013-06-02 02:48:20 +01:00
James Booth
b450fa3ef7 Updated help for /roster command 2013-06-02 00:45:40 +01:00
James Booth
0e5d277c14 Added message in console on /roster remove 2013-06-02 00:24:22 +01:00
James Booth
65c09db19e Added message in console on /roster add 2013-06-02 00:20:22 +01:00
James Booth
cf8d00185b Added autocomplete for /roster remove 2013-06-02 00:11:09 +01:00
James Booth
01bdc6ae5a Added /roster remove command 2013-06-02 00:06:05 +01:00
James Booth
518b6721ff Added /roster add command 2013-06-01 23:48:24 +01:00
James Booth
d49a01a9c3 Added roster list when using /roster with no args 2013-06-01 23:27:46 +01:00
James Booth
83c4177692 Include subscription states of "both" and "to" in /who output 2013-06-01 22:54:53 +01:00
James Booth
55f4e3ebca Added autocomplete to /sub deny 2013-06-01 22:49:51 +01:00
James Booth
ae7da18d7e Use waddstr for incoming messages to avoid truncation
fixes #8
2013-06-01 21:23:34 +01:00
James Booth
1eba4f5ab1 Added /leave command 2013-05-30 22:48:56 +01:00
James Booth
f164c12368 Show participant count in chat rooms 2013-05-30 22:31:43 +01:00
James Booth
378ed3139a Sort room participants on /who command 2013-05-30 22:05:52 +01:00
James Booth
1ca2147844 Sort contacts on /who output 2013-05-30 21:47:30 +01:00
James Booth
ae350dc5fb Show nickname rather than jid in room invites 2013-05-30 21:26:11 +01:00
James Booth
d02e6a82fa Use nickname to jid mapping when sending room invites 2013-05-30 21:18:32 +01:00
James Booth
dcd8dcda87 Fixed autoaway 2013-05-30 21:11:55 +01:00
James Booth
4d9148e734 Added rooms history to ProfAccount 2013-05-23 22:29:41 +01:00
James Booth
486cbd6245 Added room name, and window index to desktop message notifications
closes #176
2013-05-23 00:10:55 +01:00
James Booth
0ced96f578 Do not close MUC windows on /wins prune
closes #172
2013-05-22 23:48:24 +01:00
James Booth
d017999a91 Add groups to roster contacts
fixes #175
2013-05-22 23:38:52 +01:00
James Booth
2842b423d1 Refactor roster.c 2013-05-22 21:43:06 +01:00
James Booth
15c7820594 Reuse roster_add in roster_update 2013-05-22 21:15:05 +01:00
James Booth
fce295d64a Fixed #174 2013-05-22 13:47:25 +01:00
James Booth
c4e279202b Removed unused offline_msg parameter from roster_add 2013-05-21 22:40:39 +01:00
James Booth
7b20d8d4f4 Refactored roster push handling 2013-05-21 22:00:42 +01:00
James Booth
5a8e667e58 Renamed roster_change_handle -> roster_change_name 2013-05-21 21:18:12 +01:00
James Booth
f4a3dd84ea Renamed roster_barejid_from_handle -> roster_barejid_from_name 2013-05-21 21:12:00 +01:00
James Booth
8e4dd4b80f Renamed handle, jid and resource in roster
Renamed to name, barejid and fulljid
2013-05-21 21:07:32 +01:00
James Booth
e489ef1ad5 Renamed _roster_handle_set -> _roster_handle_push 2013-05-21 20:58:50 +01:00
James Booth
d16a31d096 Renamed roster_jid_from_handle -> roster_barejid_from_handle 2013-05-21 20:50:05 +01:00
James Booth
58bd4f2547 Removed debug 2013-05-20 23:27:55 +01:00
James Booth
ecc62af305 Finished handle usage 2013-05-20 22:51:35 +01:00
James Booth
4a8db64d7a Roster handle changes handled correctly 2013-05-20 21:43:20 +01:00
James Booth
6c4b81d093 Added jid autocompleter for /roster nick command 2013-05-20 20:51:43 +01:00
James Booth
72b8097465 Pass jid when creating new window for /msg with no message 2013-05-20 20:37:17 +01:00
James Booth
f8121cc546 Use handle for /info command 2013-05-19 23:44:28 +01:00
James Booth
59a3a5fe9b Use handle in /msg command 2013-05-19 23:35:02 +01:00
James Booth
ad6184c86b Use handle in incoming message console when exists 2013-05-19 17:27:58 +01:00
James Booth
0a3aaf5a36 Use handle in chat windows if available 2013-05-19 17:19:16 +01:00
James Booth
e1c9cbc955 Show handle rather than jid in /who output if exists 2013-05-19 17:00:27 +01:00
James Booth
db6e7f5697 Show contacts handle as window title in chat 2013-05-19 03:45:27 +01:00
James Booth
1c41a46dce Changing roster handle with no argument clears handle 2013-05-19 03:27:59 +01:00
James Booth
d9cb8c100f Show nickname in status updates if available 2013-05-19 03:22:06 +01:00
James Booth
66e4d8f5ba Added /roster autocomplete 2013-05-19 02:30:03 +01:00
James Booth
6c4b21beb1 Added sub to /notify preferences output
Removed unused "status" value for /notify autocompleter
2013-05-19 02:15:35 +01:00
James Booth
d300e8e763 Added /roster command with nick option to change handle 2013-05-19 02:07:01 +01:00
James Booth
905571bfb7 Added "tidy" and "prune" options to /wins command 2013-05-17 00:33:00 +01:00
James Booth
aa1f8b655c Show how many windows closed with /close all and /close read 2013-05-16 23:47:33 +01:00
James Booth
5a3db018dc Show 0 rather than 10 in /wins 2013-05-16 23:39:13 +01:00
James Booth
c6265adef4 Show correct message when closing window 0 2013-05-16 23:23:27 +01:00
James Booth
2f149e0bc6 Use 0 not 10 on window close message 2013-05-16 23:08:58 +01:00
James Booth
e21c2276dc Fixed incoming message text in console to use 0 rather than 10 2013-05-16 23:04:50 +01:00
James Booth
962cb10622 Added autocompleter for /close command 2013-05-16 22:49:35 +01:00
James Booth
2f92752365 Added "read" parameter to /close
Closes all windows where there are no unread messages
2013-05-16 22:34:05 +01:00
James Booth
57e64bebe5 Added parameter to /close
2,3,4,5,6,7,8,9,0 will close specified window.
'all' will close all windows.

closes #159
2013-05-12 23:00:29 +01:00
James Booth
c1ee75da40 Removed contact_list, moved roster logic to xmpp/roster module 2013-05-06 23:04:46 +01:00
James Booth
05f2d29396 Renamed contact_list_ functions to roster_ 2013-05-06 22:32:58 +01:00
James Booth
097ea18dab Tidied includes in iq.c 2013-05-06 22:00:11 +01:00
James Booth
3ae74feaa2 Created roster module, moved roster iq's 2013-05-06 21:53:59 +01:00
James Booth
d43539bf10 Fixed memory leak 2013-05-06 01:22:34 +01:00
James Booth
cd06771ddf Removed blank lines 2013-05-06 01:12:05 +01:00
James Booth
cb85af800f Unicode support for /duck output 2013-05-06 01:09:10 +01:00
James Booth
78ff58cf77 Fixed error when losing connection and segfaulting on notify_remind() 2013-05-06 00:33:33 +01:00
James Booth
3d8d5214bb Autocomplete "/sub allow" parameter from subscription requests 2013-05-05 23:42:11 +01:00