summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core.py10
-rw-r--r--src/tabs.py18
2 files changed, 28 insertions, 0 deletions
diff --git a/src/core.py b/src/core.py
index 91f69813..f9ae4198 100644
--- a/src/core.py
+++ b/src/core.py
@@ -158,6 +158,8 @@ class Core(object):
"KEY_NPAGE": self.scroll_page_down,
"^B": self.scroll_line_up,
"^F": self.scroll_line_down,
+ "^D": self.scroll_half_down,
+ "^U": self.scroll_half_up,
"KEY_F(5)": self.rotate_rooms_left,
"^P": self.rotate_rooms_left,
'kLFT3': self.rotate_rooms_left,
@@ -1140,6 +1142,14 @@ class Core(object):
self.current_tab().on_line_down()
self.refresh_window()
+ def scroll_half_up(self, args=None):
+ self.current_tab().on_half_scroll_up()
+ self.refresh_window()
+
+ def scroll_half_down(self, args=None):
+ self.current_tab().on_half_scroll_down()
+ self.refresh_window()
+
def get_error_message_from_error_stanza(self, stanza):
"""
Takes a stanza of the form <message type='error'><error/></message>
diff --git a/src/tabs.py b/src/tabs.py
index f9032b6e..55e3154c 100644
--- a/src/tabs.py
+++ b/src/tabs.py
@@ -324,6 +324,18 @@ class Tab(object):
"""
pass
+ def on_half_scroll_down(self):
+ """
+ Defines what happens when we scroll half a screen down
+ """
+ pass
+
+ def on_half_scroll_up(self):
+ """
+ Defines what happens when we scroll half a screen up
+ """
+ pass
+
def on_info_win_size_changed(self):
"""
Called when the window with the informations is resized
@@ -529,6 +541,12 @@ class ChatTab(Tab):
def on_scroll_down(self):
self.text_win.scroll_down(self.text_win.height-1)
+ def on_half_scroll_up(self):
+ self.text_win.scroll_up((self.text_win.height-1) // 2)
+
+ def on_half_scroll_down(self):
+ self.text_win.scroll_down((self.text_win.height-1) // 2)
+
class MucTab(ChatTab):
"""