Configuring buffer switching / window-splitting behavior

Asked by Zeitlinie

Hi,

I have issues in configuring emacs's windows behavior in python-mode.

What I'd like to have, is that:
- I have one window showing a buffer with python content
- then I do C-c ! which should start the python interpreter
  in a newly opended window
- after that, each C-c | on a region in the python buffer should execute
  the python code and jump the cursor to the python prompt in the python
  interpreter's window

I was hoping that this can be configured with the two variables
py-split-windows-on-execute-p
py-switch-buffers-on-execute-p
as show in the following torso of an init.el

;;;;;;;;;;;;
(require 'package)
(package-initialize)

(require 'python-mode)
(add-to-list 'auto-mode-alist '("\\.py$" . python-mode))
(add-to-list 'auto-mode-alist '("\\.pyx$" . python-mode))

(setq-default py-shell-name "ipython")
(setq-default py-which-bufname "IPython")
(setq-default py-python-command-args '("--pylab=qt4"))
(setq py-force-py-shell-name-p t)

(setq py-split-windows-on-execute-p t)
(setq py-switch-buffers-on-execute-p t)
;;;;;;;;;;;;

Unfortunately, for me, this works only partially:

- if more than one window is open within emacs, the C-c ! command,
executed within the python code window will start the interpreted in a
new window, BUT all other windows, except the interpreter and the python
code, get closed.

Is there any way to prevent C-c ! from closing windows?

- the interpreter's window always 'wants to be first'. I cannot get the
interpreter to display its window on the bottom of emacs's global window.

Is there any way to control the initial position of the interpreter's
window?

Any help would be most welcome. Thank you.
Regards,
Mark

Question information

Language:
English Edit question
Status:
Open
For:
python-mode.el Edit question
Assignee:
Andreas Roehler Edit question
Last query:
Last reply:

Can you help with this problem?

Provide an answer of your own, or ask Zeitlinie for more information if necessary.

To post a message you must log in.