Commit graph

1849 commits

Author SHA1 Message Date
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
mathieui
c2828cdd29 Make the toggle left pane permanent
previously, the change wasn’t saved
2012-09-13 09:50:48 +02:00
Florent Le Coz
ea96c40f66 An history_length of 0 was ignored (and the default length would be received) 2012-09-02 14:18:11 +02:00
Johannes Krude
affdcb07b4 added muc_history_length support 2012-09-02 14:06:04 +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
e2a62bbbe7 Give an empty name to a group if it hasn’t got one 2012-08-31 23:06:46 +02:00
mathieui
84887d17af Fix a traceback when a group has no name and a crash when dns gets interrupted
- http://pastebin.archlinux.fr/449676
2012-08-31 22:41:36 +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
a14141bcec Make optparse work 2012-08-06 15:07:38 +02:00
mathieui
100994df28 Add a fallback to optparse if argparse is not found 2012-08-06 15:01:39 +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
8c0b3f8ae5 Add a filter_info_messages option
- This option takes a list of words separated by colons
- All the messages containing those words will not be shown
2012-08-05 13:08:06 +02:00
mathieui
ec5bb3b213 Use the revision/date for the poezio version if a .git is found 2012-08-05 02:04:52 +02:00
mathieui
d723cec5eb Move from optparse (deprecated) to argparse 2012-08-05 01:50:05 +02:00
mathieui
7826511abb Do not set last activity when sending a stanza because it makes no sense 2012-08-03 17:34:39 +02:00
mathieui
0b8211fe28 Fix a traceback due to a missing '%' 2012-08-02 16:32:59 +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
0cb39b32a4 Do not generate invalid jids (e.g. localpart@domainpart/)
This is in prevision of a sleekxmpp update with JID validation.
Also, comment the “server” option in the config file a bit better.
2012-08-01 20:10:00 +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
9905646184 Various changes to the roster sorting
- Change the separator from _ to :
- Move the functions away in another module to avoir cluttering the
  roster code
- Add a case-sensitive sort (“sname”)
2012-08-01 14:42:02 +02:00
mathieui
c890fefbc4 Add an "online" contact sorting method
- put the online contacts at the beginning of the list
- allows, e.g. jid_reverse_online_reverse, to put offline contacts at
  the start of the group, in alphabetical order
2012-08-01 01:36:18 +02:00
mathieui
47c593ddaf Sort the unavailable contacts at the end of the contact list 2012-08-01 01:24:42 +02:00
mathieui
71f813af28 Add a roster_group_sort option, which works like roster_sort
- defaults to "name" (sort by group name)
- document it
- also, micro-optimize get_nb_connected_contacts()
2012-08-01 01:06:57 +02:00
mathieui
1625a4f41f Add a roster_sort option to sort the contacts inside the roster groups
- defaults to jid_show (which means that they are sorted into sub-groups
  by show and are sorted by JID inside those)
- See the default config file or the documentation for details
2012-07-31 23:40:53 +02:00
mathieui
4096e7f427 Also sort the contacts alphabetically
Contacts are first sorted alphabetically, and then sorted again
depending on their show; since the python sorts are stable, the order
will remain and the sub-groups (corresponding to one show type) will be
sorted alphabetically too.
2012-07-31 21:12:59 +02:00
mathieui
4a7f6c5eaf Sort the contacts in the roster groups by show (xa/away/…) 2012-07-31 20:51:18 +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
ec7dd75012 /bind with only one argument now resets the binding 2012-07-29 19:45:46 +02:00
Florent Le Coz
21eeef5c7b Implement the sending of underlined text in xhtml-im messages (C-c u).
Note that a portion of text can NOT have a color AND be underlined at the
same time, but it's not really tragic (see comment in source code).
2012-07-29 03:36:05 +02:00
Florent Le Coz
c9ea00b963 Fix get_conversation_by_jid when a string is passed. 2012-07-27 16:07:27 +02:00
mathieui
8a0a100bf5 Add a /self command 2012-07-26 14:15:11 +02:00
mathieui
1c29b39a6e Add a /runkey command
This allows the user to run the action defined on a key without having
to press that key. The completion completes all the available keys that
will have an effect.
2012-07-26 12:57:42 +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
c4fcf3c71a Remove the duplicate function get_tab_of_conversation_with_jid
- get_conversation_by_jid() now behaves like the removed name
2012-07-26 12:35:49 +02:00
mathieui
721367e8f7 Refactor core.py to have meaningful sections
- Put the commands and the related completions together
- Put the xmpp handlers together
- Put the curses-using functions together
2012-07-26 00:47:06 +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
82e242305d Remove the shell_completion
- completion is normal with no way to change it
(shell_completion was buggy)
- remove it in the default config and in the doc too
2012-07-19 02:09:24 +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
9322835659 Finally fix the ipv6 issues.
- with reattempt = True & max_attempts = 0
2012-07-13 02:22:25 +02:00
Florent Le Coz
d47c31a587 Properly quote the %(body)s and %(from)s used in the simple_notify plugin. 2012-07-05 00:50:47 +02:00
mathieui
73b8addafe Use no_auth instead of failed_auth event
With failed_auth, poezio was showing an error message for each
authentication mechanism tried (3, usually). This commit fixes that.
2012-07-04 00:37:34 +02:00
mathieui
267be566cd Add a new color to the theme, for the warning prompt
- Currently only used by the SSL checking prompt
- fg: black ; bg: red ; bold
2012-07-03 23:50:07 +02:00
mathieui
77e3f8893c Do not reload plugins on reconnection
If the plugins_autoload list was not empty, it caused the plugins to be
reloaded upon each reconnection (with /connect or not). Now it does not.
2012-07-03 13:44:15 +02:00
mathieui
975e0d96b2 Make /status comply with the command args rule
- if there are more args than handled, no message will be set
- fix the 'status' plugin accordingly
2012-07-03 03:55:57 +02:00
mathieui
c3f822e7b2 Remove the duplicated sort_by function in the MUCList 2012-07-03 03:32:12 +02:00
Florent Le Coz
4bc215806b Improve the simple_notify plugin and the daemon to execute a command to clean the notification and to execute the remote commands through sh -c, letting us use pipes and redirections. Also adds the highlight event for plugin, and make the simple_notify plugin use it as well. 2012-07-03 01:59:25 +02:00
mathieui
a7e3814c09 Prevent a crash when the value of custom_port is not expected 2012-06-01 22:46:21 +02:00
mathieui
262de9094a Move ^D to ^X 2012-05-29 12:35:03 +02:00
mathieui
cea0d284d9 Change version to 0.8-dev 2012-05-24 23:57:32 +02:00
mathieui
a8947a3a31 Change version to 0.7.5 2012-05-24 23:55:30 +02:00
mathieui
5e6838fd9f Truncate everything in the roster if needed.
Group names, resources jids, and bare jid/roster name combinations
are now truncated if they are bigger than the window size. If there is
a resource (for a contct) or a number of online contacts (for groups),
it will still be displayed at the end of the line.
2012-05-24 23:11:26 +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
b36247e7c9 Remove the unused “port” option.
custom_port is already used instead.
2012-05-22 20:04:41 +02:00
Florent Le Coz
3879a91112 Fix the ^I (when pasting) issue correctly this time. 2012-05-21 13:28:38 +02:00
Florent Le Coz
f525bcc1f0 Revert "Do not display ^I when pasting a tabulation char."
This reverts commit 837b46d68b.
2012-05-21 13:28:38 +02:00
mathieui
0af1c7fe9a Docstrings, and small cleanup 2012-05-21 02:14:25 +02:00
Florent Le Coz
837b46d68b Do not display ^I when pasting a tabulation char. 2012-05-20 13:54:38 +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
c77e2878b8 Do not add a '…' if the nick has the exact same size as the limit 2012-05-17 20:48:46 +02:00
mathieui
fb450a7138 Use a different theme variable for the /me message 2012-05-17 17:28:53 +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
64defba0ae Show subscription changes in the info buffer - Fixes #2234 2012-05-17 16:45:40 +02:00
mathieui
65062754e1 Fix a crash if there are no messages in the room 2012-05-17 14:11:02 +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
e86ecb3a52 Fix the “/bookmark{,_local} *” behaviour 2012-05-14 00:01:19 +02:00
mathieui
ecc40fdc5e Catch a possible exception when trying to retrieve the rgb value in curses
Fixes #2354
2012-05-13 19:01:27 +02:00
mathieui
28c15a889e Add the ignore_private and private_auto_response options
MUC-specific options.
private_auto_response is empty by default.
+ new event ignored_private
2012-05-12 20:44:38 +02:00
mathieui
5498ad37c8 Prevent iq errors & timeouts on /join completion 2012-05-10 18:22:10 +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
3dc5c5e5b5 Add a way to execute a custom command with a custom key binding
(+doc)
2012-05-10 01:26:35 +02:00
mathieui
70a724c127 Add new status & bookmarks actions 2012-05-10 01:07:59 +02:00
mathieui
5c327ef232 Allow a config to be set & created directly 2012-05-09 19:17:53 +02:00
mathieui
600af6d5a7 Fix the size of the XMLTab 2012-05-09 00:13:50 +02:00
mathieui
61d23e6da3 Add the possibility to map keys on 'actions' 2012-05-08 19:09:05 +02:00
mathieui
f2377f747b Fix some roster length issues with group folding 2012-05-08 16:14:51 +02:00
mathieui
784e608f66 Fix the duplicate messages when talking to an offline gmail contact 2012-05-07 17:09:32 +02:00
mathieui
1a81466a09 Fix some completions 2012-05-05 19:46:01 +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
7778ad9216 0030 query now says 'Poezio' or nothing for the client’s identity
(Fixes #2273)
2012-05-04 18:52:36 +02:00
mathieui
8fc6e53661 Make the visitor’s color readable (Fixes #2342) 2012-05-04 18:31:36 +02:00
mathieui
3c3750098c Remover leftover unused 'resources' property 2012-04-29 19:17:38 +02:00
mathieui
ffae7e7eb8 Trigger only the 'normal_presence' event if the contact is in the roster 2012-04-28 00:01:35 +02:00
mathieui
24341c8429 Prevent some iteration problems 2012-04-27 23:42:22 +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
mathieui
6743bb5d94 Add the new subscription handlers and update on_message() and disconnect() 2012-04-27 22:30:01 +02:00
mathieui
2c09dcf6b4 Update the got_online, got_offline, and presence handlers 2012-04-27 22:27:34 +02:00
mathieui
02ad8d4f1c New roster attributes and new subscription events 2012-04-27 22:17:32 +02:00
mathieui
774ed40e74 Necessary modifications for the API change 2012-04-27 21:58:31 +02:00
mathieui
725a2245f3 Remove some debug info 2012-04-27 21:09:26 +02:00
mathieui
8c5faa91f2 New Contact and Resource class
Changed from Resource:
    - __init__() takes as a parameter a reference to the sleek dict
    - No more setters, information is directly taken from the sleek
      roster

Changed from Contact:
    - __init__() takes a sleek RosterItem for the contact
    - add_resource() → Ø
    - remove_resource() → Ø
    - get_resource_by_fulljid() → Ø
    - get_nb_resources() → __len__()
    - get_resource_by_fulljid() → __getitem__() or get()
    - No more setters, information is directly taken from the sleek
      roster
2012-04-27 20:50:00 +02:00
mathieui
527e582fb0 New Roster class and new RosterGroup class
Removes for Roster:
    - empty() → Ø
    - get_contact_len() → Ø
    - remove_contact_from_group() → Ø
    - add_contact_to_group() → Ø
    - add_contact() → add()
    - remove_contact() → __delitem__()
    - get_contact_by_jid() → __getitem__()
    - edit_groups_of_contact() → update_contact_groups()

Removes for RosterGroup:
    - has_contact() → __contains__()
    - add_contact() → add()
    - remove_contact() → remove()
    - is_empty() → __len__()
2012-04-27 20:30:05 +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
5a1a7a567d Do not quote the plugins on completion 2012-04-19 13:08:35 +02:00
mathieui
46c197ef7f Fixes #2355 2012-04-19 01:33:16 +02:00
mathieui
abe8c0ab71 Add a show_roster_jids option 2012-04-19 00:20:03 +02:00
mathieui
9ddd2481c7 Show the current status in the ContactInfoWin 2012-04-19 00:12:41 +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
bdcddf56e1 Load xep_0092 even if send_poezio_info is false 2012-04-18 23:07:28 +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
b3c4dd93eb Add new options use_tab_nicks, show_tab_numbers, and show_tab_names
(thanks gio)
2012-04-18 15:55:24 +02:00
mathieui
384f6939cb Add a get_nick method to the tabs 2012-04-18 15:54:52 +02:00
mathieui
6b01e71462 Adda config.getl to return a lowercase value 2012-04-18 15:54:16 +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
mathieui
d049ea7534 Do not split args in command_info as it is not needed 2012-04-18 00:10:57 +02:00
mathieui
22cd80feb5 Refactor command_win a bit 2012-04-18 00:10:10 +02:00
mathieui
54a43ab132 Remove if len(list) in command_theme 2012-04-18 00:09:39 +02:00
mathieui
aef2a905d1 Refactor command_list a bit 2012-04-18 00:09:12 +02:00
mathieui
43b28a1ab0 Replace arg.split with shell_split in command_message 2012-04-18 00:07:51 +02:00
mathieui
406e24dcff Remove if len(list) in command_help 2012-04-18 00:07:22 +02:00
mathieui
265702b150 Add a way to bookmark all the rooms at once
(/bookmark * or /bookmark_local *)
2012-04-15 23:55:50 +02:00
mathieui
941acdb612 Fixes #2350 (reloading static resources on SIGHUP) 2012-04-02 18:30:06 +02:00
mathieui
4cf1acd9e4 Fixes #2349 2012-04-02 17:09:11 +02:00
mathieui
a6187895c7 Do not show the traceback if unloading a plugin failed 2012-03-31 01:28:11 +02:00
mathieui
372b032380 Should fix the refresh issue 2012-03-30 15:57:43 +02:00
mathieui
791bcf19b1 Fixes #2347 2012-03-28 23:08:31 +02:00
mathieui
b1cbbc62c8 Remove some useless refreshs 2012-03-26 15:26:03 +02:00
mathieui
418b800ad7 Do not add stanzas to the xml_tab buffer unless there an is active one 2012-03-25 14:37:40 +02:00
mathieui
3734304091 Fixes #2343 2012-03-17 13:33:00 +01:00
mathieui
c6e4358706 Fix bookmarks 2012-03-13 21:39:06 +01:00
mathieui
5ce8105ec6 Fix /affiliation 2012-03-13 21:31:36 +01:00
mathieui
27a7bfc92c Add a whitespace_interval option 2012-03-13 18:46:02 +01:00
mathieui
6d2af1116c Fix a bug in plugin unloading (commands/keys not deleted properly) 2012-03-09 23:24:29 +01:00
mathieui
4f423f1e3a Fixes #2339 2012-03-09 22:45:41 +01:00
mathieui
163efe809a Bring back /set completion 2012-03-09 22:01:28 +01:00
mathieui
5c412a66b8 Add a ca_cert_path option 2012-03-09 00:48:49 +01:00
mathieui
9d42ebdf2e Validate the SSL cert using the TOFU (Trust On First Use) model 2012-03-08 22:39:30 +01:00
mathieui
13a269d6b2 Fix a bug in the configuration writer 2012-03-08 22:38:26 +01:00
mathieui
0e18a7bc05 Fix the behaviour of /join 2012-03-07 18:07:29 +01:00
mathieui
b62940372f Fixes #2340 2012-03-07 17:46:11 +01:00
mathieui
232bc999d8 Fixes #2341 (also for /server_cycle) 2012-03-07 17:36:40 +01:00
mathieui
c04d194ad0 Fix a crash on completion_affiliation 2012-03-01 19:37:09 +01:00
mathieui
63805e59f6 Fixes #2327 (used "seconds" instead) 2012-02-29 20:31:46 +01:00
mathieui
73c8206cc7 Fourth of #2336 (fixes #2336) 2012-02-25 18:58:33 +01:00
mathieui
a1cc350f77 Second and third of #2336 2012-02-25 02:53:16 +01:00
mathieui
a98cb42cf0 First of #2336 2012-02-25 02:52:48 +01:00
mathieui
b7cbe7d392 Fixes #2334 2012-02-24 02:22:02 +01:00
mathieui
ce1c6e4ec6 Fixes #2333 2012-02-24 01:38:51 +01:00
mathieui
ae6fa61b84 Fixes #2332 2012-02-23 18:13:41 +01:00
mathieui
fb9767a803 ^S → half-screen up 2012-02-19 22:29:40 +01:00
mathieui
687b9106e7 Revert a regression on the conversation_msg event 2012-02-19 22:24:10 +01:00
mathieui
762bd953cb Add some new events for the plugins 2012-02-16 02:24:54 +01:00
mathieui
55788f6127 Add half-page scrolling (C-u / C-d) 2012-02-16 00:24:18 +01:00
mathieui
8478641ad0 Add shortcuts to browse the history one line at a time
(C-b / C-f)
2012-02-16 00:04:59 +01:00
mathieui
c7da566f0a Fixes #2324 2012-02-15 23:01:50 +01:00
mathieui
6f34260d89 Disconnected tabs remain visible until closed or rejoined
Fixes #2314
2012-02-15 22:18:18 +01:00
mathieui
a78fb1f62d Do not show joined tabs on startup
and put 0 priority to disconnected tabs
2012-02-15 21:47:09 +01:00
Florent Le Coz
695a7ebeba Merge branch 'master' of https://git.louiz.org/poezio 2012-02-15 20:10:00 +01:00
Florent Le Coz
28d790717f Add an option to configure the max nick length 2012-02-15 20:05:38 +01:00
mathieui
b89cd8fd83 Fixes #2303 (add user_list_sort option) 2012-02-14 11:49:09 +01:00
mathieui
0f5ba0a711 Fixes #2310 2012-02-14 02:53:31 +01:00
mathieui
560390793d Add 'joined' tab state, and rewrite the function handling the priorities 2012-02-14 00:33:29 +01:00
mathieui
af11058129 Fix a traceback when in debug mode 2012-02-13 20:01:11 +01:00
mathieui
be5ccce421 Useless option ssl=True (deprecated & unused) 2012-02-13 14:04:23 +01:00
mathieui
ed4f74faf1 Allow setting the affiliation of a JID, and add outcast affiliation
(also, remove the reason of the affiliation change for the time being)
2012-02-12 00:51:01 +01:00
mathieui
f76959c78c Restrict nick change for gmail users because gmail.com is buggy 2012-02-09 17:45:28 +01:00
mathieui
f96c895a8d New unified /set command (fixes #2323) 2012-02-09 16:13:45 +01:00
mathieui
6df406b7c1 Config.write_in_file() now works as expected
(can add sections, add inexistant options, and edit in place)
2012-02-09 15:45:18 +01:00
mathieui
42c8deb9e1 Remove some debugging prints 2012-02-09 11:08:14 +01:00
mathieui
93c17f8ece Fixed #2328 2012-02-07 21:47:40 +01:00
mathieui
5593fabe6c Log the private messages sent 2012-02-05 16:38:40 +01:00
mathieui
e74a640fdd Do not crash when given a link without text
(e.g <a href="example.com"/>)
2012-01-30 01:10:41 +01:00
Florent Le Coz
c9c066ae33 [Link Mauve] Add the ability to send and receive Attention (XEP-0224). 2012-01-27 19:13:04 +01:00
Florent Le Coz
dde7875d2c Merge branch 'master' of https://git.louiz.org/poezio 2012-01-27 18:27:31 +01:00
Florent Le Coz
e8b0c302fe Typo. 2012-01-27 18:26:33 +01:00
mathieui
d77e79cd6b Fixes #2312 (delay element in normal conversations) 2012-01-26 21:23:14 +01:00
mathieui
bbcd9c631c Add an auto_reconnect option 2012-01-26 17:21:13 +01:00
Florent Le Coz
7433510470 Merge branch 'master' of https://git.louiz.org/poezio
Conflicts:
	src/theming.py
	src/windows.py
2012-01-26 10:08:43 +01:00
Florent Le Coz
a3344b11b2 Handle autojoin="1" for bookmarks. 2012-01-26 10:05:37 +01:00
Florent Le Coz
d6989db025 Make /theme error more descriptive 2012-01-26 10:05:37 +01:00
Florent Le Coz
fc6db466f5 New participant list. Displaying the nick color, the affiliation, role, chatstate and status! 2012-01-26 10:05:37 +01:00
Florent Le Coz
7512001612 Make the color for information messages themable 2012-01-26 10:05:37 +01:00
Florent Le Coz
5924cd4a13 Remove all the .replace('"', '\\"') which are useless since the new
way to express colors in messages.
2012-01-26 10:05:36 +01:00
Florent Le Coz
7d5fa2a316 Fix the comments in the theming.py file 2012-01-26 10:05:36 +01:00
Florent Le Coz
e17b70e285 Display colors for /me messages in a better way. 2012-01-26 10:05:36 +01:00
mathieui
3d7d7425ee Do not quotify topic completion 2012-01-26 10:05:36 +01:00
mathieui
2240916efe Fixes #2319 2012-01-26 10:05:36 +01:00
mathieui
88f7e690bd Fix the alias plugin 2012-01-26 10:05:36 +01:00
Florent Le Coz
83abd9f196 Add a simple_notify plugin
And also fix some issues, like the split of the exec_command arguments.
And the doc for the plugin, too.
2012-01-26 10:05:35 +01:00
mathieui
13430de1f4 Fix the resize issues with the /configure tab 2012-01-26 10:05:35 +01:00
mathieui
765f1807a9 Fix various issues with the /configure tab
Vertical tab list, text not erased from previous tab
2012-01-26 10:05:35 +01:00
mathieui
adf3cfe694 Fix a little incoherence in /query 2012-01-26 10:05:35 +01:00
mathieui
91698b6f1b Fix the completion for /decline and /invite 2012-01-26 10:05:35 +01:00
mathieui
f1fae6b387 Add a /invites command 2012-01-26 10:05:34 +01:00
mathieui
825d5a6dd1 Beep when receiving a MUC invitation (by default) 2012-01-26 10:05:34 +01:00
Florent Le Coz
3d9193509e Make non-remote commands work. 2012-01-26 10:05:34 +01:00
Florent Le Coz
fe00f0eb23 ALWAYS display affiliation or role changes, in MucTabs. fixes #2309 2012-01-26 10:05:34 +01:00
Florent Le Coz
edf2392fcf Avoid a traceback on focusing a PrivateTab from a MucTab we already left. fixed #2308 2012-01-26 10:05:34 +01:00
mathieui
0d5b96fd8d Improve /names command 2012-01-26 10:05:34 +01:00
Florent Le Coz
ef72674102 Add manfraid to thanks section. 2012-01-26 10:05:33 +01:00
Florent Le Coz
cf1cdd1834 Fix sorting columns when a room has no name. (we use '' instead of None) 2012-01-26 10:05:33 +01:00
Florent Le Coz
5fe3c49d40 /recolor random works correctly. 2012-01-26 10:05:33 +01:00
manfraid
73e9d83711 Fixe 2104 2012-01-26 10:05:33 +01:00
Florent Le Coz
94140aba91 Fix a crash on empty command in muclisttab 2012-01-26 10:05:33 +01:00
mathieui
80047cdebe Fixes #2241 2012-01-26 10:05:33 +01:00
Florent Le Coz
23fa1df9ed show_tab_names option lets you display the name of the tabs in the horizontal bar 2012-01-26 10:05:33 +01:00
mathieui
8eea23f7d7 Fix a traceback when using ^W with xhtml-im
(it does not work perfectly as it should, but it doesn’t crash anymore, at least)
2012-01-26 10:05:32 +01:00
mathieui
4d7a11e238 Add an XML tab (/xml_tab) to view incoming/outgoing stanzas
Fixes #2074
2012-01-26 10:05:32 +01:00
mathieui
a1575237fd Python 3.0/.1 compatibility 2012-01-26 10:05:32 +01:00
mathieui
3d879a6677 Curses operations must operate within the lock 2012-01-26 10:05:32 +01:00
Florent Le Coz
8e2e1fcd4e We can now configure each conversation independently, for some options.
Fixed #2039.
2012-01-26 10:05:32 +01:00
mathieui
17fdd5d606 Fixes #2316 2012-01-25 18:14:07 +01:00
mathieui
7ba6061362 Add affiliation chars in the theme 2012-01-25 17:51:11 +01:00
Florent Le Coz
561af013b1 New participant list. Displaying the nick color, the affiliation, role, chatstate and status! 2012-01-24 17:07:04 +01:00
Florent Le Coz
99a16f2b86 Make the color for information messages themable 2012-01-24 15:46:51 +01:00
Florent Le Coz
1f7db8cfaa Remove all the .replace('"', '\\"') which are useless since the new
way to express colors in messages.
2012-01-24 15:18:08 +01:00
Florent Le Coz
09f16804a3 Fix the comments in the theming.py file 2012-01-24 15:17:54 +01:00
Florent Le Coz
c1dd012b7a Merge branch 'master' of http://git.louiz.org/poezio 2012-01-24 14:49:58 +01:00
Florent Le Coz
7425231f47 Display colors for /me messages in a better way. 2012-01-24 14:49:03 +01:00
mathieui
d4ec0ba442 Do not quotify topic completion 2012-01-21 00:06:18 +01:00
mathieui
1f9a6f5883 Fixes #2319 2012-01-15 16:40:49 +01:00
mathieui
92d96f3f36 Fix the alias plugin 2012-01-11 18:13:32 +01:00
Florent Le Coz
5fee56440c Add a simple_notify plugin
And also fix some issues, like the split of the exec_command arguments.
And the doc for the plugin, too.
2012-01-10 16:30:59 +01:00
mathieui
62c4f67ea5 Fix the resize issues with the /configure tab 2011-12-29 18:55:43 +01:00
mathieui
3c4b2e9683 Fix various issues with the /configure tab
Vertical tab list, text not erased from previous tab
2011-12-28 23:32:23 +01:00
mathieui
4c5c3101a2 Fix a little incoherence in /query 2011-12-19 17:19:18 +01:00
mathieui
08b374cb29 Fix the completion for /decline and /invite 2011-12-18 20:43:40 +01:00
mathieui
2ed6b20594 Add a /invites command 2011-12-18 20:35:19 +01:00
mathieui
9e7842d014 Beep when receiving a MUC invitation (by default) 2011-12-18 20:16:19 +01:00
Florent Le Coz
0b2037a67c Make non-remote commands work. 2011-12-15 20:29:20 +01:00
Florent Le Coz
a6b1a1d4d8 ALWAYS display affiliation or role changes, in MucTabs. fixes #2309 2011-12-12 20:31:05 +01:00
Florent Le Coz
df6a8a0cc3 Avoid a traceback on focusing a PrivateTab from a MucTab we already left. fixed #2308 2011-12-12 20:04:39 +01:00
mathieui
1b30cd09a7 Improve /names command 2011-12-10 16:36:18 +01:00
Florent Le Coz
3958b112ad Add manfraid to thanks section. 2011-12-09 14:06:57 +01:00
Florent Le Coz
a25b39777c Fix sorting columns when a room has no name. (we use '' instead of None) 2011-12-09 13:56:55 +01:00
Florent Le Coz
77ecd70274 /recolor random works correctly. 2011-12-09 13:56:55 +01:00
manfraid
02099123b0 Fixe 2104 2011-12-09 13:56:55 +01:00
mathieui
0954c12a07 Add a /remove_bookmark command 2011-11-28 16:28:44 +01:00
mathieui
5abf8ab3ae Add a /bookmarks command 2011-11-28 16:09:44 +01:00
mathieui
72eeba42a2 Fix the informations displayed on /bookmark and /bookmark_remote 2011-11-28 16:02:30 +01:00
mathieui
4bab9d4216 Some function rewriting and docstrings for bookmark.py 2011-11-27 20:24:44 +01:00
mathieui
a257681b9f Add a Bookmark.local() method for local bookmarks 2011-11-27 17:46:20 +01:00
mathieui
24b9931b8b It would be silly to erase the remote bookmarks when we just want not to use them 2011-11-27 17:38:01 +01:00
mathieui
96a9a88384 Add a new option 'use_remote_bookmarks' to force local bookmarks if
needed
2011-11-27 13:02:08 +01:00
mathieui
ea0f191555 Fix a tb in save_local() 2011-11-27 12:59:06 +01:00
mathieui
fe06d58e74 Completion for /bookmark and /bookmark_local 2011-11-26 23:29:39 +01:00
mathieui
f1a637f24b Add a new /bookmark_local command (that acts like the old one)
And modify the /bookmark command to send bookmarks online
2011-11-26 23:28:42 +01:00
mathieui
d2726c8892 Adapt the startup to the new bookmarks system 2011-11-26 23:27:42 +01:00
mathieui
4ce8721c3d Default to privatexml instead of pep for bookmarks storage
(since private xml sadly has a better support)
2011-11-26 23:26:15 +01:00
mathieui
97aaeb1d13 Load the XEP-0048 plugin on startup 2011-11-26 23:09:51 +01:00
mathieui
2ff8e40c22 Add stanza generators for the <storage/> element 2011-11-26 23:09:03 +01:00
mathieui
68c0ddeb29 Add save() methods to save bookmarks in every way 2011-11-26 23:08:41 +01:00
mathieui
1d5b331663 Add get_ methods to retrieve bookmarks locally/w/pubsub/privatexml 2011-11-26 23:07:31 +01:00
mathieui
2f5ecf24b7 Add a parser from xml Element to Bookmark 2011-11-26 23:06:11 +01:00
mathieui
64b8970d25 Enhance the Bookmark class 2011-11-26 23:05:09 +01:00
mathieui
2eaa540589 Add a Bookmark class 2011-11-26 15:47:41 +01:00
Florent Le Coz
bab0a143a3 Fix an error on data_forms tab 2011-11-25 22:13:20 +01:00
Florent Le Coz
67419b4a7f Fix split of args for /groupadd 2011-11-25 21:54:40 +01:00