Commit graph

1468 commits

Author SHA1 Message Date
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