aboutsummaryrefslogtreecommitdiffstats
path: root/termcast_server/termcast.py
diff options
context:
space:
mode:
Diffstat (limited to 'termcast_server/termcast.py')
-rw-r--r--termcast_server/termcast.py29
1 files changed, 20 insertions, 9 deletions
diff --git a/termcast_server/termcast.py b/termcast_server/termcast.py
index 1bb6d15..8858fb3 100644
--- a/termcast_server/termcast.py
+++ b/termcast_server/termcast.py
@@ -73,6 +73,10 @@ class Handler(object):
"contents": cell.contents(),
"fgcolor": cell.fgcolor().color(),
"bgcolor": cell.bgcolor().color(),
+ "bold": cell.bold(),
+ "italic": cell.italic(),
+ "underline": cell.underline(),
+ "inverse": cell.inverse(),
})
return term
@@ -83,18 +87,25 @@ class Handler(object):
for j in range(0, self.cols):
cell = self.vt.cell(i, j)
prev_cell = screen[i][j]
- contents = cell.contents()
- fgcolor = cell.fgcolor().color()
- bgcolor = cell.bgcolor().color()
- if contents != prev_cell["contents"] or fgcolor != prev_cell["fgcolor"] or bgcolor != prev_cell["bgcolor"]:
+ cur_cell = {
+ "contents": cell.contents(),
+ "fgcolor": cell.fgcolor().color(),
+ "bgcolor": cell.bgcolor().color(),
+ "bold": cell.bold(),
+ "italic": cell.italic(),
+ "underline": cell.underline(),
+ "inverse": cell.inverse(),
+ }
+ cell_changes = {}
+ for key in cur_cell:
+ if cur_cell[key] != prev_cell[key]:
+ cell_changes[key] = cur_cell[key]
+
+ if len(cell_changes) > 0:
changes.append({
"row": i,
"col": j,
- "cell": {
- "contents": contents,
- "fgcolor": fgcolor,
- "bgcolor": bgcolor,
- },
+ "cell": cell_changes,
})
return changes