* bug#7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to the top left of the frames buffer. @ 2010-10-22 20:29 Arne Babenhauserheide 2010-11-10 19:29 ` Anders Kaseorg ` (2 more replies) 0 siblings, 3 replies; 21+ messages in thread From: Arne Babenhauserheide @ 2010-10-22 20:29 UTC (permalink / raw) To: 7269 If I open a file via emacsclient -c <file> in KDE/KWin it moves my mousecursor to the top right section of the buffer of the opened frame. recipe: $ /etc/init.d/emacs.arne start # start emacs daemon $ emacsclient -c <filename> ⇒ mouse moves. This happens every time and disturbs my workflow a bit, because it’s quite unexpected and gives me no advantage (I don’t use focus follows mouse, so this also doesn’t help by being able to edit at once). A peculiar point about my setup is that I use grouped windows in KDE, so the emacs frame is placed at the same place as the previous emacs frame. It also happens when there’s no other emacs frame open, though, so I doubt that this is the reason for moving the mouse. In GNU Emacs 24.0.50.1 (x86_64-pc-linux-gnu, X toolkit, Xaw3d scroll bars) of 2010-10-07 on fluss Windowing system distributor `The X.Org Foundation', version 11.0.10707000 configured using `configure '--prefix=/usr' '--build=x86_64-pc-linux-gnu' '--host=x86_64-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--libdir=/usr/lib64' '--program-suffix=-emacs-24' '--infodir=/usr/share/info/emacs-24' '--with-crt-dir=/usr/lib64' '--without-compress-info' '--with-sound' '--with-x' '--without-gconf' '--without-xml2' '--with-toolkit-scroll-bars' '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xpm' '--without-imagemagick' '--with-xft' '--with-libotf' '--with-m17n-flt' '--with-x-toolkit=athena' '--without-hesiod' '--without-kerberos' '--without-kerberos5' '--with-gpm' '--with-dbus' 'build_alias=x86_64-pc-linux-gnu' 'host_alias=x86_64-pc-linux-gnu' 'CFLAGS=-march=amdfam10 -O2 -pipe -mtune=amdfam10' 'LDFLAGS=-Wl,-O1 -Wl,--as-needed'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: C value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: de_DE.UTF-8 value of $XMODIFIERS: nil locale-coding-system: utf-8 default enable-multibyte-characters: t Major mode: Markdown Minor modes in effect: shell-dirtrack-mode: t diff-auto-refine-mode: t real-global-auto-complete-mode: t global-auto-complete-mode: t auto-complete-mode: t show-paren-mode: t tooltip-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t global-visual-line-mode: t visual-line-mode: t transient-mark-mode: t Recent input: u m a c h e n , SPC k a n n SPC v i e l SPC e r r e i c h e n <end> <right> C-x C-s C-x C-s C-x v v W e c <backspace> l c h e SPC W i r t s c h a f t SPC w i l l s t SPC d u ? C-c C-c <help-echo> <help-echo> <down-mouse-1> <mouse-1> C-x # C-x k <return> <backspace> C-x C-s C-x k C-c C-c C-x # C-x b <return> <backspace> C-x C-s <down> C-x r b C-g C-g C-x b C-g C-g C-x C-c <help-echo> C-x b C-g C-g C-x r b r e m e m <tab> <return> M-< C-s b ö r s e C-s C-s C-s C-g C-g <down> <tab> <down> <tab> C-x C-c <help-echo> <down-mouse-2> <mouse-2> M-< <return> <return> <up> <up> W e SPC w i n SPC i n SPC f r e e SPC s o f t w a r e <C-backspace> <C-backspace> <C-backspace> <C-backspace> <C-backspace> F r e e SPC s o f t w a r e SPC i s SPC w i n n i n g SPC o n SPC t h e SPC d e s k t o p . <backspace> <down-mouse-1> <mouse-movement> <mouse-1> C-c C-c <down-mouse-1> <mouse-1> M-x b u g <tab> <tab> <tab> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> <backspace> r e p o <tab> r <tab> <return> s t a r t i n g SPC e m a c s c l i e n t SPC - c SPC m o v e s SPC t h e SPC m o u s e SPC c u r s o r M-x <up> <return> Recent messages: Use C-c C-c to remember the data. Mark set Saving file /home/arne/Dokumente/eigenes/Notizen/emacs-remember-mode.org... Wrote /home/arne/Dokumente/eigenes/Notizen/emacs-remember-mode.org Auto-saving... When done with a buffer, type C-x # Making completion list... [2 times] Back to top level. Local Ispell dictionary set to english When done with a buffer, type C-x # Load-path shadows: /usr/share/emacs/site-lisp/cedet/common/ezimage hides /usr/share/emacs/24.0.50/lisp/ezimage /usr/share/emacs/site-lisp/flim/sha1 hides /usr/share/emacs/24.0.50/lisp/sha1 /usr/share/emacs/site-lisp/flim/md4 hides /usr/share/emacs/24.0.50/lisp/md4 /usr/share/emacs/site-lisp/cedet/speedbar/sb-image hides /usr/share/emacs/24.0.50/lisp/sb-image /usr/share/emacs/site-lisp/cedet/speedbar/dframe hides /usr/share/emacs/24.0.50/lisp/dframe /usr/share/emacs/site-lisp/flim/hex-util hides /usr/share/emacs/24.0.50/lisp/hex-util /usr/share/emacs/site-lisp/cedet/speedbar/speedbar hides /usr/share/emacs/24.0.50/lisp/speedbar /usr/share/emacs/site-lisp/remember/remember hides /usr/share/emacs/24.0.50/lisp/textmodes/remember /usr/share/emacs/site-lisp/ruby-mode/ruby-mode hides /usr/share/emacs/24.0.50/lisp/progmodes/ruby-mode /usr/share/emacs/site-lisp/org-mode/ob-octave hides /usr/share/emacs/24.0.50/lisp/org/ob-octave /usr/share/emacs/site-lisp/org-mode/ob-tangle hides /usr/share/emacs/24.0.50/lisp/org/ob-tangle /usr/share/emacs/site-lisp/org-mode/org-rmail hides /usr/share/emacs/24.0.50/lisp/org/org-rmail /usr/share/emacs/site-lisp/org-mode/org-table hides /usr/share/emacs/24.0.50/lisp/org/org-table /usr/share/emacs/site-lisp/org-mode/org-mhe hides /usr/share/emacs/24.0.50/lisp/org/org-mhe /usr/share/emacs/site-lisp/org-mode/ob-sass hides /usr/share/emacs/24.0.50/lisp/org/ob-sass /usr/share/emacs/site-lisp/org-mode/org-mac-message hides /usr/share/emacs/24.0.50/lisp/org/org-mac-message /usr/share/emacs/site-lisp/org-mode/org-src hides /usr/share/emacs/24.0.50/lisp/org/org-src /usr/share/emacs/site-lisp/org-mode/ob-perl hides /usr/share/emacs/24.0.50/lisp/org/ob-perl /usr/share/emacs/site-lisp/org-mode/ob-gnuplot hides /usr/share/emacs/24.0.50/lisp/org/ob-gnuplot /usr/share/emacs/site-lisp/org-mode/org-footnote hides /usr/share/emacs/24.0.50/lisp/org/org-footnote /usr/share/emacs/site-lisp/org-mode/org-html hides /usr/share/emacs/24.0.50/lisp/org/org-html /usr/share/emacs/site-lisp/org-mode/org-install hides /usr/share/emacs/24.0.50/lisp/org/org-install /usr/share/emacs/site-lisp/org-mode/org-compat hides /usr/share/emacs/24.0.50/lisp/org/org-compat /usr/share/emacs/site-lisp/org-mode/org-bibtex hides /usr/share/emacs/24.0.50/lisp/org/org-bibtex /usr/share/emacs/site-lisp/org-mode/org-bbdb hides /usr/share/emacs/24.0.50/lisp/org/org-bbdb /usr/share/emacs/site-lisp/org-mode/org-w3m hides /usr/share/emacs/24.0.50/lisp/org/org-w3m /usr/share/emacs/site-lisp/org-mode/ob-screen hides /usr/share/emacs/24.0.50/lisp/org/ob-screen /usr/share/emacs/site-lisp/org-mode/ob-mscgen hides /usr/share/emacs/24.0.50/lisp/org/ob-mscgen /usr/share/emacs/site-lisp/org-mode/ob-table hides /usr/share/emacs/24.0.50/lisp/org/ob-table /usr/share/emacs/site-lisp/org-mode/org-info hides /usr/share/emacs/24.0.50/lisp/org/org-info /usr/share/emacs/site-lisp/org-mode/org-irc hides /usr/share/emacs/24.0.50/lisp/org/org-irc /usr/share/emacs/site-lisp/org-mode/org-ctags hides /usr/share/emacs/24.0.50/lisp/org/org-ctags /usr/share/emacs/site-lisp/org-mode/ob-ruby hides /usr/share/emacs/24.0.50/lisp/org/ob-ruby /usr/share/emacs/site-lisp/org-mode/org-mks hides /usr/share/emacs/24.0.50/lisp/org/org-mks /usr/share/emacs/site-lisp/org-mode/ob-sqlite hides /usr/share/emacs/24.0.50/lisp/org/ob-sqlite /usr/share/emacs/site-lisp/org-mode/ob-ocaml hides /usr/share/emacs/24.0.50/lisp/org/ob-ocaml /usr/share/emacs/site-lisp/org-mode/org-mew hides /usr/share/emacs/24.0.50/lisp/org/org-mew /usr/share/emacs/site-lisp/org-mode/org-crypt hides /usr/share/emacs/24.0.50/lisp/org/org-crypt /usr/share/emacs/site-lisp/org-mode/org-wl hides /usr/share/emacs/24.0.50/lisp/org/org-wl /usr/share/emacs/site-lisp/org-mode/org-jsinfo hides /usr/share/emacs/24.0.50/lisp/org/org-jsinfo /usr/share/emacs/site-lisp/org-mode/org-inlinetask hides /usr/share/emacs/24.0.50/lisp/org/org-inlinetask /usr/share/emacs/site-lisp/org-mode/org-attach hides /usr/share/emacs/24.0.50/lisp/org/org-attach /usr/share/emacs/site-lisp/org-mode/ob-ditaa hides /usr/share/emacs/24.0.50/lisp/org/ob-ditaa /usr/share/emacs/site-lisp/org-mode/ob-dot hides /usr/share/emacs/24.0.50/lisp/org/ob-dot /usr/share/emacs/site-lisp/org-mode/ob-lob hides /usr/share/emacs/24.0.50/lisp/org/ob-lob /usr/share/emacs/site-lisp/org-mode/ob-comint hides /usr/share/emacs/24.0.50/lisp/org/ob-comint /usr/share/emacs/site-lisp/org-mode/ob-python hides /usr/share/emacs/24.0.50/lisp/org/ob-python /usr/share/emacs/site-lisp/org-mode/org-feed hides /usr/share/emacs/24.0.50/lisp/org/org-feed /usr/share/emacs/site-lisp/org-mode/org hides /usr/share/emacs/24.0.50/lisp/org/org /usr/share/emacs/site-lisp/org-mode/org-entities hides /usr/share/emacs/24.0.50/lisp/org/org-entities /usr/share/emacs/site-lisp/org-mode/org-latex hides /usr/share/emacs/24.0.50/lisp/org/org-latex /usr/share/emacs/site-lisp/org-mode/org-xoxo hides /usr/share/emacs/24.0.50/lisp/org/org-xoxo /usr/share/emacs/site-lisp/org-mode/ob-C hides /usr/share/emacs/24.0.50/lisp/org/ob-C /usr/share/emacs/site-lisp/org-mode/org-exp hides /usr/share/emacs/24.0.50/lisp/org/org-exp /usr/share/emacs/site-lisp/org-mode/ob hides /usr/share/emacs/24.0.50/lisp/org/ob /usr/share/emacs/site-lisp/org-mode/org-exp-blocks hides /usr/share/emacs/24.0.50/lisp/org/org-exp-blocks /usr/share/emacs/site-lisp/org-mode/ob-R hides /usr/share/emacs/24.0.50/lisp/org/ob-R /usr/share/emacs/site-lisp/org-mode/org-gnus hides /usr/share/emacs/24.0.50/lisp/org/org-gnus /usr/share/emacs/site-lisp/org-mode/ob-asymptote hides /usr/share/emacs/24.0.50/lisp/org/ob-asymptote /usr/share/emacs/site-lisp/org-mode/org-publish hides /usr/share/emacs/24.0.50/lisp/org/org-publish /usr/share/emacs/site-lisp/org-mode/ob-haskell hides /usr/share/emacs/24.0.50/lisp/org/ob-haskell /usr/share/emacs/site-lisp/org-mode/org-vm hides /usr/share/emacs/24.0.50/lisp/org/org-vm /usr/share/emacs/site-lisp/org-mode/ob-latex hides /usr/share/emacs/24.0.50/lisp/org/ob-latex /usr/share/emacs/site-lisp/org-mode/org-clock hides /usr/share/emacs/24.0.50/lisp/org/org-clock /usr/share/emacs/site-lisp/org-mode/ob-exp hides /usr/share/emacs/24.0.50/lisp/org/ob-exp /usr/share/emacs/site-lisp/org-mode/ob-matlab hides /usr/share/emacs/24.0.50/lisp/org/ob-matlab /usr/share/emacs/site-lisp/org-mode/org-colview hides /usr/share/emacs/24.0.50/lisp/org/org-colview /usr/share/emacs/site-lisp/org-mode/ob-css hides /usr/share/emacs/24.0.50/lisp/org/ob-css /usr/share/emacs/site-lisp/org-mode/org-remember hides /usr/share/emacs/24.0.50/lisp/org/org-remember /usr/share/emacs/site-lisp/org-mode/org-docbook hides /usr/share/emacs/24.0.50/lisp/org/org-docbook /usr/share/emacs/site-lisp/org-mode/org-archive hides /usr/share/emacs/24.0.50/lisp/org/org-archive /usr/share/emacs/site-lisp/org-mode/org-habit hides /usr/share/emacs/24.0.50/lisp/org/org-habit /usr/share/emacs/site-lisp/org-mode/ob-sh hides /usr/share/emacs/24.0.50/lisp/org/ob-sh /usr/share/emacs/site-lisp/org-mode/org-plot hides /usr/share/emacs/24.0.50/lisp/org/org-plot /usr/share/emacs/site-lisp/org-mode/org-icalendar hides /usr/share/emacs/24.0.50/lisp/org/org-icalendar /usr/share/emacs/site-lisp/org-mode/org-taskjuggler hides /usr/share/emacs/24.0.50/lisp/org/org-taskjuggler /usr/share/emacs/site-lisp/org-mode/ob-clojure hides /usr/share/emacs/24.0.50/lisp/org/ob-clojure /usr/share/emacs/site-lisp/org-mode/org-capture hides /usr/share/emacs/24.0.50/lisp/org/org-capture /usr/share/emacs/site-lisp/org-mode/org-timer hides /usr/share/emacs/24.0.50/lisp/org/org-timer /usr/share/emacs/site-lisp/org-mode/ob-sql hides /usr/share/emacs/24.0.50/lisp/org/ob-sql /usr/share/emacs/site-lisp/org-mode/org-protocol hides /usr/share/emacs/24.0.50/lisp/org/org-protocol /usr/share/emacs/site-lisp/org-mode/org-mobile hides /usr/share/emacs/24.0.50/lisp/org/org-mobile /usr/share/emacs/site-lisp/org-mode/org-indent hides /usr/share/emacs/24.0.50/lisp/org/org-indent /usr/share/emacs/site-lisp/org-mode/org-mouse hides /usr/share/emacs/24.0.50/lisp/org/org-mouse /usr/share/emacs/site-lisp/org-mode/org-datetree hides /usr/share/emacs/24.0.50/lisp/org/org-datetree /usr/share/emacs/site-lisp/org-mode/ob-eval hides /usr/share/emacs/24.0.50/lisp/org/ob-eval /usr/share/emacs/site-lisp/org-mode/org-id hides /usr/share/emacs/24.0.50/lisp/org/org-id /usr/share/emacs/site-lisp/org-mode/ob-keys hides /usr/share/emacs/24.0.50/lisp/org/ob-keys /usr/share/emacs/site-lisp/org-mode/org-freemind hides /usr/share/emacs/24.0.50/lisp/org/org-freemind /usr/share/emacs/site-lisp/org-mode/ob-ref hides /usr/share/emacs/24.0.50/lisp/org/ob-ref /usr/share/emacs/site-lisp/org-mode/org-macs hides /usr/share/emacs/24.0.50/lisp/org/org-macs /usr/share/emacs/site-lisp/org-mode/org-list hides /usr/share/emacs/24.0.50/lisp/org/org-list /usr/share/emacs/site-lisp/org-mode/org-faces hides /usr/share/emacs/24.0.50/lisp/org/org-faces /usr/share/emacs/site-lisp/org-mode/org-docview hides /usr/share/emacs/24.0.50/lisp/org/org-docview /usr/share/emacs/site-lisp/org-mode/org-agenda hides /usr/share/emacs/24.0.50/lisp/org/org-agenda /usr/share/emacs/site-lisp/org-mode/ob-emacs-lisp hides /usr/share/emacs/24.0.50/lisp/org/ob-emacs-lisp /usr/share/emacs/site-lisp/org-mode/org-ascii hides /usr/share/emacs/24.0.50/lisp/org/org-ascii /usr/share/emacs/site-lisp/org-mode/org-beamer hides /usr/share/emacs/24.0.50/lisp/org/org-beamer /usr/share/emacs/site-lisp/nxml-mode/rng-valid hides /usr/share/emacs/24.0.50/lisp/nxml/rng-valid /usr/share/emacs/site-lisp/nxml-mode/rng-xsd hides /usr/share/emacs/24.0.50/lisp/nxml/rng-xsd /usr/share/emacs/site-lisp/nxml-mode/rng-nxml hides /usr/share/emacs/24.0.50/lisp/nxml/rng-nxml /usr/share/emacs/site-lisp/nxml-mode/rng-parse hides /usr/share/emacs/24.0.50/lisp/nxml/rng-parse /usr/share/emacs/site-lisp/nxml-mode/rng-match hides /usr/share/emacs/24.0.50/lisp/nxml/rng-match /usr/share/emacs/site-lisp/nxml-mode/xsd-regexp hides /usr/share/emacs/24.0.50/lisp/nxml/xsd-regexp /usr/share/emacs/site-lisp/nxml-mode/rng-cmpct hides /usr/share/emacs/24.0.50/lisp/nxml/rng-cmpct /usr/share/emacs/site-lisp/nxml-mode/rng-maint hides /usr/share/emacs/24.0.50/lisp/nxml/rng-maint /usr/share/emacs/site-lisp/nxml-mode/nxml-uchnm hides /usr/share/emacs/24.0.50/lisp/nxml/nxml-uchnm /usr/share/emacs/site-lisp/nxml-mode/nxml-maint hides /usr/share/emacs/24.0.50/lisp/nxml/nxml-maint /usr/share/emacs/site-lisp/nxml-mode/nxml-rap hides /usr/share/emacs/24.0.50/lisp/nxml/nxml-rap /usr/share/emacs/site-lisp/nxml-mode/rng-loc hides /usr/share/emacs/24.0.50/lisp/nxml/rng-loc /usr/share/emacs/site-lisp/nxml-mode/rng-util hides /usr/share/emacs/24.0.50/lisp/nxml/rng-util /usr/share/emacs/site-lisp/nxml-mode/nxml-util hides /usr/share/emacs/24.0.50/lisp/nxml/nxml-util /usr/share/emacs/site-lisp/nxml-mode/nxml-glyph hides /usr/share/emacs/24.0.50/lisp/nxml/nxml-glyph /usr/share/emacs/site-lisp/nxml-mode/rng-pttrn hides /usr/share/emacs/24.0.50/lisp/nxml/rng-pttrn /usr/share/emacs/site-lisp/nxml-mode/nxml-enc hides /usr/share/emacs/24.0.50/lisp/nxml/nxml-enc /usr/share/emacs/site-lisp/nxml-mode/nxml-ns hides /usr/share/emacs/24.0.50/lisp/nxml/nxml-ns /usr/share/emacs/site-lisp/nxml-mode/nxml-parse hides /usr/share/emacs/24.0.50/lisp/nxml/nxml-parse /usr/share/emacs/site-lisp/nxml-mode/xmltok hides /usr/share/emacs/24.0.50/lisp/nxml/xmltok /usr/share/emacs/site-lisp/nxml-mode/rng-dt hides /usr/share/emacs/24.0.50/lisp/nxml/rng-dt /usr/share/emacs/site-lisp/nxml-mode/nxml-outln hides /usr/share/emacs/24.0.50/lisp/nxml/nxml-outln /usr/share/emacs/site-lisp/nxml-mode/rng-uri hides /usr/share/emacs/24.0.50/lisp/nxml/rng-uri /usr/share/emacs/site-lisp/nxml-mode/nxml-mode hides /usr/share/emacs/24.0.50/lisp/nxml/nxml-mode /usr/share/emacs/site-lisp/flim/hmac-md5 hides /usr/share/emacs/24.0.50/lisp/net/hmac-md5 /usr/share/emacs/site-lisp/flim/ntlm hides /usr/share/emacs/24.0.50/lisp/net/ntlm /usr/share/emacs/site-lisp/flim/sasl-digest hides /usr/share/emacs/24.0.50/lisp/net/sasl-digest /usr/share/emacs/site-lisp/flim/sasl-cram hides /usr/share/emacs/24.0.50/lisp/net/sasl-cram /usr/share/emacs/site-lisp/flim/hmac-def hides /usr/share/emacs/24.0.50/lisp/net/hmac-def /usr/share/emacs/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/24.0.50/lisp/net/sasl-ntlm /usr/share/emacs/site-lisp/flim/sasl hides /usr/share/emacs/24.0.50/lisp/net/sasl ~/.emacs.d/private/gnus hides /usr/share/emacs/24.0.50/lisp/gnus/gnus /usr/share/emacs/site-lisp/cedet/eieio/chart hides /usr/share/emacs/24.0.50/lisp/emacs-lisp/chart /usr/share/emacs/site-lisp/cedet/eieio/eieio-custom hides /usr/share/emacs/24.0.50/lisp/emacs-lisp/eieio-custom /usr/share/emacs/site-lisp/cedet/eieio/eieio-speedbar hides /usr/share/emacs/24.0.50/lisp/emacs-lisp/eieio-speedbar /usr/share/emacs/site-lisp/cedet/eieio/eieio hides /usr/share/emacs/24.0.50/lisp/emacs-lisp/eieio /usr/share/emacs/site-lisp/cedet/eieio/eieio-base hides /usr/share/emacs/24.0.50/lisp/emacs-lisp/eieio-base /usr/share/emacs/site-lisp/cedet/eieio/eieio-comp hides /usr/share/emacs/24.0.50/lisp/emacs-lisp/eieio-comp /usr/share/emacs/site-lisp/cedet/eieio/eieio-datadebug hides /usr/share/emacs/24.0.50/lisp/emacs-lisp/eieio-datadebug /usr/share/emacs/site-lisp/cedet/eieio/eieio-opt hides /usr/share/emacs/24.0.50/lisp/emacs-lisp/eieio-opt /usr/share/emacs/site-lisp/cedet/common/cedet-files hides /usr/share/emacs/24.0.50/lisp/cedet/cedet-files /usr/share/emacs/site-lisp/cedet/common/mode-local hides /usr/share/emacs/24.0.50/lisp/cedet/mode-local /usr/share/emacs/site-lisp/cedet/ede/ede hides /usr/share/emacs/24.0.50/lisp/cedet/ede /usr/share/emacs/site-lisp/cedet/semantic/semantic hides /usr/share/emacs/24.0.50/lisp/cedet/semantic /usr/share/emacs/site-lisp/cedet/srecode/srecode hides /usr/share/emacs/24.0.50/lisp/cedet/srecode /usr/share/emacs/site-lisp/cedet/common/pulse hides /usr/share/emacs/24.0.50/lisp/cedet/pulse /usr/share/emacs/site-lisp/cedet/common/cedet hides /usr/share/emacs/24.0.50/lisp/cedet/cedet /usr/share/emacs/site-lisp/cedet/common/inversion hides /usr/share/emacs/24.0.50/lisp/cedet/inversion /usr/share/emacs/site-lisp/cedet/common/data-debug hides /usr/share/emacs/24.0.50/lisp/cedet/data-debug /usr/share/emacs/site-lisp/cedet/common/cedet-idutils hides /usr/share/emacs/24.0.50/lisp/cedet/cedet-idutils /usr/share/emacs/site-lisp/cedet/common/cedet-cscope hides /usr/share/emacs/24.0.50/lisp/cedet/cedet-cscope /usr/share/emacs/site-lisp/cedet/common/cedet-global hides /usr/share/emacs/24.0.50/lisp/cedet/cedet-global Features: (shadow sort mail-extr message idna rfc822 mml mml-sec mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader emacsbug org-archive org-wl org-w3m org-vm org-rmail org-mhe org-mew org-irc org-jsinfo org-infojs org-html org-exp ob-exp org-exp-blocks org-agenda org-info org-gnus org-docview org-bibtex org-bbdb bookmark pp mail-utils novice hanoi repeat newcomment skeleton sh-script semantic-html sgml-mode css-mode tabify rect life tramp tramp-compat password-cache format-spec tramp-loaddefs vc-git vc-bzr sha1 sha1-el hex-util vc-sccs vc-svn vc-cvs vc-rcs semantic-imenu semantic-sb pymacs wisent-python wisent-python-wy semantic-wisent wisent imenu ipython executable shell python-mode info-look sb-info info ansi-color compile eieio-opt help-mode view multi-isearch log-edit pcvs-util add-log diff-mode yasnippet semantic-edit semantic-c semantic-gcc semantic-dep semanticdb-mode semantic-decorate-include semanticdb-find semanticdb-ref semantic-decorate-mode semantic-decorate pulse hideif semantic-c-by semantic-lex-spp tempo xml-parse doxymacs cc-mode cc-fonts cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs thingatpt vc-hg markdown-mode server semantic-el semantic-bovine bovine-debug semantic-debug ispell finder-inf package activate-babenv activate-private-data private-basic activate-identica identica-mode json url-http tls url-auth mail-parse rfc2231 rfc2047 rfc2045 ietf-drums url-gw url url-proxy url-privacy url-expand url-methods url-history url-cookie url-util url-parse auth-source netrc gnus-util url-vars mm-util mail-prsvr mailcap longlines parse-time xml epa-file epa epg epg-config activate-german-spelling activate-auto-complete auto-complete-config auto-complete edmacro kmacro popup activate-markdown htmlize type-break goto-chg activate-quick-note remember org-remember org-datetree org ob-emacs-lisp ob-keys ob-comint comint ring ob-tangle ob-ref ob-lob ob-table ob org-footnote org-src org-list org-faces org-compat org-entities org-macs time-date noutline outline easy-mmode cal-menu calendar cal-loaddefs allout ido activate-base jka-compr saveplace paren cus-start cus-load site-gentoo planner-autoloads slime-autoloads w3m-load org-install nxml-enc muse-autoloads mmm-auto mmm-vars mmm-compat gdiff-setup vc vc-dispatcher circe-auto cedet cedet-contrib-load contrib-loaddefs cogre-load cogre-loaddefs speedbar-load speedbar-loaddefs ede-load ede-loaddefs ede-speedbar ede-files ede ede-base ede-auto eieio-speedbar semantic-ia-sb semantic-analyze semantic-scope semantic-analyze-fcn semantic-sort semanticdb-el semanticdb semantic-ctxt semantic-format semantic-util-modes semantic-util semantic semantic-lex semantic-tag working fame speedbar sb-image ezimage dframe easymenu assoc eieio-custom wid-edit ede-source eieio-base srecode-load srecode srecode-loaddefs semantic-load semantic-fw semantic-loaddefs mode-local find-func derived eieio-load eieio-loaddefs cedet-load cedet-compat cedet-loaddefs eieio warnings advice help-fns advice-preload byte-opt bytecomp byte-compile cl inversion bbdb-autoloads bbdb regexp-opt timezone tex-site auto-loads tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar 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 dynamic-setting font-render-setting x-toolkit x multi-tty emacs) ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to the top left of the frames buffer. 2010-10-22 20:29 bug#7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to the top left of the frames buffer Arne Babenhauserheide @ 2010-11-10 19:29 ` Anders Kaseorg 2010-11-11 23:04 ` Stefan Monnier 2010-11-13 20:13 ` bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, " Alain Knaff 2010-12-20 11:15 ` bug#7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to " Chong Yidong 2 siblings, 1 reply; 21+ messages in thread From: Anders Kaseorg @ 2010-11-10 19:29 UTC (permalink / raw) To: 7269 A workaround is M-x customize-save-variable focus-follows-mouse n. It’s probably time to flip the default, since even on X these days there are only a small minority of focus-follows-mouse users. Anders ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to the top left of the frames buffer. 2010-11-10 19:29 ` Anders Kaseorg @ 2010-11-11 23:04 ` Stefan Monnier 2010-11-12 17:02 ` Andreas Schwab 0 siblings, 1 reply; 21+ messages in thread From: Stefan Monnier @ 2010-11-11 23:04 UTC (permalink / raw) To: Anders Kaseorg; +Cc: 7269 > A workaround is M-x customize-save-variable focus-follows-mouse n. > It’s probably time to flip the default, since even on X these days there > are only a small minority of focus-follows-mouse users. Even tho I love focus follows mouse, I'd tend to agree: not only it seems we're in the minority, but the nil value is a safer default since moving the mouse is something that should usually be avoided. Stefan ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to the top left of the frames buffer. 2010-11-11 23:04 ` Stefan Monnier @ 2010-11-12 17:02 ` Andreas Schwab 0 siblings, 0 replies; 21+ messages in thread From: Andreas Schwab @ 2010-11-12 17:02 UTC (permalink / raw) To: Stefan Monnier; +Cc: 7269, Anders Kaseorg Stefan Monnier <monnier@iro.umontreal.ca> writes: >> A workaround is M-x customize-save-variable focus-follows-mouse n. >> It’s probably time to flip the default, since even on X these days there >> are only a small minority of focus-follows-mouse users. > > Even tho I love focus follows mouse, I'd tend to agree: not only it > seems we're in the minority, but the nil value is a safer default since > moving the mouse is something that should usually be avoided. Nowadays focus follows mouse doesn't mean that the focus strictly follows the mouse position, it can still be set independent of it. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, the top left of the frames buffer. 2010-10-22 20:29 bug#7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to the top left of the frames buffer Arne Babenhauserheide 2010-11-10 19:29 ` Anders Kaseorg @ 2010-11-13 20:13 ` Alain Knaff 2010-11-13 20:58 ` Lennart Borgman 2010-12-20 11:15 ` bug#7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to " Chong Yidong 2 siblings, 1 reply; 21+ messages in thread From: Alain Knaff @ 2010-11-13 20:13 UTC (permalink / raw) To: 7269 > Nowadays focus follows mouse doesn't mean that the focus strictly > follows the mouse position, it can still be set independent of it. Even that (ignoring mouse position, and just grabbing focus) would be a highly antisocial move. Why can't emacs just leave the mouse and the focus alone, like most other apps do, and patiently wait until the user gives it focus? It's not as if emacs is the only app that opens new windows... Focus grabbing is dangerous, may cause privacy issues (if emacs happens to grab focus from another app where user is entering a password), may cause data loss (if user happens to type in a character sequence in another app which for emacs means "delete this file"... don't laugh, I've lost a couple of photos due to such an issue in digikam), and is an annoyance, in general. One acceptable behavior would be to pop up the new window _near_ (but not under!) the mouse pointer, so that the user doesn't have to move the mouse too much to give it focus. Yes, make the window appear near mouse, rather than the other way round. Thanks, Alain ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, the top left of the frames buffer. 2010-11-13 20:13 ` bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, " Alain Knaff @ 2010-11-13 20:58 ` Lennart Borgman [not found] ` <4CDEFD4E.1090603@knaff.lu> 0 siblings, 1 reply; 21+ messages in thread From: Lennart Borgman @ 2010-11-13 20:58 UTC (permalink / raw) To: Alain Knaff; +Cc: 7269 On Sat, Nov 13, 2010 at 9:13 PM, Alain Knaff <alain@knaff.lu> wrote: >> Nowadays focus follows mouse doesn't mean that the focus strictly >> follows the mouse position, it can still be set independent of it. > > Even that (ignoring mouse position, and just grabbing focus) would be a > highly antisocial move. Why can't emacs just leave the mouse and the > focus alone, like most other apps do, and patiently wait until the user > gives it focus? Of course Emacs should grab focus if the user uses emacsclient to open a file. Why should not Emacs grab the focus then? AFAICS this is what the user expects. ^ permalink raw reply [flat|nested] 21+ messages in thread
[parent not found: <4CDEFD4E.1090603@knaff.lu>]
[parent not found: <AANLkTikmo5es3TRm2UiOppzKv1EqQPjCryc=h8hnkPJj@mail.gmail.com>]
* bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, the top left of the frames buffer. [not found] ` <AANLkTikmo5es3TRm2UiOppzKv1EqQPjCryc=h8hnkPJj@mail.gmail.com> @ 2010-11-13 21:25 ` Alain Knaff 2010-11-13 21:31 ` Lennart Borgman 0 siblings, 1 reply; 21+ messages in thread From: Alain Knaff @ 2010-11-13 21:25 UTC (permalink / raw) To: Lennart Borgman; +Cc: 7269 On 11/13/2010 10:11 PM, Lennart Borgman wrote: > You answered privately, was that your intention? No, not really, I accidentally did a "reply" instead of a "reply-all". Thanks for bringing this to my attention, I re-added the bug report in Cc: now. Hopefully this will work... > > What application do you mean do not grab focus when you ask them to > open a file? I actually can't remember any. (Except for GIMP which > seems to have a bug there on w32.) Why would an application behave differently if I want them to open a file, than if I just want to create a new document? Well, in any case, I've never seen any application do this even when opening a file. I tried it with openoffice and inkscape right now, and neither of them did this. Neither did firefox (when trying to add the URL on the commandline), nor konqueror. (thunderbird/firefox steal focus when popping up certain alerts, but not on open) Can you name me just one application which steals focus when you launch it with a file name parameter? N.B. during my test sometimes the app just happened to pop up its window under my mouse, so it got focus the "natural" way. However, this choice of location was by no way deliberate, and didn't happen when retrying it with a different window disposition. Alain > > > On Sat, Nov 13, 2010 at 10:04 PM, Alain Knaff <alain@knaff.lu> wrote: >> On 11/13/2010 09:58 PM, Lennart Borgman wrote: >>> On Sat, Nov 13, 2010 at 9:13 PM, Alain Knaff <alain@knaff.lu> wrote: >>>>> Nowadays focus follows mouse doesn't mean that the focus strictly >>>>> follows the mouse position, it can still be set independent of it. >>>> >>>> Even that (ignoring mouse position, and just grabbing focus) would be a >>>> highly antisocial move. Why can't emacs just leave the mouse and the >>>> focus alone, like most other apps do, and patiently wait until the user >>>> gives it focus? >>> >>> Of course Emacs should grab focus if the user uses emacsclient to open >>> a file. Why should not Emacs grab the focus then? AFAICS this is what >>> the user expects. >> >> Did you ever wonder why all the other applications (except thunderbird >> and firefox in some cases) didn't behave in this way? >> >> I'll give you the answer: because most users do NOT expect such rude >> behavior. We do not want application to steal focus from us, we want >> them to patiently wait for their turn. Almost all the other apps behave, >> why can't emacs? >> >> Alain >> ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, the top left of the frames buffer. 2010-11-13 21:25 ` Alain Knaff @ 2010-11-13 21:31 ` Lennart Borgman 2010-11-13 21:39 ` Lennart Borgman 2010-11-13 21:40 ` Alain Knaff 0 siblings, 2 replies; 21+ messages in thread From: Lennart Borgman @ 2010-11-13 21:31 UTC (permalink / raw) To: Alain Knaff; +Cc: 7269 On Sat, Nov 13, 2010 at 10:25 PM, Alain Knaff <alain@knaff.lu> wrote: > On 11/13/2010 10:11 PM, Lennart Borgman wrote: >> You answered privately, was that your intention? > > No, not really, I accidentally did a "reply" instead of a "reply-all". > Thanks for bringing this to my attention, I re-added the bug report in > Cc: now. Hopefully this will work... > >> >> What application do you mean do not grab focus when you ask them to >> open a file? I actually can't remember any. (Except for GIMP which >> seems to have a bug there on w32.) > > Why would an application behave differently if I want them to open a > file, than if I just want to create a new document? > > Well, in any case, I've never seen any application do this even when > opening a file. > > I tried it with openoffice and inkscape right now, and neither of them > did this. > > Neither did firefox (when trying to add the URL on the commandline), nor > konqueror. > (thunderbird/firefox steal focus when popping up certain alerts, but not > on open) > > Can you name me just one application which steals focus when you launch > it with a file name parameter? As I said I know of no exception on w32. All applications I can think of right now grabs focus when you call them from the command line (or from Windows Explorer). Maybe this is dependent on the window manager used? What happens if you launch a program from the command line without a file name argument? Does the application get focus? (On w32 they do get focus.) ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, the top left of the frames buffer. 2010-11-13 21:31 ` Lennart Borgman @ 2010-11-13 21:39 ` Lennart Borgman 2010-11-13 21:42 ` Alain Knaff 2010-11-13 21:40 ` Alain Knaff 1 sibling, 1 reply; 21+ messages in thread From: Lennart Borgman @ 2010-11-13 21:39 UTC (permalink / raw) To: Alain Knaff; +Cc: 7269 >>> What application do you mean do not grab focus when you ask them to >>> open a file? I actually can't remember any. (Except for GIMP which >>> seems to have a bug there on w32.) Hm, this was a bit interesting regarding GIMP on w32. I have long wondered why they do not fix the bug that it does not grab focus and that it is also very hard to give it focus on w32. Apparently there must be some misunderstanding in the use of the w32 API for focusing. And it might be the GTK part that has a bug there. Anyone knows where to file a bug about this? ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, the top left of the frames buffer. 2010-11-13 21:39 ` Lennart Borgman @ 2010-11-13 21:42 ` Alain Knaff 2010-11-13 21:48 ` Lennart Borgman 0 siblings, 1 reply; 21+ messages in thread From: Alain Knaff @ 2010-11-13 21:42 UTC (permalink / raw) To: Lennart Borgman; +Cc: 7269 On 11/13/2010 10:39 PM, Lennart Borgman wrote: >>>> What application do you mean do not grab focus when you ask them to >>>> open a file? I actually can't remember any. (Except for GIMP which >>>> seems to have a bug there on w32.) > > Hm, this was a bit interesting regarding GIMP on w32. I have long > wondered why they do not fix the bug that it does not grab focus and > that it is also very hard to give it focus on w32. Apparently there > must be some misunderstanding in the use of the w32 API for focusing. > And it might be the GTK part that has a bug there. Anyone knows where > to file a bug about this? According to http://www.gtk.org/development.html, you can report GTK bugs at http://bugzilla.gnome.org/ Regards, Alain ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, the top left of the frames buffer. 2010-11-13 21:42 ` Alain Knaff @ 2010-11-13 21:48 ` Lennart Borgman 0 siblings, 0 replies; 21+ messages in thread From: Lennart Borgman @ 2010-11-13 21:48 UTC (permalink / raw) To: Alain Knaff; +Cc: 7269 On Sat, Nov 13, 2010 at 10:42 PM, Alain Knaff <alain@knaff.lu> wrote: > On 11/13/2010 10:39 PM, Lennart Borgman wrote: >>>>> What application do you mean do not grab focus when you ask them to >>>>> open a file? I actually can't remember any. (Except for GIMP which >>>>> seems to have a bug there on w32.) >> >> Hm, this was a bit interesting regarding GIMP on w32. I have long >> wondered why they do not fix the bug that it does not grab focus and >> that it is also very hard to give it focus on w32. Apparently there >> must be some misunderstanding in the use of the w32 API for focusing. >> And it might be the GTK part that has a bug there. Anyone knows where >> to file a bug about this? > > According to http://www.gtk.org/development.html, you can report GTK > bugs at http://bugzilla.gnome.org/ Thanks. I see they have a lot of bug reports regarding focus on w32 so I guess there is no use in adding my example too. (Some of them are very strange, but I think I have seen those with GIMP.) ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, the top left of the frames buffer. 2010-11-13 21:31 ` Lennart Borgman 2010-11-13 21:39 ` Lennart Borgman @ 2010-11-13 21:40 ` Alain Knaff 2010-11-13 21:52 ` Lennart Borgman 1 sibling, 1 reply; 21+ messages in thread From: Alain Knaff @ 2010-11-13 21:40 UTC (permalink / raw) To: Lennart Borgman, 7269 On 11/13/2010 10:31 PM, Lennart Borgman wrote: [...] > As I said I know of no exception on w32. All applications I can think > of right now grabs focus when you call them from the command line (or > from Windows Explorer). Ok, but if I really liked this braindead behavior, I'd actually use Windows, rather than Linux. And I'd probably use Notepad too rather than Emacs :-) So why exactly is Emacs trying to force Windows down everybody's throat? Emacs, of all software! The flagship of the GNU movement! The mind boggles... Maybe, in emacs this behavior could be made conditional on running on Windows? > > Maybe this is dependent on the window manager used? I use KDE. I don't believe this is a window manager issue... if that was the case, wouldn't all applications behave the same way? > > What happens if you launch a program from the command line without a > file name argument? Does the application get focus? No, of course not. Unless it just happens to pop up in front of the mouse. And this has been the case with other Window managers as well, even before KDE. Even in mwm, twm, fvwm, applications didn't steal focus willy-nilly. I don't know for sure about Gnome, I don't use Gnome very often, but I guess I would have noticed if this was the case... > (On w32 they do > get focus.) ... and that's one of the zillion reasons why I don't use w32... :-) Alain ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, the top left of the frames buffer. 2010-11-13 21:40 ` Alain Knaff @ 2010-11-13 21:52 ` Lennart Borgman 2010-11-13 22:10 ` Alain Knaff 0 siblings, 1 reply; 21+ messages in thread From: Lennart Borgman @ 2010-11-13 21:52 UTC (permalink / raw) To: Alain Knaff; +Cc: 7269 On Sat, Nov 13, 2010 at 10:40 PM, Alain Knaff <alain@knaff.lu> wrote: > On 11/13/2010 10:31 PM, Lennart Borgman wrote: > [...] >> As I said I know of no exception on w32. All applications I can think >> of right now grabs focus when you call them from the command line (or >> from Windows Explorer). > > Ok, but if I really liked this braindead behavior, I'd actually use > Windows, rather than Linux. And I'd probably use Notepad too rather than > Emacs :-) Why is it good that the newly started program does not get focus? > Maybe, in emacs this behavior could be made conditional on running on > Windows? Yes. Or the window manager if that is better (and possible). >> Maybe this is dependent on the window manager used? > > I use KDE. > > I don't believe this is a window manager issue... if that was the case, > wouldn't all applications behave the same way? No. There are some extra difficulties since Emacs uses a server which emacsclients connects to. >> What happens if you launch a program from the command line without a >> file name argument? Does the application get focus? > > No, of course not. Thanks. > And this has been the case with other Window managers as well, even > before KDE. Even in mwm, twm, fvwm, applications didn't steal focus > willy-nilly. I don't know for sure about Gnome, I don't use Gnome very > often, but I guess I would have noticed if this was the case... ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, the top left of the frames buffer. 2010-11-13 21:52 ` Lennart Borgman @ 2010-11-13 22:10 ` Alain Knaff 2010-11-13 22:38 ` Lennart Borgman 0 siblings, 1 reply; 21+ messages in thread From: Alain Knaff @ 2010-11-13 22:10 UTC (permalink / raw) To: Lennart Borgman; +Cc: 7269 On 11/13/2010 10:52 PM, Lennart Borgman wrote: > On Sat, Nov 13, 2010 at 10:40 PM, Alain Knaff <alain@knaff.lu> wrote: >> On 11/13/2010 10:31 PM, Lennart Borgman wrote: >> [...] >>> As I said I know of no exception on w32. All applications I can think >>> of right now grabs focus when you call them from the command line (or >>> from Windows Explorer). >> >> Ok, but if I really liked this braindead behavior, I'd actually use >> Windows, rather than Linux. And I'd probably use Notepad too rather than >> Emacs :-) > > Why is it good that the newly started program does not get focus? In order not to disrupt the user's work in some other program. Multitasking may be a foreign concept on Windows, but on Linux, people routinely have multiple programs open. They may launch a compilation in one window, and then, while it runs, launch a firefox for their online banking. They would be rather unhappy if suddenly their online banking password would show up readable for all shoulder surfers in the emacsclient spawned by cvs commit. Please don't break multitasking, it is one of the many features that we love about Linux. > >> Maybe, in emacs this behavior could be made conditional on running on >> Windows? > > Yes. Or the window manager if that is better (and possible). Only emacs (and firefox/thunderbird in other scenarios) do this. So I think, the problem is with them, not the window manager. However, it could be argued that the window manager should do a better job at policing applications. I've indeed entered such a bug report on KDE a while back (for the situation caused by firefox/thunderbird), and their answer was that some elements may have a legitimate need to grab focus or switch desktops. These elements would be for example the window manager's own widgets for switching desktops. However, KDE does have a way of optionally reigning in some of the methods of stealing focus, this is called "Focus stealing prevention", and can be found in systemSettings->WindowBehavior->WindowRules->New->Workarounds But apparently, there is more than one method to grab focus, and some aren't blocked by this (... or are only blocked at a price... such as new windows popping up behind all others rather than in front) >>> Maybe this is dependent on the window manager used? >> >> I use KDE. >> >> I don't believe this is a window manager issue... if that was the case, >> wouldn't all applications behave the same way? > > No. There are some extra difficulties since Emacs uses a server which > emacsclients connects to. I've noticed some weirdness there too. Normally, the idea of emacsclient should be to display the client on the DISPLAY pointed to by the client, not by the server. Indeed, if I'm logged in over ssh to a remote server, and start an emacsclient, I want to see that emacsclient on my display, and not have it displayed on the server's console in some dusty NOC where it is of use to no-one. Same thing with virtual desktops: I want to see the emacsclient on the desktop that I am currently on, and not on the one where emacs' main window is (or worse, have me forcefully teleported to that desktop). This was working fine in the old days (> 3 years ago), but some recent versions do some really bizarre and illogical stuff here. Is this also a matter of emulating windows? We Linux and Unix users like network transparency and multiple desktops, please don't break them for us. And it was working fine for ages before, so why mess with it now? >>> What happens if you launch a program from the command line without a >>> file name argument? Does the application get focus? >> >> No, of course not. > > Thanks. > >> And this has been the case with other Window managers as well, even >> before KDE. Even in mwm, twm, fvwm, applications didn't steal focus >> willy-nilly. I don't know for sure about Gnome, I don't use Gnome very >> often, but I guess I would have noticed if this was the case... Thanks, Alain ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, the top left of the frames buffer. 2010-11-13 22:10 ` Alain Knaff @ 2010-11-13 22:38 ` Lennart Borgman 2010-11-13 23:20 ` Alain Knaff 0 siblings, 1 reply; 21+ messages in thread From: Lennart Borgman @ 2010-11-13 22:38 UTC (permalink / raw) To: Alain Knaff; +Cc: 7269 On Sat, Nov 13, 2010 at 11:10 PM, Alain Knaff <alain@knaff.lu> wrote: >> >> Why is it good that the newly started program does not get focus? > > In order not to disrupt the user's work in some other program. > Multitasking may be a foreign concept on Windows, but on Linux, people > routinely have multiple programs open. Having multiple programs open is the idea of Windows I guess (but it was not invented by MS, it is older). > They may launch a compilation in > one window, and then, while it runs, launch a firefox for their online > banking. They would be rather unhappy if suddenly their online banking > password would show up readable for all shoulder surfers in the > emacsclient spawned by cvs commit. I think you refer to another problem: The sync problem of keyboard input and window focus. When a new program is launched and it is going to grab focus it is difficult to sync. However I would say that the compilation program should not get window and keyboard focus automatically. There should be a way to avoid it. And isn't there actually that? Can't you start those programs in the background from most shells? > Please don't break multitasking, it is one of the many features that we > love about Linux. This is not a GNU/Linux thing. > However, it could be argued that the window manager should do a better > job at policing applications. It would seem natural to me that the window manager respected the users decision to run a program in the background. (But I do not know if there is enough semantic/syntax for that for the shells. I simply no very little about the *nix shells. And I even do not know about this for the w32 shells.) > But apparently, there is more than one method to grab focus, and some > aren't blocked by this Yes. In some situations the users choice must be overriden. But on w32 there has been many changes to avoid that this is used when it should not be used. (In the case of emacsclient it should be used.) >>> I don't believe this is a window manager issue... if that was the case, >>> wouldn't all applications behave the same way? >> >> No. There are some extra difficulties since Emacs uses a server which >> emacsclients connects to. > > I've noticed some weirdness there too. Normally, the idea of emacsclient > should be to display the client on the DISPLAY pointed to by the client, > not by the server. Indeed, if I'm logged in over ssh to a remote server, > and start an emacsclient, I want to see that emacsclient on my display, > and not have it displayed on the server's console in some dusty NOC > where it is of use to no-one. Same thing with virtual desktops: I want > to see the emacsclient on the desktop that I am currently on, and not on > the one where emacs' main window is (or worse, have me forcefully > teleported to that desktop). > > This was working fine in the old days (> 3 years ago), but some recent > versions do some really bizarre and illogical stuff here. Is this also a > matter of emulating windows? We Linux and Unix users like network > transparency and multiple desktops, please don't break them for us. And > it was working fine for ages before, so why mess with it now? This is over my head. I know nothing about this. But I hope someone else will look at it. ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, the top left of the frames buffer. 2010-11-13 22:38 ` Lennart Borgman @ 2010-11-13 23:20 ` Alain Knaff 2010-11-13 23:50 ` Lennart Borgman 0 siblings, 1 reply; 21+ messages in thread From: Alain Knaff @ 2010-11-13 23:20 UTC (permalink / raw) To: Lennart Borgman; +Cc: 7269 On 11/13/2010 11:38 PM, Lennart Borgman wrote: > On Sat, Nov 13, 2010 at 11:10 PM, Alain Knaff <alain@knaff.lu> wrote: >>> >>> Why is it good that the newly started program does not get focus? >> >> In order not to disrupt the user's work in some other program. >> Multitasking may be a foreign concept on Windows, but on Linux, people >> routinely have multiple programs open. > > Having multiple programs open is the idea of Windows I guess (but it > was not invented by MS, it is older). Very few things have been invented by MS... :-) > >> They may launch a compilation in >> one window, and then, while it runs, launch a firefox for their online >> banking. They would be rather unhappy if suddenly their online banking >> password would show up readable for all shoulder surfers in the >> emacsclient spawned by cvs commit. > > I think you refer to another problem: The sync problem of keyboard > input and window focus. I'm concerned about keyboard focus here, i.e. which window gets the keyboard input events. I vaguely remember having read that there are other kinds of focus than keyboard focus (window focus?), but I'm unsure what they do exactly, and am (for this discussion...) not overly concerned with these. > When a new program is launched and it is going > to grab focus it is difficult to sync. I think this is exactly the reason why focus changes should be initiated by the user. Keyboard input is context sensitive. Backspace typed in a shell window means something else than backspace typed in digikam for example (in one case, it just erases the last character types, whereas in the other, it wipes the currently displayed photo...) Now, if something else than the source of keyboard input changes the interpretation context (focus), SNAFU results. Hence the rule that all keyboard focus changes should be initiated (or at least acknowledged) by the user, who is the source of keyboard input. However, as acknowledging application-requested keyboard focus is just as much work as just moving the mouse over to the app to give it keyboard focus, I think we can do away with that scenario. So, the app only gets keyboard focus when the user gives it keyboard focus. Period. Sometimes an application may want to get the user's attention (to inform him that they are "done", or that some error condition needs a decision). The proper way to do this is to flash their border, or their outline in the desktop pager, but never to forcefully grab keyboard focus. > > However I would say that the compilation program should not get window > and keyboard focus automatically. Yes, that's my point. No part of, or program spawned by the compilation should just grab keyboard focus. > There should be a way to avoid it. There is a way to avoid it (keyboard focus stealing prevention), but wouldn't it be so much better if all programs just behaved nice? > And isn't there actually that? Can't you start those programs in the > background from most shells? I'm not really sure what background has to do with it... Background only affects which process should get signals if you press Ctrl-C in the terminal window, it doesn't have anything to do with what other windows these programs may spawn, and what they do with these... >> Please don't break multitasking, it is one of the many features that we >> love about Linux. > > This is not a GNU/Linux thing. > >> However, it could be argued that the window manager should do a better >> job at policing applications. > > It would seem natural to me that the window manager respected the > users decision to run a program in the background. How would the window manager even know which program was in the background in the general case? Hint: it may not even run on the same machine. And even in the local case, not all shells may manage foreground/background in the same way. And in many cases, the application might not even have been started by an interactive shell in the first place... And the compilation from my example would probably been have started in the foreground in its shell, in order not to mess up its copious output... And why should it be the window manager's job to police apps? You sound a little bit like the thief who complains "why aren't there enough police around to keep me in line". It's your app who plays nasty, please fix it. And I don't care that in the Middle East (Windows), stealing might be acceptable behavior, I live in Europe (Linux), and here it this is definitely not acceptable :-) Why can't emacs respect the user's wish to never steal keyboard focus, ever? > (But I do not know > if there is enough semantic/syntax for that for the shells. I simply > no very little about the *nix shells. And I even do not know about > this for the w32 shells.) On Linux, the appropriate behavior would be: 1. If the shell's name ends in sh, then do not let the app forcefully grab keyboard focus 2. And for those rare shells whose name doesn't end in sh, do not let the app forcefully grab keyboard focus either :-) > >> But apparently, there is more than one method to grab focus, and some >> aren't blocked by this > > Yes. In some situations the users choice must be overriden. Which would these be? > But on w32 > there has been many changes to avoid that this is used when it should > not be used. (In the case of emacsclient it should be used.) Maybe all these Windows specific hacks should be bracketed by #ifdef W32 ... #endif so that they don't bother users of other platforms? >>>> I don't believe this is a window manager issue... if that was the case, >>>> wouldn't all applications behave the same way? >>> >>> No. There are some extra difficulties since Emacs uses a server which >>> emacsclients connects to. >> >> I've noticed some weirdness there too. Normally, the idea of emacsclient >> should be to display the client on the DISPLAY pointed to by the client, >> not by the server. Indeed, if I'm logged in over ssh to a remote server, >> and start an emacsclient, I want to see that emacsclient on my display, >> and not have it displayed on the server's console in some dusty NOC >> where it is of use to no-one. Same thing with virtual desktops: I want >> to see the emacsclient on the desktop that I am currently on, and not on >> the one where emacs' main window is (or worse, have me forcefully >> teleported to that desktop). >> >> This was working fine in the old days (> 3 years ago), but some recent >> versions do some really bizarre and illogical stuff here. Is this also a >> matter of emulating windows? We Linux and Unix users like network >> transparency and multiple desktops, please don't break them for us. And >> it was working fine for ages before, so why mess with it now? > > > This is over my head. I know nothing about this. But I hope someone > else will look at it. In simpler words: we chose to use Linux because we prefer the way it works. Please don't make it behave like Windows :-) Thanks, Alain ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, the top left of the frames buffer. 2010-11-13 23:20 ` Alain Knaff @ 2010-11-13 23:50 ` Lennart Borgman 2010-11-14 0:20 ` Alain Knaff 0 siblings, 1 reply; 21+ messages in thread From: Lennart Borgman @ 2010-11-13 23:50 UTC (permalink / raw) To: Alain Knaff; +Cc: 7269 On Sun, Nov 14, 2010 at 12:20 AM, Alain Knaff <alain@knaff.lu> wrote: >> >> I think you refer to another problem: The sync problem of keyboard >> input and window focus. > > I'm concerned about keyboard focus here, i.e. which window gets the > keyboard input events. I vaguely remember having read that there are > other kinds of focus than keyboard focus (window focus?), but I'm unsure > what they do exactly, and am (for this discussion...) not overly > concerned with these. I am beeing very imprecise here. What you should distinguish is which window/application takes the keyboard input and which window is on top on the screen. (The latter means that it will take mouse input inside the window.) >> When a new program is launched and it is going >> to grab focus it is difficult to sync. > > I think this is exactly the reason why focus changes should be initiated > by the user. > > Keyboard input is context sensitive. All input is. > .. Hence the rule that all > keyboard focus changes should be initiated (or at least acknowledged) by > the user, who is the source of keyboard input. Yes, but there seem to be different opinions for what this mean. In many circumstances launching an application means you want to use it and therefore wants it to have input focus. But not in your use cases of course. > So, the app only gets keyboard focus when the user gives it keyboard > focus. Period. Unfortunately that is not clear, see above. > Sometimes an application may want to get the user's attention (to inform > him that they are "done", or that some error condition needs a > decision). The proper way to do this is to flash their border, or their > outline in the desktop pager, but never to forcefully grab keyboard focus. It depends on the window manager what the proper way is. It is actually specified for some of them. >> However I would say that the compilation program should not get window >> and keyboard focus automatically. > > Yes, that's my point. No part of, or program spawned by the compilation > should just grab keyboard focus. > >> There should be a way to avoid it. .. >> And isn't there actually that? Can't you start those programs in the >> background from most shells? > > I'm not really sure what background has to do with it... Background only > affects which process should get signals if you press Ctrl-C in the > terminal window, it doesn't have anything to do with what other windows > these programs may spawn, and what they do with these... So this means that this part of the semantic does not apply here. I do not know if there is anything else that can glue things together. Maybe the semantic has not been specified clearly. >> It would seem natural to me that the window manager respected the >> users decision to run a program in the background. > > How would the window manager even know which program was in the > background in the general case? Hint: it may not even run on the same > machine. And even in the local case, not all shells may manage > foreground/background in the same way. And in many cases, the > application might not even have been started by an interactive shell in > the first place... These are good point, but different people and different situations might require different solutions. However I do not know anything about what has been done on that level. > And the compilation from my example would probably been have started in > the foreground in its shell, in order not to mess up its copious output... > > And why should it be the window manager's job to police apps? I think it is about cooperation and some pieces might be missing, see above. >> (But I do not know >> if there is enough semantic/syntax for that for the shells. I simply >> no very little about the *nix shells. And I even do not know about >> this for the w32 shells.) > > On Linux, the appropriate behavior would be: > > 1. If the shell's name ends in sh, then do not let the app forcefully > grab keyboard focus > 2. And for those rare shells whose name doesn't end in sh, do not let > the app forcefully grab keyboard focus either :-) Simple enough ;-) But maybe not flexible enough. >>> But apparently, there is more than one method to grab focus, and some >>> aren't blocked by this >> >> Yes. In some situations the users choice must be overriden. > > Which would these be? Urgent messages. >> But on w32 >> there has been many changes to avoid that this is used when it should >> not be used. (In the case of emacsclient it should be used.) > > Maybe all these Windows specific hacks should be bracketed by #ifdef W32 > ... #endif so that they don't bother users of other platforms? I don't think this is a w32 specific problem at all. See above. There are different solutions and your solution tends to be best for a programmer, at least it looks so to me. However most users are not programmers (and maybe that is part of the problem for GNU/Linux that opinions from programmers does not respect other users needs and therefore makes the platform unnecessary impopular). > In simpler words: we chose to use Linux because we prefer the way it > works. Please don't make it behave like Windows :-) There are bigger issues than this. The whole platform GNU/Linux exists because people want a free platform. Whether it should behave like w32 is something that should be evaluated mainly against this. ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, the top left of the frames buffer. 2010-11-13 23:50 ` Lennart Borgman @ 2010-11-14 0:20 ` Alain Knaff 2010-11-14 0:51 ` Lennart Borgman 0 siblings, 1 reply; 21+ messages in thread From: Alain Knaff @ 2010-11-14 0:20 UTC (permalink / raw) To: Lennart Borgman; +Cc: 7269 On 11/14/2010 12:50 AM, Lennart Borgman wrote: > On Sun, Nov 14, 2010 at 12:20 AM, Alain Knaff <alain@knaff.lu> wrote: > >>> >>> I think you refer to another problem: The sync problem of keyboard >>> input and window focus. >> >> I'm concerned about keyboard focus here, i.e. which window gets the >> keyboard input events. I vaguely remember having read that there are >> other kinds of focus than keyboard focus (window focus?), but I'm unsure >> what they do exactly, and am (for this discussion...) not overly >> concerned with these. > > I am beeing very imprecise here. What you should distinguish is which > window/application takes the keyboard input and which window is on top > on the screen. (The latter means that it will take mouse input inside > the window.) ok, I see. Yes, in my case I'm more concerned about keyboard input than about which window is on top. >>> When a new program is launched and it is going >>> to grab focus it is difficult to sync. >> >> I think this is exactly the reason why focus changes should be initiated >> by the user. >> >> Keyboard input is context sensitive. > > All input is. :-) >> .. Hence the rule that all >> keyboard focus changes should be initiated (or at least acknowledged) by >> the user, who is the source of keyboard input. > > Yes, but there seem to be different opinions for what this mean. In > many circumstances launching an application means you want to use it > and therefore wants it to have input focus. But not in your use cases > of course. Maybe it's dangerous to make too many assumptions, and preferable to rely on explicit actions rather than second-guessing the user. Maybe the user was just feeling hot? :-) >> So, the app only gets keyboard focus when the user gives it keyboard >> focus. Period. > > Unfortunately that is not clear, see above. Why does this have to feel like a cheesy rape trial? :-) >> Sometimes an application may want to get the user's attention (to inform >> him that they are "done", or that some error condition needs a >> decision). The proper way to do this is to flash their border, or their >> outline in the desktop pager, but never to forcefully grab keyboard focus. > > It depends on the window manager what the proper way is. It is > actually specified for some of them. Hopefully there is a standardized API for "get user's attention unintrusively"... [...] >> I'm not really sure what background has to do with it... Background only >> affects which process should get signals if you press Ctrl-C in the >> terminal window, it doesn't have anything to do with what other windows >> these programs may spawn, and what they do with these... > > So this means that this part of the semantic does not apply here. No, not really... > I do > not know if there is anything else that can glue things together. > Maybe the semantic has not been specified clearly. Why can't the answer to "when is it allowed to grab focus" simply be "never"? >>> It would seem natural to me that the window manager respected the >>> users decision to run a program in the background. >> >> How would the window manager even know which program was in the >> background in the general case? Hint: it may not even run on the same >> machine. And even in the local case, not all shells may manage >> foreground/background in the same way. And in many cases, the >> application might not even have been started by an interactive shell in >> the first place... > > These are good point, but different people and different situations > might require different solutions. However I do not know anything > about what has been done on that level. Somehow, other apps don't feel the need to mess in a similar way with keyboard focus. Now, I understand that it is a windows compatibility thingy. But then, why is this code activated on non-Windows platforms? Wouldn't it be possible to make everybody happy by just bracketing it with #idef w32 ... #endif, or something similar? > >> And the compilation from my example would probably been have started in >> the foreground in its shell, in order not to mess up its copious output... >> >> And why should it be the window manager's job to police apps? > > I think it is about cooperation and some pieces might be missing, see above. Yeah, that's the point. Window manager assume well-behaved (cooperative) apps, but apparently some aren't. Hence the need of "focus stealing prevention" and similar settings, which unfortunately don't always work (either they are ineffective, or have undesirable side-effects...) > >>> (But I do not know >>> if there is enough semantic/syntax for that for the shells. I simply >>> no very little about the *nix shells. And I even do not know about >>> this for the w32 shells.) >> >> On Linux, the appropriate behavior would be: >> >> 1. If the shell's name ends in sh, then do not let the app forcefully >> grab keyboard focus >> 2. And for those rare shells whose name doesn't end in sh, do not let >> the app forcefully grab keyboard focus either :-) > > Simple enough ;-) > > But maybe not flexible enough. Well, it's simple enough for the 99% of the other Linux applications out there... >>>> But apparently, there is more than one method to grab focus, and some >>>> aren't blocked by this >>> >>> Yes. In some situations the users choice must be overriden. >> >> Which would these be? > > Urgent messages. Wouldn't "flashing" the app's outline be more appropriate? Just imagine emacs wanted to display the urgent message "Disk filling up. Is it ok to delete file xyz.abc to make space (y/n)", but the user just started to type "yesterday" into another app? >>> But on w32 >>> there has been many changes to avoid that this is used when it should >>> not be used. (In the case of emacsclient it should be used.) >> >> Maybe all these Windows specific hacks should be bracketed by #ifdef W32 >> ... #endif so that they don't bother users of other platforms? > > I don't think this is a w32 specific problem at all. Well, I think it is. According to you, on Windows, most apps grab focus when launched. From my observation, on Linux almost none do. Shouldn't that tell you something? Why does emacs want to be the white elephant here? > See above. There > are different solutions and your solution tends to be best for a > programmer, at least it looks so to me. However most users are not > programmers (and maybe that is part of the problem for GNU/Linux that > opinions from programmers does not respect other users needs and > therefore makes the platform unnecessary impopular). We have a saying here in Luxembourg: "Mir wölle bleiwe wat mir sin" ("We want to stay what we are"). What good is a popular Linux if it has had to sell its soul in order to become so? If I want Windows, I can go out into a shop and buy it right now. I don't need to transform Linux into Windows. If popularity means becoming flaky and unreliable, I prefer to live without it. ... and if you are really concerned about pandering to Windows users that migrated to Linux, then bracket the offending code with if(getenv("WINDOWS_COMPATIBILITY")) { ... } instead. So those users who really want this can set the WINDOWS_COMPATIBILITY environment variable to 1... Hey, maybe we can even get a standard rolling to agree on a same environment variable for all applications that might feel the need to transform Linux into Windows :-) > >> In simpler words: we chose to use Linux because we prefer the way it >> works. Please don't make it behave like Windows :-) > > There are bigger issues than this. The whole platform GNU/Linux exists > because people want a free platform. Whether it should behave like w32 > is something that should be evaluated mainly against this. IMHO, solidity, usability and reliability played as big a role in the popularity of Linux (amongst its primary audience) than its freeness (be it as in beer or as in speech). Why do we have to throw away our advantages to pander to the masses? Alain ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, the top left of the frames buffer. 2010-11-14 0:20 ` Alain Knaff @ 2010-11-14 0:51 ` Lennart Borgman 2010-11-14 8:10 ` Alain Knaff 0 siblings, 1 reply; 21+ messages in thread From: Lennart Borgman @ 2010-11-14 0:51 UTC (permalink / raw) To: Alain Knaff; +Cc: 7269 On Sun, Nov 14, 2010 at 1:20 AM, Alain Knaff <alain@knaff.lu> wrote: > > Why does this have to feel like a cheesy rape trial? :-) Not sure ;-) > Hopefully there is a standardized API for "get user's attention > unintrusively"... There is the "always on top" feature for windows. >> I do >> not know if there is anything else that can glue things together. >> Maybe the semantic has not been specified clearly. > > Why can't the answer to "when is it allowed to grab focus" simply be > "never"? Because it would be very inconventient. Take for example the case when a user double-clicks on a file in the file manager (on w32 it is Windows Explorer). Then the purpose is to open it in the associated application, for example a word processor. Is there any reason not to give the word processor the focus in this case? (Please remember this is a very common use case.) > Somehow, other apps don't feel the need to mess in a similar way with > keyboard focus. Of course Emacs should behave similar to other apps on the platform as far as possible. At least in my opinion. > Now, I understand that it is a windows compatibility thingy. I am not sure that it is w32 only. I would be very surprised if it was. >> I think it is about cooperation and some pieces might be missing, see above. > > Yeah, that's the point. Window manager assume well-behaved (cooperative) > apps, but apparently some aren't. Hence the need of "focus stealing > prevention" and similar settings, which unfortunately don't always work > (either they are ineffective, or have undesirable side-effects...) I think the apps can not solve this all by themselves. But looking into the possible semantics of this is far beyond what we actually talking about now. >>>>> But apparently, there is more than one method to grab focus, and some >>>>> aren't blocked by this >>>> >>>> Yes. In some situations the users choice must be overriden. >>> >>> Which would these be? >> >> Urgent messages. > > Wouldn't "flashing" the app's outline be more appropriate? Just imagine > emacs wanted to display the urgent message "Disk filling up. Is it ok to > delete file xyz.abc to make space (y/n)", but the user just started to > type "yesterday" into another app? In some situations it is not enough. (For example if continuing doing something might crash the computer or destroy data.) >> I don't think this is a w32 specific problem at all. > > Well, I think it is. According to you, on Windows, most apps grab focus > when launched. No. The window manager gives them focus. > From my observation, on Linux almost none do. Shouldn't > that tell you something? Why does emacs want to be the white elephant here? I am sure it does not want to be that. Did you try changing the option `server-raise-frame' in Emacs? >> There are bigger issues than this. The whole platform GNU/Linux exists >> because people want a free platform. Whether it should behave like w32 >> is something that should be evaluated mainly against this. > > IMHO, solidity, usability and reliability played as big a role in the > popularity of Linux (amongst its primary audience) than its freeness (be > it as in beer or as in speech). Why do we have to throw away our > advantages to pander to the masses? I doubt that there actually would be any GNU/Linux if it was only for programmers. It is too expensive for that. A lot of people would not invest their free time to develop it - and without that the price would be too high. It is or could be a treasure. ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, the top left of the frames buffer. 2010-11-14 0:51 ` Lennart Borgman @ 2010-11-14 8:10 ` Alain Knaff 0 siblings, 0 replies; 21+ messages in thread From: Alain Knaff @ 2010-11-14 8:10 UTC (permalink / raw) To: Lennart Borgman; +Cc: 7269 On 11/14/2010 01:51 AM, Lennart Borgman wrote: > On Sun, Nov 14, 2010 at 1:20 AM, Alain Knaff <alain@knaff.lu> wrote: [...] >> Hopefully there is a standardized API for "get user's attention >> unintrusively"... > > There is the "always on top" feature for windows. Strange name ... >>> I do >>> not know if there is anything else that can glue things together. >>> Maybe the semantic has not been specified clearly. >> >> Why can't the answer to "when is it allowed to grab focus" simply be >> "never"? > > Because it would be very inconventient. > > Take for example the case when a user double-clicks on a file in the > file manager (on w32 it is Windows Explorer). Then the purpose is to > open it in the associated application, for example a word processor. > Is there any reason not to give the word processor the focus in this > case? (Please remember this is a very common use case.) Yes, same reasons as discussed earlier still apply: - not re-interpret user's keyboard input in other context - not disrupt his work Why do you think launching a word processor should be somehow special? Remember, word processors are not among the fastest starting programs, so there is the real possibility that the user quickly checked his mail or did something else while waiting for it to open up. In the old days, when computers were slower, people would have a cup of coffee while waiting for their stuff to come up. Maybe word processors back then should have opened the CD tray in order to knock off the coffee cup from the table, to make sure that the user promptly got back to them when they were finally ready :-) Maybe, on w32, it is too cumbersome for the user to give an app the focus, but this is not the case on Linux, so people are rightfully appalled when you try to second-guess them here. >> Somehow, other apps don't feel the need to mess in a similar way with >> keyboard focus. > > Of course Emacs should behave similar to other apps on the platform as > far as possible. At least in my opinion. Exactly. Great to see that we finally agree :-) >> Now, I understand that it is a windows compatibility thingy. > > I am not sure that it is w32 only. I would be very surprised if it was. Maybe. Maybe not. But it for sure isn't the case on Linux or other Unices. So please leave these platforms alone with this second guessing. >>> I think it is about cooperation and some pieces might be missing, see above. >> >> Yeah, that's the point. Window manager assume well-behaved (cooperative) >> apps, but apparently some aren't. Hence the need of "focus stealing >> prevention" and similar settings, which unfortunately don't always work >> (either they are ineffective, or have undesirable side-effects...) > > I think the apps can not solve this all by themselves. But looking > into the possible semantics of this is far beyond what we actually > talking about now. But why are the apps even _trying_ to "solve" anything here? In this case, it's the apps themselves that are the problem. The solution to the problem is trivial: don't interfere with the focus _at_all_ on those platforms where this is frowned upon (Linux, Unix, and possibly others) Other applications don't try to recreate the "windows experience" on Linux in such a way either. They just display their window, period. [...] >> Wouldn't "flashing" the app's outline be more appropriate? Just imagine >> emacs wanted to display the urgent message "Disk filling up. Is it ok to >> delete file xyz.abc to make space (y/n)", but the user just started to >> type "yesterday" into another app? > > In some situations it is not enough. (For example if continuing doing > something might crash the computer or destroy data.) Wouldn't just stopping its own processing, flashing its outline, and then patiently waiting for its turn be enough? Could you just give me one concrete situation where forcefully interrupting the user, and possibly misinterpreting the user's random chattering as the answer to a life-and-death situation would be acceptable behavior? But in any case, we are not even talking about exceptional circumstances here. If not stopped by the window manager, emacsclient does it _every_single_time_... >>> I don't think this is a w32 specific problem at all. >> >> Well, I think it is. According to you, on Windows, most apps grab focus >> when launched. > > No. The window manager gives them focus. So, apps don't NEED to play games, even on w32, as the window manager does it for them there?! Well in that case, that bunch of code which creates the mischief can go: On Windows it is not needed, and on Linux it is not wanted. So why exactly is it there? >> From my observation, on Linux almost none do. Shouldn't >> that tell you something? Why does emacs want to be the white elephant here? > > I am sure it does not want to be that. I am glad we finally agree. Hopefully, whoever is making decisions on these (mis)features sees this as well :-) > Did you try changing the option `server-raise-frame' in Emacs? Yes, this works, thanks for this valuable information. Hopefully it doesn't have any nasty side-effects... (the strange name worries me somewhat...) No, I didn't know about this option yet. Maybe this should also default to nil, just like the focus-follows-mouse option should? Or a global switch to switch off all focus and mouse related "bizarreness" altogether? >>> There are bigger issues than this. The whole platform GNU/Linux exists >>> because people want a free platform. Whether it should behave like w32 >>> is something that should be evaluated mainly against this. >> >> IMHO, solidity, usability and reliability played as big a role in the >> popularity of Linux (amongst its primary audience) than its freeness (be >> it as in beer or as in speech). Why do we have to throw away our >> advantages to pander to the masses? > > I doubt that there actually would be any GNU/Linux if it was only for > programmers. It is too expensive for that. A lot of people would not > invest their free time to develop it - and without that the price > would be too high. It is or could be a treasure. If there were no programmers, there wouldn't be any GNU/Linux at all. Think about it. Why do we programmers have to be so self-deprecatingly masochistic? And don't be fooled by my initial example of "lengthy compilation". I could just as well have said "lengthy account consolidation calculation", "lengthy movie rendering job", or even "slow starting office productivity app". Regards, Alain ^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to the top left of the frames buffer. 2010-10-22 20:29 bug#7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to the top left of the frames buffer Arne Babenhauserheide 2010-11-10 19:29 ` Anders Kaseorg 2010-11-13 20:13 ` bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, " Alain Knaff @ 2010-12-20 11:15 ` Chong Yidong 2 siblings, 0 replies; 21+ messages in thread From: Chong Yidong @ 2010-12-20 11:15 UTC (permalink / raw) To: Stefan Monnier; +Cc: Arne Babenhauserheide, 7269 > > A workaround is M-x customize-save-variable focus-follows-mouse n. > > It’s probably time to flip the default, since even on X these days > > there are only a small minority of focus-follows-mouse users. > Even tho I love focus follows mouse, I'd tend to agree: not only it > seems we're in the minority, but the nil value is a safer default > since moving the mouse is something that should usually be avoided. Since no one has spoken up against making focus-follows-mouse nil, I made it so; committed to trunk. ^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2010-12-20 11:15 UTC | newest] Thread overview: 21+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-10-22 20:29 bug#7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to the top left of the frames buffer Arne Babenhauserheide 2010-11-10 19:29 ` Anders Kaseorg 2010-11-11 23:04 ` Stefan Monnier 2010-11-12 17:02 ` Andreas Schwab 2010-11-13 20:13 ` bug#7269: bug #7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to, " Alain Knaff 2010-11-13 20:58 ` Lennart Borgman [not found] ` <4CDEFD4E.1090603@knaff.lu> [not found] ` <AANLkTikmo5es3TRm2UiOppzKv1EqQPjCryc=h8hnkPJj@mail.gmail.com> 2010-11-13 21:25 ` Alain Knaff 2010-11-13 21:31 ` Lennart Borgman 2010-11-13 21:39 ` Lennart Borgman 2010-11-13 21:42 ` Alain Knaff 2010-11-13 21:48 ` Lennart Borgman 2010-11-13 21:40 ` Alain Knaff 2010-11-13 21:52 ` Lennart Borgman 2010-11-13 22:10 ` Alain Knaff 2010-11-13 22:38 ` Lennart Borgman 2010-11-13 23:20 ` Alain Knaff 2010-11-13 23:50 ` Lennart Borgman 2010-11-14 0:20 ` Alain Knaff 2010-11-14 0:51 ` Lennart Borgman 2010-11-14 8:10 ` Alain Knaff 2010-12-20 11:15 ` bug#7269: 24.0.50; opening a file via emacsclient -c <file> moves the mouse cursor to " Chong Yidong
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).