Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tm-dev] Terminal - Tabs versus not

What do you mean we? I’m pretty sure Greg will push patches for me and himself. And once I’m a committer I can do it myself. I’m not sure we want to keep the old one yet, but if we do, there’s nothing that should stop us from making it happen.

Just to be clear and open, Greg and my objective is to have a good Terminal solution for the org.eclipse.remote framework. That’s what’s driving us. But I’d hate to see yet another Terminal View for that which is why it makes more sense for us to contribute to the TM Terminal which is the foundation of this all anyway.

I’ll open the bug, or a number of bugs, once we figure out the direction. If the committers on the TCF Terminal View want to contribute their view, then I can’t see why we wouldn’t consider that. And if that happened, I’d like to clean things up since there’s some artificial duplication between the two that we probably don’t need any more, especially if we do a major release for Mars and are free to change APIs.

BTW, we really should be questioning why the TCF project has a Terminals view since that really doesn’t have anything to do with TCF and the bulk of the Terminal is in the TM project. But that doesn’t matter if we make the TM one great. And if you want to keep yours, you’re free to.

Doug.

From: <Stieber>, Uwe <Uwe.Stieber@xxxxxxxxxxxxx>
Reply-To: TM project developer discussions <tm-dev@xxxxxxxxxxx>
Date: Thursday, January 8, 2015 at 10:42 AM
To: TM project developer discussions <tm-dev@xxxxxxxxxxx>
Cc: "Gutschelhofer, Martin" <Martin.Gutschelhofer@xxxxxxxxxxxxx>
Subject: Re: [tm-dev] Terminal - Tabs versus not

Hi Doug,

 

You can use the deprecated TM Terminal view as is, but we are not doing any changes to this code anymore (for quite some time now in fact). Also patches won’t be applied if they are targeting the deprecated TM Terminal view.

 

We can move the TCF Terminals view to the TM project in order to get a common starting point for the terminal view implementation, except I miss the point of having a single common terminal view in Eclipse. If this is what the plan is and we can agree on, we can open an bugzilla for it.

 

We need a plan where to go from here. We are happy with the widget and the TCF terminal view, and the users who downloaded it from the Eclipse market place are happy too and provided very constructive feedback and entered valid requests we plan to work on. We are willing to invest resources and time in moving the TCF Terminals view to the TM project, if this is what the community wants. But we cannot do something today and the complete opposite tomorrow.

 

Just my 2 cents.

 

Best regards, Uwe

 

 

From: tm-dev-bounces@xxxxxxxxxxx [mailto:tm-dev-bounces@xxxxxxxxxxx] On Behalf Of Doug Schaefer
Sent: Donnerstag, 08. Jänner 2015 16:12
To: TM project developer discussions
Cc: Gutschelhofer, Martin
Subject: Re: [tm-dev] Terminal - Tabs versus not

 

Thanks Uwe, you raise some good points. A couple of corrections (IMHO) though:

 

The TM Terminal View is in fact not dead. We’ve included it in our product for some time now. It works fine for what it does. Don’t over estimate how dead it is :). And Greg has proven that it doesn’t take that much effort to keep it going and hook it up to the o.e.remote framework which he’s already done in PTP. And I just used it for the Arduino C++ IDE will little effort. It may be missing a few features but since we’re all using the same VT100 widget, other than adding menus and view toolbar items, I’m not sure what else we need.

 

Since the Terminal has traditionally been a TM thing, I want to keep it that way and encourage everyone who wants to work on it to work on it there. Any code we want to move should be moved and I don’t think we want TM to have a dependency on TCF. I will contribute to it there since as I mention we use the TM Terminal in our product and want to move it forward. That would include adding it to the C/C++ IDE package which the Arduino C++ IDE depends on.

 

At the end of the day, the Settings UI doesn’t need to be complicated. There is something nice that way about the TM terminal settings is done that way. But I do agree that we need to clean up how they’re stored and have better APIs for opening and setting up terminals so we can do it programmatically.

 

Pin and Clone is incredibly bad UX. I don’t think there’s anything like it in other IDEs that our users have used and they’d never figure it out on their own. Random toolbar buttons are bad too. There’s already too many. Whatever we can do without having to use these things, the better off our users will be. For o.e.remote users, I plan on adding a Connections view to list all the connections and they should be able to open Terminals from there.

 

Doug.

 

From: <Stieber>, Uwe <Uwe.Stieber@xxxxxxxxxxxxx>
Reply-To: TM project developer discussions <tm-dev@xxxxxxxxxxx>
Date: Thursday, January 8, 2015 at 2:48 AM
To: TM project developer discussions <tm-dev@xxxxxxxxxxx>
Cc: "Gutschelhofer, Martin" <Martin.Gutschelhofer@xxxxxxxxxxxxx>
Subject: Re: [tm-dev] Terminal - Tabs versus not

 

Hi,

 

Let me try to response to a few questions/comments from the several email threads here.

 

First of all, we are on the same page wishing to have only one terminal view implementation and to bundle the resources willing to work on the terminal view. Having multiple terminal views creates confusion, as we can see from many comments. However, what we are talking about here is basically the planning for a TM (Terminal) 4.0 release. There are cleanups to do, API’s to change in the o.e.tm.terminal plugin’s etc. And it should be clear that all work towards a common terminal view, wherever it will live, should be done on base of the TCF Terminals view. The TCF Terminals view provides the most features the users asked for in the past, like the local terminal handling and the integration of the terminal view in Eclipse (project explorer, short cuts, theme support, etc). Also, the TCF Terminal code is much more maintainable than everything we have in TM Terminal.

 

+1 to have a common, TCF Terminals view based, view implementation.

+0 to where it shall live. If you guys prefer to have the widget and the view living in the TM project, fine with me.

-          We should talk about some Releng improvements in this case than. I want to have TM Terminal releases done independent from RSE.

 

Doug’s comments:

 

>The real issue is when you open the Terminals View, there isn’t a connection defined yet. The users needs to be guided towards opening a connection. The lack of tabs is

>much more obvious than in the TM terminal which more subtly says No Connection in pretty small text.

 

It should be pretty easy to understand for a user to click on the “Open Terminal” button either in the global toolbar or in the view toolbar. If you say that it will be even better to have a text in the “Terminals” view once it is empty that explains how to open a new terminal, that’s pretty easy to implement.

 

>Also if we’re going to put multiple terminals into a view, then the tabs are a better way of doing that. But I do wish these tabs had the same behaviour as View tabs. I’d like to

>be able to re-order them, and to easily pop them out of the View and into a new View either in the same page or into their own window. If you have multiple monitors, it

>might be nice to be able to pop terminals into their own shell.

 

+1.

 

Would like to see all this too, but time and resources are limited.

 

There exist enhancement requests to allow the re-ordering of the tabs inside the view. Whoever feels comfortable with Eclipse DND is welcome to contribute. Also if you have improvements to the DND handling of the tabs while moving around in the Eclipse shell, we would be happy to hear them and see contributions.

 

>One problem though is that the tabs have a different look and feel than the View and Editor tabs. Are you using CTabFolder to implement them? It would be better if they >were consistent.

 

Yes, CTabFolder/CTabItem is what we use.

 

>And hopefully we can clean up the architecture along the way (it was double the work to add a connection type to TCF than it is to TM) since you still need to deal with two >settings systems. It really only should be one.

 

I agree. The history of this is that we had the objective to keep the TM Terminal widget and connector implementations unchanged, but the view needs to store different things and even needs to pass on custom transient data. With a TM Terminal widget 4.0, all this can be unified.

 

Greg’s comments:

 

>Looking at the TCF Terminals view implementation, I think it would be a lot of work to move it to TM as there are many TCF dependencies that you would need to fix. If all you >wanted was the tabs, it would be much easier to add them to the existing TM Terminal view.

 

The existing, old, deprecated TM Terminal view is dead code. There is no value in trying to resurrect this view and trying to bring it to the level of the TCF Terminals view. This would a waste of time and resources. This view is dead and as earlier we remove the code from the repository as better it will be to channel the limited resources to the right place.

 

>TM Terminal view uses one view per session and allows the view name and encoding to be changed.

 

The TCF Terminal view also supports changing the encoding.

 

>There are probably other features that TCF Terminals provides that I’m not aware of. If anyone knows what they are, please comment.

 

There is the local terminal support, there is the “pin & clone” support, there is the better integration into Eclipse if we talk about user visible features. There is so much more in the implementation that a user does not see but is necessary for product builders.

 

>Looking at the TCF Terminals view implementation, I think it would be a lot of work to move it to TM as there are many TCF dependencies that you would need to fix. If all you >wanted was the tabs, it would be much easier to add them to the existing TM Terminal view.

 

You over estimate the effort to get rid of dependencies and you under estimate the work which would be necessary to resurrect the deprecated TM Terminal view implementation. I always said it is possible to have a TCF terminals view implementation without the dependencies to the other plug-in’s, but as long as there is no demand for this, it does not make sense to spend time on it. Cleaning up the dependencies is less than a week work.

 

Let me repeat, resurrecting the deprecated TM Terminal view to implement all the features that the TCF Terminals view have … again … especially the local terminal support … is not the way to go and it is not a wise use of resources. There is no reason to fear the dependencies of the TCF Terminals view implementation, the coupling is less heavy than you assume. If you want me to come up with a TCF Terminals view implementation that can live in the TM project without referencing other TCF infrastructure plugins, let’s get the planning started and do it!

 

Best regards, Uwe J

 

 

 

 

From:tm-dev-bounces@xxxxxxxxxxx [mailto:tm-dev-bounces@xxxxxxxxxxx] On Behalf Of Doug Schaefer
Sent: Mittwoch, 07. Jänner 2015 22:53
To: TM project developer discussions
Subject: [tm-dev] Terminal - Tabs versus not

 

Hey gang, to get the conversation rolling towards technical solutions, I’d like to bring up the use of tabs as done by the TCF Terminal.

 

After a lot of though about it, I think I’m warming up to the idea. It does solve one problem well, but leads to others that I hope we can solve.

 

The real issue is when you open the Terminals View, there isn’t a connection defined yet. The users needs to be guided towards opening a connection. The lack of tabs is much more obvious than in the TM terminal which more subtly says No Connection in pretty small text.

 

Also if we’re going to put multiple terminals into a view, then the tabs are a better way of doing that. But I do wish these tabs had the same behaviour as View tabs. I’d like to be able to re-order them, and to easily pop them out of the View and into a new View either in the same page or into their own window. If you have multiple monitors, it might be nice to be able to pop terminals into their own shell.

 

Love to hear other’s opinions on the two views what the like or don’t like about each.

Thanks!

Doug.


Back to the top