Revision 26 as of 2010-12-17 22:10:02

Clear message

This page is intended as a place to suggest features for DreamPie.

DreamPie is a graphical interactive Python shell which is designed to be reliable and fun. Check it out at http://dreampie.sourceforge.net/

Richer function documentation

This is a feature from IPython which is frequently requested. I think that the model should be Eclipse - when you type a paren after a function name it opens a yellow popup window which displays its argument and a bit of documentation, and lets you make it a real window by pressing F2.

Complete module names

This was a bug report by cool-RR: https://bugs.launchpad.net/dreampie/+bug/525610

IPython completes module names. That's a good idea.

bpython does this too.

More by cool-RR: Complete things that aren't defined yet

Imagine I'm writing this function:

def factorial(n):
    import random
    random.whatever()
    return n * factorial(n-1)

I'd want DreamPie to autocomplete both the whatever thing and the use of factorial inside the definition. Probably hard, I know.

As you said, this is really hard and complicated. I don't see this happening. Sorry! Noam

Magic commands

Chris Colbert gave the example of the Ipython's %timeit command.

Shell support

Probably by prefixing with a '!'. some common commands can work without it.

There shouldn't be a technical problem, as output from processes created by the subprocess is directed to DreamPie.

Debugging support

IPython provides enhanced tracebacks and pdb support. Should check out what this exactly means and what should be implemented.

Save code history between sessions

An idea by Regev: save the last executed code sections, so that history search will include those too. It's useful if there are lines which are executed many times - for example 'execfile'.

Another suggestion roughly about the same subject, by Per Dalgaard Rasmussen: On exit, ask whether to save the history.

I (Noam) think that we can use the "changed" flag of the text buffer for that - it's pretty standard in applications. We should also add a "recent files" menu. The only difference from standard apps is that we should warn even if the history was saved, and note that although the history was saved all the variables will be lost.

Pasting clipboard datas using the mouse middle button

On Windows with the standard interactive Python shell it's very useful to paste clipboard data with a simple mouse right-click.

Since in DreamPie the right mouse button is used by the context menu, it'll be good to have the same feature with the middle mouse button (or the wheel one).

Setting the bottom box area height

The bottom box area have a fixed height at startup. Saving and restoring will be useful.

Saving window position and size

Setting window position and size every time is a pain in the neck.

Saving and restoring window position and size at startup will be an appreciate feature.

Notify new versions

Let DreamPie check and notify if a new version is available at startup (or programmatically).

Autocomplete keyword arguments

Imagine I'm typing this:

x = sum(my_list, sta

In this case we have the sum function, which takes a keyword argument start. It'd be nice if DreamPie could autocomplete the keyword argument itself. (Ram "cool-RR" Rachum.)

Behavior of Ctrl+Something not good enough

I often use ctrl+arrow or ctrl+delete to move through or delete a word. In programmer-friendly editors (Like Wing, Eclipse, Aptana, etc.) this works great. In non-programmer friendly editors (like Notepad, IDLE (shamefully), or textareas in browsers), the cursor often jumps too far in one stroke. Unfortunately it happens in DreamPie as well.

Display version in caption bar on Windows

On Windows, DreamPie creates launch shortcuts for each version of Python on the system. This is great, because it makes DreamPie very useful for doing A/B comparisons between versions. It would be even better if the window caption contained the Python version--for example, instead of just "DreamPie", "DreamPie - Python 2.7".

They don't automatically contain the version number? Because on my system, they do, and they should. Can you please post a bug report, with the version of DreamPie you're using? --Noam

Done: https://bugs.launchpad.net/dreampie/+bug/610160 -- tlesher

Highlight all occurrences of the word(token) under the caret

Notepad++ has this feature and I miss it a lot. Very helpful for seeing all uses of a variable, catching misspellings, etc. Should be easy to add.

I agree it's a nice feature sometimes, but you know that saying that it's easy to add is something that I'm supposed to say, not you, unless you're going to implement it. --Noam

Allow cycling through history without ctrl modifier

Currently DreamPie requires the 'ctrl' key along with up or down arrows to cycle through history. Perhaps this could be done with arrow keys alone like this:

When up arrow pressed:

and when down arrow pressed:

We should retain the current 'ctrl'-based scheme, too. When the editing window contains several lines, the user can use 'ctrl+arrow' to immediately move to next or previous history item without having to first scroll through all those lines.

In my view using arrows alone will make the navigation more fluid. Also most new users will already know it because that's how all popular shells (of any kind) implement this feature. -- Gurry

Thanks for the suggestion! However, I don't think it will work well with multi-line sections. Say you press 'up' and you get a multi-line section. Pressing 'down' will go to the next line, instead of giving you back the last section. I think that up and down should always cancel one another. So I still think that using ctrl is the best solution. -- Noam

Let 'esc' clear the editing window if in the middle of history

Imagine you're going through history items looking for some command and eventually discover it is not there. Now in order to go back to the empty editing window, you have to cycle all the way back. Perhaps it would help in such situations if pressing escape took us back to the end/bottom of the history queue (the empty window that is).

-- Gurry

Again, thanks for your thought and suggestion! You don't need to scroll all the way down - just press ctrl-a (to select all) and the Delete key. I don't think it's worth to add another shortcut just to keep you two keystrokes, especially since most people won't find this feature. -- Noam

Color-coding decorators

It seems that decorators are currently not color-coded. I suggest they should be. (I'd recommend a gold-like color.) -- Ram

Output format handlers

implement Reinteract like output handlers to customize the console output. I've seen such a feature in Monos csharprepl too where you can hook in a handler. Another quick hack would be to implement a default handler with based on a template engine like jinja, where the output widget is render with a template (model view control like separation) -- Rainer

== Snippet templates

another usage for jinjas template would be a snippet like shortcut system for accessing a list of templates to format the bound data -- Rainer

== Allow bold fonts --Rainer

Unable to edit the page? See the FrontPage for instructions.