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
mathieui
06e368f66e
Fix the parser for the rainbow plugin
2013-05-16 15:35:59 +02:00
mathieui
785b21ff02
Fix #2229 (prevent correction if the 2 fulljid differ)
...
(Except in MUC, where we check the User object for that)
2013-05-15 19:04:56 +02:00
mathieui
55dfc625b3
Fix a traceback on /nick [tab]
...
(introduced in 686352d22b
, because a
nick bookmark can now be None)
2013-05-15 13:17:24 +02:00
mathieui
58174d1bf1
Sort users in /names
2013-05-15 12:56:24 +02:00
mathieui
9de322bea3
Rewrite the poezio colors parser (also Fix #2279 )
...
The parser now handles text with multiple style attributes
(e.g. bold, underlined and red text).
2013-05-14 22:29:45 +02:00
mathieui
7f1562c4c2
Actually use it.
2013-05-11 21:43:45 +02:00
mathieui
a1ef835a37
Handle the roster order cache as a real cache
...
When an external (or internal) event may cause the order of the
cache to be modified, or new elements to be added, schedule it
for a rebuild. Otherwise, don’t, and only rebuild it when
refreshing (that should improve refresh speed a lot).
Also, if the position in the roster is further than the total size
of the roster, go back to the top instead of displaying an empty
window with “+++”.
2013-05-11 20:51:11 +02:00
mathieui
dde153e85b
Reverse the plugin loading path
2013-05-11 12:00:37 +02:00
mathieui
3d8c91dcb0
Fix the reason in the ban message
2013-05-11 00:33:06 +02:00
mathieui
686352d22b
Do not add a nick to each bookmarked room
2013-05-10 14:55:50 +02:00
mathieui
6767d04a1d
Fix #2295 (sanitize commands given to /help)
...
remove starting slashes and starting and trailing spaces
2013-05-10 13:41:13 +02:00
mathieui
ca8b67fca9
Fix #2131 (Input cursor when pasting text)
2013-05-10 00:49:38 +02:00
mathieui
60388686a5
Fix the exit message
2013-05-09 22:29:26 +02:00
Florent Le Coz
ffe33c5da3
Add a little workaround for MUC servers that do not send the 110 status
2013-05-09 13:20:46 +02:00
Florent Le Coz
53170fd4f2
Add the 'changing_nick' event
2013-05-09 13:18:44 +02:00
Florent Le Coz
38af82501c
Fix a crash introduce something like 5-6 commits ago, np.
2013-05-09 13:18:44 +02:00
mathieui
3eece64062
Fix #2284 (don’t send always send an inactive chatstate with /w)
2013-05-06 20:48:37 +02:00
mathieui
48614d6cf0
Fix #2286
...
Also fix the copy of the default config if -f is used
2013-05-06 20:23:33 +02:00
Florent Le Coz
ea5bfbfca4
Fix a typo "on on an unknown platform"
2013-05-01 19:38:47 +02:00
Florent Le Coz
beb374f7e3
Make Alt+backspace work on my freebsd
2013-05-01 19:03:32 +02:00
Florent Le Coz
ea12f4ccce
Document the new event
2013-05-01 18:44:14 +02:00
Florent Le Coz
e8f5c21fcd
Lets plugins change the presence BEFORE joining a muc, with a new plugin event
2013-05-01 18:39:33 +02:00
Florent Le Coz
fb21f337e7
Take into account the nick given by the MUC when joining a room.
...
This way, if the MUC service decides to give us an other nick than the one
we asked it works properly.
2013-05-01 18:37:27 +02:00
mathieui
9661854611
Typo
2013-04-23 12:37:47 +02:00
mathieui
62787af607
Actually use the deprecated method for versions INFERIOR to 3.2
2013-04-19 23:55:54 +02:00
mathieui
93cdac01ae
Use ''.join(str) instead of str += …
...
Should improve speed on xhtml parsing, but be noticeable only
with *heavy* (e.g. 1000chars with the rainbow plugin) xhtml stanzas.
2013-04-18 19:54:13 +02:00
mathieui
9fd15cc2a2
Use importlib for python 3.3 to load plugins
...
(also probably fix the I/O operation on closed file issue when using
imp)
2013-04-16 18:49:03 +02:00
mathieui
e5f219d43e
Do not attempt to log things when use_log = false
2013-04-06 11:45:34 +02:00
mathieui
91b960b797
Handle I/O errors better
...
- Do not crash because of low disk space
- Notify the user whenever it happens
- A few functions now return a boolean instead of nothing
- Config.silent_set is Config.set_and_save without toggle and returning
strings. It is used whenever we don’t need set_and_save
- Config.set_and_save now returns a tuple (that can be passed directly
to core.information())
TODO: display the precise error to the user (instead of “unable to…”)
2013-04-05 23:57:53 +02:00
mathieui
16268ba964
Consistency
2013-04-05 15:24:04 +02:00
mathieui
26fa83dd9a
Add an option to choose between shared and separate input history
...
- separate_history, defaults to false
2013-04-04 01:11:56 +02:00
mathieui
8a5a5bb644
Fix #2255 (search in input history)
...
- The input is split in two parts: on the left is what the user enters,
on the right is the first match (the right part has a different
color)
- Start and cancel a search with ^R
- Validate a search with enter, then press another time enter to send
- CommandInput and MessageInput now inherit from the HistoryInput class
and share some methods
2013-04-04 01:03:18 +02:00
mathieui
e8fae6f24c
Fix #2275 , ref #2229
...
- Refactor the message handlers to be more readable
- Add a group_corrections tab-specific option (#2229 )
- Fix issues with /correct in private tabs and conversation tabs
2013-03-31 16:33:10 +02:00
mathieui
f58cd588c2
Fix some PEP issues
2013-03-30 02:22:36 +01:00
mathieui
3f3d1a0a54
Fix the help of /gaming
2013-03-28 10:49:44 +01:00
mathieui
098bc9028a
Typo/traceback
2013-03-28 10:47:49 +01:00
Florent Le Coz
347e82b552
Add a (per-tab) notif_messages option to ignore MUC’s normal messages
2013-03-28 01:44:05 +01:00
Florent Le Coz
bbe041fd58
Catch CorrectionError to avoid tracebacking when /correct fails
2013-03-16 12:16:11 +01:00
Florent Le Coz
ad04d32b48
On /exit, save the config earlier.
2013-03-16 11:58:47 +01:00
mathieui
57ce4b6fdf
Fix #2265
...
also:
- fix Message.__str__/repr
- fix a traceback with user gaming
2013-03-13 22:49:19 +01:00
mathieui
d797b1fd65
Implement user gaming (xep-0196)
...
- configuration options
- theming options
- /gaming
2013-03-12 16:12:47 +01:00
mathieui
cec1151ecb
Fix #1839 (User mood/activity)
...
- Added as always new theming variables:
CHAR_ROSTER_MOOD, CHAR_ROSTER_ACTIVITY (a SNOWMAN!)
COLOR_ROSTER_MOOD, COLOR_ROSTER_ACTIVITY
- Added two new notification types in Theme.INFO_COLORS (mood/activity)
- Added new configuration options:
display_mood/activity/tune_notifications (those can be set for a
specific JID)
enable_user_tune/nick/activity/mood
- Added /activity and /mood commands, with completions
- Moved the old /activity to /last_activity
- Details are show in the ContactInfoWin if there is room, or with "i"
on a contact in the roster.
2013-03-11 23:06:52 +01:00
mathieui
d2d0416214
Fix #1841 (User nickname)
...
- add a use_pep_nick boolean option
- use it as a nickname for roster contacts, but it does not
supercede the user-defined handle
- send a <nick/> at the beginning of a normal chat
- not implemented in MUC (wontfix)
2013-03-11 17:54:29 +01:00
mathieui
34af8f69c7
Add a receive_user_tune option ( fix #2261 )
2013-03-11 11:43:32 +01:00
mathieui
71c35eb279
Implement XEP-0118 ( Fix #1840 )
...
- Add new theming options
- Show the tune in the roster (both in contact line and infowin)
- add an option to show tunes as info messages
2013-03-11 02:04:20 +01:00
mathieui
eb2e5825bc
Disable plugins on exit
2013-03-10 23:58:20 +01:00
mathieui
c33ee919ff
Fix #2241
2013-03-10 22:58:42 +01:00
mathieui
d87834760f
Fix #2122 (coloration of long messages)
...
- Add a “prepend” attribute to the Line tuple
I’m not sure of the impact of this on performance (we parse the message
yet another time)
2013-03-10 18:35:51 +01:00
mathieui
f00dd1b8fe
Fix #2254
...
(add a new theming option, too)
2013-03-09 22:38:31 +01:00
mathieui
9885203c67
Update the plugins to use the PluginAPI
...
Also:
- Add get_conversation_messages() to PluginAPI
- Make plugins_autoload colon-separated instead of space-separated
(for consistency)
- Replace a JID() with a safeJID() in the uptime plugin
2013-03-08 22:53:35 +01:00
mathieui
dbde08a526
Document with sphinx timed_events, common, and add methods to PluginAPI
...
- add methods related to timed events to the PluginAPI
- remove parse_command_args_to_alias because str.format does that, and
better
→ update the alias plugin
2013-03-08 19:39:34 +01:00
mathieui
0a2bd90c6d
Fix PluginAPI.run_command()
2013-03-08 16:55:27 +01:00
mathieui
370cc874c2
Introduce a new way for plugins to interact with poezio
...
- Try to reduce the use of the “core” object in the plugins
- New “api” member for each BasePlugin which is a wrapper around
the unique PluginAPI object. (instead of having the methods
directly in BasePlugin and then calling the PluginManager)
- Documented methods with rst (for sphinx)
2013-03-06 22:57:41 +01:00
mathieui
cbf563583c
FIX XHTML ISSUES DUE TO A SLEEKXMPP UPDATE
...
(THE NAMESPACE WAS NOT PRESENT ANYMORE)
2013-03-06 22:53:42 +01:00
mathieui
3f71405efd
Add a CHAR_NEW_TEXT_SEPARATOR theming option
2013-03-06 22:34:41 +01:00
mathieui
993c960aa6
Rename 'normal_chatstate' event to 'conversation_chatstate'
...
for consistency
2013-03-05 00:15:56 +01:00
mathieui
d99c09ffc3
Make /affiliation and /role non-blocking ( fix #2235 )
2013-03-04 16:20:07 +01:00
mathieui
f40cfe2669
Add a show_s2s_errors config option (cf #2182 )
2013-03-04 16:01:35 +01:00
mathieui
f7204ab0a3
Fix /xhtml
2013-03-04 11:41:19 +01:00
mathieui
1e9e2112f7
Fix #2126 (per-server configuration sections)
...
(also move replace_key_with_bound() to core.py, to prevent having
common.py depending of config.py)
2013-03-04 00:23:58 +01:00
mathieui
fb7586f049
Fix #1923 (caps)
2013-03-03 13:47:11 +01:00
mathieui
3d98f48ba2
Fix #2182 (show s2s errors)
...
- Add the theming options COLOR_ROSTER_ERROR, CHAR_ROSTER_ERRROR, and
CHAR_ROSTER_ASKED
2013-03-03 13:13:15 +01:00
mathieui
e861290d10
Add a plugins_conf_dir option
2013-03-03 00:24:18 +01:00
mathieui
98850ff877
Fix #2132 (/disconnect)
2013-03-02 19:50:59 +01:00
mathieui
dbba6b5e1a
Fix /reconnect
2013-03-02 19:45:24 +01:00
mathieui
6afc1f915c
Fix #2226 (TB on /activity)
2013-03-01 01:54:54 +01:00
mathieui
b2aa3abf50
Remove a debug that floods too much
2013-02-28 22:54:15 +01:00
mathieui
5a0cec9717
Fix a traceback due to a sleekxmpp API change
...
- remove the help message for people still using the old custom
sleekxmpp repo
2013-02-28 22:44:07 +01:00
mathieui
abfd50aacd
Fix signal handling
...
- reload the config/theme with SIGUSR1
- quit properly with SIGHUP/SIGTERM
2013-02-28 22:23:25 +01:00
mathieui
de11a00a8e
Improve XEP-0308 support
...
- Prevent correction of delayed messages
- Prevent correction of messages by someone else in a MUC (and in a
private tab)
- Messages with unauthorized corrections (above) or wrong message id
will be displayed as normal messages
TODO: restrict the corrections to the same fullJID (only in direct
"normal" conversations, because we can know in private an muc tabs, via
the User object)
2013-02-27 22:09:14 +01:00
mathieui
f1831cc0ec
Fix the background color of some messages
2013-02-21 21:50:05 +01:00
mathieui
23a1b4c353
Fix a potential traceback on /ignore
...
(if the room was not joined)
2013-02-15 21:22:08 +01:00
mathieui
f4c275eb07
Add an indicator of the number of participants
...
(like in weechat)
2013-02-13 21:29:14 +01:00
mathieui
14183c49c5
Do not add a space after /unignore completion
2013-02-11 22:23:44 +01:00
mathieui
27d85a0961
Fix the folding of contacts in multiple groups
...
(add a defaultdict to keep the folded state in each group)
2013-02-03 23:55:13 +01:00
Florent Le Coz
a76b016f95
Add a key (Alt+d) de delete the next word in the input.
2013-02-03 22:17:22 +01:00
Florent Le Coz
dd9f6936be
Remove some useless keys, and change the keys to scroll the info win.
...
M-d and M-c become M-D and M-C
2013-02-03 22:15:10 +01:00
mathieui
f0b03ceee7
Fix a traceback on the completion of /correct
...
when no message has been sent yet
2013-02-03 19:53:32 +01:00
Florent Le Coz
edd82fef9b
Fix a tb on /accept. Make sure jid is a JID object, not an str.
2013-01-29 17:34:26 +01:00
Florent Le Coz
73ebce5c91
make the options in the config files case sensitive.
2013-01-29 08:04:46 +01:00
Florent Le Coz
e0136e785a
scroll_to_separator now scrolls to the top if there’s no separator.
2013-01-29 07:58:20 +01:00
Florent Le Coz
13b5ab4b65
Makes next_hl and prev_hl work after a scroll_to_separator.
...
This makes it easy to review all the highlights after the separator was
placed, using M-h, M-n, M-n, M-n…
We just add a counter of highlights which is incremented each time there’s
an hl, and set to zero when we reset the separator. We use that counter to
set hl_pos when we scroll to the separator.
2013-01-29 07:58:20 +01:00
mathieui
80f689b2fa
Do not open new useless tabs with /message
2013-01-28 19:34:53 +01:00
mathieui
0c19f49e98
fix the completion of jids for /message
2013-01-28 19:08:42 +01:00
Florent Le Coz
6aa2a05f01
Remove a single trailing space. hihi.
2013-01-26 05:35:07 +01:00
Florent Le Coz
d6fec9775a
Add an /unlock command to manually unlock a DynamicConversationTab.
2013-01-26 05:35:07 +01:00
Florent Le Coz
dd2a6d1d65
Implement XEP 296 for locking resource in conversations.
...
With a few specific behaviours: When manually opening a conversation with a
bare jid, we open a normal conversation that follows the XEP (locked and
unlocked accordingly). If the user manually opens a conversation with a
fulljid (by selecting a specific resource in the roster, or by specifying a
fulljid to the /message command), we open a special tab that doesn’t follow
the XEP (it is always locked to the same resource, and cannot be unlocked).
When a message is received, unless a special tab has been manually opened by
the other with that specific resource, we always send the messages to a uniq
normal tab, unlocking or locking it according to the XEP.
This means that only one tab can be opened with a given contact, unless the
user specifically chooses to open a special tab for a specific resource.
fixes #2159
2013-01-26 05:35:07 +01:00
mathieui
61f469bc12
Don’t rebuild the lines on resize when the width has not changed
...
- because it is an heavy operation, and it is useless, since the lines
only change when the width changes.
2013-01-23 09:29:28 +01:00
mathieui
6a81c021e1
Fix it for real.
2013-01-21 19:45:19 +01:00
mathieui
43e01ce4a6
Fix a traceback when a tab failed to be joined in the first place
2013-01-21 19:34:44 +01:00
mathieui
1bf61cde38
Break the ugly roster refresh loop into two
...
- The code is more understandable
- The number of iterations may have slightly increased
- Less things are done inside the lock, so the overall experience should
be smoother
2013-01-21 19:23:23 +01:00
mathieui
bedf225749
Fix get_version and get_room_form
2013-01-19 16:20:17 +01:00
mathieui
3755b51430
Use the new command scheme in plugins too
...
(while staying backwards-compatible)
2013-01-18 23:25:33 +01:00
mathieui
b3341c6327
Open tabs for rooms without autojoin (but do not join them)
2013-01-18 23:25:33 +01:00
mathieui
40ff60ab24
Fix a (hidden) traceback
...
Do not traceback when we receive a chatstate from someone not in our
roster.
2013-01-17 18:17:44 +01:00
Florent Le Coz
8ab4fc05c3
Refresh the rooster when canceling the search.
...
fixes #2195
2013-01-17 17:51:25 +01:00
mathieui
c5cc462963
Move to the upstream SleekXMPP
...
- remove the decline command that is not in the trunk (and mediated
declines are supported nowhere anyway)
- change a bit xhtml-im support
- change the bookmarks management a bit
- Add a verification to avoid crashing when poezio will be launched the
next time
- Fix the (unrelated) bug when setting a jid affiliation
2013-01-17 17:37:06 +01:00
mathieui
b06240ee7b
Improve the xml tab
...
fix refresh bugs, display the scrolling status, add an info bar, add the
global info win
2013-01-11 19:54:30 +01:00
mathieui
b0fbbc9fa9
Fix the behaviour of /move_tab
2013-01-07 23:41:34 +01:00
Florent Le Coz
229d56456b
fix a tb on /accept
2013-01-07 17:30:08 +01:00
mathieui
2ea8673a04
Improve the help system ( #1986 )
...
TODO: change the plugin API to take advantage of this
This change is backwards-compatible (as in “should not break anything”)
2013-01-06 17:36:14 +01:00
mathieui
4873bab740
Do not display messages if they have an empty body after the hook
2013-01-05 15:55:45 +01:00
mathieui
15fce04294
Do not display the messages with type=headline and an empty body
...
(thanks, jappix)
2013-01-04 10:11:58 +01:00
mathieui
68c6c06095
Prevent a RuntimeError when there are too many revisions on a message
...
Python recursion sucks, and namedtuple.repr() uses that, so I rewrote
__str__ and __repr__ in order to make it the iterative way instead.
2013-01-02 20:36:38 +01:00
mathieui
ea1851e00d
Iterate over the messages from the end, not from the start
...
(the corrected message is way more likely to be recent)
2013-01-02 19:32:32 +01:00
mathieui
d0a8304e55
Add the save_status, status, and status_message options
...
(the name show is not intuitive, so I used status and status_message)
- The status is send when connecting, and is the same used when joining
rooms
- save_status is true by default, and will make poezio save the status
whenever it changes
- status and status_message are empty by default
2013-01-02 19:07:36 +01:00
mathieui
c04fbadf2f
Add a default color for “Warning” messages
2013-01-02 01:48:55 +01:00
mathieui
17d0527cf8
Fix a traceback with corrections
2013-01-02 01:36:53 +01:00
mathieui
677b944d38
Fix a TB on /move_tab
2013-01-02 01:19:47 +01:00
mathieui
a1607c4c6e
Fix #2082 (xml:lang)
...
This is now already done in sleekxmpp, so I added a “lang” configuration
option. TODO: use the locale of the system.
2012-12-31 14:00:09 +01:00
mathieui
d15c4e0b58
Fix #2138 (send xhtml with /say and /correct)
2012-12-31 03:02:18 +01:00
mathieui
26ecafc6e5
Fix #2161
2012-12-31 02:22:28 +01:00
mathieui
f1d2aa67d0
Fix #2158
...
Fix /accept for transports.
I think there are more people who use transports than people who have
\2f into a legitimate JID. So I believe this is ok.
2012-12-30 19:43:07 +01:00
mathieui
d66cf8e1fe
Typo
2012-12-30 19:31:27 +01:00
mathieui
80c79d8b79
Fix #2189 Fix #2139 - Make /correct work properly in all chat tabs
...
#2189 wasn’t crashing, but well.
Also fix a crash with the separator and /correct
2012-12-30 19:27:59 +01:00
mathieui
7ec85ae328
Fix #2143 Fix #2056
...
Show headline messages in the info buffer, and show error messages (or
other errors) with a special style.
2012-12-30 17:40:27 +01:00
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
65e097f410
Display the number of revisions of a corrected message.
2012-12-29 13:14:50 +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
dc4e0302b4
Fix #1977
2012-12-28 20:44:49 +01:00
mathieui
8aa5828459
Fix #2174
...
/server_cycle now takes a suffix and will match all the rooms with this
same suffix. It also means that /server_cycle room@domain.tld will now only
cycle root@domain.tld instead of all the rooms of domain.tld.
2012-12-28 19:24:13 +01:00
mathieui
f2caca5f23
Fix #2153
2012-12-27 18:18:20 +01:00
mathieui
97c66b42c3
Fix the ^? for python 3.1
...
possibly lost keystrokes when there is lag, but who cares?
2012-12-27 16:22:29 +01:00
mathieui
2a145abf9b
Allow theming of the info buffer messages
...
(only the left part)
2012-12-20 19:20:30 +01:00
mathieui
2a980838a9
Fix #2186 (muc password in the config file)
...
Also use the passwords on start, and automatically use a password with
/join if there is one.
2012-12-20 18:50:34 +01:00
mathieui
519f3afe06
Fix a tb on /names (typo)
2012-12-18 13:18:49 +01:00
mathieui
cae7ccf132
try to fix the ^? issue
2012-12-18 13:02:21 +01:00
mathieui
f291d07567
Do not take 100% of the CPU when the certificate has changed
...
and let the user have a better chance to read the question entirely
2012-12-18 00:22:36 +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
Florent Le Coz
88346b965e
Fix a tb on escape and no key after it.
2012-12-16 18:16:08 +01:00
mathieui
cb900858a0
Fix the per-tab options on logs
2012-12-16 13:42:22 +01:00
mathieui
344e8c8d6c
fix a traceback when we accidentally seek() in the middle of a char
2012-12-15 23:34:28 +01:00
mathieui
423bae05b0
Really make the use_log a tab-specific option.
...
and do not read the whole log file for the last lines.
2012-12-15 23:23:12 +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
91975fd261
Fix a TB on python < 3.2
2012-12-15 21:51:14 +01:00
mathieui
4f084671d3
(should) Fix #2175 ; prevent bugs caused by tab gaps
2012-12-15 21:49:11 +01:00
mathieui
9f7a16141a
Fix #2172 (select which rooms are logged)
2012-12-15 20:29:37 +01:00
Florent Le Coz
266ba884e5
Make /w command better.
...
fix #2185
2012-12-15 19:51:07 +01:00
mathieui
4fe00ed069
Fix the '^?' characters appearing
2012-12-15 16:40:41 +01:00
Florent Le Coz
0190f9b017
In user lists, the upper line is now the upper most person.
...
This means you cannot scroll too high.
fix #2180
2012-12-15 04:33:20 +01:00
Florent Le Coz
b23e7751d2
Fix the position of the ++ indicator in muc user list when asc sort is in use.
...
fix #2181
2012-12-15 03:51:38 +01:00
Florent Le Coz
c7f4abaef6
Add support for /set <option> toggle, which toggles the current value
...
fix #2184
2012-12-15 03:28:06 +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
Florent Le Coz
fb8295c05f
Do not use COLOR_HIGHLIGHT_NICK for things not related to highlighted nicks.
2012-12-15 02:05:21 +01:00
Florent Le Coz
0ef9d3594b
Use get_wch() if available, otherwise use the old (maybe buggy) method.
...
This makes it possible to read the ctrl+arrows keys with python3.3, assign
ctrl+left/right to next/previous tab, in the default config.
2012-12-14 04:21:17 +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
e2592f5cdf
Add a new show_timestamps option to hide/show timestamps in text buffers.
2012-12-07 23:39:49 +01:00
mathieui
59be8bdd62
Sort items in /help
2012-12-05 19:40:05 +01:00
Florent Le Coz
7b9ee9cdb7
Force a resize of the interface whenever we /set something.
...
This avoid some garbage on the screen when we set an option that changes the
behaviour of the UI.
2012-11-30 15:14:47 +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
Florent Le Coz
5db9144303
Fix a byte value in the utf-8 decoding in poopt.
2012-11-30 15:14:21 +01:00