awesome-tab 1.0 发布, 开箱即用的Emacs标签插件


#142

感谢,好的。


#143

谢谢理解, 随时欢迎PR, 虽然我不用 frame, 如果你真的想提PR, 可以看一下 frame local variable , 我的理解, 只要让每个 frame 保存自己 local 部分的变量, 应该就可以达到你的要求.


#144

明白,我的研究下,lisp写的不熟练。


#145

没关系, 先把功能写出来, 代码风格和质量都是在学习和切磋中改进的, 我以前的elisp代码也是一团糟. :wink:


#146

Emacs 26 之后就没有frame local variable了。:grimacing:


#147

请问,如何加在 helm-source-list 里面呢?

我知道首先需要运行一下 (awesome-tab-build-helm-source)

但之后的添加是指什么呢?如果是加在 helm-mini-default-sources 的话,需要先运行一次 helm-mini ,才会有 helm-mini-default-sources(这个显然是在启动的时候没法完成的)。


#148

我lazycat-emacs里面有一个init-helm.el 参考它的代码


#149

非常感谢!明白了!


#150

打扰了,我还有一个问题: https://github.com/manateelazycat/awesome-tab/issues/8 之前没见到这儿就放在了 issues 那儿

是这样的,我本来准备使用 customize 来自定义一下 awesome-tab,但是,当我输入 awe 然后搜索的时候,出现了这个错误:

Debugger entered--Lisp error: (wrong-type-argument symbolp (t :inherit default))
  widget-convert(((t :inherit default)))
  custom-variable-value-create((custom-variable :tag "Awesome Tab Background Color" :value awesome-tab-background-color :custom-form edit))
  widget-apply((custom-variable :tag "Awesome Tab Background Color" :value awesome-tab-background-color :custom-form edit) :value-create)
  widget-default-create((custom-variable :tag "Awesome Tab Background Color" :value awesome-tab-background-color :custom-form edit))
  widget-apply((custom-variable :tag "Awesome Tab Background Color" :value awesome-tab-background-color :custom-form edit) :create)
  widget-create(custom-variable :tag "Awesome Tab Background Color" :value awesome-tab-background-color)
  #f(compiled-function (entry) #<bytecode 0x61acf189>)((awesome-tab-background-color custom-variable))
  mapcar(#f(compiled-function (entry) #<bytecode 0x61acf189>) ((awesome-tab-auto-scroll-flag custom-variable) (awesome-tab-background-color custom-variable) (awesome-tab-buffer-home-button custom-variable) (awesome-tab-button custom-face) (awesome-tab-button-highlight custom-face) (awesome-tab-cycle-scope custom-variable) (awesome-tab-default custom-face) (awesome-tab-highlight custom-face) (awesome-tab-home-button custom-variable) (awesome-tab-mode custom-variable) (awesome-tab-scroll-left-button custom-variable) (awesome-tab-scroll-right-button custom-variable) (awesome-tab-selected custom-face) (awesome-tab-separator custom-variable) (awesome-tab-separator custom-face) (awesome-tab-unselected custom-face) (org-drawer custom-face) (org-log-into-drawer custom-variable) (org-log-state-notes-insert-after-drawers custom-variable) (awesome-tab custom-group) (awesome-tab-buffer custom-group)))
  custom-buffer-create-internal(((awesome-tab-auto-scroll-flag custom-variable) (awesome-tab-background-color custom-variable) (awesome-tab-buffer-home-button custom-variable) (awesome-tab-button custom-face) (awesome-tab-button-highlight custom-face) (awesome-tab-cycle-scope custom-variable) (awesome-tab-default custom-face) (awesome-tab-highlight custom-face) (awesome-tab-home-button custom-variable) (awesome-tab-mode custom-variable) (awesome-tab-scroll-left-button custom-variable) (awesome-tab-scroll-right-button custom-variable) (awesome-tab-selected custom-face) (awesome-tab-separator custom-variable) (awesome-tab-separator custom-face) (awesome-tab-unselected custom-face) (org-drawer custom-face) (org-log-into-drawer custom-variable) (org-log-state-notes-insert-after-drawers custom-variable) (awesome-tab custom-group) (awesome-tab-buffer custom-group)))
  custom-buffer-create(((awesome-tab-auto-scroll-flag custom-variable) (awesome-tab-background-color custom-variable) (awesome-tab-buffer-home-button custom-variable) (awesome-tab-button custom-face) (awesome-tab-button-highlight custom-face) (awesome-tab-cycle-scope custom-variable) (awesome-tab-default custom-face) (awesome-tab-highlight custom-face) (awesome-tab-home-button custom-variable) (awesome-tab-mode custom-variable) (awesome-tab-scroll-left-button custom-variable) (awesome-tab-scroll-right-button custom-variable) (awesome-tab-selected custom-face) (awesome-tab-separator custom-variable) (awesome-tab-separator custom-face) (awesome-tab-unselected custom-face) (org-drawer custom-face) (org-log-into-drawer custom-variable) (org-log-state-notes-insert-after-drawers custom-variable) (awesome-tab custom-group) (awesome-tab-buffer custom-group)) "*Customize Apropos*")
  customize-apropos(("awe"))
  #f(compiled-function (widget &optional event) #<bytecode 0x43bf7e45>)((editable-field :size 40 :help-echo "Search for custom items.\nYou can enter one or more..." :action #f(compiled-function (widget &optional event) #<bytecode 0x43bf7e45>) :value "" :field-overlay #<overlay from 78 to 118 in *Customize Group: Emacs*> :from #<marker (moves after insertion) at 81 in *Customize Group: Emacs*> :to #<marker at 118 in *Customize Group: Emacs*>) nil)
  widget-apply((editable-field :size 40 :help-echo "Search for custom items.\nYou can enter one or more words separated by spaces,\nor a regular expressio..." :action #f(compiled-function (widget &optional event) #<bytecode 0x43bf7e45>) :value "" :field-overlay #<overlay from 78 to 118 in *Customize Group: Emacs*> :from #<marker (moves after insertion) at 81 in *Customize Group: Emacs*> :to #<marker at 118 in *Customize Group: Emacs*>) :action nil)
  widget-apply-action((editable-field :size 40 :help-echo "Search for custom items.\nYou can enter one or more words separated by spaces,\nor a regular expressio..." :action #f(compiled-function (widget &optional event) #<bytecode 0x43bf7e45>) :value "" :field-overlay #<overlay from 78 to 118 in *Customize Group: Emacs*> :from #<marker (moves after insertion) at 81 in *Customize Group: Emacs*> :to #<marker at 118 in *Customize Group: Emacs*>) nil)
  widget-field-activate(81)
  funcall-interactively(widget-field-activate 81)
  call-interactively(widget-field-activate nil nil)
  command-execute(widget-field-activate)

我使用的主题是 doom-theme 里的 doom-dracula

本来我以为是这个主题把某个 default 的值弄没了造成的,但后来我 emacs -Q 只加载了主题和awesome-tab 之后,并没有出错。所以现在无计可施了…


#151

主题的问题你要自己找了,我没有时间帮你调试你主题的问题,抱歉


#152

一般这种自己配置的问题,别人是很难帮你解决的,只能凭经验猜测,因为每个人的配置都不一样。

一个排错的办法:

把1/2的配置注释掉,如果还能复现,注释1/4,以此类推,最后找到问题配置。


#153

Hi, 我找到问题了,似乎并不是主题的问题

只要一开始 (setq debug-on-error t) 然后在 customize 里面搜 awe 就会出现.

一个最小的复现的配置:

(setq-default lexical-binding t)

(setq debug-on-error t)

(defvar bootstrap-version)

(let ((bootstrap-file
       (expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
      (bootstrap-version 5))
  (unless (file-exists-p bootstrap-file)
    (with-current-buffer
        (url-retrieve-synchronously
         "https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el"
         'silent 'inhibit-cookies)
      (goto-char (point-max))
      (eval-print-last-sexp)))
  (load bootstrap-file nil 'nomessage))

(straight-use-package 'use-package)

(use-package awesome-tab
  :straight (awesome-tab :type git :host github :repo "manateelazycat/awesome-tab")
  :config
  (awesome-tab-mode))