Commit graph

1638 commits

Author SHA1 Message Date
Mathieu Pasquet
11c93a12a3 Fix a refresh issue in the roster 2013-10-06 18:09:33 +02:00
Mathieu Pasquet
8e63ad3a08 Fix #2373 (/message creates duplicate tabs) 2013-10-06 18:03:38 +02:00
Mathieu Pasquet
9c775da5f7 Fix #2369 (black nick color) 2013-09-19 00:28:11 +02:00
Mathieu Pasquet
40af34ad7c Fix #2372 (traceback on space in roster after disconnect)
selected_row wasn’t reset
2013-09-19 00:19:42 +02:00
Mathieu Pasquet
b245ff6e2d Fix /export 2013-09-16 13:08:28 +02:00
Florent Le Coz
099d1d1c2c TIL splitlines() 2013-09-06 17:35:50 +02:00
Florent Le Coz
4b662ffa67 Much more efficient and clean way to get the last n messages from history 2013-09-06 14:24:05 +02:00
mathieui
cb8884bae4 quote a completed word if it has \ in it 2013-08-16 17:49:05 +02:00
mathieui
1a92c51ddf Fix an issue with shlex
(well, sort of fix)
2013-08-16 16:21:54 +02:00
mathieui
7820f98568 Move shlex to poezio_shlex to avoid conflicts with the stdlib 2013-08-15 01:07:47 +02:00
mathieui
6f2cca61d4 Remove debug 2013-08-13 07:39:12 +02:00
mathieui
a724be0e72 Typo 2013-08-10 23:24:35 +02:00
mathieui
74de91e2bf Fix potential issues with import paths 2013-08-10 15:51:35 +02:00
mathieui
518f933fb8 Fix #2343 2013-08-10 01:50:03 +02:00
mathieui
64c1a09023 Fix #2337 (search the themes the same way than plugins)
- Load the themes from:
    1 - The sources found in the directory ../data/themes/ (if it
    exists)
    2 - The user-defined dir (or ~/.local/blah)
    3 - The poezio_themes package if found

- Also fix some potential issues with the plugins importer
2013-08-10 00:24:27 +02:00
mathieui
2fe84a1188 Fix a crash for python < 3.3 2013-08-06 22:23:47 +02:00
mathieui
3e7353758e Fix the folder creation for roster changes 2013-08-06 19:07:44 +02:00
mathieui
e40a3d72f5 Add a specific /invite command for the MucTab 2013-08-05 23:29:36 +02:00
mathieui
406454fdd0 Fix common.shell_split with empty strings 2013-08-05 19:45:08 +02:00
mathieui
feb101f158 Fix some refresh quirks 2013-08-04 15:29:43 +02:00
mathieui
416ceddbe4 Add the same pluggable "information element" to the PrivateTab 2013-08-04 15:28:35 +02:00
mathieui
d01f6208d6 If plugins removed the message body in a callback, don’t send it 2013-08-04 14:50:58 +02:00
mathieui
1496876136 Add the name of the plugin when loading it fails 2013-08-04 14:50:58 +02:00
mathieui
e5e63d4725 Prevent messages with typ=0 from being logged
(new typ value)
2013-08-04 14:50:57 +02:00
mathieui
7538093a07 Do not load logs if use_logs is false 2013-08-04 11:21:28 +02:00
mathieui
135ef1b364 Fix a traceback on get_logs 2013-08-04 11:06:05 +02:00
mathieui
decb2bb27e Remove test code added by accident 2013-08-03 19:30:09 +02:00
mathieui
31c2e23c4c Logs errors by default, in a dedicated file
- log_errors option, true by default
- errors go in log_dir/errors.log (so $XDG_DATA_HOME/errors.log
    by default)

This should help a lot for debugging, and provide a way for people
to easily give debug traces without useless or personal infos.
2013-08-03 19:27:25 +02:00
mathieui
6fbb2f8593 Fix #2317 (/join completion is broken)
Also add an override parameter to new_completion so that the
completion does not care if the list matches the previous input
or not.
2013-08-02 22:00:53 +02:00
mathieui
bb59771d99 Fix #2049 (get the current completed argument)
A command argument can now be completed even if it isn’t the last
one in the input.

- Add a new method Input.new_completion
    Almost like the old auto_completion method, except taht it takes
    another argument: argument_position, which is the argument to be
    completed.
- Methods using the old completion method still work
- All completion methods in poezio now use the new one if necessary
- Further details can be found in the docstring of new_completion
2013-08-01 20:17:12 +02:00
mathieui
2744234d52 Move /clear_infos to /clear for consistency 2013-08-01 12:38:46 +02:00
mathieui
2730d8a2b5 ref #2318 (fix correction when the server doesn’t send back the same ids)
This will only work if the message ids are the same across all
participants…
2013-08-01 01:04:35 +02:00
mathieui
890945d037 Fix #2334 (wrong character length for formatting chars) 2013-07-31 23:56:49 +02:00
mathieui
19135d4a76 Fix #2306 (none, to, and from subscriptions should be more visible)
Added a configuration option and some theme variables.
2013-07-31 23:43:19 +02:00
mathieui
b249dad73d Fix #2341 (/message <bare/resource> doesn’t open a new tab…)
If a tab with the given fulljid is not found, then a new tab
will be opened, even if we are in discussion with the bare jid.
2013-07-30 20:47:12 +02:00
mathieui
cbcac03510 Fix #2335 (crash on /cycle with room without userpart) 2013-07-29 19:31:33 +02:00
mathieui
d64a95bd3b Fix an import broken with the last sleekxmpp update 2013-07-29 07:23:12 +02:00
mathieui
33a9f1434f Fix contact removal 2013-07-24 21:34:14 +02:00
Florent Le Coz
9b51377185 Correctly use Py_ssize_t instead of int, fix a segfault on some architectures 2013-07-07 20:25:58 +02:00
mathieui
cae5f64931 Move backwards in the input the same way we move forward (ref #2183) 2013-07-03 00:21:13 +02:00
mathieui
697e311ce7 Fix the repr() of messages for logging 2013-07-01 22:10:30 +02:00
mathieui
8fe39540a4 Fix an issue with roster loading
(why did that even work before)
2013-07-01 17:58:49 +02:00
mathieui
f8aa0f9826 Fix #2329 (display the info buffer in the muclisttab)
also fix some typos in the comments, and a refresh issue with the input
2013-06-30 19:36:32 +02:00
mathieui
bafecae0d3 Clear the XML Tab buffer when closing 2013-06-30 18:57:52 +02:00
Florent Le Coz
1a6dbad881 Better comments in poopt 2013-06-27 15:54:19 +02:00
mathieui
ec49a7b05d Ignore errors on PEP publishing (fix #2322)
(since we can’t do anything about them anyway)
2013-06-26 22:49:18 +02:00
Florent Le Coz
1ae7ff10d3 Nicer comments 2013-06-25 01:18:28 +02:00
Florent Le Coz
b7fbfb7f47 Aaaand that’s static 2013-06-25 01:17:20 +02:00
Florent Le Coz
1d9d085d15 Do not open a tab on Enter when searching in the roster
Often, we search people but don’t actually want to open a tab with them
(maybe the users wants to talk to a specific resource, or see the contact’s
status, or things like that)
To open a tab to talk to this contact, the user just need to type Enter twice
2013-06-25 01:10:33 +02:00
Florent Le Coz
f8c0d12750 Workaround for a bug (?) where wcwidth returns -1 for valid printable chars
For example 😆
2013-06-25 01:08:16 +02:00
mathieui
f4a4b79986 fix #2327 (don’t include chatrooms in the roster)
it might be a little slower than before (more checks)
2013-06-24 23:22:42 +02:00
mathieui
b70c154ff6 Fix /w completion 2013-06-24 15:54:39 +02:00
mathieui
6a5423d5f5 Fix #2294 (fix /w priority)
Now each different match has a different priority.
It might need some tuning to have the desired result.
2013-06-22 20:02:11 +02:00
mathieui
6c046fe161 Parse the new log format to display it. (ref #2311)
Archiving old logs is recommended before running this update,
just in case.
2013-06-22 00:17:55 +02:00
Florent Le Coz
d81568eebe Use a logical order of arguments in the poopt functions, now 2013-06-20 23:28:40 +02:00
Florent Le Coz
ee0c29ada1 Use the correct arguments in PyArg_ParseTuple 2013-06-20 23:26:29 +02:00
Florent Le Coz
7d555a62f2 Little logic change 2013-06-20 23:25:53 +02:00
Florent Le Coz
5b4048000e Use cut_by_columns to properly cut nicks in the UserWin window 2013-06-20 22:30:08 +02:00
Florent Le Coz
da6c11603c Add a poopt function to cut a string by the number of columns it takes 2013-06-20 22:17:43 +02:00
Florent Le Coz
a92163d173 Fix some compilation warnings in the poopt module 2013-06-20 22:06:33 +02:00
Florent Le Coz
637b5552e8 Remove the now useless (and fucking slow) wcwidth python implementation 2013-06-19 22:27:15 +02:00
Florent Le Coz
0d7fedceea And actually use poopt.wcswidth to properly count the nicks' size
see #2142
2013-06-19 22:19:17 +02:00
Florent Le Coz
cbe0007249 Exposes the wcswidth function in the poopt module
see #2142
2013-06-19 22:19:08 +02:00
Florent Le Coz
0bcd420602 Consider the number of columns of each characters in the poopt module
Some characters take 0 columns, others take 1 or 2 (full-width characters)

fixes #2142
2013-06-19 22:18:50 +02:00
mathieui
d269617788 Revert 9eaffe1369 because of 3.1 compat 2013-06-19 12:16:28 +02:00
Florent Le Coz
54af1f16a4 Let the user disable the auto-ping by setting connection_check_interval to 0 2013-06-18 20:38:16 +02:00
Florent Le Coz
4d73c29836 Add config_change handlers for the two keepalive options
We can now change the keepalive values with /set, without restarting
2013-06-18 20:37:57 +02:00
Florent Le Coz
39fa811374 Trigger config_change handlers when the config has changed using a USR1 signal 2013-06-18 20:37:04 +02:00
Florent Le Coz
ef9672c0fd Add the possibility to watch the changes of a config value
Using add_configuration_handler() we can now set a callback to be called
whenever a given option value is changed using /set
2013-06-18 20:36:23 +02:00
Florent Le Coz
06d5ecb879 Message to join the room with an other nick only if the room is not joined yet
Because that message doesn’t make any sense if you are in the room and you
get a nick conflict from the /nick command.
2013-06-18 20:32:17 +02:00
mathieui
c8700dd06e Fail properly when the config can’t be parsed. 2013-06-16 14:50:04 +02:00
mathieui
2b7676194f Fix #2320 (TB on /info with an off-roster contact) 2013-06-14 20:36:04 +02:00
mathieui
833faa4f37 Improve the roster search
- now case-insensitive
- search in the bare jid instead of userpart only (and still in roster
  names)
- do not display groups when searching
- display offline contacts
- do not expand resources if they were before the search
2013-06-13 01:00:53 +02:00
mathieui
2b4c06b6f8 Fix #2315 (send pings to the server every minute to check the connection)
add two new options:
connection_timeout_delay and connection_check_interval
2013-06-11 00:03:48 +02:00
mathieui
97d3690aea Implement Message Carbons (XEP-280)
- Add an option enable_carbons (defaults to false)
- Make a disco on non-roster entites to determine if the message
  commes from a muc private chat or not.
2013-06-10 23:49:10 +02:00
mathieui
4220c36021 Fix addstr_colored with colors that start with a -1 2013-06-10 20:53:16 +02:00
mathieui
2ab2eaf269 Lock on one forgotten curses operation 2013-06-09 17:12:39 +02:00
mathieui
d5ae6966f9 Fix #2301 2013-06-09 17:02:54 +02:00
mathieui
2668df740b Fix #1892 (keep the contact selected in the roster) 2013-06-09 15:36:50 +02:00
mathieui
103d097acf Fix #2183 (do not scroll one char at a time when you reach the end)
Now it scrolls horizontally of 1/4 the size of the input
2013-06-09 15:18:39 +02:00
mathieui
9d5fddf5ba Use the new format in the roster log too (ref #2311)
(and add the pep events and invites to it)
2013-06-09 12:56:51 +02:00
mathieui
71b6404b04 Adopt the mcabber log format (Fix #2311) 2013-06-09 03:47:16 +02:00
mathieui
9eaffe1369 Fix the os.makedirs calls so that they don’t traceback for nothing 2013-06-09 03:45:10 +02:00
mathieui
9b8ed569bb Fix the regex for text attributes 2013-06-08 23:51:47 +02:00
mathieui
26ea842cee Add a way to format background colors in a string
(also add colors to the /info command in MUCs)
2013-06-08 17:36:02 +02:00
mathieui
545e67c500 Fix setting autojoin with /bookmark 2013-06-08 12:28:07 +02:00
Florent Le Coz
463ec5ca0d Accept NULL bytes in strings to be cut by the poopt module
fix #2296
2013-06-07 00:04:01 +02:00
Florent Le Coz
032d2b711b Add a M-k keyboard shortcut to escape the next keyboard shortcut
fix #2227
2013-06-06 22:58:29 +02:00
Florent Le Coz
834546ac77 Do not traceback when receiving malformed XML in a xhtml-im body 2013-06-06 22:53:43 +02:00
mathieui
9e8860cd6a Fix joining a domain-only room
(e.g. “/join @conference.prosody.im”)
- If the current tab is a MUC the @ prefix is mandatory as there is no
     way to tell if the user meant a room name or a domain.

- If it is not a MUC, then the @ prefix is not mandatory (but works
  anyway)
2013-06-05 20:44:27 +02:00
mathieui
ae009318b2 Fix #2299 (invalid characters causing a TB)
any character beyond 0x110000 does not exist and should be dropped
2013-06-04 13:20:59 +02:00
mathieui
0abc789403 Do not block on roster operations (and do not traceback on errors) #2315 2013-06-03 23:13:10 +02:00
mathieui
0dcc6f9cc4 Fix the caps updating (“do not verify” message in swift) 2013-06-01 21:43:15 +02:00
mathieui
4ee7708b14 Small workaround for the default config location 2013-05-29 15:32:25 +02:00
mathieui
2b42c6a3ea Update setup.py to use distutils
(use new default directory, install the plugins as a separate
python module…)
2013-05-26 20:13:39 +02:00
Florent Le Coz
1b9dc72d14 Fix a traceback (plugin_manager) 2013-05-24 22:13:56 +02:00
Florent Le Coz
3356cac9ce Fix a stupid traceback (common.datetime_tuple) 2013-05-24 21:52:12 +02:00
mathieui
0255968049 Fix a tb on "/ban " 2013-05-17 19:30:52 +02:00
mathieui
69af684494 Fix a traceback on /role completion if the tab is not connected
(also add outcast to the completed roles)
2013-05-17 11:53:32 +02:00
mathieui
ee8de89f9e Fix #2307 (commandinput history) 2013-05-16 16:08:30 +02:00