Emacs每次启动我希望都放到屏幕指定的位置,否则启动完还要手动拖放那也太low了

之前一直用hammerspoon配合热键来调整应用的窗口位置和大小,这里只需要简单的脚本就能实现

热键我设置的是 Ctrl + Cmd + <-

init_emacs.scpt

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
tell application "Emacs"
	reopen
	activate -- makes the app frontmost
end tell

tell application "System Events"
	with timeout of 5 seconds
		key code 123 using {control down, command down}
	end timeout
end tell

然后只需要在Emacs启动完的时候调用一下就可以了

1
2
3
4
5
6
7
8
9
(if (eq system-type 'darwin)
    (progn
      (add-hook 'emacs-startup-hook
                (lambda ()
                  (async-shell-command "osascript ~/.emacs_kong/scripts/init_emacs.scpt")
                  ))
      )
  )
  

Cool~

另外,扩展用法是你可以提前写好几个默认的布局方案,然后随时可以用Alfred来调用,这样瞬间就能调整成你希望的窗口布局,效率非常高,而且可以让你更专注。例如我喜欢把terminal和Emacs左右并列放置,只需要一个命令就可以互换二者位置,实乃居家旅行必备神器。