我要防止在非活动X窗口中单击框架上的“第一次”效果,而不是使框架处于活动状态。具体来说,我不想让它重新定位。
问题是,我似乎无法检测到他的帧是不活动的时候,我得到了鼠标点击。因此,以下代码始终显示"y"
:
;; detect if frame is active when clicking
(defun my/mouse-drag-region (event)
(interactive "e")
(mouse-minibuffer-check event)
(let* ((window (caadr event))
(frame (window-frame window)))
(if (eql frame (selected-frame))
(print "y")
(print "n"))))
(global-set-key [down-mouse-1] 'my/mouse-drag-region)
我如何检测到该框架以前处于非活动状态?
或者,是否有人已经实现了我在其他地方想要做的事情?
注意:我要问的是与其他问题不同的东西,它是关于不活动的窗口,而不是不活动的框架。
您的相框没有标题栏和边框吗?为什么不单击这些而不是单击缓冲区呢?
—
德鲁
@lawlist:我认为这没有帮助,因为up事件要晚得多。我什至不知道在Down事件期间该框架处于非活动状态!
—
edam 2015年
@德鲁:好吧,我可以,但这很无聊。我宁愿只能够在X窗口中单击,就像在终端中运行emacs一样。
—
埃丹(Edam)
这确实是一个非常令人讨厌的行为。我完全不使用鼠标来防止这种情况。使用Alt + Tab和co。在帧之间切换。
—
GergelyPolonkai 2015年
mouse-set-point
并创建自己的功能以执行所需的任何操作。做C-h k
鼠标点击的东西,看到了两(2)功能被列出。