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.
- 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
- 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)
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…
- 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)
- 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
- 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)