Age | Commit message (Collapse) | Author | Files | Lines |
|
xkbcommon returns 0 for invalid ucs4 values. Unfortunately, this is a
valid UCS4 code. That's why TSM requires us to pass TSM_VTE_INVALID
instead. So add a short fixup to convert 0 to TSM_VTE_INVALID.
We rely on xkbcommon to never return 0 for valid codes now. This seems
unfortunate, but the API was broken right from the beginning.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
Hook up shift+PageUp/Down to page-wise scrolling. Otherwise, it's the same
as line-wise scrolling.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
Pass shift+Up/Down to the TSM screen layer so we get proper scrollback
support.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
TSM provides selection support so all we need to do is hook up mouse
movements and button clicks. No copy/paste is supported, yet. Will be
added in a follow up.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
If --snap-size is given, we enable resize snapping to next cell-size. If
not given, we take any size the user wants.
Disable it by default. It's annoying!
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
The new --show-dirty argument enables render-debugging and marks cells
which got redrawn. This is very useful to debug libtsm ageing support.
Apart from that, it's a very useless feature.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
We need to draw the padding-space around the main cells if our size is not
a multiple of the cell size. We retrieve the default bg color via a new
libtsm helper.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
The default TERM for libtsm is xterm-256color. Use it!
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
Pass -l so bash runs as login-shell as usual.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
Reset the FB age on resize and provide a helper to allow main wlterm to
reset the FB-age for a whole redraw (can be used during font-change or
similar).
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
If debugging is on for rendering, we draw a red rectangle around every
cell we draw. It is a nice way to see which cells actually changed.
Debugging only!
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
TSM has support for cell-ageing so render only cells that changed. Note
that we still blit the buffer via cairo at the end, but this should be
fast enough for any system. The actual rendering is often what causes
performance-bottlenecks.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
We need to tell cairo to flush buffers before starting CPU access and
afterwards mark it dirty. This is unlikely to be needed on mem-buffers,
but we cannot rely on it so do it.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
Try $SHELL first, then _PATH_BSHELL and path -i as default parameter
(login shell) instead of /bin/sh.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
Change our TSM calls to the new TSM ageing API. We don't make use of it,
yet. We will support that in the future (if required).
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
If we have wide-chars, we need to draw the background as wide as the char.
It's unlikely that we have to draw background only for wide-chars, but
lets be safe and implement it correctly.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
cairo-rendering is horribly slow. Add a proper software renderer via
shadow buffers so we get proper rendering speed.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
Let GTK draw the decorations. Until we figure out how to detect whether
the WM wants CSD, we have to let gtk do it.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
|
Import the wlterm gtk-rewrite. It's meant to replace the old wlterm by
using gtk+ instead of hardcoding wl-calls.
There's still stuff missing, but the main terminal is already working
quite well.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|