应该不完全一样,26 之前也有 make-frame,但没有 child frame。
其实 make-frame 的时候设定 (parent-frame . (window-frame)) 这个参数的时候,Emacs就会给操作系统发送两个窗口关系的消息。
只要这样设定了,这两个窗口就会一起显示一起消失,不会受到 Alt + Tab 的影响。
最新版已经是这样的了。
最新版加入了 snails-candidate-copy 的命令,可以快速拷贝 candidate 到 kill-ring。 并且修正 Alt + Tab 会影响 snails frame 显示的问题。
为啥我在 Alt-Tab下还是能看到 snail 窗口呢?已经升级到最新代码。 还有,每次呼出 snails,窗口都会显示标题栏然后消失。闪烁一下很不爽啊
在snails输入7个字符后(不论输入速度)会显示
Buffer "f283-f159-8faa-9b34-b0ef-9167-0dbf" has a running process; kill it? (y or n)
这是怎么回事
那是因为 snails 会自动把那些已经过期的搜索进程杀掉,具体的原理可以看: Snails架构设计
Don't ask user when snails kill buffer of backend process. · manateelazycat/snails@cf15008 · GitHub 这个补丁已经修复了这个问题
不是全屏哦,是窗口模式。代码五分钟前刚更新的。
emacs -Q可以试一下吗?
如果还有问题给我报一下issue吧
emacs -Q
一样的效果哦
我看到你不是 M-x 来启动snails, 你能详细说一下你的重现步骤吗?
gif 看着太快了
- Emacs 27.0.50
- macOS Mojave
希望这次能看清楚了
看清楚了,看着没问题啊?
我没有搞懂你的问题是啥
alt+Tab 会显示两个Emacs
可能我理解错了,我以为你改成 child 模式,在 alt-tab 中应该看不到。如果还是两个 frame 肯定是能看到的,个人觉得这样不好。
另外这个问题还是有,在双屏的附屏上,snails 窗口巨宽
(parent-frame . (window-frame)) (skip-taskbar . t)
最新版只有这两个参数,第一个的意思是创建 child frame , 第二个的意思是不再任务栏或者Alt Tab中不显示图标。
你更新看看? 我这边的窗口管理器的 Alt Tab 被我用 lua 重写了,暂时没法测试你的现象。
双屏的问题没有环境,暂时没法测试。
还是会显示,用 posframe 试了下是不会在 alt-tab 中显示窗口的。
skip-taskbar
If non- nil
, this tells the window manager to remove the frame’s icon from the taskbar associated with the frame’s display and inhibit switching to the frame’s window via the combination Alt-<TAB>. On MS-Windows, iconifying such a frame will “roll in” its window-system window at the bottom of the desktop. Some window managers may not honor this parameter.
我猜是这个
不过posframe里没设这个 所以也可能是undecorated
或 no-accept-focus
的副作用
override-redirect
也可能有这个作用