Emacs auto-complete-mode cycles focus through every window? - emacs

When I have autocomplete mode enabled:
(global-auto-complete-mode 1)
Once I get a few windows open, hitting any key in one window will quickly cycle focus through all the windows in the frame.
For example, to recreate:
Load auto-complete-mode
Open up 5 or 6 windows in one frame
Open up a frame editing a Python file (although this appears to happen with other file types too, like .c)
Mash the keyboard. Observe that focus is quickly cycled between the windows.
Here is a video showing the problem: http://gfycat.com/LeafyCleverCommongonolek — notice that I'm typing at a constant rate, but every few characters focus cycles between all the open windows.
If I set:
(global-auto-complete-mode nil)
Then the problem goes away.
What can I do to fix this?
This is happening with Carbon emacs 24.3.1 installed from Homebrew.

Related

Dropdown buffer menu for emacs 25.1 doesn't show new buffers

I have just installed emacs 25.1 on a machine with an Ubuntu 17.04 OS. However, drop-down buffer list only list the 3 initial buffers (i.e. GNU Emacs, scatch and messages), regardless of which buffers I've opened. C-x C-b gives me an accurate list of open buffers, and the value of my buffers-menu-max-size is 10.
What can I do so that the drop-down menu for buffers accurately reflects my open buffers and can be used to switch between them?
I had the same problem with emacs 25.2.2 running in ubuntu 18.04. I followed user1245262's suggestion and ran it from terminal, and the problem went away. So it seems to be related to default behaviour of Ubuntu Unity, where menus for a window are shown in the Unity menu bar at the top, rather than in the window's title bar. By changing this default behaviour (settings->appearance->behavior) you can then launch emacs from the Unity launcher and the buffer menu problem is fixed.

Menu bar flashes for a moment when Emacs starts

With (menu-bar-mode 0) in my .emacs-file, Emacs (in a terminal) seems to be starting with the menu bar visible, and then within a fraction of a second, the bar disappears.
Is there a way to make Emacs not show the menu bar at all?
No: Emacs first starts by setting up its "frame" (which includes some initial display), then reads the .emacs file. That's why you see this flashing of the menu-bar. Emacs could read the .emacs first, but if the .emacs outputs any message or signals an error, there'd only be stderr to display it, whereas with the current setup, those messages are displayed in the minibuffer and the error can be caught in the "normal" way.
If you're runinng Linux (and I guess any system where Emacs runs in an X server), you can use X resources to tell Emacs you don't want the menu bar. Just put this in your ~/.Xresources file:
emacs.menuBar: off
These resources are used to customize frames appearance and are therefore read by Emacs at the very beginning.
See also:
Emacs manual: Menu Bars
Emacs manual: Table of Resources
man xrdb(1)

Prevent mouse-selected text from being put into Emacs paste buffer?

In emacs, there is a feature where if I select text with a mouse, then without pressing
ctrl-c I can paste into emacs with ctrl-v if I have cua mode turned on.
I want to turn off this feature while keeping the cua mode on. I mean I want to
explicitly press ctrl-c so that the text will get copied to the clipboard.
I suspect that you are using a version of Emacs older than version 24? If so, see the last paragraph of this page of the current Emacs manual. You can probably get rid of the behaviour you dislike by setting x-select-enable-primary to nil.
From my quick tests, setting it to T (which isn't the default on Emacs 24) reproduces the problem behaviour, and this happens both in and not in cua-mode.

How can I configure emacs to switch to a particular buffer when I click the mouse in it?

I'm using iTerm2 on my mac to ssh into a Linux box and run emacs in the terminal. On a big monitor, I like to split the window to see multiple buffers side-by-side. I'd like to be able to switch to a particular buffer by clicking the mouse in it (rather than doing C-x o).
What seems to be happening is that if I click the mouse anywhere outside the currently active buffer e.g. in the next buffer, on the mode line etc., the click is being interpreted as which is bound to (tmm-menubar-mouse EVENT).
I have disabled the menubar by doing the following in my .emacs_d/init.el:
(menu-bar-mode -1)
This seems to disable the visible display of the menu bar at the top of the window, but the mouse click behavior I described is still happening.
I think what I need is to have the click interpreted as something other than and then bind that to some function that detects which buffer the click happened in and switch to it. But, I don't know how to do that and the searching I've done hasn't yielded any clear answer. Can anyone help?
Alternatively, I looked into using windmove to enable switching between buffers with SHIFT and the arrow keys. I did (windmove-default-keybindings) but emacs then seems to respond to SHIFT left-arrow by inserting "2C" into the buffer and SHIFT-right-arrow by inserting "2D". If anyone has any tips on making this work too, I'd love to hear them.
Thanks
I ran into this problem a while ago, where clicking on column > 95 was interpreted as <menu-bar> <mouse-1>, which invokes tmm-menubar-mouse. It turned out to be a bug:
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6594
There hasn't been a formal release since this bug was fixed, but you can get the patch here:
http://bzr.savannah.gnu.org/lh/emacs/emacs-23/revision/100618
If I recall correctly, you should be able to just drop the modified file into your existing emacs installation and byte-compile it (assuming you're running the 23.3.1, the latest release).

How to disable cursor in emacs when emacs doesn't have focus?

I'm using emacs 22.3.3 over X on a Windows box.
When I've switched to another window, the cursor stays enabled (which means if it's blinking, it still blinks).
Every other program I've ever used disables the cursor when the window doesn't have focus. Since emacs is different, I keep accidentally typing input meant for emacs into other programs.
How can I programatically disable the cursor in my .emacs file when the window loses focus?
I know that emacs has a disabled cursor mode, because it switches the cursor to white with a black border when a particular buffer doesn't have the focus.
Update: My X client is Xming 6.9.0.31. I'm using X forwarding through putty.
Sounds like it's a window manager issue... the window manager is sending events to Emacs when (you believe) it shouldn't.
GNU Emacs doesn't have a window(frame) leave event hook (I've looked and can't find one (as of 23.1)), and the question: how to automatically save files on lose focus in emacs appears to bear that out.
Good luck...
The white with a black buffer is what I get when the Emacs window doesn't have focus. I'm using GNU Emacs 22.1.1 on XP. I haven't tried 22.3.3 yet, but I'd guess the issue might be that it is over X, rather than the version.
Some more info might be nice. What platform is the emacs itself running on? What version of X client are you using?