Commit graph

12 commits

Author SHA1 Message Date
Andreas Kling
dff70021ab Make it possible to invalidate only a portion of a window.
Use this in Terminal to only invalidate rows where anything changed.
2019-01-18 04:37:49 +01:00
Andreas Kling
dad58db757 Add WindowActivated and WindowDeactivated events.
Use this to implement different looking Terminal cursors depending on
the window active state.
2019-01-17 17:38:04 +01:00
Andreas Kling
135ff48bb9 Terminal: Tighten the glyph rects.
This makes the cursor look a bit nicer.
2019-01-17 16:34:37 +01:00
Andreas Kling
5983a217c3 Terminal: Draw the terminal cursor. 2019-01-17 16:19:49 +01:00
Andreas Kling
7750e6952b Move some more classes to the new coding style. 2019-01-16 17:57:58 +01:00
Andreas Kling
d0137f0e96 Terminal: optimize repaints a bunch.
We track dirty character cells + pending whole-terminal scrolls.
This drastically reduces the number of pixels pushed.
2019-01-15 10:23:15 +01:00
Andreas Kling
a8e42bacf4 Minor Terminal tweaks. 2019-01-15 07:57:30 +01:00
Andreas Kling
d14ec951ea Terminal: Add some inset and line spacing.
This is starting to feel vaguely usable! :^)
2019-01-15 07:39:51 +01:00
Andreas Kling
c24f543a57 Terminal: basic ANSI color support. 2019-01-15 07:30:24 +01:00
Andreas Kling
2f74c2f430 Add basic PTY support.
For now, there are four hard-coded PTYs: /dev/pt{m,s}[0123]
Use this in the Terminal to open a pty pair and spawn a shell.
2019-01-15 06:30:19 +01:00
Andreas Kling
dfff2996d2 Factor out individual glyph drawing into Painter::draw_glyph(). 2019-01-15 04:44:47 +01:00
Andreas Kling
6d8043767e Start working on a graphical Terminal program. 2019-01-15 04:30:55 +01:00