A light and eazy-to-use terminal emulator for x.
lilyterm [-? | -h | --help] [-T TITLE | --title TITLE] [-t NUMBER | --tab NUMBER] [-n TAB NAMES | --tab_names TAB NAMES] [-d DIRECTORY | --directory DIRECTORY] [-g GEOMETRY | --geometry GEOMETRY] [-l | -ls | --login] [-H | --hold] [-s | --separate] [-j | --join] [-p | --profile] [-u PROFILE | --user_profile PROFILE] [-v | --version] [-e COMMAND | -x COMMAND | --execute COMMAND]
LilyTerm is a terminal emulator for the X Window System, based on the libvte library, and aims to be fast and lightweight.
-? | -h | --help
Display a brief help message.
-T TITLE | --title TITLE
Specify the window title.
-t NUMBER | --tab NUMBER
Open multi tabs when starting up.
-n TAB NAMES | --tab_names TAB NAMES
Specify the tab names, separate with <Space>.
-d DIRECTORY | --directory DIRECTORY
Specify the init directory when starting up.
-g GEOMETRY | --geometry GEOMETRY
Specify the geometry of window when starting.
A reasonable example value is "80x24+0+0", witch means "width x height {+-} xoffset {+-} yoffset" (without space).
-l | -ls | --login
Make the shell invoked as a login shell.
-H | --hold
Hold the terminal window open when the command following -e/-x terminated.
-s | --separate
Run in separate process.
-j | --join
Integrate new created tabs to the last accessed window.
It may be useful for launching multi commands with LilyTerm in a shell script.
-p | --profile
Got a profile sample.
-u PROFILE | --user_profile PROFILE
Use a specified profile.
-v | --version
Show the version information.
-e COMMAND | -x COMMAND | --execute COMMAND
Run a command when starting up. Must be the final option.
The following key bindings may custom or disable by the right click menu [Set key binding].
<Ctrl><`>
Disable/Enable hyperlinks, function keys and right click menu for temporary.
<Ctrl><T>
Add a New tab with current directory.
<Ctrl><PgUp/PgDn>
Switch to Prev/Next tab.
<Ctrl><Home/End>
Switch to First/Last tab.
<Ctrl><[/]>
Move current tab Forward/Backward.
<Ctrl><Up/Down>
Move current tab to First/Last.
<Ctrl><F1~F12>
Switch to 1st ~ 12th tab.
<Ctrl><O>
Select all the text in the Vte Terminal box.
<Ctrl><+/-/Enter>
Increase/Decrease/Reset the font size of current tab.
<Alt><F11/Enter>
Switch between fullwindow/unfullwindow and fullscreen/unfullscreen state.
<Shift><Left/Right>
Emulate a mouse Scroll Up/Down event on Vte Terminal box.
<Shift><Up/Down>
Asks to scroll Up/Down 1 line on Vte Terminal box.
<Shift><PgUp/PgDn>
Asks to scroll Up/Down on Vte Terminal box.
<Ctrl><Delete/Insert>
Copy the text to clipboard / Paste the text in clipboard.
<Shift><Delete/Insert>
Copy the text to primary clipboard / Paste the text in primary clipboard.
i.e. Emulate a middle button mouse click to copy/paste the text.
Some key bindings that disabled by default but maybe useful:
<Ctrl><Q>
Close current tab.
Using <Ctrl><D> or 'exit' to close tabs is recommended.
<Ctrl><N>
Open a new window with current directory.
<Ctrl><E>
Rename the current tab.
/etc/xdg/lilyterm.conf
System configure file
~/.config/lilyterm/default.conf
User's profile.
Use [Save settings] in the right click menu to save the current tab's settings as default to the specified profile.
Display UTF-8 character under C locale
Execute the following command under LilyTerm:
bind "set convert-meta off"
bind "set output-meta on"
And use the right click menu to set the text encoding to "UTF-8".
Launch LilyTerm under a chroot jail
Extract xauth info to a file (under X):
xauth extract /PathToChroot/tmp/display $DISPLAY
Mount the devpts device and /tmp (may not necessary) before chroot into a chroot jail:
mount /dev/pts /PathToChroot/dev/pts -t devpts
mount -o bind /tmp /PathToChroot/tmp (may not necessary)
Merge the extracted xauth info and set the DISPLAY environ after chroot into the chroot jail:
xauth merge /tmp/display
export DISPLAY=:0
Launch LilyTerm directly, or run it under Xnest/Xephyr:
xinit ~/.xinitrc -- /usr/bin/Xnest :1 -ac -geometry 800x600
or
xinit ~/.xinitrc -- /usr/bin/Xephyr :1 -ac -screen 800x600
<Ctrl><S> and <Ctrl><Q> don't work under VIM:
Use the following command to turn off 'flow-Control' under LilyTerm:
stty raw
or
stty -ixon
BSD Users:
Please mount the procfs before launch LilyTerm:
mount -t procfs procfs /proc
TERM
Sets what type of terminal attempts to emulate. Please always set to "xterm" under LilyTerm.
VTE_CJK_WIDTH
Controls the width of some ideographs should be "single width (narrow)" or "double width (wide)" in a vte teminal.
This environment should be set before creating a vte widget.
In LilyTerm, you may set the VTE_CJK_WIDTH of a new tab to 'wide' with right click menu 'New tab with specified locale' -> 'xx_XX.UTF-8 (Wide)' or 'UTF-8 (Wide)'.
PROMPT_COMMAND
Customs the "Window Title" for shell.
The following is a reasonable example ~/.bashrc for bash:
case $TERM in
xterm*) PROMPT_COMMAND='echo -ne "\033]0;${HOSTNAME}: ${PWD}\007"' ;;
*) ;;
esac
The following is a reasonable example ~/.cshrc for csh/tcsh:
switch ($TERM)
case "xterm*": setenv TITLE "%{\033]0;%m: %~\007%}" breaksw
endsw
set prompt = "${TITLE}%# "
Please visit http://tldp.org/HOWTO/Xterm-Title.html for more details.
Lu, Chao-Ming (Tetralet) <[email protected]>