Snails超级快的模糊搜索框架

(parent-frame . (window-frame)) (skip-taskbar . t)

最新版只有这两个参数,第一个的意思是创建 child frame , 第二个的意思是不再任务栏或者Alt Tab中不显示图标。

你更新看看? 我这边的窗口管理器的 Alt Tab 被我用 lua 重写了,暂时没法测试你的现象。

双屏的问题没有环境,暂时没法测试。

还是会显示,用 posframe 试了下是不会在 alt-tab 中显示窗口的。

@tumashu posframe 用的啥技巧?

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里没设这个 所以也可能是undecoratedno-accept-focus的副作用

override-redirect也可能有这个作用

这个一般是用来画tooltips窗口的,跟这个没关系。

晚上新加了个补丁: Use fuzz match algorithm provide by `fuz' libary. · manateelazycat/snails@94d3fb0 · GitHub

只要 fuz.el GitHub - rustify-emacs/fuz.el: Fast and precise fuzzy scoring/matching utils for Emacs, powered by rust 这个库装上以后,snails 会默认使用 fuz.el 的算法进行模糊搜索,并按照算法来计算匹配分数进行排序。

虽然还没有解决两个图标的问题( skip-taskbar 这种参数我觉得只对 Linux 窗口管理器有效), 但是今天加了一个补丁 Try to raise snails frame when focus default frame by alt + tab switc… · manateelazycat/snails@b87c47b · GitHub

即使你不小心切换到 Emacs 的默认 frame, snails 也可以正常弹到最上面,虽然还不完美,但是现在不会出现 Alt Tab 以后 snails frame 存在但时被挡在 default frame 后面的情况了。

昨天晚上利用 fuz.el 库实现的 fuzz match 和 fuzz sort 的效果

fuzzy%20match

更新了最新的code后整个snails坏掉了。甚至波及到了emacs,ESC ESC ESC和C-g也没用。去别的软件(例如Chrome)也会有团黑色的长方形挡住页面。只能强行从terminal kill Emacs的process。回到这个commit就一切正常。

我估计是这个补丁不兼容lubuntu

更新最新版,我把 snails-raise-frame 暂时屏蔽了。

ok没问题了

都好厉害。。。 刚发现这个

我的录屏中就是用的 ivy-posframe,还是感觉有点点卡

1 个赞

我也有延迟, hydra-hint-display-type posframe 也卡顿

所以还是用modeline 里面的那个。叫lv好像

是的,我只在本地试用了一段,还是没有加入 master branch。lv 其实用起来很不错。poframe 用来显示少量信息和提示是没问题的,输入文字会导致不停的刷新,所以就卡了。

没注意, 可以比对一下 posframe里面的 frame-paras,也许能看出端倪。

估计posframe切换后就消失了,没这个问题

posframe focus-out 的时候估计就会隐藏。

鉴于Mac的窗口管理器细节控制不够,我最新版只要 focus out 就直接隐藏了,所以你说的 Alt Tab切换的问题现在应该不存在了。