Commit graph

2412 commits

Author SHA1 Message Date
mathieui
950a864d2f Move the Windows from the DataFormsTab to the windows directory 2014-05-05 23:27:03 +02:00
mathieui
2f629ee686 Split the windows.py module into a subdirectory 2014-05-05 23:16:33 +02:00
mathieui
109e86cbab Fix a potential traceback when creation of the plugins conf dir fails
(error during error handling)
2014-05-05 23:04:13 +02:00
mathieui
c9059b98c7 Fix a traceback on adhoc error 2014-05-05 23:01:03 +02:00
mathieui
c5b85d3b5d Fix a traceback on the listtab 2014-05-05 20:13:57 +02:00
mathieui
9c8d577737 Revert "Fix #2072 (only resize a tab if the size changed since the last display)"
This reverts commit b46f0f5e26.

Conflicts:
	src/tabs/muclisttab.py

Doing this made the unresized elements refresh in the old subwins,
causing glitches and weirdness. And anyway, the only problematic
element is the TextWin (rebuilding all the lines of a buffer is
expensive), but it already checks if the width changed.
2014-05-05 20:01:04 +02:00
mathieui
b8972ad940 Fix a traceback when creating a gaptab 2014-05-05 00:01:09 +02:00
mathieui
5cfe79e5e1 Do not beep in a MUC if we receive a message from one of our resources
happens when beep_on contains "message".

thanks eijebong
2014-05-04 23:31:25 +02:00
Florent Le Coz
7378ea96d3 Make the inputs bigger in DataForm, to be able to see long values more easily 2014-05-04 21:05:47 +02:00
Florent Le Coz
ce90a37249 Remove a useless copyright notice 2014-05-04 21:05:47 +02:00
Florent Le Coz
3858273084 Fix two tb in the DataFormTab
- when list-multi doesn't have selected values at all
- text-multi.options() provided by sleekxmpp is apparently a '\n' separated
  string, and not a list
2014-05-04 21:05:47 +02:00
Florent Le Coz
d78b7df68b Implement the execution of ad-hoc commands (#1832) 2014-05-04 21:05:47 +02:00
Florent Le Coz
bbc55fa40e Add the /ad-hoc <jid> command to list commands of the given jid 2014-05-04 21:05:47 +02:00
Florent Le Coz
36620901e8 Create a more generic ListTab class, and make MucListTab inherite from it 2014-05-04 21:05:47 +02:00
mathieui
b46f0f5e26 Fix #2072 (only resize a tab if the size changed since the last display) 2014-05-03 02:27:19 +02:00
mathieui
ea935ded09 Highlight the newlines characters in the input instead of plain "|"s 2014-05-03 02:12:05 +02:00
mathieui
db7fc6abb2 Fix an infinite recursion error on recursive aliases 2014-05-02 12:43:56 +02:00
mathieui
d1e33e1863 Make the FormWin handle resize properly
(also, wrap one forgotten call to curses funcs)
2014-05-02 03:01:13 +02:00
Florent Le Coz
b080c53ac4 Scroll the FormWin when resize moves the current line out of the visible area 2014-05-01 16:40:00 +02:00
Florent Le Coz
16d80a2f25 FormWin now scrolls when needed, as the cursor is moved up and down 2014-05-01 16:33:44 +02:00
Florent Le Coz
f7a5847f75 Move data_forms in the tabs directory 2014-05-01 05:24:50 +02:00
mathieui
c287a959b4 Fix bugs in the previous/next highlight functions 2014-05-01 02:28:01 +02:00
mathieui
48e59d377f Fix #2282 (change the terminal title depending on the tab name)
- change_title plugin
2014-04-30 21:55:19 +02:00
mathieui
c1d19fa548 Set the terminal title to "poezio" by default 2014-04-30 21:54:25 +02:00
mathieui
bbdc14aaa5 Remove Tab.get_name() and use Tab.name instead
(keep a get_name() fallback just in case for now)
2014-04-30 21:34:09 +02:00
mathieui
d859ec2ea1 Add a 'tab_change' event 2014-04-30 20:37:18 +02:00
mathieui
4e4ab569cf Fix #2447 (OTR & HTML) -- partial WONTFIX
- Guess-parse the OTR messages in search for xhtml upon arrival
- add a configurable option to decode it or not
- We have XHTML-IM for a reason, and therefore we will *not* implement a
  full html parser for clients that dump whatever formatting inside the
  OTR payload (looking at you, pidgin)
2014-04-30 01:55:23 +02:00
mathieui
c3dd20fc74 Fix #2510 (link displayed twice in xhtml-im)
- also, fix the /xhtml command that was nesting one <body/> too many
2014-04-30 00:43:21 +02:00
mathieui
5f0afab060 Do not ask for receipts in messages without a body 2014-04-29 22:14:03 +02:00
mathieui
793b78f009 Fix a traceback in /topic (with no argument) 2014-04-29 03:12:57 +02:00
mathieui
6391d97b3a Fix most UI issues with introduced in 0caf941 2014-04-29 02:20:06 +02:00
mathieui
9e72f8336d Add the size manager (forgotten in the previous commits) 2014-04-29 00:29:54 +02:00
mathieui
8241f5d6fc Update CHANGELOG
(also, fix a traceback-typo)
2014-04-28 23:37:42 +02:00
mathieui
0caf9417b2 Make the size modular, remove small-size lock (also seems to fix #2155)
some stuff is now hidden wen the window size gets too small (might need
some adjustments). The info buffer in the roster tab, the userlist in
mucs, the vertical tab list, the info buffer everywhere, etc…
2014-04-28 23:29:21 +02:00
mathieui
069283e349 Don’t escape backslashes unless we are inside a quoted string and the next char is a quote
Sadly, we can’t doctest stuff with backslashes because it drives doctest
crazy.
2014-04-28 00:20:57 +02:00
mathieui
31716565a7 Provide our own wrapper for checking the host category (ref #2511?)
xmpp.plugin['xep_0030'].has_identity appears to be unreliable at best,
so we provide our own.

Might help the case of carbons not displayed.
2014-04-27 22:38:24 +02:00
mathieui
3fb3d8db3d Fix memleaks in pooptmodule.cut_text (ref #1914)
- we need to decrement the refcount after giving the tuple to the
  retlist in order to transfer ownership

The example script below will quickly take gigabytes of ram with the
old module, while the new will not take noticeably more memory.

The leak is not very visible on launch, because we “only” leaked each
tuple returned, and (int, int) is not heavy. However, after weeks of
use and many messages, the memory still isn’t freed and it shows.

import poopt
import gc

a = 'coucouco ' * 1000
for i in range(100000):
    if not (i % 10000):
        print(i)
    poopt.cut_text(a, 50)
2014-04-27 21:38:29 +02:00
mathieui
5999b71c41 Fix #2106 (implement message delivery receipts)
- two options request/ack_message_receipts
- two new theme parameters : CHAR_ACK_RECEIVED and COLOR_CHAR_ACK
- if a message has a receipt, the character is displayed between the
  timestamp and the nick, using the color
2014-04-27 16:32:03 +02:00
mathieui
60224bb76a Fix weird behavior while using the input in the muclisttab 2014-04-27 02:17:00 +02:00
mathieui
3cb2c8351a Fix a resize issue when vertical tab list options are set from the roster 2014-04-27 01:59:02 +02:00
mathieui
fea4f95de9 80-columns wrap for MucTab and fix some completions
- fix the /version completion with spaces
- fix the /unignore completion with spaces
2014-04-26 23:49:52 +02:00
mathieui
0d5d36465c Document /recolor random with /help too 2014-04-26 14:41:19 +02:00
mathieui
4172a79117 Fix #2514 (add a /toggle command) 2014-04-26 14:27:02 +02:00
mathieui
1f0ff4f0c3 Fix #2444 (implement room destroy)
- destroy the current room if no parameter
- destroy the room given as a parameter if any
- no reason or alt room because it would be ambiguous in a command
  (implementation ideas welcome)
2014-04-26 14:05:28 +02:00
mathieui
4c4e2083a6 Fix the nickname of server-generated messages 2014-04-26 11:50:00 +02:00
mathieui
947cd13107 Disable 0198 for now because we will properly implement it later 2014-04-26 11:49:11 +02:00
mathieui
4a26dea66d Fix #2516 (display error with carbons)
- fix the bug where messages from our own jid were incorrectly displayed
- the nick is now fixed for the whole conversation
2014-04-25 20:48:40 +02:00
mathieui
b85a3d1c8e Update CHANGELOG 2014-04-25 20:13:43 +02:00
mathieui
98914b8b0a Fix a traceback when sorting a listwin 2014-04-24 23:39:12 +02:00
mathieui
1bd9f78fe6 Improve src/theming.py (print the colors and do not pollute the terminal) 2014-04-24 21:26:13 +02:00