Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Ipython qtconsole widget more intuitive #1083

Closed
spyder-bot opened this issue Feb 17, 2015 · 13 comments
Closed

Make Ipython qtconsole widget more intuitive #1083

spyder-bot opened this issue Feb 17, 2015 · 13 comments

Comments

@spyder-bot
Copy link
Collaborator

From DavidAnt...@gmail.com on 2012-06-06T19:13:27Z

The ipython console is shaping up very nicely, and I'm really enjoying using this feature. However, it seems that it could be confusing to a user who is not familiar with Ipython. In particular:

  • You should be able to start a new client with a connected kernel directly from the Ipython widget
  • Possibly the naming of each tab as a "client" is confusing. Most people would expect these to be called consoles
  • It seems a bit clunky having to switch to the console widget for the corresponding kernel (although I understand that this was the easiest way to build from the existing system)

I guess what I would like to see is a system which hides the complexity of kernels and clients by default, but makes it easily available for more advanced users.

Original issue: http://code.google.com/p/spyderlib/issues/detail?id=1083

@spyder-bot
Copy link
Collaborator Author

From ccordoba12 on 2012-06-07T07:55:18Z

You're totally right David. I've been thinking for a while about this issue and I agree that the difference between kernels and clients is not easy to grasp if you don't know the IPython architecture and shouldn't be shown by Spyder to not confuse our users.

About your suggestions:

  1. Yes, we have to add a menu option to open a new client directly from the ipython widget. It's in my todo list.
  2. We could change the tabs name from "Client" to "Console". I don't see any problem with that, although I would like to know what Pierre thinks about it.

But what about the number added to distinguish one console from another? It's the kernel id of course, but that's probably not intuitive either. What do you think we should do with that? Should we just name consoles with increasing numbers?

  1. Yes, we need to avoid showing kernel creation on the console widget while creating IPython consoles. It's on my todo list too.

Status: Accepted
Cc: pierre.raybaut
Labels: MS-v2.2

@spyder-bot
Copy link
Collaborator Author

From DavidAnt...@gmail.com on 2012-06-07T16:44:28Z

Carlos, I'm don't see a problem with having the kernel id as the console number. Although beginners won't understand what it means, I don't think it would cause any great confusion for them. Hiding this number would then be annoying for advanced users who do want to know about kernel ids.

@spyder-bot
Copy link
Collaborator Author

From ccordoba12 on 2012-06-08T21:04:23Z

Ok, I see. Then just leave like that.

I'm working right now to solve these issues. I've made good progress but they've showed some more usability problems I'm trying to solve.

Labels: -Priority-Low Priority-High

@spyder-bot
Copy link
Collaborator Author

From ccordoba12 on 2012-06-18T11:48:38Z

This issue was updated by revision 0cb3b361fede .

-. Change menu entry from 'Start a new IPython kernel' to 'Open an IPython
console'.
-. Don't focus the external console while creating the kernel. Instead focus
the IPython console.

Status: Started

@spyder-bot
Copy link
Collaborator Author

From ccordoba12 on 2012-06-18T11:48:43Z

This issue was updated by revision c8d088eadb76 .

@spyder-bot
Copy link
Collaborator Author

From ccordoba12 on 2012-06-18T11:48:43Z

This issue was updated by revision 46e28d7e5538 .

  • Remove it from the External Console options menu

@spyder-bot
Copy link
Collaborator Author

From ccordoba12 on 2012-06-18T11:48:44Z

This issue was updated by revision 0926eb3cbb0a .

@spyder-bot
Copy link
Collaborator Author

From ccordoba12 on 2012-06-18T11:54:50Z

David, I think I covered all your suggestions with my last commits. Please test them and if you consider this is the case, close the issue with a 'Verified', else we could continue the discussion :-)

Owner: ccordoba12

@spyder-bot
Copy link
Collaborator Author

From DavidAnt...@gmail.com on 2012-06-18T17:32:46Z

Carlos, I am using the ipython qtconsole, and I think you have made some good improvements. So far I've noticed a couple of issues:

  • If you close a console, and select "no" when it asks about closing the kernel, it becomes impossible to close the kernel, as you cannot close its tab.
  • Sometimes I run a script in its own dedicated python console instead of in the existing ipython console. In this case the console widget comes to the front, however focus does not switch to the regular python console tab, but stays on the tab for a previously opened ipython kernel. (Maybe this should be a separate issue)

From a user interface perspective, I'm still undecided about having the ipython kernel tabs within the console widget - somehow they seem to get in the way. I'm not sure that they would be any less annoying if they were attached to the ipython widget. Occasionally I do need to refer to them because that's where stderr gets redirected, so hiding them somehow wouldn't be ideal either. At this stage I don't have any suggestion that seems more satisfactory than the current arrangement, so maybe this should wait for more user feedback.

@spyder-bot
Copy link
Collaborator Author

From ccordoba12 on 2012-06-22T11:36:18Z

Ok, I just pushed some changes that fix the two problems you reported.

Unfortunately we can't remove the kernels from the external console and they have to there, i.e. we can't put on any other plugin. However, I think we can improve the situation for people that uses both the console and IPython console doing this:

  1. Grouping all kernels at the beginning of the console.
  2. Not writing the kernel name on the tab and putting it instead on the tab tooltip. This way kernels would appear as pinned tabs, like in Firefox or Chrome. Please take a look at screenshot I'm attaching to see what it could look like.

David, Jed, what do you think?

Cc: jed.lud...@gmail.com

Attachment: improvements.png

@spyder-bot
Copy link
Collaborator Author

From ccordoba12 on 2012-07-05T20:14:35Z

Blocking: spyderlib:1053

@spyder-bot
Copy link
Collaborator Author

From DavidAnt...@gmail.com on 2012-07-10T22:36:13Z

I would say at this stage the major problems have been fixed. Discussions about where to put kernel tabs are of pretty minor importance. I'm not sure that Carlos' proposal has any advantage over the current situation.

I'd be happy to consider this issue closed if nobody else objects.

@spyder-bot
Copy link
Collaborator Author

From jed.lud...@gmail.com on 2013-01-26T19:28:04Z

Status: Fixed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant