系统相关
首页 > 系统相关> > linux – 当它失去焦点时更改Emacs窗口外观

linux – 当它失去焦点时更改Emacs窗口外观

作者:互联网

当我编程时,我使用带有Emacs的两个屏幕,两个缓冲区在每个窗口中分开,在任何时候在屏幕上共计4个开源文件.

我在使用C-x b的缓冲区之间切换,在使用Alt-TAB的Windows之间切换.当我通过为模式行和模式行不活动定义不同的面来切换它们时,我改变了缓冲区的外观.但是当我通过Alt-TAB从Emacs窗口完全切换到另一个Emacs窗口时,如何禁用缓冲区?

我在Ubuntu 11.04和Gnome 2.32.1上使用Emacs 23.2.1可能也是相关的.

PS:问题How to automatically save files on lose focus in Emacs是在一个不同的目标之后但是与“失去焦点的窗口”相同的原始事件.

解决方法:

它可能取决于您的窗口管理器以及它如何管理多个窗口或框架,用emacs的说法.下面的代码就像fvwm中的冠军一样,但并不总是在gnome中.

我将按键C-o映射到帧之间,这有助于你想要转到另一帧但是一个alt-tab会带你通过一些多余的应用程序.

如果您正在运行具有两个框架的单个emacs实例,则可以使用以下内容:

(defun pgr-previous-frame ()
  "go to the previous frame"
  (interactive)
  (pgr-switch-frame (previous-frame)))

(defun pgr-next-frame ()
  "go to the next frame"
  (interactive)
  (pgr-switch-frame (next-frame)))

(defun pgr-switch-frame (frame)
  "go to the specified frame and raise it"
  ;; reset the frame properties here
  (select-frame frame)     
  (raise-frame frame)
  ;;change the display in some manner here
  )

您还可以尝试添加一些建议来提升帧和低帧没有尝试过,但它值得一试.

标签:dot-emacs,linux,lisp,emacs,elisp
来源: https://codeday.me/bug/20190826/1733803.html