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