Subject: Re: bug#5907: 24.0.50; Alt-Tab from Emacs causes gnome-terminal to lose keyboard input

From: "Jan D." <[email-masked]>
Date: Fri, 09 Apr 2010 13:08:26 +0200

Mingming Ren wrote:
> Here's the information generated by report-emacs-bug

Please do not remove addresses from CC.  If you do, the information will 
not go to the bug tracker.

You didn't answer my question, what do you normally use to switch focus, 
  click on a window or just move the mouse over it?  Say when you go 
from firefox to gnome-terminal?  Not in this bug situation with Emacs, 
but just selecting another window.

I will paste former messages here to include them in the bug tracker.

	Jan D.

> I'm using compiz and I don't set click-to-focus or focus-follows-mouse
> 
> When I Alt-Tab to gnome-terminal, the title bar color changes on gnome-terminal
> 
> It happens also with emacs -Q.
> 
> On Fri, Apr 9, 2010 at 9:20 AM, Jan D. <[email-masked]> wrote:
> 
>     Mingming Ren wrote:
> 
>         1. Open emacs and do some editing
>         2. Alt-Tab to switch to terminator or gnome-terminal
>         3. keyboard input lost in terminator or gnome-terminal
>         4. to get it back in terminator or gnome-terminal, I have to
>          a. right click terminator or gnome-terminal or
>          b. Alt-Tab switch to other application and then switch back
> 
>         I only find this problem with emacs and terminator or gnome-terminal.
>         Alt-Tab from emacs to other apps like firefox works ok.
>         Alt-Tab from other apps to terminator or gnome-terminal works ok.
> 
>         It seems to me that emacs holds the keyboard input focus and doesnot
>         wish to give it to terminator or gnome-terminal when Alt-Tab.
> 
> 
>     Please use M-x report-emacs-bug next time, it contains information that are useful.
> 
>     What window manager are you using?
>     Do you have click-to-focus or focus-follows-mouse?
>     When you Alt-Tab to gnome-terminal, does the title bar color change on gnome-terminal and Emacs?
>     Does this happen when you start Emacs with -Q?
> 
>            Jan D.

> 
> In GNU Emacs 24.0.50.1 (x86_64-pc-linux-gnu, GTK+ Version 2.20.0)
>  of 2010-03-27 on promethium, modified by Debian
>  (emacs-snapshot package, version 1:20100326-1.1)
> Windowing system distributor `The X.Org Foundation', version 11.0.10706000
> configured using `configure  '--build' 'x86_64-linux-gnu' '--host' 
> 'x86_64-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' 
> '--libexecdir=/usr/lib' '--localstatedir=/var' 
> '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' 
> '--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/24.0.50/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.0.50/site-lisp:/usr/share/emacs/site-lisp' 
> '--with-x=yes' '--with-x-toolkit=gtk' 'build_alias=x86_64-linux-gnu' 
> 'host_alias=x86_64-linux-gnu' 'CFLAGS=-DDEBIAN 
> -DSITELOAD_PURESIZE_EXTRA=5000 -g -O2' 'LDFLAGS=-g -Wl,--as-needed' 
> 'CPPFLAGS=''
> 
> Important settings:
>   value of $LC_ALL: nil
>   value of $LC_COLLATE: nil
>   value of $LC_CTYPE: zh_CN.utf8
>   value of $LC_MESSAGES: nil
>   value of $LC_MONETARY: nil
>   value of $LC_NUMERIC: nil
>   value of $LC_TIME: nil
>   value of $LANG: en_US.utf8
>   value of $XMODIFIERS: @im=ibus
>   locale-coding-system: utf-8-unix
>   default enable-multibyte-characters: t
> 
> Major mode: Lisp Interaction
> 
> Minor modes in effect:
>   shell-dirtrack-mode: t
>   global-linum-mode: t
>   linum-mode: t
>   yas/global-mode: t
>   yas/minor-mode: t
>   tooltip-mode: t
>   mouse-wheel-mode: t
>   tool-bar-mode: t
>   menu-bar-mode: t
>   file-name-shadow-mode: t
>   global-font-lock-mode: t
>   font-lock-mode: t
>   auto-encryption-mode: t
>   auto-compression-mode: t
>   line-number-mode: t
>   transient-mark-mode: t
> 
> Recent input:
> M-x g n u s <return> y y <return> q n M-x C-g M-q C-g
> q y M-x r e p o r t - e <tab> b <tab> <return>
> 
> Recent messages:
> Are you sure you want to quit reading news? (y or n)
> Quit
> progn: Buffer is read-only: #<buffer *Group*>
> Quit
> Are you sure you want to quit reading news? (y or n)
> (No changes need to be saved)
> Saving /home/ming/.newsrc.eld...
> Saving file /home/ming/.newsrc.eld...
> Wrote /home/ming/.newsrc.eld
> Saving /home/ming/.newsrc.eld...done
> 
> Load-path shadows:
> ~/.emacs.d/plugins/company/company hides ~/.emacs.d/config/company
> ~/.emacs.d/config/cedet hides 
> /usr/share/emacs-snapshot/site-lisp/cedet-common/cedet
> /usr/share/emacs-snapshot/site-lisp/jde/setnu hides 
> /usr/share/emacs-snapshot/site-lisp/emacs-goodies-el/setnu
> /usr/share/emacs/24.0.50/site-lisp/auctex/tex-jp hides 
> /usr/share/emacs/site-lisp/auctex/tex-jp
> /usr/share/emacs/24.0.50/site-lisp/auctex/latex hides 
> /usr/share/emacs/site-lisp/auctex/latex
> /usr/share/emacs/24.0.50/site-lisp/auctex/texmathp hides 
> /usr/share/emacs/site-lisp/auctex/texmathp
> /usr/share/emacs/24.0.50/site-lisp/auctex/tex-buf hides 
> /usr/share/emacs/site-lisp/auctex/tex-buf
> /usr/share/emacs/24.0.50/site-lisp/auctex/toolbar-x hides 
> /usr/share/emacs/site-lisp/auctex/toolbar-x
> /usr/share/emacs/24.0.50/site-lisp/auctex/font-latex hides 
> /usr/share/emacs/site-lisp/auctex/font-latex
> /usr/share/emacs/24.0.50/site-lisp/auctex/context-nl hides 
> /usr/share/emacs/site-lisp/auctex/context-nl
> /usr/share/emacs/24.0.50/site-lisp/auctex/bib-cite hides 
> /usr/share/emacs/site-lisp/auctex/bib-cite
> /usr/share/emacs/24.0.50/site-lisp/auctex/tex-fold hides 
> /usr/share/emacs/site-lisp/auctex/tex-fold
> /usr/share/emacs/24.0.50/site-lisp/auctex/tex-mik hides 
> /usr/share/emacs/site-lisp/auctex/tex-mik
> /usr/share/emacs/24.0.50/site-lisp/auctex/tex-font hides 
> /usr/share/emacs/site-lisp/auctex/tex-font
> /usr/share/emacs/24.0.50/site-lisp/auctex/tex hides 
> /usr/share/emacs/site-lisp/auctex/tex
> /usr/share/emacs/24.0.50/site-lisp/auctex/tex-info hides 
> /usr/share/emacs/site-lisp/auctex/tex-info
> /usr/share/emacs/24.0.50/site-lisp/auctex/tex-style hides 
> /usr/share/emacs/site-lisp/auctex/tex-style
> /usr/share/emacs/24.0.50/site-lisp/auctex/tex-bar hides 
> /usr/share/emacs/site-lisp/auctex/tex-bar
> /usr/share/emacs/24.0.50/site-lisp/auctex/context hides 
> /usr/share/emacs/site-lisp/auctex/context
> /usr/share/emacs/24.0.50/site-lisp/auctex/multi-prompt hides 
> /usr/share/emacs/site-lisp/auctex/multi-prompt
> /usr/share/emacs/24.0.50/site-lisp/auctex/tex-fptex hides 
> /usr/share/emacs/site-lisp/auctex/tex-fptex
> /usr/share/emacs/24.0.50/site-lisp/auctex/context-en hides 
> /usr/share/emacs/site-lisp/auctex/context-en
> ~/.emacs.d/config/auctex hides /usr/share/emacs/24.0.50/site-lisp/auctex
> /usr/share/emacs/site-lisp/haskell-mode/haskell-indentation hides 
> /usr/share/emacs/24.0.50/site-lisp/haskell-mode/haskell-indentation
> /usr/share/emacs/site-lisp/haskell-mode/haskell-indent hides 
> /usr/share/emacs/24.0.50/site-lisp/haskell-mode/haskell-indent
> /usr/share/emacs/site-lisp/haskell-mode/haskell-font-lock hides 
> /usr/share/emacs/24.0.50/site-lisp/haskell-mode/haskell-font-lock
> /usr/share/emacs/site-lisp/haskell-mode/haskell-doc hides 
> /usr/share/emacs/24.0.50/site-lisp/haskell-mode/haskell-doc
> /usr/share/emacs/site-lisp/haskell-mode/haskell-cabal hides 
> /usr/share/emacs/24.0.50/site-lisp/haskell-mode/haskell-cabal
> /usr/share/emacs/site-lisp/haskell-mode/haskell-hugs hides 
> /usr/share/emacs/24.0.50/site-lisp/haskell-mode/haskell-hugs
> /usr/share/emacs/site-lisp/haskell-mode/inf-haskell hides 
> /usr/share/emacs/24.0.50/site-lisp/haskell-mode/inf-haskell
> /usr/share/emacs/site-lisp/haskell-mode/haskell-simple-indent hides 
> /usr/share/emacs/24.0.50/site-lisp/haskell-mode/haskell-simple-indent
> /usr/share/emacs/site-lisp/haskell-mode/haskell-mode hides 
> /usr/share/emacs/24.0.50/site-lisp/haskell-mode/haskell-mode
> /usr/share/emacs/site-lisp/haskell-mode/haskell-c hides 
> /usr/share/emacs/24.0.50/site-lisp/haskell-mode/haskell-c
> /usr/share/emacs/site-lisp/haskell-mode/haskell-ghci hides 
> /usr/share/emacs/24.0.50/site-lisp/haskell-mode/haskell-ghci
> /usr/share/emacs/site-lisp/haskell-mode/haskell-decl-scan hides 
> /usr/share/emacs/24.0.50/site-lisp/haskell-mode/haskell-decl-scan
> /usr/share/emacs/site-lisp/haskell-mode/haskell-site-file hides 
> /usr/share/emacs/24.0.50/site-lisp/haskell-mode/haskell-site-file
> /usr/share/emacs/24.0.50/site-lisp/cmake-data/cmake-mode hides 
> /usr/share/emacs/site-lisp/cmake-mode
> /usr/share/emacs/24.0.50/site-lisp/cscope/xcscope hides 
> /usr/share/emacs/site-lisp/xcscope
> /usr/share/emacs/24.0.50/site-lisp/debian-startup hides 
> /usr/share/emacs/site-lisp/debian-startup
> /usr/share/emacs-snapshot/site-lisp/cedet-common/ezimage hides 
> /usr/share/emacs/24.0.50/lisp/ezimage
> /usr/share/emacs-snapshot/site-lisp/flim/md4 hides 
> /usr/share/emacs/24.0.50/lisp/md4
> /usr/share/emacs-snapshot/site-lisp/speedbar/dframe hides 
> /usr/share/emacs/24.0.50/lisp/dframe
> /usr/share/emacs-snapshot/site-lisp/speedbar/sb-image hides 
> /usr/share/emacs/24.0.50/lisp/sb-image
> /usr/share/emacs-snapshot/site-lisp/flim/hex-util hides 
> /usr/share/emacs/24.0.50/lisp/hex-util
> /usr/share/emacs-snapshot/site-lisp/flim/sha1 hides 
> /usr/share/emacs/24.0.50/lisp/sha1
> /usr/share/emacs-snapshot/site-lisp/speedbar/speedbar hides 
> /usr/share/emacs/24.0.50/lisp/speedbar
> /usr/share/emacs-snapshot/site-lisp/slime/tree-widget hides 
> /usr/share/emacs/24.0.50/lisp/tree-widget
> /usr/share/emacs/site-lisp/rst hides 
> /usr/share/emacs/24.0.50/lisp/textmodes/rst
> ~/.emacs.d/config/python hides 
> /usr/share/emacs/24.0.50/lisp/progmodes/python
> /usr/share/emacs-snapshot/site-lisp/verilog-mode/verilog-mode hides 
> /usr/share/emacs/24.0.50/lisp/progmodes/verilog-mode
> /usr/share/emacs-snapshot/site-lisp/flim/sasl hides 
> /usr/share/emacs/24.0.50/lisp/net/sasl
> /usr/share/emacs-snapshot/site-lisp/flim/hmac-def hides 
> /usr/share/emacs/24.0.50/lisp/net/hmac-def
> /usr/share/emacs-snapshot/site-lisp/flim/sasl-digest hides 
> /usr/share/emacs/24.0.50/lisp/net/sasl-digest
> /usr/share/emacs-snapshot/site-lisp/flim/sasl-cram hides 
> /usr/share/emacs/24.0.50/lisp/net/sasl-cram
> /usr/share/emacs-snapshot/site-lisp/flim/sasl-ntlm hides 
> /usr/share/emacs/24.0.50/lisp/net/sasl-ntlm
> /usr/share/emacs-snapshot/site-lisp/flim/ntlm hides 
> /usr/share/emacs/24.0.50/lisp/net/ntlm
> /usr/share/emacs-snapshot/site-lisp/flim/hmac-md5 hides 
> /usr/share/emacs/24.0.50/lisp/net/hmac-md5
> ~/.emacs.d/config/tramp hides /usr/share/emacs/24.0.50/lisp/net/tramp
> /usr/share/emacs-snapshot/site-lisp/latex-cjk-thai/thai-word hides 
> /usr/share/emacs/24.0.50/lisp/language/thai-word
> /usr/share/emacs-snapshot/site-lisp/eieio/chart hides 
> /usr/share/emacs/24.0.50/lisp/emacs-lisp/chart
> /usr/share/emacs-snapshot/site-lisp/eieio/eieio-base hides 
> /usr/share/emacs/24.0.50/lisp/emacs-lisp/eieio-base
> /usr/share/emacs-snapshot/site-lisp/eieio/eieio-comp hides 
> /usr/share/emacs/24.0.50/lisp/emacs-lisp/eieio-comp
> /usr/share/emacs-snapshot/site-lisp/eieio/eieio-custom hides 
> /usr/share/emacs/24.0.50/lisp/emacs-lisp/eieio-custom
> /usr/share/emacs-snapshot/site-lisp/eieio/eieio-opt hides 
> /usr/share/emacs/24.0.50/lisp/emacs-lisp/eieio-opt
> /usr/share/emacs-snapshot/site-lisp/eieio/eieio hides 
> /usr/share/emacs/24.0.50/lisp/emacs-lisp/eieio
> /usr/share/emacs-snapshot/site-lisp/eieio/eieio-datadebug hides 
> /usr/share/emacs/24.0.50/lisp/emacs-lisp/eieio-datadebug
> /usr/share/emacs-snapshot/site-lisp/eieio/eieio-speedbar hides 
> /usr/share/emacs/24.0.50/lisp/emacs-lisp/eieio-speedbar
> /usr/share/emacs-snapshot/site-lisp/cedet-common/cedet-global hides 
> /usr/share/emacs/24.0.50/lisp/cedet/cedet-global
> /usr/share/emacs-snapshot/site-lisp/cedet-common/cedet-cscope hides 
> /usr/share/emacs/24.0.50/lisp/cedet/cedet-cscope
> /usr/share/emacs-snapshot/site-lisp/cedet-common/cedet-files hides 
> /usr/share/emacs/24.0.50/lisp/cedet/cedet-files
> /usr/share/emacs-snapshot/site-lisp/semantic/semantic hides 
> /usr/share/emacs/24.0.50/lisp/cedet/semantic
> /usr/share/emacs-snapshot/site-lisp/cedet-common/pulse hides 
> /usr/share/emacs/24.0.50/lisp/cedet/pulse
> /usr/share/emacs-snapshot/site-lisp/cedet-common/mode-local hides 
> /usr/share/emacs/24.0.50/lisp/cedet/mode-local
> ~/.emacs.d/config/cedet hides /usr/share/emacs/24.0.50/lisp/cedet/cedet
> /usr/share/emacs-snapshot/site-lisp/cedet-common/data-debug hides 
> /usr/share/emacs/24.0.50/lisp/cedet/data-debug
> /usr/share/emacs-snapshot/site-lisp/cedet-common/cedet-idutils hides 
> /usr/share/emacs/24.0.50/lisp/cedet/cedet-idutils
> /usr/share/emacs-snapshot/site-lisp/cedet-common/inversion hides 
> /usr/share/emacs/24.0.50/lisp/cedet/inversion
> /usr/share/emacs/24.0.50/site-lisp/ede/ede hides 
> /usr/share/emacs/24.0.50/lisp/cedet/ede
> /usr/share/emacs-snapshot/site-lisp/srecode/srecode hides 
> /usr/share/emacs/24.0.50/lisp/cedet/srecode
> 
> Features:
> (shadow mail-extr emacsbug gnus-async sort gnus-ml nnfolder utf-7 utf7
> netrc nnimap imap nndraft nnmh nnagent nnml gnus-agent gnus-srvr
> gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015
> epg-config mm-view smime dig mailcap gnus-cache gnus-sum gnus-demon nntp
> gnus-group gnus-undo nnmail mail-source nnoo gnus-start gnus-spec
> gnus-int gnus-range message sendmail rfc822 mml mml-sec mm-decode
> mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
> mailabbrev gmm-utils mailheader gnus-win gnus gnus-ems nnheader
> mail-utils color-theme server semantic-el semantic-bovine bovine-debug
> semantic-debug company-files company-oddmuse company-keywords
> company-dabbrev-code company-dabbrev company-etags company-gtags
> company-ropemacs company-xcode company-clang company-semantic
> company-eclim company-css company-nxml rng-nxml rng-valid rng-loc
> rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns
> nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok
> company-elisp help-mode view company slime-banner slime-asdf slime-fancy
> slime-fontifying-fu slime-package-fu slime-mdot-fu slime-references
> slime-xref-browser slime-scratch slime-presentations
> slime-highlight-edits slime-fuzzy slime-fancy-inspector slime-c-p-c
> slime-editing-commands slime-autodoc slime-enclosing-context slime-parse
> slime-repl slime apropos pp hyperspec w3m-lnum w3m doc-view jka-compr
> image-mode dired timezone w3m-hist w3m-fb w3m-ems w3m-ccl ccl
> w3m-favicon w3m-image w3m-proc w3m-util smart-compile+ ropemacs pymacs
> ede-simple cedet-files ede-linux ede-emacs ede-cpp-root flyspell ispell
> org-wl org-w3m org-vm org-rmail org-mhe org-mew org-irc org-jsinfo
> org-infojs org-html org-exp org-exp-blocks org-info org-gnus org-bibtex
> org-bbdb cal-menu calendar cal-loaddefs org-agenda org-remember
> org-datetree org org-footnote org-src org-list org-faces org-compat
> org-macs time-date noutline outline remember org-install
> init-company-mode ecb ecb-symboldef ecb-analyse ecb-compatibility
> ecb-winman-support ecb-autogen ecb-tod ecb-cycle ecb-eshell ecb-help
> ecb-jde ecb-method-browser hideshow ecb-file-browser ecb-layout
> ecb-create-layout ecb-compilation ecb-speedbar ecb-common-browser
> ecb-cedet-wrapper ecb-navigate ecb-mode-line ecb-face tree-buffer
> ecb-upgrade ecb-util xcscope semantic-mru-bookmark semanticdb-mode
> semantic-decorate-include semanticdb-find semanticdb-ref
> semantic-decorate-mode semantic-decorate pulse multi-term term
> disp-table ehelp electric backups ido tramp-imap tramp-gw tramp-gvfs
> zeroconf url-parse url-vars mm-util mail-prsvr dbus xml tramp-fish
> tramp-smb tramp-cache tramp-ftp tramp-cmds tramp auth-source gnus-util
> shell password-cache format-spec tramp-compat trampver linum
> ecb-autoloads jde etags jde-annotations jde-open-source senator
> which-func jde-class jde-parse-class jde-import jde-java-font-lock
> jde-which-method jde-java-grammar jde-wiz jde-complete semantic-idle
> eldoc jde-plugins executable browse-url jde-gen tempo jde-run jde-jdb
> jde-bug jde-dbs jde-dbo regress jde-db jde-parse sregex jde-imenu
> semantic-imenu imenu semantic-java semantic-doc thingatpt avltree
> stack-m elib-node semantic-sb cus-edit cus-start cus-load cc-mode
> cc-fonts cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
> regexp-opt jde-help jde-widgets tree-widget jde-custom jde-project-file
> cedet cedet-contrib-load contrib-loaddefs cogre-load cogre-loaddefs
> speedbar-load speedbar-loaddefs ede-load ede-loaddefs ede-speedbar
> ede-files ede eieio-speedbar semantic-ia-sb semantic-analyze
> semantic-scope semantic-analyze-fcn semantic-sort semanticdb-el
> semanticdb-search semantic-find semanticdb semantic-ctxt semantic-format
> semantic-util-modes semantic-util semantic semantic-lex semantic-tag
> working fame speedbar sb-image ezimage dframe eieio-custom ede-source
> eieio-base srecode-load srecode srecode-loaddefs semantic-load
> semantic-fw semantic-loaddefs mode-local find-func eieio-load
> eieio-loaddefs cedet-load cedet-compat cedet-loaddefs jde-autoload
> jde-util arc-mode archive-mode efc wid-edit jde-compile compile
> beanshell comint ring eieio byte-opt bytecomp byte-compile inversion
> yasnippet derived easy-mmode edmacro kmacro easymenu assoc cl cl-19
> w3m-load slime-autoloads path-util poe pym static apel-ver product
> erlang-start emacs-goodies-el emacs-goodies-custom
> emacs-goodies-loaddefs devhelp cedet-autogen advice advice-preload
> autoload help-fns preview-latex tex-site auto-loads tooltip ediff-hook
> vc-hooks lisp-float-type mwheel x-win x-dnd font-setting tool-bar dnd
> fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer
> select scroll-bar mldrag mouse jit-lock font-lock syntax facemenu
> font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan
> thai tai-viet lao korean japanese hebrew greek romanian slovak czech
> european ethiopic indian cyrillic chinese case-table epa-hook
> jka-cmpr-hook help simple abbrev loaddefs button minibuffer faces
> cus-face files text-properties overlay md5 base64 format env code-pages
> mule custom widget hashtable-print-readable backquote
> make-network-process dbusbind font-render-setting gtk x-toolkit x
> multi-tty emacs)
> 
> On Fri, Apr 9, 2010 at 11:24 AM, Mingming Ren <[email-masked] 
> <mailto:[email-masked]>> wrote:
> 
>     To get input focus back in gnome-terminal,
>     I have to either right-click on gnome-terminal, or Alt-Tab to other
>     windows, (firefox, etc, but not emacs) and then Alt-Tab back to
>     terminal.
> 
> 
>     On Fri, Apr 9, 2010 at 10:15 AM, Jan D. <[email-masked]
>     <mailto:[email-masked]>> wrote:
> 
>         Mingming Ren wrote:
> 
>             Thanks for you reply.
>             I'm using compiz and I don't set click-to-focus or
>             focus-follows-mouse
> 
> 
>         Ok, but what do you have?  Do you have to click on a window to
>         change focus or is it enough to just move the pointer above it?
> 
>                Jan D.
> 
> 
>