summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/default_config.cfg5
-rw-r--r--doc/en/configure.txt6
-rw-r--r--src/tabs.py19
-rw-r--r--src/windows.py2
4 files changed, 26 insertions, 6 deletions
diff --git a/data/default_config.cfg b/data/default_config.cfg
index 489f9915..9c0c7052 100644
--- a/data/default_config.cfg
+++ b/data/default_config.cfg
@@ -147,6 +147,11 @@ information_buffer_popup_on = error roster warning help info
# one line, the popup will stay visible two second per additional lines
popup_time = 4
+# Whether to hide the list of user in the MultiUserChat tabs or not. Useful
+# for example if you want to copy/paste the content of the buffer, or if you
+# want to gain space
+hide_user_list = false
+
# A list of words (or sentences) separated by colons (":"). All the
# informational messages (described above) containing at least one of those
# values will not be shown.
diff --git a/doc/en/configure.txt b/doc/en/configure.txt
index dee45931..8e487f14 100644
--- a/doc/en/configure.txt
+++ b/doc/en/configure.txt
@@ -196,6 +196,12 @@ section of this documentation.
If the message takes more than one line, the popup will stay visible
two more second per additional lines
+*hide_user_list*:: false
+
+ Whether to hide the list of user in the MultiUserChat tabs or not. Useful
+ for example if you want to copy/paste the content of the buffer, or if you
+ want to gain space
+
*filter_info_messages*:: [empty]
A list of words or sentences separated by colons (":"). All the
diff --git a/src/tabs.py b/src/tabs.py
index a76489ea..0d99e19c 100644
--- a/src/tabs.py
+++ b/src/tabs.py
@@ -1157,12 +1157,15 @@ class MucTab(ChatTab):
if not self.visible:
return
self.need_resize = False
- text_width = (self.width//10)*9
+ if config.get("hide_user_list", "false") == "true":
+ text_width = self.width
+ else:
+ text_width = (self.width//10)*9
+ self.user_win.resize(self.height-3-self.core.information_win_size - Tab.tab_win_height(), self.width-(self.width//10)*9-1, 1, (self.width//10)*9+1)
self.topic_win.resize(1, self.width, 0, 0)
self.v_separator.resize(self.height-2 - Tab.tab_win_height(), 1, 1, 9*(self.width//10))
self.text_win.resize(self.height-3-self.core.information_win_size - Tab.tab_win_height(), text_width, 1, 0)
self.text_win.rebuild_everything(self._text_buffer)
- self.user_win.resize(self.height-3-self.core.information_win_size - Tab.tab_win_height(), self.width-text_width-1, 1, text_width+1)
self.info_header.resize(1, self.width, self.height-2-self.core.information_win_size - Tab.tab_win_height(), 0)
self.input.resize(1, self.width, self.height-1, 0)
@@ -1172,8 +1175,9 @@ class MucTab(ChatTab):
log.debug(' TAB Refresh: %s',self.__class__.__name__)
self.topic_win.refresh(self.get_single_line_topic())
self.text_win.refresh()
- self.v_separator.refresh()
- self.user_win.refresh(self.users)
+ if config.get("hide_user_list", "false") == "false":
+ self.v_separator.refresh()
+ self.user_win.refresh(self.users)
self.info_header.refresh(self, self.text_win)
self.refresh_tab_win()
self.info_win.refresh()
@@ -1248,10 +1252,13 @@ class MucTab(ChatTab):
def on_info_win_size_changed(self):
if self.core.information_win_size >= self.height-3:
return
- text_width = (self.width//10)*9
+ if config.get("hide_user_list", "false") == "true":
+ text_width = self.width
+ else:
+ text_width = (self.width//10)*9
+ self.user_win.resize(self.height-3-self.core.information_win_size - Tab.tab_win_height(), self.width-(self.width//10)*9-1, 1, (self.width//10)*9+1)
self.text_win.resize(self.height-3-self.core.information_win_size - Tab.tab_win_height(), text_width, 1, 0)
self.info_header.resize(1, self.width, self.height-2-self.core.information_win_size - Tab.tab_win_height(), 0)
- self.user_win.resize(self.height-3-self.core.information_win_size - Tab.tab_win_height(), self.width-text_width-1, 1, text_width+1)
def handle_presence(self, presence):
from_nick = presence['from'].resource
diff --git a/src/windows.py b/src/windows.py
index 751c6c39..1b23cd03 100644
--- a/src/windows.py
+++ b/src/windows.py
@@ -227,6 +227,8 @@ class UserList(Win):
def refresh(self, users):
log.debug('Refresh: %s',self.__class__.__name__)
+ if config.get("hide_user_list", "false") == "true":
+ return # do not refresh if this win is hidden.
with g_lock:
self._win.erase()
if config.get('user_list_sort', 'desc').lower() == 'asc':