平铺式窗口管理器相关问题

使用的是 mac + yabai 管理窗口,并且我的配置在默认情况下新窗口会直接平铺,需要手动设置为浮动。yabai 确实是个很方便的工具,但是如果 GUI 的 Emacs 创建了一个例如 posframe 的新窗口,yabai 就会把它分出去:

正常情况/把新窗口设为浮动之后应该是这样:

但是这次执行完命令以后再次创建新窗口又会变成原来分开那样。有没有什么办法能让 yabai 针对这种 frame 让它固定变成浮动窗口?

顺便问一问,如果有在 Linux 下使用 i3 之类窗口管理器的朋友们,你们有没有遇见过这种问题?

mac+yabai 我用 vertico-posframe 和之前的 ivy-posframe 貌似都没出现,好像只有 mini-frame 出现了

可以看下有没有针对窗口名进行 floating 的规则配置,以前我用 qtile 的时候它有这种配置项可以定制。

我这里所有的 posframe 都有这个问题,比如截图里是 ivy-posframe,还有之前用 pyim 的 posframe 选词框都出现过这种问题。请问你的 yabai 是如何设置的呢?

我看过 yabai 的官方 wiki,很遗憾的是它只能针对某个桌面进行设定,没有办法针对窗口名配置 floating :sob:

那要么换个wm,要么看下posframe如何能够指定floating属性。

我惊喜地在 yabai 的 issue 里面发现了一个相同的问题 :rofl:

这个问题似乎是使用了 --with-no-titlebar 选项的 emacs-plus 导致的,我为了用 yabai 管理窗口的时候和我用的终端适应所以加上的这个选项,我去安装一个未使用这个选项的 emacs 试试。

wrong with emacs · Issue #460 · koekeishiya/yabai (github.com)

解决了,果然是 titlebar 的问题,我装了有 titlebar 的版本就正常了 :rofl: 然后用的这个帖子的方法隐藏了 titlebar

mac 隐藏标题栏 - Emacs-general - Emacs China (emacs-china.org)

yabai平铺可以友好的处理全屏(独占一个workspace)吗?感觉mac下应用边框都挺明显,平铺起来不好看。不知道可以解决吗?

你是说的一个应用独占桌面时的显示么?

分别是有 padding 和无 padding 的效果。

不过我换了有 titlebar 的 emacs 后,yabai 的自动调节窗口大小的作用对 emacs 无效了,很怪。我只能手动调节 emacs 的大小。

这个有点像是最大化,不是全屏。不过配置的挺好看的。-0-

我这边 Emacs 启动后不行,只能重启 yabai 就可以了,不知道为啥。(PS acm 选手?hhh)

如果你说的是绿色按钮全屏

image

的话,很遗憾,mac 的 yabai 只是一个窗口管理工具,并不会对独立窗口的全屏显示做出任何处理。不过 mac 一个窗口的全屏显示应该是没有边框的。

1 个赞

我这里重启 yabai 也只会对 emacs 进行重新排布,大小根本管不了,只能自己拖边框 :rofl:

(大一学过,现在没打了 :rofl: 几百年没清过网页收藏夹了)

奇怪,我这可以,我不记得我干了啥了😅

我知道了,还是 titlebar 的问题 :upside_down_face:

我上面说我把 titlebar 隐藏了,那个设置固定了 frame 的大小,去掉那个设置 yabai 就能正常缩放 emacs 了

但是这样就必须顶着个 titlebar,有点难受 :sweat_smile:

@QuarterHeaven 话说最近有个问题困扰我很久不知道你那有没有。重启 Emacs 之后 Yabai 对 Emacs 窗口无效,必须 reload yabai launchctl kickstart -k "gui/${UID}/homebrew.mxcl.yabai" 才行,你那也是这样么

没有,我这里重启 Emacs 以后也可以直接控制。

奇怪了,macOS 12.0.1 + yabai head,你那边是?

Catalina 10.15.7 + yabai-v3.3.10