aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2013-09-10 11:09:24 +0200
committerMattias Andrée <maandree@operamail.com>2013-09-10 11:09:24 +0200
commitda4dfd746e3d04b22cb6f8ac40c3e800d3f7fa8e (patch)
tree241c39fb30a9368e0e4d7f5ed7b6825f429d710c
parentprint number of hidden lines (diff)
downloadpytagomacs-da4dfd746e3d04b22cb6f8ac40c3e800d3f7fa8e.tar.gz
pytagomacs-da4dfd746e3d04b22cb6f8ac40c3e800d3f7fa8e.tar.bz2
pytagomacs-da4dfd746e3d04b22cb6f8ac40c3e800d3f7fa8e.tar.xz
fix some cursur issues and screen offset issues
Signed-off-by: Mattias Andrée <maandree@operamail.com>
-rw-r--r--src/editor.py12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/editor.py b/src/editor.py
index d2117cb..f09c5b2 100644
--- a/src/editor.py
+++ b/src/editor.py
@@ -84,7 +84,7 @@ class TextArea():
self.killring = Killring()
data = lambda field : datamap[field] if field in datamap else ''
self.lines = [TextArea.Line(self, self.fields[y], data(self.fields[y]), y) for y in range(len(self.fields))]
- self.areawidth = self.width - self.innerleft - self.left + 1
+ self.areawidth = self.width - self.innerleft
self.y, self.offy, self.x, self.offx, self.mark = 0, 0, 0, 0, None
self.last_alert, self.last_status, self.alerted = None, None, False
@@ -301,16 +301,14 @@ class TextArea():
self.area.x = x
if delta < 0:
if self.area.offx > self.area.x:
- self.area.offx = max(self.area.x - self.area.areawidth, 0)
+ self.area.offx = max(self.area.x - 3 * self.area.areawidth // 4, 0)
self.draw()
- self.jump(self.area.x - self.area.offx)()
else:
print('\033[%iD' % -delta, end='')
elif delta > 0:
if self.area.x - self.area.offx > self.area.areawidth:
- self.area.offx = self.area.x
+ self.area.offx = self.area.x - self.area.areawidth // 4
self.draw()
- self.jump(0)()
else:
print('\033[%iC' % delta, end='')
return delta != 0
@@ -369,7 +367,7 @@ class TextArea():
def limit_text(self, text):
- max_len = self.width - self.left
+ max_len = self.width
if len(text) > max_len:
text = text[:max_len - 1] + '…'
return text
@@ -383,7 +381,7 @@ class TextArea():
txt = ' (' + text + ') '
y = self.top + self.y - self.offy
x = self.left + self.innerleft + self.x - self.offx
- dashes = max(self.width - len(txt) - self.left, 0)
+ dashes = max(self.width - len(txt), 0)
Jump(self.top + self.height - 2, self.left)()
print('\033[7m%s-\033[27m%s' % (self.limit_text(txt + '-' * dashes), Jump(y, x)), end='')
self.last_status = text