
Terminology – a new terminal emulator - Aissen
http://www.enlightenment.org/p.php?p=about/terminology&l=en
======
juan_juarez
Transparency and background images are great for making screenshots to show
off your customized desktop. For actual daily use, they're absurd.

~~~
eridius
I've had semi-transparent terminal windows going on many years now. I keep
them 80% opaque in the foreground, and drop it down to 75% opaque for inactive
windows. I also apply a nice blur effect to the background (with the active
window having a higher blur amount). It's really nice; lets me see what's
behind the window, without detracting from the readability of the terminal
itself.

Transparency without blur might be problematic though.

~~~
__david__
Blur is absolutely the key to transparency. I've found it's a balance: you can
go for less blur, but you have to make the window more opaque. With more blur
you can go more transparent with the same amount of readability/non-
distraction.

------
AceJohnny2
I used to care a lot about tabs and pane splitting in the terminal emulator.
Then I discovered terminal multiplexers: screen, then tmux. Now I _don't_ want
those features in the terminal emulator anymore, as they overlap and even
conflict with the terminal multiplexer.

~~~
evilduck
I still like tabs. I'm often logged into multiple remote machines where, for
me, a terminal emulator's tab represents a unique SSH connection and that tab
then has tmux running on the remote machine.

Otherwise, I'd be running tmux on my local machine, then want to run tmux on a
remote machine, and nesting terminal multiplexers is not good.

~~~
spudlyo
Nesting terminal multiplexers is very good, I do it for exactly the use case
you mentioned. Escaping your escape key is easy, with a little practice you
won't even realize you're doing it.

I have a shell function called 'go' that creates a new screen and labels it,
connects to the remote host via SSH, and then recreates or re-attaches to the
remote scren as appropriate. My top level screen session currently has 8
remote hosts I'm logged into, each running their own nested screen sessions.

My go() function also reads my ~/.ssh/config file to grab all my host aliases
so I can tab complete to them. Note, I'm a Perl programmer, and rarely write
shell scripts, so this function may be kinda ugly.

    
    
        go()
        {
            local OPTIND OPTARG
            local SCREENCMD="screen -dRR"
    
            while getopts "xn" flag; do
                case "$flag" in
                    x) SCREENCMD="screen -xRR"; shift;;
                    n) SCREENCMD=""; shift;;
                esac
            done
    
            if [ "$#" == "0" ]; then
                echo "Need someplace to go."
                return 1;
            fi
    
            while (( "$#" )); do
                screen -t $1 ssh -tq $1 $SCREENCMD
                shift
            done
        }
    
        _go_show()
        {
            local curr opts
            cur="${COMP_WORDS[COMP_CWORD]}"
            opts=$(grep 'Host ' ~/.ssh/config | cut -d' ' -f2)
            COMPREPLY=( $(compgen -W "${opts}" ${cur}) )
        }
        complete -F _go_show go

~~~
bashinator
You should know that the bash-completion package in Debian and kin does tab-
expansion of ssh hosts in known_hosts and config. Also handles the --argument
switches for just about all common utilities.

------
Kerrick
Reminds me of TermKit. <http://acko.net/blog/on-termkit/>

~~~
terhechte
Sadly, TermKit is pretty much in hibernation due to too much criticism:
[http://www.reddit.com/r/programming/comments/137kd9/18_month...](http://www.reddit.com/r/programming/comments/137kd9/18_months_ago_termkit_a_nextgeneration_terminal/)

~~~
rachelbythebay
If everyone listened to the nastiest comments on reddit, nothing would ever
happen. For anything you can imagine, there is some group who will delight in
shooting it down.

I say this as someone who reads reddit quite a bit.

~~~
Semaphor
While I agree with you, that's not what he said in his comment :)

------
thiderman
That's a really bad screencast, since the fonts are barely readable. Still,
cool features. Will try it out to see if they are useful or annoying.

~~~
thiderman
Can't use XFT fonts. Doesn't set 256 colors properly. The blinking cursor is
retarded and seemingly cannot be disabled. Those are kind of dealbreakers for
me.

On the plus side, it feels really snappy. Impressive speed indeed.

~~~
Aissen
Right click -> Options -> Behaviour -> Cursor blinking -> uncheck.

~~~
thiderman
Thanks. Guess I was kinda quick to jump on that one.

------
buster
I really, really like terminology (as i like Enlightenment), but i am waiting
until it supports Tabs, the only thing missing for me.

As to all the "uhh, i don't want additional stuff" comments: There is no
reason a terminal emulator can look nice as long as it doesn't distract. And
so far, terminology does a really good job! And good, does it look sexy.. ;)

Keep up the development of terminology, one user here for sure! ;)

~~~
Aissen
If you had watched the screencast, you'd have seen that a tab-like feature was
in the works, that allows you to multiplex terminals inside Terminology.

~~~
buster
How do i switch the tabs?

~~~
Aissen
Right now it's hardcoded to Control+PgUp and Control+PgDown.

As I said it's still a work in progress.

------
aflott
To counter all the neutral to negative feedback, I want to chime in and say I
was very impressed. The execution speed with the aesthetics excite me. The
gazillon-terminal-window- opens junkie in me always looking for a better
terminal emulator -- especially with reasonable Unicode support. Keep up it
the great work EFL team!

------
yebyen
Terminology still has problems compared to SecureCRT or rxvt-unicode. I have
been trying it on and off, as recently as this morning from the latest builds
on ppa hannes-janetzek/svn-enlightenment, and if you fill the screen with
text, it frequently does the wrong thing with the scrollback buffer, but as
far as advanced terminals go, there's nothing for competition with
Terminology.

For the neatest demo of what you might want to do, download the development
version of Elive -- there is a demonstration showing how the terminal can have
a transparent video (or is it rendered EFL/OpenGL?) as a background.

The terminal shows promise, and I don't think I've filed a bug that hasn't
been corrected and closed, so if anyone with more expertise can replicate
problems as I've described, maybe you should do that.

~~~
jszmajda
FWIW, the ppa is hannes-janetzek/enlightment-svn, and you can try it out in
Ubuntu with:

sudo apt-add-repository ppa:hannes-janetzek/enlightment-svn

sudo apt-get update

sudo apt-get install terminology

great effort coming along. I'm sticking with terminator for now but will keep
my eye on terminolog.

~~~
CJefferson
You misspelt:

    
    
        sudo apt-add-repository ppa:hannes-janetzek/enlightenment-svn

~~~
jszmajda
ah, so I did. Thanks!

------
yati
This is one thing I myself was considering writing, as there is no reason why
today's terminal emulators, which I spend most of my time on my machine,
shouldn't be able to also display media. This will team up with ranger very
nicely for the ultimate terminal-foo!

~~~
micampe
On the other hand, I couldn’t help thinking, while watching the video, why
should my terminal load web pages and images?

I’ve done the same thing both in Linux and now on OS X, by using various
'open' commands or – on OS X – 'qlmanage -p', which opens a QuickLook window
for a file, just like the video is showing, but it’s system wide and not in my
terminal.

And this is not a _“OS X had this before”_ post, it’s just that the feature
seems more fit to an external program to me. I’m trying not to type _unix
philosophy_ here, but it’s going right against it.

~~~
zokier
Thumbnails for filelists seems somewhat useful. And another use for inline
image display is that you could be modifying the image and then scroll back
and forth to see the results and intermediates.

~~~
micampe
I was referring to displaying files in a separate window, not to file
listings.

------
hcarvalhoalves
I'm amazed Enlightenment still exists.

~~~
dmm
It's one of the best compositing desktops IMO. It renders fast, even without
hardware acceleration.

~~~
gcb0
But his point still stands. And it's easy to see why. It's not 'backed' by any
distro where it's the default.

~~~
fractallyte
<http://www.bodhilinux.com/>

------
onedognight
Does anyone know if the inline images/videos are implemented as terminal
escapes. I.e. can you

    
    
       find | xargs tycat | less
    

and scroll around with the data? Can it work remotely?

~~~
billiob
It's done using escape codes (\033}). tycat/tyls/ty* only outputs escape
codes. Terminology handles them and display the images…

In tycat.c, you can see some code like: if (mode == CENTER) snprintf(buf,
sizeof(buf), "%c}ic#%i;%i;%s", 0x1b, w, h, path);

Because the path is given, it won't work remotely.

find | xargs tycat should work but doesn't (one more bug to fix :D ).

~~~
onedognight
Given that you can communicate two ways with terminals using escape codes, you
might be able to run your remote shell with something like

    
    
      tyserver bash
    

and tyserver could then say replace escape-w-h-path with an escape-w-h-file-
descriptor-n which would then allow the remote side to async query for the
contents of fd-n with an escape-read-fd-n-bytes while you continue to interact
with the terminal.

------
dreen
For me the point in using a terminal emulator over the GUI shell is that I
don't have to move my right hand from the keyboard on to the mouse. This
(Terminology) seems cool but all the extra features have to be accessible with
obvious and non-obscure keyboard shortcuts. That would make it a very
considerable choice as a main operating shell

~~~
oftenwrong
Keyboard shortcuts should be remappable.

------
billwilliams
Under no circumstances should rich media be displayed in terminals. I am
terrified of progress.

~~~
_chrismccreadie
My feeling was the exact opposite. I have long been dreaming of rich media -
especially video - playing within my terminal without having to awkwardly set
screen splitting and resizing VLC to minimum.

------
Shish2k
A warning: apparently tycat will bypass pulseaudio sound settings and play
things at the loudest possible volume. Make sure your /hardware/ volume
controls are set sufficiently low before testing...

Also, it doesn't remember volume settings, so if you Ctrl-L to clear the
screen and then scroll up to the audio element in the scrollback buffer, it
will start playing at full volume again x_x

------
xorgar831
It looks cool and all, but I just want a Linux term than can log all output a
file so I have a record of what I did. There doesn't seem to be any decent
ones out there.

~~~
sickpig
you use the /usr/bin/script program to record a transcript of a session. no
term emulators that i know of provide this kind of feature natively though.

~~~
ansible
GNU Screen can also do logging, if that helps the OP.

~~~
xorgar831
Yeah, I use tmux though. I wish I had cycles to add it to tmux.

------
readme
Still no truetype fonts huh? Looks like a more flashy Eterm.

~~~
aflott
The entire rendering engine behind terminology supports TrueType. See
<http://i.imgur.com/8Xga6K4.jpg>

~~~
readme
nice, that was one of the reasons I couldn't use eterm.

~~~
billiob
Terminology doesn't share any code with eterm.

------
th0114nd
Installation is a bit of a pain, at least on OS X. It complains of a bunch of
packages missing. Consider having it available through macports.

~~~
js-coder
How did you install it? I'm on OS X, too, and make throws this error: "make:
__* No targets specified and no makefile found. Stop.".

~~~
th0114nd
I wasn't able to. After a bit of hunting I realized the missing packages were
on their site. Some of those make just failed, and on others it would appear
as though make install went through but were not afaict installed. I gave up.

------
gcb0
i'd give all that away to instead have tab completing based on man page
parameters descriptions or something.

~~~
raylu
So like zsh? <https://pastee.org/uka5q>

~~~
gcb0
Thanks guys, didn't know about that!

------
workbench
Really happy the Enlightenment project is still making cool stuff.

Remember completely wiping my computer as a teenager trying to get
Enlightenment running on it. After a good 12 hours or so I got booted into it…
then I learned what the term "winmodem" meant

