* bug#23579: 25.1.50; window-configuration-change-hook not invoked when window resized
@ 2016-05-19 4:42 Steve Purcell
2016-05-19 13:02 ` martin rudalics
0 siblings, 1 reply; 3+ messages in thread
From: Steve Purcell @ 2016-05-19 4:42 UTC (permalink / raw
To: 23579
Under OS X "El Capitan" it's possible to split a Space between two
full-screen applications, with a draggable divider between them.
When Emacs is one of those split-screen applications, it does not
trigger window-configuration-change-hook when the divider has been
dragged, even though the net result is that the window configuration
changed.
This means that user or package code which relies on the hook is not
triggered reliably, leading to unexpected behaviour.
In GNU Emacs 25.1.50.1 (x86_64-apple-darwin13.4.0, NS appkit-1265.21
Version 10.9.5 (Build 13F1603))
of 2016-05-07 built on builder10-9.local
Windowing system distributor 'Apple', version 10.3.1404
Configured using:
'configure --with-ns '--enable-locallisppath=/Library/Application
Support/Emacs/${version}/site-lisp:/Library/Application
Support/Emacs/site-lisp''
Configured features:
NOTIFY ACL LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS
Important settings:
value of $LC_CTYPE: en_US.UTF-8
value of $LANG: en_US
locale-coding-system: utf-8
Major mode: Compilation
Minor modes in effect:
magit-auto-revert-mode: t
global-git-commit-mode: t
async-bytecomp-package-mode: t
company-quickhelp-mode: t
shell-dirtrack-mode: t
global-flycheck-mode: t
global-company-mode: t
company-mode: t
diff-auto-refine-mode: t
auto-compile-on-load-mode: t
auto-compile-on-save-mode: t
ipretty-mode: t
global-rinari-mode: t
global-whitespace-cleanup-mode: t
whitespace-cleanup-mode: t
guide-key-mode: t
hes-mode: t
global-page-break-lines-mode: t
page-break-lines-mode: t
delete-selection-mode: t
cua-mode: t
show-paren-mode: t
global-undo-tree-mode: t
undo-tree-mode: t
global-auto-revert-mode: t
electric-pair-mode: t
savehist-mode: t
desktop-save-mode: t
winner-mode: t
ido-ubiquitous-mode: t
ido-everywhere: t
recentf-mode: t
global-anzu-mode: t
anzu-mode: t
tooltip-mode: t
global-eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
global-prettify-symbols-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
buffer-read-only: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: (only . t)
Load-path shadows:
/Users/steve/.emacs.d/elpa/seq-20151121.1017/seq hides
/Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/seq
Features:
(shadow sort mail-extr emacsbug sendmail network-stream starttls
url-cache github-clone gh-repos gh-users gh-oauth gh-api logito gh-cache
pcache eieio-base gh-auth gh-common gh-url eieio-compat gh-profile
bookmark tabify org-capture mmm-mode mmm-univ mmm-class yaml-mode
magit-extras magit-blame magit-stash magit-bisect magit-remote
magit-commit magit-sequence magit magit-apply magit-wip magit-log
magit-diff smerge-mode magit-core magit-autorevert magit-process
magit-popup magit-mode magit-git crm magit-section magit-utils
git-commit log-edit message rfc822 mml mml-sec epa epg mm-decode
mm-bodies mm-encode mailabbrev gmm-utils mailheader pcvs-util add-log
with-editor async-bytecomp async tramp-sh tramp tramp-compat
tramp-loaddefs trampver haskell-doc inf-haskell haskell-decl-scan
help-fns smex executable company-quickhelp pos-tip company-robe
rspec-mode robe url-http tls gnutls url-auth mail-parse rfc2231 url-gw
nsm puny url url-proxy url-privacy url-expand url-methods url-history
url-cookie url-domsuf mailcap gitignore-mode conf-mode mmm-erb
mmm-region mmm-utils tagedit sgml-mode markdown-mode company-ghci
flycheck-haskell org-element org-rmail org-mhe org-irc org-info org-gnus
gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums mail-utils
org-docview doc-view image-mode org-bibtex bibtex org-bbdb org-w3m
ob-sqlite ob-sh shell ob-ruby ob-python ob-octave ob-ledger ob-latex
ob-gnuplot ob-dot ob-ditaa ob-R org-clock org org-macro org-footnote
org-pcomplete org-list org-faces org-entities org-version ob-emacs-lisp
ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint
ob-core ob-eval org-compat org-macs org-loaddefs cal-menu calendar
cal-loaddefs flycheck-package lisp-mnt flycheck-stack flycheck-hdevtools
flycheck find-func subr-x company-dabbrev-code company-dabbrev
company-capf company vc-mtn vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs
vc-rcs diff-hl-dired dired-sort dired+ image-dired format-spec
image-file dired-x dired-aux dired dired-loaddefs cap-words superword
subword haskell haskell-completions haskell-load haskell-commands
highlight-uses-mode haskell-modules haskell-sandbox haskell-repl
haskell-debug haskell-interactive-mode haskell-presentation-mode
haskell-collapse haskell-navigate-imports haskell-compile
haskell-process haskell-session url-util haskell-hoogle haskell-mode
haskell-font-lock haskell-indentation haskell-string
haskell-sort-imports haskell-lexeme haskell-align-imports haskell-compat
haskell-complete-module noutline outline flymake dabbrev
haskell-customize disp-table vc-git elisp-slime-nav etags xref project
redshank skeleton rainbow-delimiters aggressive-indent highlight-quoted
nlinum linum indent-guide highlight-symbol diff-hl vc-dir ewoc vc
vc-dispatcher diff-mode bug-reference paredit-everywhere paredit
goto-addr vc-darcs xml haskell-cabal haskell-utils init init-locales
mm-util mail-prsvr session sanityinc-tomorrow-bright-theme
color-theme-sanityinc-tomorrow server jka-compr init-ledger init-dash
init-misc init-common-lisp init-clojure-cider init-clojure init-slime
init-lisp cl-lib-highlight auto-compile packed ipretty pp init-paredit
init-sql init-rails rinari json map jump inflections findr
ruby-compilation which-func imenu pcomplete inf-ruby compile comint
ansi-color ruby-mode smie init-ruby-mode derived init-elm init-haskell
init-python-mode init-haml init-css init-html init-nxml init-org
init-php init-javascript easy-mmode init-erlang erlang-start init-csv
init-markdown init-textile init-crontab init-compile init-github
init-git init-darcs init-vc init-fci init-whitespace
whitespace-cleanup-mode whitespace init-editing-utils guide-key s popwin
dash highlight-escape-sequences whole-line-or-region page-break-lines
delsel cua-base paren undo-tree diff autorevert filenotify elec-pair
init-mmm mmm-auto mmm-vars mmm-compat init-fonts init-sessions savehist
desktop frameset init-windows windmove switch-window quail winner ring
init-company init-hippie-expand init-ido ido-ubiquitous
ido-completing-read+ cus-edit cus-start cus-load ido init-recentf
recentf tree-widget wid-edit init-flycheck init-ibuffer ibuf-macs
init-uniquify init-grep init-isearch diminish anzu thingatpt init-dired
init-gui-frames init-osx-keys edmacro kmacro init-themes init-xterm
init-frame-hooks init-exec-path exec-path-from-shell init-elpa fullframe
finder-inf rx slime-autoloads info package epg-config url-handlers
url-parse auth-source eieio eieio-core cl-macs eieio-loaddefs
password-cache url-vars seq byte-opt bytecomp byte-compile cl-extra
help-mode easymenu cconv init-site-lisp cl-seq cl gv cl-loaddefs pcase
cl-lib init-utils init-compat init-benchmarking advice time-date
mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel term/ns-win ns-win ucs-normalize term/common-win
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese charscript case-table epa-hook jka-cmpr-hook help simple abbrev
obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face
macroexp files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote kqueue
cocoa ns multi-tty make-network-process emacs)
Memory information:
((conses 16 692332 301036)
(symbols 48 53767 1)
(miscs 40 17853 2683)
(strings 32 154323 254226)
(string-bytes 1 4386329)
(vectors 16 81878)
(vector-slots 8 1886617 151604)
(floats 8 1133 1466)
(intervals 56 16673 241)
(buffers 976 57))
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#23579: 25.1.50; window-configuration-change-hook not invoked when window resized
2016-05-19 4:42 bug#23579: 25.1.50; window-configuration-change-hook not invoked when window resized Steve Purcell
@ 2016-05-19 13:02 ` martin rudalics
2016-05-19 19:50 ` Steve Purcell
0 siblings, 1 reply; 3+ messages in thread
From: martin rudalics @ 2016-05-19 13:02 UTC (permalink / raw
To: Steve Purcell, 23579
> Under OS X "El Capitan" it's possible to split a Space between two
> full-screen applications, with a draggable divider between them.
>
> When Emacs is one of those split-screen applications, it does not
> trigger window-configuration-change-hook when the divider has been
> dragged, even though the net result is that the window configuration
> changed.
Recently I have tried to make the distinction between size and
configuration changes more precise. Please have a look at the Elisp
manual. The scenario you describe above does not change the
configuration of any of the involved frames but only their sizes.
> This means that user or package code which relies on the hook is not
> triggered reliably, leading to unexpected behaviour.
Indeed: For the given scenario you have to add a function to
‘window-size-change-functions’.
martin
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#23579: 25.1.50; window-configuration-change-hook not invoked when window resized
2016-05-19 13:02 ` martin rudalics
@ 2016-05-19 19:50 ` Steve Purcell
0 siblings, 0 replies; 3+ messages in thread
From: Steve Purcell @ 2016-05-19 19:50 UTC (permalink / raw
To: martin rudalics; +Cc: 23579
> On 20 May 2016, at 01:02, martin rudalics <rudalics@gmx.at> wrote:
> > This means that user or package code which relies on the hook is not
> > triggered reliably, leading to unexpected behaviour.
>
> Indeed: For the given scenario you have to add a function to
> ‘window-size-change-functions’.
Oh, excellent - thanks for that!
Please feel free to close the bug report.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-05-19 19:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-19 4:42 bug#23579: 25.1.50; window-configuration-change-hook not invoked when window resized Steve Purcell
2016-05-19 13:02 ` martin rudalics
2016-05-19 19:50 ` Steve Purcell
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.