Commit graph

489 commits

Author SHA1 Message Date
mathieui
0f9b37b8a8 Do not rebuild everything in order to modify a message
(should fix the “leak” on /correct, and make it faster)
2012-12-30 14:54:54 +01:00
Emmanuel Gil Peyrot
590afbd4bc Fix /correct and /me highlights, and handle /correct a bit better. 2012-12-29 13:14:50 +01:00
mathieui
519f3afe06 Fix a tb on /names (typo) 2012-12-18 13:18:49 +01:00
Florent Le Coz
ca216a754e Remove that buggy thing (don’t ask more details, just read the diff). 2012-12-17 03:55:29 +01:00
mathieui
08ca9bd5c5 Sort the configurations options by name in the documentation
(instead of chaos)
2012-12-15 22:57:57 +01:00
mathieui
4f084671d3 (should) Fix #2175 ; prevent bugs caused by tab gaps 2012-12-15 21:49:11 +01:00
Florent Le Coz
266ba884e5 Make /w command better.
fix #2185
2012-12-15 19:51:07 +01:00
Florent Le Coz
786f0e7222 Introduce a special "reverse" value for the COLOR_HIGHLIGHT_NICK theme option.
If COLOR_HIGHLIGHT_NICK = "reverse", the highlight nick will be in reverse
mode.
fix #2165
2012-12-15 02:42:30 +01:00
Łabędź
1835d36495 bugfix: count roster list length by real listed item and not count filtered items
bugfix: use cache table of roster (created on every refresh) to get selected row object,
        fixing bad row selecting when jumping over group (was changing pos variable and
        not selected_row while moving to next contact after group)
2012-12-13 22:03:36 +01:00
Florent Le Coz
5bfbbb2c24 Add a hide_user_lits option that does what it says.
fix #2170
2012-11-30 15:14:47 +01:00
mathieui
25de0663bc Fix the slow search 2012-11-22 00:56:42 +01:00
mathieui
4a7e08f1c2 Make the search usable again
- Disable the history when searching
- → allow moving the cursor around to select a contact when searching
- fix refresh issues
2012-11-22 00:29:44 +01:00
mathieui
ac806cbb41 Fix the history numbers when re-joining a room
the <history/> element had a xmlns="" instead of the proper namespace.
2012-11-17 19:17:02 +01:00
mathieui
6781f67e80 Preload history into discussion windows (à la mcabber)
- New option load_log defaulting to 200 to indicate the number of lines
  to be loaded
- It’s still very raw, and the format of the message does not match the
  format of the normal room history, for example
- Works in the Private chat, MUC, and Conversation tabs

Thanks to labedz <github@labedz.org> for the original code
2012-11-11 16:01:53 +01:00
Florent Le Coz
7f7ec57f40 Add a add_space_after_completion bool option.
fix #2150
2012-11-06 18:02:31 +00:00
mathieui
bced0daa16 Fix the completion for /info 2012-11-05 15:00:15 +01:00
mathieui
36c02ef058 Fix a refresh issue with /message 2012-10-15 19:56:15 +02:00
mathieui
5006b649d6 Prettify the /names command 2012-10-15 14:48:08 +02:00
mathieui
931835e22b Rename /connect to /reconnect and make it rostertab-only 2012-10-14 20:24:47 +02:00
mathieui
de1f812809 Add decorators to handle refreshs more easily
(and fix one more issue with the refresh in the roster)
2012-10-14 19:20:46 +02:00
Florent Le Coz
442e24087a Add a space after a nick completion not at the start of the line. 2012-10-14 16:27:19 +00:00
mathieui
21caf36ea4 Fix a refresh issue on space in the roster 2012-10-14 15:42:55 +02:00
mathieui
285c49a0d0 Fixes #2374 (Crash on " " in the MUC list)
- Also fixes arefresh issue (up&down keys didn’t refresh the win)
- Rework the style of the Columns a bit (was 2-spaces indent & trailing
  spaces)
2012-10-13 15:58:02 +02:00
mathieui
4638e7b7b5 Fixes #2376 (Only open one XMLTab)
- Also make Core.focus_tab_named take an optional type, and return a boolean
2012-10-13 15:33:32 +02:00
mathieui
1621aa9cfd Add a “debug” attribute to Core 2012-10-13 15:14:34 +02:00
Florent Le Coz
c9be8cbe7a Correctly rebuild the messages when we corrected one. And avoid code duplicates 2012-10-12 15:43:51 +00:00
Emmanuel Gil Peyrot
88da6869b4 When a message is corrected, display it correctly in place of the previous one. 2012-10-12 15:29:45 +00:00
Emmanuel Gil Peyrot
2e8fc00f8b Implement message correction. 2012-10-12 15:28:41 +00:00
Florent Le Coz
844eb18378 Revert "Add a tab-specific “ignore_changes” option"
This reverts commit c66ec81c45.
2012-10-02 13:18:19 +02:00
mathieui
c66ec81c45 Add a tab-specific “ignore_changes” option
- The documentation is included in the commit
2012-09-30 15:03:54 +02:00
mathieui
09ff076bc4 Rewrite the tab number handling
- Now the tab number is computed instead of assigned and fixed
- Added tabs.GapTab to keep the old behaviour
- Added a create_gaps option, defaults to true (may change in the
  future)
- If there are gaps before using /set to change the option to false,
  they will be removed.
(this is a preparation for the move_tab command)
2012-09-26 01:54:20 +02:00
mathieui
0bd55a27f2 Fix TBs when the system is not in utf-8 by default
(force every file opening to be with the utf-8 encoding)
2012-09-13 09:50:48 +02:00
Florent Le Coz
bf29554121 Add a <body xmlns='http://www.w3.org/1999/xhtml'/> element on /xhtml command
Because not having that element is not allowed by the xhtml-im XEP, poezio
should put that by default.
2012-09-01 08:47:41 +02:00
mathieui
9fec124250 Fix yet another bunch of potential tracebacks
(notably, the /message one)
All JID calls in poezio’s code were already covered, but sleekxmpp does
that, too, so each jid given to sleek must be validated, otherwise an
unwanted exception may occur.
2012-08-08 23:59:00 +02:00
mathieui
e8dce570ea Take care of the race condition "node@groupchat_server is now online/offline"
- get rid of the ugly blacklist thing that didn’t work sometimes
2012-08-07 11:05:28 +02:00
mathieui
7a485ef4d0 Add a common.safeJID function, and use it everywhere 2012-08-06 15:38:09 +02:00
mathieui
5692a0278b Should fix most tracebacks due to the new sleek version
(sleekxmpp added JID validation, which means that JID(something) now
raises an exception if the jid is invalid, instead of failing silently and
having JID('') as a default)
2012-08-05 21:06:13 +02:00
mathieui
3897d131c1 Implement XEP-0012 (last activity) ; Fixes #1870
- Add a /activity command
- Load xep_0012 on start
- Add a 'l' shortcut in the roster to get the last activity
- Using "/activity" in a direct conversation will add a message in the
  conversation, and not in the info buffer.
2012-08-02 16:24:10 +02:00
mathieui
18074c3c23 Add simple communication blocking (Fixes #1837)
- Add /block, /unblock, and /list_blocks commands
- Enable the commands only if the server advertises the feature
- http://xmpp.org/extensions/xep-0191.html#example-9 was not tested, but
  should work (could not find a server to test with)
- Add documentation for the commands
2012-08-02 01:09:10 +02:00
mathieui
f76e80c5fa Sort resources from highest priority to lowest
- Previously it was from lowest to highest
- Add the “Priority:” info to the “i” key in the roster
2012-08-01 15:45:10 +02:00
mathieui
ee97ba6b6c Make the autorejoin option work with bans, too, and fix the documentation 2012-07-31 13:38:53 +02:00
mathieui
88d32a7bc4 Add an autorejoin_delay option
- document it
- works in per-tab config too
2012-07-30 19:05:20 +02:00
mathieui
d8623d1c50 Change how scrolling is done
- All functions involved return a boolean, and the core function use
  that value to determine if a refresh is needed or not. (avoids useless
  refreshs)

- Scrolling with PGUP/DOWN on the roster now only does _one_ action, an
  not a range corresponding to the screen size (should be way faster)
2012-07-26 12:40:08 +02:00
mathieui
2767da0b78 Small non-impacting modifications
- Write the config with “option = value” instead of “option= value”
- Docstring for sighup_handler
- Optimize a join() in the main loop
- Rename the verbose get_error_message_from_error_stanza() with
    get_error_message()
- Remove the unused Tab.just_before_refresh() which is litterally used
  nowhere in poezio
2012-07-26 00:09:23 +02:00
mathieui
0de6a197f6 Fix /info (role and affiliation were inverted) 2012-07-19 02:05:43 +02:00
Florent Le Coz
082067afe9 [labedz] Add keys to jump to the next and previous contact in the roster. 2012-07-18 22:30:08 +02:00
mathieui
8317b845d8 Fix /version to find a fulljid when available
And improve the completion in the roster (go to the resources)
2012-07-17 21:56:04 +02:00
mathieui
c3f822e7b2 Remove the duplicated sort_by function in the MUCList 2012-07-03 03:32:12 +02:00
mathieui
32f8ada92d Put the personal words in the last words completion (M-/)
(instead of the normal completion)
2012-05-23 16:34:07 +02:00
mathieui
12bd9b589c Add personal words completion - Fixes #1723
This commits adds a “words” variable to the configuration file. This
variable must contain a list of words, separated by colons (:).
Those words will then be completed upon tab completion in the chatrooms,
private conversations, and direct conversations.
2012-05-23 16:25:53 +02:00
Florent Le Coz
e1c7f63a3a Add a few punctuation char to avoid in recent words completion. 2012-05-22 21:12:07 +02:00
mathieui
0af1c7fe9a Docstrings, and small cleanup 2012-05-21 02:14:25 +02:00
Florent Le Coz
65c2d3dc88 Merge branch 'master' of https://git.louiz.org/poezio 2012-05-20 13:43:53 +02:00
mathieui
51c788ad96 Allow nick completion in the Private tabs as well. 2012-05-19 22:28:30 +02:00
mathieui
3411d8ca83 Add a shortcut to go to the first unread message (separator) with M-p 2012-05-17 17:15:15 +02:00
mathieui
0f8a5abdc0 Add an option to always show the separator - Fixes #2240 2012-05-17 16:55:31 +02:00
mathieui
4c0a3fb5a2 Resolves separator persistence problems - Fixes #2073
Now we have to pass the textbuffer object when we want to add a line
separator.
2012-05-17 03:34:04 +02:00
mathieui
0f7bda20b8 Add a way to review room highlights - Fixes #1673
This new features is available with M-p and M-n (previous/next).
It saves the last highlight viewed, meaning that if you scroll in the
buffer, M-n or M-p will take you to the next or previous hl compared to
the one before you started scrolling.

For convenience, going to the previous highlight of the first highlight
will take you to the bottom of the buffer, and going to the next
highlight of the last highlight will do *the same*.

If there are several highlights in one message, only the first line will
be considered a highlight.
2012-05-17 01:00:35 +02:00
mathieui
da30c8c79f Put color in the topic again 2012-05-16 19:50:56 +02:00
mathieui
155914470d Complete the commands differently.
If there is 0 match for the beginning of command, delete the last
letter (over and over) until there is a match, then complete that.
2012-05-16 17:39:14 +02:00
mathieui
1e07cd4f58 Put a space after completion only if there is one (and only one) command 2012-05-16 17:22:13 +02:00
mathieui
c04f0e9783 Prevent the rooms from going “offline”
Add a blacklist inside the roster that contains the bare JIDs of all the
rooms ever joined in this session, so that no JID using this server will
ever be shown as getting “offline”.

If there is a cleaner way to do that (discriminating JIDs), I welcome it.
2012-05-16 02:01:50 +02:00
mathieui
58a41fe065 Add status code handling - Fixes #2338
Get status codes in presence and message stanzas, and show information
related to them. If the change hinders privacy (logs added, or public
JIDs), then a red “Warning” message is shown instead of the classic
“Info”.
2012-05-16 01:59:32 +02:00
mathieui
c0c0b16218 Fixes #2358 2012-05-10 13:22:37 +02:00
Florent Le Coz
0f0efb7ada Avoid a traceback on /close on a non-joined MucTab. fixed #2358 2012-05-10 13:22:05 +02:00
mathieui
dfa8f33c67 Fix the usr join/rejoin when someone gets kicked or banned 2012-05-10 11:00:34 +02:00
mathieui
600af6d5a7 Fix the size of the XMLTab 2012-05-09 00:13:50 +02:00
mathieui
5670304b17 Use COLOR_OWN_NICK whenever possile (Fixes #2318) 2012-05-05 17:32:13 +02:00
mathieui
fcdf98eda2 Add a /ban command, and fix completion & parameters for /kick 2012-05-05 02:07:48 +02:00
mathieui
18ba25fa6b Fix /groupmove 2012-05-04 23:05:36 +02:00
mathieui
91ab569e52 Do not quote the JID for /remove completion 2012-05-04 19:41:59 +02:00
mathieui
de63a1affd Roster update: Merge branch 'master' of https://git.louiz.org/poezio
Conflicts:
	src/core.py
	src/tabs.py
2012-04-27 23:09:26 +02:00
mathieui
2488216fba Update the ConversationTab 2012-04-27 22:54:11 +02:00
mathieui
3bd893e6b4 Update group commands 2012-04-27 22:53:58 +02:00
mathieui
f71e2a9cb1 Update commmand_add, command_remove, command_accept, and command_deny 2012-04-27 22:41:16 +02:00
mathieui
7c8fe132eb Update the roster search functions 2012-04-27 22:36:58 +02:00
mathieui
2957cded91 Fix the completion for all commands manipulating the roster 2012-04-27 22:34:12 +02:00
Florent Le Coz
2a3434b1f8 Fix the get_nick issue correctly this time. 2012-04-27 19:40:39 +02:00
Florent Le Coz
4ee3566a74 Avoid a traceback when getting the nick of a converstation with someone not in our roster. fixes #2356 2012-04-26 01:57:46 +02:00
mathieui
2f78a5f2dd Add an autofill for /name in the roster when 'n' is pressed 2012-04-19 17:37:53 +02:00
mathieui
46c197ef7f Fixes #2355 2012-04-19 01:33:16 +02:00
mathieui
80b1e835b7 Show the contact info in the roster when 'i' is pressed 2012-04-19 00:12:22 +02:00
mathieui
71596ec10b Add a 'v' keybind on the roster to get the version of the selected
resource-s
2012-04-18 23:45:16 +02:00
mathieui
cc00f44e77 Add a /groupmove command. Fixes #2352
(based on a patch from gio)
2012-04-18 19:42:37 +02:00
mathieui
37e3c1ea29 Fix a small mistake 2012-04-18 19:42:04 +02:00
mathieui
384f6939cb Add a get_nick method to the tabs 2012-04-18 15:54:52 +02:00
mathieui
d52f5ba40f Do not quotify completions where it is not allowed 2012-04-18 00:35:24 +02:00
mathieui
609f55a4d7 Quote everything that is completed by default, except commands 2012-04-18 00:23:28 +02:00
mathieui
c2e122d873 Do not split on command_accept as it is unneeded 2012-04-18 00:22:30 +02:00
mathieui
5c06af299e Fix some completions accordingly (name/groupadd/groupremove) 2012-04-18 00:21:53 +02:00
mathieui
1fdb91a983 Split correctly on command_groupremove 2012-04-18 00:18:18 +02:00
mathieui
abd8d30990 Split correctly on command_name 2012-04-18 00:17:46 +02:00
mathieui
3a1a1dcc6d Do not split on command_deny as it is unneeded 2012-04-18 00:17:16 +02:00
mathieui
3138240150 Do not split on command_unignore as it is unnecessary 2012-04-18 00:16:44 +02:00
mathieui
e934d8b513 Do not split on command_ignore as it is unnecessary 2012-04-18 00:16:00 +02:00
mathieui
4ab6a591cf Remove a if not len(list) in command_kick 2012-04-18 00:14:56 +02:00
mathieui
1c18c6e2b5 Do not split on command_part as it is unnecessary 2012-04-18 00:14:08 +02:00
mathieui
d0e0be2dd6 Do not split on command_nick as it is unnecessary 2012-04-18 00:13:44 +02:00
mathieui
dd751ea14d Do not split on command_version as it is unnecessary 2012-04-18 00:13:09 +02:00
mathieui
13a9811cf6 Do not split on command_recolor as it is unneeded 2012-04-18 00:11:58 +02:00