Commit graph

1638 commits

Author SHA1 Message Date
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
mathieui
9e0fe54a49 Fix the timedelta for python 3.1 2012-11-23 09:01:35 +01:00
mathieui
ba569630f7 Revert "Fix #2151 (cannot reload the OTR plugin)"
Importlib is utterly broken in python < 3.3, So revert for now

This reverts commit a1c3d0dcdf.

Conflicts:
	src/plugin_manager.py
2012-11-22 20:16:16 +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
d3e1f8085e Hack to make importlib work on python < 3.3 2012-11-21 23:30:59 +01:00
mathieui
70d389ade7 Fix #2154 2012-11-18 18:08:03 +01:00
mathieui
d8b12a35df For some reasons, importlib.machinery does not work on some platforms 2012-11-18 13:46:50 +01:00
mathieui
27b7219b79 Changes to the plugin_dir option are now taken into account on runtime 2012-11-17 23:06:21 +01:00
mathieui
a1c3d0dcdf Fix #2151 (cannot reload the OTR plugin)
We were using the deprecated imp methods, now we use importlib
2012-11-17 23:03:38 +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
743ec0f135 Fix a traceback when opening a conversation with a resource from the roster 2012-11-05 14:11:53 +01:00
Florent Le Coz
bcd6976cd5 Catch IqTimeout exception when removing a contact from the roster. 2012-11-05 13:54:02 +00:00
Florent Le Coz
a536c1dc4f Make the Executor class reliable.
Plugins do not need to escape the command arguments or remove the line
breaks and care about how the will get parsed anymore, they just need to
pass a list of args.

Do not spawn an additional shell, for more clarity, simplicity and possibly
security.
2012-10-22 17:14:21 +02:00
mathieui
36c02ef058 Fix a refresh issue with /message 2012-10-15 19:56:15 +02:00
mathieui
59df2d3e94 Fixes #2368 (/join /nick not working) 2012-10-15 15:28:59 +02:00
mathieui
5006b649d6 Prettify the /names command 2012-10-15 14:48:08 +02:00
mathieui
cbaa469298 Fix the number of connected contacts/total number in the roster 2012-10-15 14:32:08 +02:00
mathieui
6eac689993 Put back the “truc@chose.com is now online” messages 2012-10-15 14:27:10 +02:00
mathieui
8b50961de9 Fix a traceback on completion_version 2012-10-14 21:37:21 +02:00
mathieui
931835e22b Rename /connect to /reconnect and make it rostertab-only 2012-10-14 20:24:47 +02:00
mathieui
15dea2f3e8 Also add the decorators module 2012-10-14 19:22:52 +02:00
mathieui
d0545fb021 Do not display "None" in the /self command 2012-10-14 19:20:51 +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
Florent Le Coz
264f6c6c2f Do not quotify the status in /status command. 2012-10-14 16:27:15 +00:00
Florent Le Coz
ac7231db63 Correctly use MORE instead of PLUS. 2012-10-14 16:27:06 +00:00
mathieui
21caf36ea4 Fix a refresh issue on space in the roster 2012-10-14 15:42:55 +02:00
mathieui
25bb3501ec Should boost the roster speed
- use a generator instead of a listcomp
- don’t use a JID for the resource
2012-10-14 15:31:48 +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
mathieui
61bf29db8e Fixes #2380 (traceback on /invite) 2012-10-13 15:06:06 +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
a6699a1404 Transform a char (\xf1) into what we meant (Ctrl+/, apparently).
If we try to send that, we get disconnected…
2012-10-09 06:07:28 +00:00
Florent Le Coz
b50acaae0b Send a real \t when pasting a text containing tabs. 2012-10-09 06:00:43 +00:00
Florent Le Coz
c9a244ceb0 Refresh less often when entering text. 2012-10-09 05:05:06 +00:00
Florent Le Coz
653695498a Separate special keys from normal chars when receving a batch of chars.
In case of lags or paste of text, the input can yield a list of chars
instead of just one char. In case of lags, keyboard special keys
(KEY_BACKSPACE, ^W, etc) are mixed with other “normal” chars ('a', 'b', 'D',
' ' etc). Instead of handling that whole batch in one go (which requires us
to ignore all the special keys, otherwise they would be displayed in the
input, which are both bad ways to handle that), we separate special keys
from the normal ones, and we handle that big batch as one or more smaller
batches.  This should make the input behave correctly in case of lag AND in
case of paste of huge text (only one refresh per batch, respond instantly,
no key lost or ignored, etc)

fixed #2365
2012-10-09 04:35:02 +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
e480d8418a Prevent special keys to appear in the input when lagging 2012-09-27 19:48:28 +02:00
mathieui
020e6478e3 Fix the bug of Alt-e (go to important room) 2012-09-27 19:08:59 +02:00
mathieui
7ba3075516 Add a /move_tab command
And break it down into understandable functions
2012-09-26 02:20:21 +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