summaryrefslogtreecommitdiff
path: root/src/tsm_vte.c
AgeCommit message (Collapse)AuthorFilesLines
2013-02-11Fix several typosJakub Wilk1-6/+6
Provided via github. Fixes typos in documentation and comments. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2013-02-08llog: add "data" parameter to pass contextDavid Herrmann1-1/+3
If we allow users to specify log functions, we should also allow them to pass a context. This isn't used internally, but may be needed by external users so provide it. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2013-02-06build: major cleanupDavid Herrmann1-0/+9
Major overhaul of the build system. This introduces symbol-versioning for all exported libraries. Please note that none of these libraries is stable, yet! Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-12-02tsm: vte: ignore DEC SET/RESET 12 modeDavid Herrmann1-0/+3
This mode is used to start/stop blinking cursors. As vim uses this heavily, we should simply ignore it to avoid printing useless debug messages. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-11-19tsm: handle ISO_Left_TabDavid Herrmann1-0/+3
If Shift+Tab is pressed, most keyboard layouts map this to ISO_Left_Tab which itself should be converted to \e[Z. Reported-by: Vladimir Kravets Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-27tsm_vte: don't interpret Pause, it hangs the VTERan Benita1-0/+6
Pressing the 'Pause/Break' key causes the VTE to hang with no apparent way to recover (from within kmscon). It must turn on some software flow control, XON/XOFF or whatever. We might want to do something with this key, but certainly not *that*. Signed-off-by: Ran Benita <ran234@gmail.com> Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-27tsm_vte: don't send sequence for Scroll_LockRan Benita1-1/+6
This value should not be sent to the application; currently pressing Scroll Lock does some weird character transposing, which I believe to be completely accidental. Signed-off-by: Ran Benita <ran234@gmail.com> Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-27tsm_vte: bind non-numlock'ed keypad keys correctlyRan Benita1-9/+8
When a user presses on the 4 key on the keypad with NumLock off, the expected behavior is to move left. This commit fixes all of the main keypad keys to act like their counterparts (though KP_Begin is not bound to anything). This is also what xterm does, as far as I can tell: http://anonscm.debian.org/gitweb/?p=pkg-xorg/app/xterm.git;a=blob;f=input.c;h=f049078ed672c1da5adc169e85dc458b0fffc100;hb=HEAD#l984 Signed-off-by: Ran Benita <ran234@gmail.com> Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-11tsm: vte: fix clearing alternate screen on DECSET 1047David Herrmann1-2/+1
It isn't clear from the xterm documentation which buffer to clear when resetting private mode 1047. However, testing showed that the alternate-screen is cleared, not the main-screen. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-11tsm: vte: implement alternate-screen modesDavid Herrmann1-0/+61
On DECSET 47, 1047-1049 we switch between normal screen mode and alternate screen mode. xterm and friends support a titeInhibit resource that disables this feature, so we add a flag to set this, too. However, there is currently no way to set this on the command-line. If someone needs that, we can easily add that. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-09tsm: vte: use ASCII keysyms for ctrl+<XY> shortcutsDavid Herrmann1-2/+18
If a user has multiple active XKB layouts but only one of them has ASCII keysyms on the base level, then ctrl+<XY> might actually never work, because these keys aren't available in the current layout. This patch tries to find a layout of the user that actually _has_ ascii keysyms on the base level and passes this information along with the normal keysym information. The TSM layer can now use this ascii keysym instead of the normal unicode keysym to handle ctrl+<XY> shortcuts. This is the same way xterm et. al. handle this, so it seems to be a good idea to do this in TSM, too. Reported (and mainly written) by Ran Benita. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-02terminal: perform hard-reset on exitDavid Herrmann1-2/+2
Before starting a pty on a terminal, we now perform a hard-reset to avoid any left-overs from the previous pty. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-01Move grab-parsing into conf.cDavid Herrmann1-1/+1
We really need to clean this up and allow parsing of grabs in conf.c again. xkbcommon is now mandatory so we can fix all the input layers to use it. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-09-27tsm: vte: be less verbose about unhandled escapesDavid Herrmann1-1/+1
This converts a warning into a debug message to avoid spending too much time in the logger when parsing unknown content. This speeds up "cat /dev/urandom" by like 1000x. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-09-26build: update autotools logic and add "wlterm" applicationDavid Herrmann1-1/+1
Sorry for the big commit, but I was working on the wlterm application and then thought I can rework the whole configure-logic again. This mainly renames all build-defines to BUILD_DEFINE_* and BUILD_HAVE_* and allows specifying which applications to build via --enable-kmscon/--enable-wlterm and similar. wlterm is a new application which is a native wayland client with no external dependencies. It serves several purposes: * It uses TSM (not yet implemented, but will come soon) to create a console independent from kmscon. This shows how TSM can easily be used to create independent terminal emulators. * It is a native wayland application (probably the first independent wayland app so far?) and is used to test how well the wayland API works. As wayland is still under heavy development, we need more application-writers who report back whether the wayland-API makes sense to them and whether it works correctly. * A proper terminal-emulator for wayland! There is currently no proper emulator so we really need something that we can work with. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-09-19tsm: vte: send original VT220 escape codes for Shift+F1 to F12David Herrmann1-10/+33
Nearly all terminals behave differently regarding Shift+FX keys. We now mimic the behavior of the classic VT220 instead of the new-style function keys. Nearly all applications expect the old codes. This might be changed in the future, though. It does make much more sense to send the new codes as they provide more information to the application. And remappings should be done via XKB instead of inside of kmscon. However, as long as xkbcommon does not have a config-file, we will be stuck with this little hack. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-09-18tsm: vte: convert to use llogDavid Herrmann1-35/+38
Instead of using kmscon log_* functions, we now use the independent llog subsystem. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-09-18tsm: vte: introduce own modifiersDavid Herrmann1-20/+19
We do not want to depend on uterm just for the modifiers so introduce new modifier-names which are in-sync with the UTERM names. Inside of kmscon we still use the UTERM names everywhere, but inside of TSM we now rely on the new names. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-09-18tsm: add *_set_palette() helperDavid Herrmann1-7/+37
Instead of accessing kmscon-state we now add a helper to select the palette and make the terminal-subsystem use it on initialization. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-09-18tsm: vte: rename kmscon_vte object to tsm_vteDavid Herrmann1-35/+35
Perform final rename of the remaining vte objects. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-09-18tsm: rename filesDavid Herrmann1-0/+2626
Rename all TSM files to have a tsm_* prefix. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>