16 ms·
Final Term - Terminal Emulator
- yankcrime 13y agoKind of reminds me in some ways of the TermKit 'proof of concept': http://acko.net/blog/on-termkit/ http://acko.net/blog/on-termkit/
- tvon 13y agoSee also XMLTerm from ~2000: http://www.xml.com/pub/a/2000/06/07/xmlterm/ http://www.xml.com/pub/a/2000/06/07/xmlterm/
- DanielRibeiro 13y agoAlso reminded me of: http://xiki.org/ http://xiki.org/
- Elv13 13y agoAlso of Hotwire Shell/Term and KliNG from a few years back. This one look nicer. At least it doesn't make the error of the previously mentioned attempts like trying to create a custom shell instead of using regular ones. Nor it does screw up existing workflow. As for trying to understand the terminal content, it is a "challenge" and I don't think it is a good idea as it will remain command specific and it has been proven to be a problem in the past, and it still is.
- albiabia 13y agoPoor Steven. He took so much heat then, for a concept that was way ahead of its time. These kinds of extra-helpful term emulators seem like the natural progression of auto-completion and all the other goodies people love about oh-my-zsh. Once someone gets this right, it will seem silly to use a 'dumb' terminal in a graphical environment.
- jlgreco 13y agoThere is a right way and a wrong way to add advanced features to the whole command line experience. The separation between shells and terminals is a good thing and should not be ignored. New features should be added to shells, and only if necessary, we can add new features to terminal emulators to support those shell features. Many, if not most, of those supporting features are already in terminal emulators. For example, every single modern terminal emulator supports mouse input (pretty much by definition): this could be used by shells if they were so inclined. If you want to add some sort of menu-based completion that supports mouse selection, great! The shell is the correct place to do it. Want to display some images or vector graphics? Some terminal emulators will have your back even in those situations, though support for those things would need to be more widespread before that stuff could really be used properly.
- wtallis 13y agoGreat point. I wonder though if some of the more advanced UI features that people want as part of their terminal+shell are being held back by relatively ancient paradigms for how terminals do complex interactive stuff. In-band signalling, ReGIS, Sixel, and Tektronix 4014 all feel like old-fashioned tech that won't be getting more popular, even if they are technically capable of getting the job done.
- albiabia 13y agoI totally agree that in Computer Science there are established paradigms, but I think sometimes these paradigms keep people from exploring different ways of thinking. Talking specifically about TermKit: If I'm on a Mac using Terminal to access the local shell, why would I care if the features are coming from the shell itself or the Terminal app? Of course it would be 'better' or more 'proper' if all the functions were built into the shell, but like you say, it takes widespread adoption. I don't see what the problem is with starting to add features to your terminal and then let the good ones trickle back down into the shell as they become widely adopted. Seems like a confusing nightmare, but I'm not fundamentally against it.
- buster 13y agoWow.. this looks awesome, i am waiting for a new generation of terminals with more context integration.
- johnny22 13y agothis reminds me of some other fun terminal experiments too like hotwire-shell https://code.google.com/p/hotwire-shell/wiki/GettingStarted0700 https://code.google.com/p/hotwire-shell/wiki/GettingStarted0...
- mjs 13y agoIs it dead? The links from https://code.google.com/p/hotwire-shell/ https://code.google.com/p/hotwire-shell/ to the "main website" go to http://hotwire-shell.org/ http://hotwire-shell.org/, which has "buy this domain" ads all over it.
- zeckalpha 13y agoYes, not much has been done in the last 5 years. It would be fun to bring it back, however.
- omaranto 13y agoIt sounds like hotwire-shell is to Python as PowerShell is to .NET.
- ilSignorCarlo 13y agoit's really amazing, but I'm experiencing some issues with tmux.
- chrisfarms 13y agoHope development pace keeps up on this, and I look forward to giving it a go once it's stable. No mention of unicode support on the page?
- jlgreco 13y agoJust FYI: urxvt, screen, and tmux all support reflowing. No 'hacks' necessary.
- lsiebert 13y agoyeah, there are several features this has that tmux supports. It's the features that tmux doesn't have that are interesting.
- meunier 13y agoAs far as I was aware, tmux was pretty adamant about not supporting reflow. When did this change?
- jlgreco 13y agoLatest release, 1.8. That was my impression of their attitude towards it as well. 1.8 Changelog: http://sourceforge.net/p/tmux/tmux-code/ci/master/tree/CHANGES http://sourceforge.net/p/tmux/tmux-code/ci/master/tree/CHANG...
- singlow 13y agoThe current version will reflow. When I use it through byobu I sometimes have to initiate reflow with ctrl-a, shift-F. It may not reflow as expected if you have more than one client connected to the same session - since it limits itself to the smallest attached client. If you leave your ssh session connected to the session and then connect again locally it is not obvious why reflow won't work, but you may need to just disconnect the other client.
- snitko 13y agoPlease support panes, tabs and scripting for them. I tried tmux, worked in it for 6 months, but what annoyed me is the lack of support for properly styling what's on the screen. For instance, I wanted panes to be of various background colors and font sizes, which was not really possible at all in tmux. I'm currently using Terminator, but it's rather ugly in terms of scripting for panes and tabs. If you could implement those two features out of the box, I'd pay for this software.
- lsiebert 13y agoif it supported different font sizes, that would be interesting. I am not aware of any terminal emulator that does that, however.
- snitko 13y agoTerminator does that, pretty useful.
- epo 13y agoWhat are you calling a 'terminal emulator'? I think most support multiple fonts at different sizes. Apple's Terminal does, as do all the terminal emulators on my Centos systems.
- loudmax 13y agoIn tmux, you can have multiple panes inside of the same terminal window. Apple's Terminal lets you change the font, but as far as I know, there isn't support for multiple font sizes inside of the same terminal window.
- omaranto 13y agoReally? I thought most terminal emulator only let you use one font at a time. If the one I use let's you have text in multiple fonts displayed at once, I certainly don't know how to do it. Or by "multiple fonts" did you just mean that you can change the font on the entire window (and that you have multiple options for doing so)?
- mariusmg 13y agoIs it just me or having GUI elements inside a terminal feels wrong ?
- ulrikrasmussen 13y agoI couldn't see any GUI elements but drop down menus, which only seem to augment the textual interface by giving a contextual interpretation of certain elements. Oh yeah, and the progress bar, which seems nice!
- maaaats 13y agoBut sometimes seeing what's possible is good. I believe there are hundreds of commands I would be interested in, but that I don't know exists or have thought about. Right click and get a context menu with the proper command will make me learn something new. And I'll probably end up using the command in the future now that I know it exists and what it does.
- iuguy 13y agoIt's not just you. It is wrong. A terminal is the most keyboard-driven experience you can imagine. Whenever there's a context menu it should be driven by key combination so you can move through without having to change to the mouse. When you change to the mouse you hit a context switch in the way you interact, that's why it feels disorienting to some people.
- zokier 13y agoGraphical does not mean point'n'click or mouse driven. GUIs can be keyboard driven too.
- iuguy 13y agoIf you look at the video you'll see the mouse being used. I haven't tried the software so I don't know if that's the only way it can be used (the site seems to imply otherwise), so I'd reserve judgement.
- nqzero 13y ago
- klibertp 13y agoTerminology: http://www.enlightenment.org/p.php?p=about/terminology http://www.enlightenment.org/p.php?p=about/terminology looks a bit similar and it's build with e17 libraries... which means it will reach a 1.0 version in twenty years? Just joking, but as a terminal emulator it's worth taking a look at.
- fsiefken 13y agoTerminology is certainly nice, but only does inline linking and display of inline media content; no smart interpretation of the terminal content as Final Term does.
- snitko 13y agoAlso, if this is free software, you should put Bitcoin donations address somewhere on the site. I would gladly donate a bit because I like the idea and I like that it's for Linux.
- JacobIrwin 13y agocmake .. should be typed in terminal, as above? or ".." should be, what? sort of a newbie with terminal... is ".." a location ...? can anyone provide a reasonable example (to put in place of "..")? I tried the install commands, as listed in the README (on the Final Term Github Source page)... and the install failed.
- bobwaycott 13y ago`..` signifies the immediate parent directory. Does it signify something else in Final Term?
- JacobIrwin 13y agoFinal Term Install - Error starts at "cmake .." -- my terminal code (with the errors): http://pastebin.com/K2e2ePW4 http://pastebin.com/K2e2ePW4
- bobwaycott 13y agoCheck that you have all the required packages installed on your system. Your terminal output indicates it cannot find pkg_config. There could be other missing requirements, as well. Once you have all the reqs installed, try again. Then, if issues persist, file an issue on the project's Github page. :)
- nawitus 13y agoIf it's not added yet, please consider adding a quick menu to change character encoding (like in Gnome Terminal). It's my only main requirement for a terminal editor, and most editors seem to lack it.
- mhax 13y agoa 'ps aux' seems to hang it...
- sobkas 13y agoTake a look at finalterm/Termlets/ps. No wonder that it is so fast.
- tjaerv 13y agoGPLv3. Blech.
- buster 13y agoWhy?
- jrockway 13y agoProbably because Stallman is not attractive enough, or some similarly idiotic reason.
- Ziomislaw 13y agobecause GPL tries to reinvent the definition of "free" (I recommend consulting a dictionary, and than reading what GPL considers free/freedom, you are in for a mean suprise).
- synchronise 13y agoPersonally I avoid it because it's incompatible with GPLv2 only licences, which would prevent certain projects mixing code.
- Sanddancer 13y agoBecause viral licenses get real terrible when you want to get features from two that are mutually incompatible. When two projects have different ideas on imposing "freedom" on users, it makes it harder to cooperate and make a better end product for the users. As such, I much prefer free as in free licenses like BSD over restrictive licenses like the GPL.
- ninjakeyboard 13y agoIf I spent my time on a term like that I'd probably go for copyleft too.
- graylights 13y agoTerminal emulators should be expected to deal with a lot of untrusted data, such as when you ssh to another machine. With all the context parsing in this, there is a large attack surface. I hope thought has been put into how to handle this.
- josho 13y agoUntrusted data in a terminal emulator??? I don't believe that I've ever used a terminal to connect to an untrusted system. Ie. local login, or ssh to a system that I trust enough to compile my programs or run my servers. If the terminal receives untrusted data back then I've got bigger problems than a security hole in my terminal emulator.
- jlgreco 13y agoThis has been a problem before: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-0063 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-0063 Untrusted data being sent to a terminal emulator does not imply you are logged into an untrusted system with it. Users should be able to view arbitrary files through their terminal emulator safely, should be able to use IRC safely, should be able to use finger safely, etc. There are enough people here reporting errors (having it hang with certain output, crashing X.org, etc) to cause me to be very wary of this. I am not confident it would stand up to a security review.
- anon1385 13y agoPerhaps these will whet your appetite… http://www.shmoo.com/mail/bugtraq/sep99/msg00145.html http://www.shmoo.com/mail/bugtraq/sep99/msg00145.html https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2003-0063 https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2003-00... Also here is an overview of some of the possible ways things can go wrong: http://lists.kde.org/?l=konsole-devel&m=104617524910254&w=2 http://lists.kde.org/?l=konsole-devel&m=104617524910254&w=2 The entire concept of exploiting a terminal by supplying hostile input has been around for over 10 years now. Unix veterans and BBS users have been exposed to this type of problem since the very beginning, a newsgroup search can turn up all sorts of exploits, from the ever-popular "flash" program to the abuse of logging features in xterm which were disabled in R5
- Osmium 13y agoI think this looks great, but it does strike me a bit of re-inventing the wheel, i.e. if we take this to its logical conclusion, we'll have just reinvented the GUI ;)
- ZirconCode 13y agoIf my GUI was as powerfully/rapidly accessible through the keyboard as this then I would be happy. This just comes from the other side of the bridge.
- m0skit0 13y agoI really like this, although a lot of features (not GUI) are already supported by ZSH. But why is this missing configuration documentation? Or at least I couldn't find it. Keep up the awesome work!
- andor 13y agoKind of neat, but very slow. On my laptop, it uses 8% CPU just to show the shell, and 15% to run top.
- keithpeter 13y agoGood heavens, what is the processor in your laptop?
- andor 13y agoCore 2 Duo (T7300)
- keithpeter 13y agoIntel graphics I assume. The terminal program does use 3d graphics so might load it down a bit.
- tenfingers 13y agoOne word: e-shell Does everything FinalTerm does, and probably more (and can be driver with the keyboard only). Funny thing, I don't like e-shell. I rarely, if ever, have to interact with the output of the previous command. For command re-editing, most shells (zsh, bash) offer very powerful completition/editing capabilities that probably FinalTerm cannot match. Admittedly, I sometimes (but rarely) have to use the output of the previous command. The problem is, if it's an url, you probably just want to click it/copy it, and then pretty much all terminals can do this already. If I want to process the output of the command, I just re-execute it in a pipeline. Just compare the number of keystrokes to go up ~10 lines and the time to type !! (or up-arrow) | grep 'something'. Heck, even copying the output to the clipboard is faster by using a pipe: cmd | xsel Reflowing is also something many terminals do nowdays. I personally use urxvt because it's the fastest terminal I could test, and actually supports fallback fontsets. VTE-based terminals (even the ones that pretend to be small and fast) are 5-6 orders of magnitude slower at redrawing. e-shell, by comparison, is a dog due to the much more complex display.
- rbanffy 13y agoI found the collapsible output a very clever idea. I'd love to have more collapsible blocks in Emacs buffers.
- dhotson 13y agoLooks like iTerm2 is adding 24bit color support soon too: https://github.com/gnachman/iTerm2/pull/133 https://github.com/gnachman/iTerm2/pull/133 Pull request is from less than 12 hours ago, so I'm not sure how long it'll take to get into a release.
- blackaspen 13y agoStill very much in development... Looks neat though, I admit. There are no tabs, and tmux/emacs support seems to be a tad pokey. We'll have to see of this Terminal Emulator goes terminal or can break out into a fulfilling life.
- pvnick 13y agoLots of negativity and one-uppery in these comments. I just wanted to say great job, keep up the good work. You're making everybody's lives easier, either directly or indirectly, by pushing the envelope here :)
- andrewroycarter 13y agoI agree, this looks really cool! These are the kinds of articles I really like seeing on here, but I feel like people may be discouraged to post these types of things because the top comments are always "Well this sucks because I use X" or "This will never work because Y", or "Didn't Z already do this!?" Lots of people here are making really cool stuff, and I love hearing about it! Keep it up!
- zobzu 13y agoI see like 90% of positive comments... 10% of criticism is too much? without it, its easy to get lost into the "everything's great" and 6 month later everyone complains about their new kde4/gnome3/unity etc fiasco. For example, personally, I believe the completion belongs to the shell not the terminal, and i'd rather not use the mouse on a terminal's displayed text except for copy/paste. Doesn't mean its not cool.
- pvnick 13y agoWhen I replied the positive:negative ratio you just described was inversed. Thankfully it has improved.
- ddunkin 13y agoIt shouldn't be forced, but some of us do use the mouse on a terminal window. I have more of a keyboard 'nipple' but it's conveniently right there when I'm typing and I don't have to move out of a standard typing position to use it.
- Veratyr 13y agoI call that thing a nubbin. I don't even know why.
- mateuszf 13y agoReflowing terminal output also works in Mintty on cygwin/windows. Just saying.
- drKarl 13y agoI tried it and looks sexy, but the lack of VIM support is a deal breaker for me...
- rbonvall 13y agoI can see myself using a regular terminal emulator for vim on one half of my screen, and something like Final Term for running tests and doing other stuff on the other half. Since one uses terminals for several different things, it kind of makes sense the idea to use ones specialized for each purpose. I think it's an interesting idea.
- raylu 13y agoI assume you've already considered using gvim?
- darkchasma 13y agoDoes anyone know why we can't have nice terminal emulators on Windows? I would kill for something that was a fraction as good as the default terms in OSX or Ubuntu. Oh, and if the NSA is listening, I wouldn't actually kill, that's just an expression. Please don't arrest me.
- gizmo686 13y agoCheckout cygwin [1]. I think the main problem with a good terminal on Windows is that terminals depend heavily on having programs to run on them, and Windows, because of its lack of good terminal, doesn't have the programs to run with it. From what I have heard, PowerShell looks promising. [1]http://www.cygwin.com/ http://www.cygwin.com/
- ansible 13y agoI had previously seen glitches using the cygwin terminal with VIM. Using GNU screen with cygwin has been done though.
- laumars 13y agoPowershell (and cygwin as well IIRC) still have lousy terminal emulators. The issue isn't the lack of good programs nor the shell, it's the Windows GUI "wrapper" around the CLI shell. In Windows neither cmd.exe nor Powershell allow you to alter the width of the terminal in real time. Nor have sane copy/paste options, region highlighting and so on. There's no tabbed grouping, clickable URLs, etc. Sure, some of the aforementioned can be tweaking in the preferences. But on the whole, the Windows terminal emulators are pretty poor when compared to (for example) Konsole. Cygwin is pretty awful as well. I hear a lot of people suggest it but I really couldn't get on with Cygwin. I found MinGW to be a much better solution (which also ships some pretty cool terminal emulators as well)
- sspiff 13y agoI've used Cygwin (with mintty and bash), and it's not terrible. Not as nice as on other platforms, but definitely better than the other things I've seen on Windows. Before mintty, I used Putty and connected to a local SSH server. Putty is pretty nice too.
- NelsonMinar 13y ago"Final Term is written in 100% Vala, the language of Desktop Linux's future" https://wiki.gnome.org/Vala https://wiki.gnome.org/Vala
- yulaow 13y agoI think that it is the language of GNOME desktop future. That's the problem
- rufugee 13y agoAgreed. I have no way of being certain, but I have to believe the use of Vala for projects like this (and Shotwell, etc) have a negative affect on community contribution. Not saying that's a reason to use another language, but I'd bet the choice of python, C/C++, or something else would deepen the pool of potential contributors. I for one would rather not learn yet another language simply to contribute to Gnome projects, much in the same way I've never been a big fan of having to learn Obj-C for Apple-based projects; I simply don't think I'd use Vala or Obj-C outside of those contexts. That said, there may be very valid reasons which are performance or convenience-related for choosing Vala. Would be interested in a discussion of those if so.
- dsego 13y agoVala is heavily based on C# syntax. It compiles to glib C code, so instead of .net-like garbage collection, it uses reference counting.
- mpyne 13y agoI wasn't aware the Final Term developers were speaking for all of the non-GNOME desktops on Linux
- angersock 13y agoIt's typically a bad sign when your framework has evolved (or worse yet, made necessary) an entire programming language? Are the GNOME folks crazy?
- 13y ago
- MrBra 13y agoGreat f%*ing job. Couple of years from now everyone will take these features as granted on every linux distro's terminal. Next gen linux non-power users will probably think terminal has always been like this before. And yet some people here are giving negative feedback..
- specialist 13y agoDrive by comment... Looks neat. Looks like no port to Mac yet...? That's cool. I''ll wait. I'm a pretty basic user loving iTerm on Mac. One feature I really want is mouse positioning and selection of text (for the current command line). Arrow navigation is okay, but I'm a casual user not a power user.
- ihuman 13y agoProtip: hold "alt" and press left or right to move by word instead of character.
- pseudonym 13y agoIf you're using bash and you're familiar with vim, you can use the command "set -o vi" and start using Vi bindings to jump around/cut/delete/modify text in your current prompt.
- zhemao 13y agoI'm sorry, he says "I'm a casual user, not a power user" and your first instinct is to suggest that he use vi keybindings in bash?
- pseudonym 13y agoMy first instinct is to suggest something that already works for what he wants to do. If he's using a Terminal window on a frequent enough basis that he's looking for a solution, it makes more sense to suggest one than to say "Gosh, yeah, that'd be useful, I hope this terminal emulator releases in the next year some time so that you can do what you want to do with that!"
- zhemao 13y agoOh, I wasn't saying that. I was saying why vi key bindings and not the default emacs key bindings? I think they are a bit more intuitive for someone who hasn't used vim before.
- deleted 13y ago[deleted]
- Rovanion 13y agoActually managed to cuase an X.org crash on my 32-bit Ubuntu 12.04. Can't seem to find the error log though.
- ninjakeyboard 13y agoLooks good. I wouldn't mind giving it a spin on osx to be honest :)
- donniezazen 13y agoAfter trying a lot of terminal emulator, rxvt-unicode is still my favorite. I run it under daemon-client mode which makes it super light.
- jiggy2011 13y agoVery very cool, I've wanted something like this for a while. But: The autocomplete doesn't seem to work for me, do I need to install something else? Also the typing effect makes input feel laggy and I can't find a way to turn it off. I'm on Ubuntu 12.04
- elclanrs 13y agoSame thoughts here. Autocomplete doesn't work for me and the input lag is noticeable. I'm on 13.04. An option to turn it off would be nice, other than that it looks great.
- xanderstrike 13y agoIs it just me (Linux Mint 14) or does a lot of this just not work? Dropdowns don't drop and they stay on the screen after `clear` or input scroll, right click is broken, scrolling doesn't always stick to the bottom, you can't select text or middle click to paste (my keyboard doesn't even have insert), ps aux, htop, and a few other things break it, arrow keys don't work over SSH. Then there are missing features like tabs, hiding the menu bar, spawning new terminals in the current directory, settings that do more than color scheme, etc. About the only thing that does work is the autocomplete, which is certainly nice, but not nice enough that I'm going to give up on a ton of functionality I've gotten used to. Don't get me wrong, I appreciate the work you're doing and don't want to discourage you, the terminal is certainly due for a rework, and this is a huge step in the right direction. If more of the features on your website were implemented/worked I would be very tempted to make a permanent switch, but I spend 8 hours a day in a terminal window, everything needs to just work.
- JacobIrwin 13y agoI am following the instructions for installing, as noted in the README on GitHub Source page, can anyone tell me how to fix? http://pastebin.com/K2e2ePW4 http://pastebin.com/K2e2ePW4 Error begins at "cmake .." ...
- coolsunglasses 13y agoYou need to have Vala installed. You've got a long list of dependencies before it's going to finish compiling. This is pretty standard for compiling and installing any software from source. Read further down and you'll see there's a shake-n-bake PPA ready to go.
- webjprgm 13y agoThis looks pretty awesome. It's also the first time I've heard of Vala, so I read through the tutorial of that too. It's also interesting. I don't suppose there's a way to use this with Windows, either as the shell emulator for Cygwin or a shell emulator for an SSH connection? Then I could actually have nice shells when I have to work on a Windows box too.
- Legion 13y agoNeat. I like seeing people try new things with terminal emulators, even if a certain cluster of boo-birds shows up every time. I noticed that the terminal does not work well with my zsh right-prompt (ends up printing on the left and getting overwritten by what I type), and has some issues with my prompt when my little Git status line appears when browsing inside a repo. But I will be keeping an eye on this project.
- twopoint718 13y agoLove it. There are elements of this that remind me of Plan 9's Acme and the Plan 9 shell. Contrary to many people's opinion, using the mouse in concert with the terminal is a really powerful paradigm.
- stormbrew 13y agoI was thinking the same thing. But while I've always loved some things about Plan 9 (its security model and it going all-in on the everything-is-a-file model), I never was able to adjust to acme.
- twopoint718 13y agoAcme is the part that I use even under OS X. The regexes are cool (they are recursive), it is easy to process a selection through a shell command, and the compiler integration is both simple but really useful. I think what I like so much is that it is a rare example of an expert ui, designed for when you are really proficient rather than for learning or discoverability.
- mattattaque 13y agoDefinitely interesting. Hate all the mousing around in the video and hope they'll be a way to go 100% keyboard (like God intended it), but all in all I think this looks pretty cool.
- sspiff 13y agoI like a lot of the ideas, but I wish I could turn of the slow typing animation. Also, is there a way to have multiple tabs?