about summary refs log tree commit diff stats
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
...
* Extended rc.confhut2011-09-301-2/+3
|
* core.actions: added narg to move_parenthut2011-09-291-1/+1
|
* doc/TODO: updatedhut2011-09-291-15/+14
|
* doc/ranger.1: added missing documentationhut2011-09-292-12/+256
|
* core.main: added --list-unused-keys optionhut2011-09-292-1/+12
|
* another correction of the bash wrapper scriptshut2011-09-282-3/+5
|
* sanitized bash wrapper scripts, reformulated BUGS section in manualhut2011-09-282-13/+12
|
* removed doc/help link (why do we need that?)hut2011-09-281-1/+0
|
* improved bash wrappers in ranger.py and man pagehut2011-09-282-20/+24
|
* documented and improved DaPangus' changeshut2011-09-252-6/+4
|
* extended manpage and fixed {load,save}_copy_buffer commandshut2011-09-252-46/+66
|
* defaults.commands.py: added :bulkrename command from wikihut2011-09-251-0/+9
|
* doc/ranger.pod: extended the man pagehut2011-09-242-120/+845
|
* Overhauled manpage. It's in POD format now.hut2011-09-242-194/+797
|
* This gonna be cool once it's finished v1.4.3hut2011-04-051-1/+1
|
* Improved manpagehut2011-04-031-4/+5
|
* Next version will run on pure Lisp Machines only v1.4.2hut2011-03-051-1/+1
|
* If ranger won't run, you still got peanut butter to live for. v1.4.1hut2011-01-041-1/+1
|
* Moved HACKING and TODO to doc/hut2011-01-042-0/+214
|
* We are not authorized to disclose the commit message v1.4.0hut2010-12-221-1/+1
|
* updated doc/colorschemes.txthut2010-12-221-15/+6
|
* core.main: extended --copy-config optionhut2010-10-121-2/+3
|
* Merge branch 'cp+preview'hut2010-10-121-0/+4
|\
| * core.main: added --copy-config flaghut2010-10-111-0/+4
| |
* | new version: 1.3.1, merge with cp+preview branchhut2010-10-121-1/+1
|/
* Incremented version number to 1.3 (testing)hut2010-09-131-1/+1
|
* Beware of low-flying butterflies v1.2.0hut2010-09-131-1/+1
|
* chmodhut2010-09-111-0/+0
|
* Tuned versioning scheme to be more intuitive, back to 1.1.2hut2010-08-281-1/+1
|
* Changed version number to 1.2 (testing) to adhere with versioning schemehut2010-08-281-1/+1
|
* Changed default config dir to $XDG_CONFIG_HOME/rangerhut2010-08-282-6/+7
|
* Why did the astrophysicist order three hamburgers? v1.1.2hut2010-07-121-1/+1
|
* removed pydoc since it can be generated with "make doc" easilyhut2010-06-2146-6669/+0
|
* version = version + 1 v1.1.1hut2010-06-184-6/+7
|
* new stable version v1.1.0hut2010-06-092-3/+3
|
* updated manpagehut2010-06-091-5/+4
|
* renamed "--fail-if-run" to the more accurate "--fail-unless-cd"hut2010-06-091-3/+3
| | | | The old name, --fail-if-run, is still valid and working.
* updated pydochut2010-06-0918-57/+113
|
* Changed hashbang line to "#!/usr/bin/env python"hut2010-06-092-2/+2
|
* updated pydochut2010-05-1647-666/+349
|
* Fixed bug #65 by adding flag "--fail-if-run"hut2010-04-261-1/+5
|
* updated pydochut2010-04-205-248/+10
|
* updated pydochut2010-04-1941-2286/+247
|
* ranger.1: added S key to man pagehut2010-04-161-0/+3
|
* Fixed suggested cd-after-exit-script for zshhut2010-04-131-1/+1
|
* added doc/print_keys.pyhut2010-04-081-0/+14
|
* corrected documentationhut2010-04-061-1/+1
|
* Improved tabshut2010-04-061-0/+3
|
* updated keybindings and documentationhut2010-04-061-1/+21
|
* ranger.1: updatehut2010-04-011-4/+7
|
>); } } gboolean blocked_add(char* jid) { GList* found = g_list_find_custom(blocked, jid, (GCompareFunc)g_strcmp0); if (found) { return FALSE; } xmpp_ctx_t* ctx = connection_get_ctx(); char* id = connection_create_stanza_id(); xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); xmpp_stanza_t* block = xmpp_stanza_new(ctx); xmpp_stanza_set_name(block, STANZA_NAME_BLOCK); xmpp_stanza_set_ns(block, STANZA_NS_BLOCKING); xmpp_stanza_t* item = xmpp_stanza_new(ctx); xmpp_stanza_set_name(item, STANZA_NAME_ITEM); xmpp_stanza_set_attribute(item, STANZA_ATTR_JID, jid); xmpp_stanza_add_child(block, item); xmpp_stanza_release(item); xmpp_stanza_add_child(iq, block); xmpp_stanza_release(block); iq_id_handler_add(id, _block_add_result_handler, free, strdup(jid)); free(id); iq_send_stanza(iq); xmpp_stanza_release(iq); return TRUE; } gboolean blocked_remove(char* jid) { GList* found = g_list_find_custom(blocked, jid, (GCompareFunc)g_strcmp0); if (!found) { return FALSE; } xmpp_ctx_t* ctx = connection_get_ctx(); char* id = connection_create_stanza_id(); xmpp_stanza_t* iq = xmpp_iq_new(ctx, STANZA_TYPE_SET, id); xmpp_stanza_t* block = xmpp_stanza_new(ctx); xmpp_stanza_set_name(block, STANZA_NAME_UNBLOCK); xmpp_stanza_set_ns(block, STANZA_NS_BLOCKING); xmpp_stanza_t* item = xmpp_stanza_new(ctx); xmpp_stanza_set_name(item, STANZA_NAME_ITEM); xmpp_stanza_set_attribute(item, STANZA_ATTR_JID, jid); xmpp_stanza_add_child(block, item); xmpp_stanza_release(item); xmpp_stanza_add_child(iq, block); xmpp_stanza_release(block); iq_id_handler_add(id, _block_remove_result_handler, free, strdup(jid)); free(id); iq_send_stanza(iq); xmpp_stanza_release(iq); return TRUE; } int blocked_set_handler(xmpp_stanza_t* stanza) { xmpp_stanza_t* block = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_BLOCK); if (block) { xmpp_stanza_t* child = xmpp_stanza_get_children(block); while (child) { if (g_strcmp0(xmpp_stanza_get_name(child), STANZA_NAME_ITEM) == 0) { const char* jid = xmpp_stanza_get_attribute(child, STANZA_ATTR_JID); if (jid) { blocked = g_list_append(blocked, strdup(jid)); autocomplete_add(blocked_ac, jid); } } child = xmpp_stanza_get_next(child); } } xmpp_stanza_t* unblock = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_UNBLOCK); if (unblock) { xmpp_stanza_t* child = xmpp_stanza_get_children(unblock); if (!child) { g_list_free_full(blocked, free); blocked = NULL; autocomplete_clear(blocked_ac); } else { while (child) { if (g_strcmp0(xmpp_stanza_get_name(child), STANZA_NAME_ITEM) == 0) { const char* jid = xmpp_stanza_get_attribute(child, STANZA_ATTR_JID); if (jid) { GList* found = g_list_find_custom(blocked, jid, (GCompareFunc)g_strcmp0); if (found) { blocked = g_list_remove_link(blocked, found); g_list_free_full(found, free); autocomplete_remove(blocked_ac, jid); } } } child = xmpp_stanza_get_next(child); } } } return 1; } static int _block_add_result_handler(xmpp_stanza_t* const stanza, void* const userdata) { char* jid = (char*)userdata; const char* type = xmpp_stanza_get_type(stanza); if (!type) { log_info("Block response received for %s with no type attribute.", jid); return 0; } if (g_strcmp0(type, "result") != 0) { log_info("Block response received for %s with unrecognised type attribute.", jid); return 0; } cons_show("User %s successfully blocked.", jid); return 0; } static int _block_remove_result_handler(xmpp_stanza_t* const stanza, void* const userdata) { char* jid = (char*)userdata; const char* type = xmpp_stanza_get_type(stanza); if (!type) { log_info("Unblock response received for %s with no type attribute.", jid); return 0; } if (g_strcmp0(type, "result") != 0) { log_info("Unblock response received for %s with unrecognised type attribute.", jid); return 0; } cons_show("User %s successfully unblocked.", jid); return 0; } static int _blocklist_result_handler(xmpp_stanza_t* const stanza, void* const userdata) { log_debug("Blocked list result handler fired."); const char* type = xmpp_stanza_get_type(stanza); if (g_strcmp0(type, "result") != 0) { log_info("Received blocklist without result type"); return 0; } xmpp_stanza_t* blocklist = xmpp_stanza_get_child_by_name(stanza, STANZA_NAME_BLOCKLIST); if (!blocklist) { log_info("Received blocklist without blocklist element"); return 0; } if (blocked) { g_list_free_full(blocked, free); blocked = NULL; } xmpp_stanza_t* items = xmpp_stanza_get_children(blocklist); if (!items) { log_debug("No blocked users."); return 0; } xmpp_stanza_t* curr = items; while (curr) { const char* name = xmpp_stanza_get_name(curr); if (g_strcmp0(name, "item") == 0) { const char* jid = xmpp_stanza_get_attribute(curr, STANZA_ATTR_JID); if (jid) { blocked = g_list_append(blocked, strdup(jid)); autocomplete_add(blocked_ac, jid); } } curr = xmpp_stanza_get_next(curr); } return 0; }