我一直在通过可用钩子查看,但当你切换窗口时,它们中似乎没有一个在开火。
我要做的是,为所选窗口激活一个次要模式:
(defvar active-window (frame-selected-window))
(defun active-window-switch (&rest _)
(when active-window
(with-selected-window active-window
(active-window-mode nil)))
(setq active-window (frame-selected-window))
(active-window-mode t))
(define-minor-mode active-window-mode
"Minor mode to distinguish the selected window."
:global nil :group 'active-window :init-value nil :lighter " Active")
(add-hook 'window-configuration-change-hook #'active-window-switch)
(provide 'active-window)我可以用什么钩子或函数来代替window-configuration-change-hook (只在我创建或退出窗口时触发)?
发布于 2014-01-05 17:10:29
select-window是在许多情况下在内部使用的操作,可能在单个命令中使用数千次。实际上,您并不总是关心所选窗口,但只在不运行命令时才关心。因此,更好的地方钩自己是在post-command-hook。
发布于 2014-01-05 16:44:37
您可以尝试建议选择窗口:
(defadvice select-window (after select-window-and-do-stuff activate)
(do-stuff))或者,如果您想在窗口中取消设置,您首先要离开:
(defadvice select-window (around select-window-and-do-stuff activate)
(undo-stuff)
ad-do-it
(do-stuff))https://stackoverflow.com/questions/20934770
复制相似问题