summaryrefslogtreecommitdiff
path: root/Terminal/Terminal.h
AgeCommit message (Collapse)Author
2019-02-04Terminal: Avoid dirtying lines when clearing them has no visual effect.Andreas Kling
2019-02-03Get nyancat nyanning in Serenity.Andreas Kling
I found a cute program that renders an animated nyancat in the terminal. This patch adds enough hackery to get it working correctly. :^)
2019-02-03Terminal: Add limited support for 'M' escape sequence (delete line.)Andreas Kling
2019-01-30Terminal: Implement 'J' escape "clear from cursor to end of screen."Andreas Kling
2019-01-26Refactor GUI rendering model to be two-phased.Andreas Kling
Instead of clients painting whenever they feel like it, we now ask that they paint in response to a paint message. After finishing painting, clients notify the WindowServer about the rect(s) they painted into and then flush eventually happens, etc. This stuff leaves us with a lot of badly named things. Need to fix that.
2019-01-25Terminal: Support setting the window title using Xterm escape sequences.Andreas Kling
Use this in the /bin/sh prompt to keep the window title in sync with the shell's working directory. :^)
2019-01-25Terminal: Redraw entire line if any of its characters are dirty.Andreas Kling
This means we only have to do one fill_rect() per line and the whole process ends up being ~10% faster than before. Also added a read_tsc() syscall to give userspace access to the TSC.
2019-01-25Terminal: Use a more reasonable data structure for the emulation buffer.Andreas Kling
2019-01-23Terminal: Various improvements to terminal emulation.Andreas Kling
2019-01-23Terminal: Add support for some more escape sequences.Andreas Kling
2019-01-20WindowServer: Only blit dirty rect of windows to back buffer.Andreas Kling
Previously we'd blit every pixel in every window that intersected any dirty rect to the back buffer. With this patch, we limit ourselves to blitting the pixels inside the actual dirty rects. There's still a lot of optimizations to make in this code.
2019-01-19Make a SharedGraphics directory for classes shared between Kernel and LibGUI.Andreas Kling
2019-01-18Make it possible to invalidate only a portion of a window.Andreas Kling
Use this in Terminal to only invalidate rows where anything changed.
2019-01-17Add WindowActivated and WindowDeactivated events.Andreas Kling
Use this to implement different looking Terminal cursors depending on the window active state.
2019-01-17Terminal: Draw the terminal cursor.Andreas Kling
2019-01-15Terminal: optimize repaints a bunch.Andreas Kling
We track dirty character cells + pending whole-terminal scrolls. This drastically reduces the number of pixels pushed.
2019-01-15Terminal: Add some inset and line spacing.Andreas Kling
This is starting to feel vaguely usable! :^)
2019-01-15Terminal: basic ANSI color support.Andreas Kling
2019-01-15Start working on a graphical Terminal program.Andreas Kling