awesome-tray 替代Emacs mode-line, 让编程更加专注

没有用 magit 是因为这货的启动速度有点慢, 更新最新版就可以了, 不会有这种问题了.

原谅我想的有点多,我发现新版本使用了call-process返回了output和exit code

而我使用的oh-my-zsh中定义了一个函数git_current_branch,既可以返回分支名也可以返回commit id

我照着改了一下,但是感觉笨重了好多(可能是我写的太丑陋了)

(defun awesome-tray-module-git-info ()
  (if (executable-find "git")
      (let* ((git-info (awesome-tray-process-exit-code-and-output "git" "symbolic-ref" "--quiet" "HEAD"))
             (status (nth 0 git-info))
             (result (nth 1 git-info)))
        (if (not (equal status 0))
            (if (equal status 128)
                ""
              (replace-regexp-in-string "\n" "" (nth 1 (awesome-tray-process-exit-code-and-output "git" "rev-parse" "--short" "HEAD"))))
           (replace-regexp-in-string "\n" "" (third (split-string result "/")))))
    ""))

commit id 没啥意义吧, 平常也记不住, 要看的时候 magit-commit 更好一点.

确实没什么意义,这个就是当因为checkout某个commit的时候没有办法显示分支名时显示当前commit ID,确实有点舍本逐末。

是啊, 分支都没有了, commit 有啥意义了? 哈哈哈哈

可以自己做个 after-load-theme-hook,我的配置里有 GitHub - seagle0128/.emacs.d: Centaur Emacs - A Fancy and Fast Emacs Configuration

只使用默认的配置的话,搭配 theme 的话会导致 modeline 不会消失, 添加了

(setq-default mode-line-format nil)

后 modeline 强制消失了, 只是上下分屏的时候割线消失了(左右依然是有的), 就像这样

如何能够保证上下分隔线呢?

emacs -Q 试一下,估计是你主题配置干扰的问题

我是这样测试的

emacs -Q

手动添加 el 文件

M-x load-file awesome_path.el

执行 lisp 语句

(require 'awesome-tray)
(awesome-tray-mode 1)

分屏 显示如下

以上情况下执行语句

(setq-default mode-line-format nil)

效果如图

你为啥要执行 (setq-default mode-line-format nil) ?

不执行的话 那两个黑色的条不会消失

好像是被主题影响了,emacs -Q 加载过去就正常

刚没戏看,楼上说的也是这个问题, 我这边(setq-default mode-line-format nil)之后正常。

跟 mode-line-format 没有关系, 和 mode-line-inactive 的 inherbit 的值有关系, 遇到问题要分析问题, 不要盲目撞

1 个赞

怎么可能正常? 你设置为 Nil 以后, mode-line 就完全消失了, 没法区分窗口的焦点状态.

https://github.com/manateelazycat/awesome-tray/commit/38e5e1ef083fc80e602bc29f4d5158f335cdd3c3 因为原来我的主题是黑色的背景, 没有发现这个问题, 已经修复了.

具体原因看commit吧, 就一行代码.

是正常的,用了你新版本后没有和之前也是一样的。

事实上不仅只有这个问题, 还会出现部分主体 mode-line 无变化的情况

Add percent information in location module. · manateelazycat/awesome-tray@e4f3c07 · GitHub 今天修正了一个 “Not enough arguments for format string” 的错误.

之前没有想明白原因, 今天想清楚了.

请问一下,每次开启awesome-tray的时候都会显示

unable to laod color SystemOrangecolor 跟 unable to load color SystemGrayColor

我是在ubuntu 18.04底下使用emacs,不知道是不是要去安装这两种颜色?或是emacs里要修改什么配置?