[OS X Emacs] Re: one-buffer-one-frame-mode strangeness with Spaces
middleton.ted at gmail.com
Mon Oct 25 19:56:26 EDT 2010
On Oct 25, 2010, at 5:45 PM, Ted Middleton wrote:
>> If you have one-buffer-one-frame-mode turned on (which I think you really have to do if you're using aquamacs with Spaces) then as the bug states, for some reason this prompts OS X to switch spaces. It makes aquamacs nearly unusable with Spaces.
>Have you tried the current development version (nightly build of master branch)?
I think so - is that not the tarball at this address?
At any rate, I just did a git-clone of aquamacs-emacs and built HEAD
of master, and it still has this problem.
>> Is there a work-around or a quick fix for this? If not, does anyone know where the code is that handles frame-focus transitions and creating attaching new frames to existing aquamacs instances? I've built regular emacs 23 on my system but it behaves very differently - it actually creates separate emacs processes. I'd be willing to look at this myself, but I'm not sure where to start.
>I'm not sure if we agree on what "process" and "aquamacs instance" mean. Can you elaborate?
Sorry - I'll explain.
Say I have some number of Spaces open, say 9, and I have a Terminal
command line in Space 4 and another one in Space 7. Also say that I
built both the HEAD of aquamacs and the HEAD of emacs23 on Savannah
and I have both of these installed in my Applications directory.
Furthermore, say that I've installed the command line tool 'aquamacs'
in my path somewhere and that I have a similar symlink for emacs 23,
maybe in /usr/local/bin, called emacs23.
In Space 4 I type 'aquamacs somefile.txt' and it opens aquamacs with
the somefile.txt file in a buffer. In Space 4 I type 'emacs23
somefile.txt' and similarly it opens emacs 23 with the somefile.txt
file in a buffer.
Then, I switch to Space 7. In Space 7 I type 'aquamacs otherfile.txt'.
A new frame (NSWindow?) for aquamacs opens in Space 7 with
otherfile.txt in a buffer. BUT, for some reason (I think because
there's code that shifts focus around between NSWindows), Spaces
decides to switch back to Space 4, where nothing is happening - the
first NSWindow of aquamacs is still sitting there with somefile.txt in
its buffer. Switching back to Space 7, I can see that the second
NSWindow for aquamacs is open with otherfile.txt.
In Space 7, if I type 'emacs23 otherfile.txt', a new frame/NSWindow
for emacs 23 is created in Space 7 much like aquamacs, but without a
Spaces switch to Space 4. Looking more closely, we can see that this
has actually created a new emacs23 process (complete with an 'Emacs'
entry in top). They have separate menu bars, and aren't aware of each
other's buffers or state as far as I can tell. This definitely isn't
what I wanted, and is only of interest to me because I wanted to know
whether emacs 23 did the same mysterious Spaces switch, which it
doesn't, probably because it doesn't even track a single process for
different command-line invocations?
So the 'bug' here is the Spaces switch when invoking aquamacs on the
command line a second time in a different Space.
BTW - I don't seem to be receiving emails on this list - my settings
seem to be ok, but I had to respond to your email out of the archives.
More information about the MacOSX-Emacs