更简洁的标签栏设计

先稳定重现吧, 能够稳定重现我就可以修复。

我之前遇到过这个问题了,emacs -q也会遇到

发现一个场景可以稳定复现。

使用的是Doom,执行+lookup/documentation后稳定复现。

能用简单的方式吗? 我不用 Doom 和 Spacemacs 这些发行版,精力不够,抱歉。

或许你参考一下这个链接?这是我之前可以稳定复现这个问题的方法(当时我emacs -q后再手动load sort-tab不会有,必须是自动启动才有)

研究了下,可能doom在pop-to-buffer会resize window的大小,虽然window-min-height设置为1,但不能限制窗口变大。 使用 window-size-fixed 可以限制住。

(with-current-buffer (sort-tab-get-buffer)
    ;;;;;

    ;; Disable resize window
    (setq-local window-size-fixed 'height))

直接提一个PR?我来合并,谢谢

PR 已提交。

已经合并了,谢谢

能否让 sort-tab-select-visible-nth-tab 支持 interactive,mac 上有没有 super 这个键,暂时也没想好用啥键去绑定 tab 的切换,如果这个方法可以支持 interactive 的话,还能用 C-u 2 sort-tab-select-visible-nth-tab 去临时用一下

Done, 更新吧,我刚刚顺手改了。

Thanks :)

有一个想法:增加一个选项把标签栏居中

如果屏幕比较大,在右侧写代码时想切换标签得看向左上角,需要扭头(转眼球已经不够用了)。 (如果 @manateelazycat 觉得合理的话我可以整个 PR)

截图看下?我的屏幕没那么大 :smirk:

27寸 4K 屏(也不是很大)

你的屏幕真的好大,你尝试加个选项吧,估计代码不好改,加油。

这个的话可以在sort-tab-update-tabs里加个

(indent-line-to (/ (- (frame-text-cols) (point-max)) 2))

大致这样

(cl-defmacro sort-tab-update-tabs (&rest body)
  `(with-current-buffer (sort-tab-get-buffer)
     ;; Clean buffer.
     (erase-buffer)

     ;; Update tabs.
     ,@body

     (indent-line-to (/ (- (frame-text-cols) (point-max)) 2))

     ;; Record last active buffer.
     (setq sort-tab-last-active-buffer (current-buffer))
     ))

效果大概这样

我已经提 PR 了,实现稍微有一点点区别

1 个赞

已经合并了,感谢

1 个赞

请问,是否可以增加一个设置项,设置整个 sort-tab buffer 的背景色?