abougouffa / minemacs

MinEmacs: an Emacs configuration framework for daily use
https://abougouffa.github.io/minemacs/
MIT License
140 stars 17 forks source link

[SOLVED]: Two issues : when invoking `treemacs` and icon display #102

Closed zenny closed 1 year ago

zenny commented 1 year ago

Bonjour @abougouffa,

I came across this repo from your reddit reply in https://www.reddit.com/r/emacs/comments/12byp43/testing_different_emacs_distros_easy_way_in_emacs/. Excellent configs!

However, I came across two issues:

  1. The icons on the right of the modeline are garbled characters. pic-selected-230712-1302-17

  2. When I run treemacs I get the following error:

Debugger entered--Lisp error: (error "Invalid image type ‘svg’")
  signal(error ("Invalid image type ‘svg’"))
  error("Invalid image type `%s'" svg)
  image-type("/home/zenny/Downloads/..." svg nil)
  create-image("/xtbmr/HOMEPOOL/HOME/VOIDHOME.BAK/zenny/Downloads/..." svg nil :ascent center :width 22 :height 22)
  byte-code("\305\306\307\310\311$\305\306\307\310\311$\312\10\313\"\314\315\316\3\6\6\6\6%\262\1\317\320\2\"\210\211\31\321\322\323\"\11\324\1!\n>\2046\0\325\326\315..." [treemacs-dir treemacs--current-theme cl-struct-treemacs-theme-tags treemacs--icon-size treemacs-file-extension-regex make-hash-table :size 300 :test equal treemacs-join-path "icons/default" record treemacs-theme "Default" add-to-list treemacs--themes mapcar #f(compiled-function (it) #<bytecode -0x1deae497afdd3b8d>) (root-closed) type-of signal wrong-type-argument 2 "vsc/root-closed.png" image-type-available-p png "" s-starts-with? "root-" round 0.909 1.1818 imagemagick create-image nil :ascent center :width :height intern string-match 0 copy-sequence (:background "#2d2d31") (:background "#2d2d31") propertize " " display img-selected ...] 19)
  require(treemacs-icons)
  eval-buffer(#<buffer  *load*> nil "/home/zenny/Downloads/..." nil t)  ; Reading at buffer position 1294
  load-with-code-conversion("/home/zenny/Downloads/..." "/home/zenny/Downloads/..." nil t)
  autoload-do-load((autoload "treemacs" "Initialise or toggle treemacs.\n- If the treemacs w..." t nil) treemacs)
  command-execute(treemacs record)
  execute-extended-command(nil "treemacs" nil)
  funcall-interactively(execute-extended-command nil "treemacs" nil)
  call-interactively(execute-extended-command nil nil)
  command-execute(execute-extended-command)

Merçi beaucoup!

abougouffa commented 1 year ago

Hello @zenny , thank you for the feedback!

  1. The icons on the right of the modeline are garbled characters.

For the icons, you need to run M-x nerd-icons-install-fonts for the first time. This should fix the icons.

  1. When I run treemacs I get the following error:

What version of Emacs you are using?

zenny commented 1 year ago

Hello @zenny , thank you for the feedback!

  1. The icons on the right of the modeline are garbled characters.

For the icons, you need to run M-x nerd-icons-install-fonts for the first time. This should fix the icons.

Yes, indeed. Thanks!

  1. When I run treemacs I get the following error:

What version of Emacs you are using?

Emacs 30.0.50 from master (from https://github.com/emacs-ng/emacs-ng)

Compiled with:

./configure --with-native-compilation=aot --with-rsvg

Thanks!

abougouffa commented 1 year ago

I've never tested Emacs-NG! I have no idea what can cause this!

Can you launch Emacs with:

MINEMACS_DEBUG=1 emacs

And share the errors' backtrace?

zenny commented 1 year ago

I've never tested Emacs-NG! I have no idea what can cause this!

Tried with normal emacs 29 as well as emacs 30.0.50 compiled from gnu source, and the output is the same (see below), fyi.

Can you launch Emacs with:

MINEMACS_DEBUG=1 emacs

And share the errors' backtrace?

There is no difference between the error output from emacs --debug-init and MINEMACS_DEBUG=1 emacs, yet I am sharing the output with the latter:

Debugger entered--Lisp error: (error "Invalid image type ‘svg’")
  signal(error ("Invalid image type ‘svg’"))
  error("Invalid image type `%s'" svg)
  image-type("/home/zenny/Downloads/..." svg nil)
  create-image("/home/zenny/Downloads/..." svg nil :ascent center :width 22 :height 22)
  byte-code("\305\306\307\310\311$\305\306\307\310\311$\312\10\313\"\314\315\316\3\6\6\6\6%\262\1\317\320\2\"\210\211\31\321\322\323\"\11\211\324H\262\1\312\1\325\"\326\327..." [treemacs-dir treemacs--current-theme treemacs--icon-size treemacs-file-extension-regex treemacs--icon-symbols make-hash-table :size 300 :test equal treemacs-join-path "icons/default" record treemacs-theme "Default" add-to-list treemacs--themes mapcar #f(compiled-function (it) #<bytecode -0x1deae497afdd3b8d>) (root-closed) 2 "vsc/root-closed.png" image-type-available-p png "" s-starts-with? "root-" round 0.909 1.1818 imagemagick create-image nil :ascent center :width :height intern string-match 0 copy-sequence (:background "#2d2d31") (:background "#2d2d31") propertize " " display img-selected img-unselected 3 4 ...] 19)
  require(treemacs-icons)
  eval-buffer(#<buffer  *load*> nil "/home/zenny/Downloads/..." nil t)  ; Reading at buffer position 1294
  load-with-code-conversion("/home/zenny/Downloads/..." "/home/zenny/Downloads/..." nil t)
  autoload-do-load((autoload "treemacs" "Initialise or toggle treemacs.\n- If the treemacs w..." t nil) treemacs)
  command-execute(treemacs record)
  execute-extended-command(nil "treemacs" nil)
  funcall-interactively(execute-extended-command nil "treemacs" nil)
  call-interactively(execute-extended-command nil nil)
  command-execute(execute-extended-command)

Thanks for looking into. Cheers,

abougouffa commented 1 year ago

Thank you for the feedback,

There is no difference between the error output from emacs --debug-init and MINEMACS_DEBUG=1 emacs, yet I am sharing the output with the latter:

Yep, it is practically the same, adding --debug-init to Emacs is equivalent to using the MINEMACS_DEBUG environment variable.

Can you share your minemacs-modules ?

zenny commented 1 year ago

Thank you for the feedback,

There is no difference between the error output from emacs --debug-init and MINEMACS_DEBUG=1 emacs, yet I am sharing the output with the latter:

Yep, it is practically the same, adding --debug-init to Emacs is equivalent to using the MINEMACS_DEBUG environment variable.

Can you share your minemacs-modules ?

Everything is verbatim as yours, no changes, fyi. Yet I list here:

$ ls modules
extras        me-calendar.el  me-debug.el   me-email.el     me-fun.el        me-lisp.el   me-modeling.el       me-org.el      me-rss.el    me-undo.el
obsolete      me-checkers.el  me-docs.el    me-embedded.el  me-gnus.el       me-lsp.el    me-multi-cursors.el  me-prog.el     me-tools.el  me-vc.el
me-biblio.el  me-daemon.el    me-eaf.el     me-extra.el     me-latex.el      me-math.el   me-natural-langs.el  me-project.el  me-tty.el    me-window.el
me-binary.el  me-data.el      me-editor.el  me-files.el     me-lifestyle.el  me-media.el  me-notes.el          me-robot.el    me-ui.el     me-workspaces.el
abougouffa commented 1 year ago

No, not the content of modules directory. You need to evaluate the minemacs-modules variable and see the content of that list. I want to verify that the me-files module is enabled, as it is the module which contains the treemacs configuration.

zenny commented 1 year ago

No, not the content of modules directory. You need to evaluate the minemacs-modules variable and see the content of that list. I want to verify that the me-files module is enabled, as it is the module which contains the treemacs configuration.

I evaluated the region:

;; Load the default list of enabled modules (`minemacs-modules' and `minemacs-core-modules')
  (+load minemacs-core-dir "me-modules.el")

which gave the following output in the Messages:

Loading /home/zenny/Downloads/emacs-configs/ihsec/minemacs/core/me-modules.el (source)...done
pixel-scroll-precision-scroll-up: Beginning of bufferWarning: setting attribute ‘:background’ of face ‘font-lock-comment-face’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:background’ of face ‘font-lock-comment-face’: nil value is invalid, use ‘unspecified’ instead. [9 times]
abougouffa commented 1 year ago

There is no need to evaluate any region. I want just to see the content of the minemacs-modules variable. So you need just to type SPC ; then type minemacs-modules then RET. It should print the content of the list to the *Messages* buffer. That's what I want!

Peek 2023-07-13 17-39

zenny commented 1 year ago

There is no need to evaluate any region. I want just to see the content of the minemacs-modules variable. So you need just to type SPC ; then type minemacs-modules then RET. It should print the content of the list to the *Messages* buffer. That's what I want!

Peek 2023-07-13 17-39

The output of SPC ; minemacs-modules is:

(me-ui me-editor me-daemon me-undo me-multi-cursors me-vc me-project me-prog
       me-checkers me-debug me-lisp me-data me-org me-extra me-notes me-eaf
       me-docs me-latex me-natural-langs me-files me-tools me-tty me-binary
       me-window)
abougouffa commented 1 year ago

The me-files module is active. I didn't manage to reproduce this on Emacs 29 and 28 error on any of my machines!

zenny commented 1 year ago

The me-files module is active. I didn't manage to reproduce this on Emacs 29 and 28 error on any of my machines!

Maybe it is emacs 30 specific!

abougouffa commented 1 year ago

I stopped testing the config on Emacs 30, it is unstable and I faced several issues on Emacs 30 builds. I prefer staying on 29 as there is no significant features in 30 compared to 29.

zenny commented 1 year ago

I stopped testing the config on Emacs 30, it is unstable and I faced several issues on Emacs 30 builds. I prefer staying on 29 as there is no significant features in 30 compared to 29.

You are absolutely right. I recompiled emacs 29 from upstream and treemacs works with your configuration. Thanks for sharing an interesting config.

Au revoir!