emacs 26 添加了一些特殊的东西,虽然不太起眼,但我今天研究了一下, 标题上说的功能已经可以实现了
一个小栗子
(setq my-frame
(let ((after-make-frame-functions nil))
(make-frame
`((parent-frame . ,(window-frame))
(undecorated . t)
(cursor-type . nil)
(minibuffer . nil)
(width . 50)
(height . 1))
)))
(set-window-parameter
(frame-root-window my-frame)
'mode-line-format 'none)
(setq my-timer nil)
(setq my-timer
(progn
(when my-timer
(cancel-timer my-timer))
(run-with-timer
0 0.1
#'(lambda ()
(let* ((pos (cdr (mouse-pixel-position)))
(x (car pos))
(y (cdr pos)))
(set-frame-parameter
my-frame 'top (+ y 30))
(set-frame-parameter
my-frame 'left (+ x 30)))
))))
2 个赞
没法想像是什么样子的,能不能贴个动图看看?
很好使,我试着用这个功能显示 pyim的 page, 效果非常好
Emacs 更像 acme 了。
emacs 26 添加了许多窗口管理器类似的功能, 很有搞头
试了一下,在新的frame和老的frame鼠标都没法用了。
(let ((frame (make-frame '((top . 10) (left . 10) (width . 60) (height . 15) (undecorated . t) (no-other-frame . t) (skip-taskbar . t)))) (helm-split-window-default-side 'same)) (select-frame-set-input-focus frame) (helm-buffers-list))
这个需要慢慢的研究,毕竟是新功能,需要不停的采坑
可惜终端不支持 child frames