Coder Social home page Coder Social logo

minions's Introduction

minions's People

Contributors

edkolev avatar jabranham avatar manuel-uberti avatar minad avatar tarsius avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

minions's Issues

Selectively apply minions?

Is there a way to apply minions, but allow at least Projectile to show the project name, or something similar? The modeline currently has file name and git branch, but not the project or enclosing directory.

display multiple cursors count?

It seems that minions can temporarily display minor modes in Magit:

image

I wonder if I can achieve the same thing for multiple cursors. Without minions-mode when there are several cursors active the modeline displays count:

image

But with minions-mode turned on I loose this useful metric completely. It helps me see when there are cursors offscreen and when cursors overlapping.

void-function semantic-minor-modes-format

Hi,

thanks for this package, very handy to reduce clutter in the mode line.

I configured it like this:

(use-package minions
  :ensure t
  :init (minions-mode))

However, when clicking on the ;-) indicator, I get this error:

Debugger entered--Lisp error: (void-function semantic-minor-modes-format)
  documentation(semantic-minor-modes-format t)
  minions--documentation(semantic-minor-modes-format)
  minions--define-help((keymap (super-save-mode menu-item "super-save-mode" #f(compiled-function () (interactive nil) #<bytecode 0x1bd579d>) :help "A minor mode that saves your Emacs buffers when they lose focus.") (which-key-mode menu-item "which-key-mode" #f(compiled-function () (interactive nil) #<bytecode 0x1bd577d>) :help "Toggle which-key-mode.")) semantic-minor-modes-format)
  minions--help-menu()
  minions-minor-modes-menu()
  funcall-interactively(minions-minor-modes-menu)
  call-interactively(minions-minor-modes-menu nil nil)
  command-execute(minions-minor-modes-menu)

Minions-direct causes major mode and direct-modes to become one button in powerline

I got Minons working in Powerline by following your advise as far I was able to understand it as a non-coder. Now the only thing I could not use is minions-direct. When I enable it, it causes the major-mode button shown by Minions to become one with the modes I specified in minions-direct. When I press mouse-1 on the button it throws an error. Any idea how to fix it?

The problem:
image
(The clipboard unicode-symbol is the "delighted" projectile-mode, same result without "delighting")

My use-package minions config:

  (use-package minions
    :after
    (powerline)
    :config
    (setq minions-mode-line-lighter "🤓")
    (setq minions-mode-line-delimiters nil)
;    (setq minions-direct '(flycheck-mode projectile-mode))
  (minions-mode))

My powerline-theme:

   (defun my-powerline-theme ()
     "Setup my powerline theme"
     (interactive)
     (setq-default mode-line-format
                   '("%e"
                     (:eval
                      (let* ((active (powerline-selected-window-active))
                             (mode-line-buffer-id (if active 'mode-line-buffer-id 'mode-line-buffer-id-inactive))
                             (mode-line (if active 'mode-line 'mode-line-inactive))
                             (face0 (if active 'powerline-active0 'powerline-inactive0))
                             (face1 (if active 'powerline-active1 'powerline-inactive1))
                             (face2 (if active 'powerline-active2 'powerline-inactive2))
                             (separator-left (intern (format "powerline-%s-%s"
                                                             (powerline-current-separator)
                                                             (car powerline-default-separator-dir))))
                             (separator-right (intern (format "powerline-%s-%s"
                                                              (powerline-current-separator)
                                                              (cdr powerline-default-separator-dir))))
                             (lhs (list
                                   (powerline-raw "%*" face1 'l)
                                   (when powerline-display-buffer-size
                                     (powerline-buffer-size face1 'l))
                                   (powerline-raw " " face1)
                                   (funcall separator-left face1 face2)
                                   (when powerline-display-mule-info
                                     (powerline-raw mode-line-mule-info face2 'l))
                                   (powerline-raw " " face2)
                                   (funcall separator-left face2 face0)
                                   (powerline-buffer-id `(mode-line-buffer-id ,face0))
                                   (when (and (boundp 'which-func-mode) which-func-mode)
                                     (powerline-raw which-func-format face0 'l))
                                   (powerline-raw " " face0)
                                   (funcall separator-left face0 face2)
                                   (when (and (boundp 'erc-track-minor-mode) erc-track-minor-mode)
                                     (powerline-raw erc-modified-channels-object face2 'l))
                                   (when (and (boundp 'evil-mode) evil-mode)
                                     (powerline-raw evil-mode-line-tag face2 'l))
                                   (powerline-raw " " face2)
                                   (funcall separator-left face2 face1)
                                   (powerline-process face1)
                                   (powerline-raw minions-mode-line-modes face1 'l)
                                   (powerline-raw " " face1)
                                   (funcall separator-left face1 face2)
                                   (powerline-raw " " face2)
                                   (powerline-vc face2 'l)
                                   (funcall separator-left face2 face1)
                                   (powerline-raw mode-line-position face1 'l)
                                   (powerline-raw " " face1)
                                   (funcall separator-left face1 face2)
                                   ))
                             (rhs (list
                                   (funcall separator-right face2 face1)
                                   (powerline-raw " " face1)
                                   (powerline-raw (symbol-name buffer-file-coding-system) face1 'r)
                                   (funcall separator-right face1 face0)
                                   (powerline-raw mode-line-misc-info face0 'r)
                                   (funcall separator-right mode-line face1)
                                   )))
                        (concat (powerline-render lhs)
                                (powerline-fill face2 (powerline-width rhs))
                                (powerline-render rhs)))))))

Doesn't work with powerline?

I have powerline installed, and when I do (minions-mode 1), I get an error "Cannot turn on minions mode". Is this to be expected?

btw, I think the theme / modeline in the screenshot is very beautiful. Would you mind sharing which theme you're using and how you're setting up the modeline to look that fabulous? Cheers!

Does not work anymore

Hi!

I just updated to version minions-20180306.5 from minions-20180227.1031 and now it does not work anymore. By not working I mean it just shows all the minor modes directly in the mode line :)

My setup:

(use-package minions
  :init
  (setq minions-mode-line-lighter "⚇")
  (setq minions-direct '(flycheck-mode))
  :config
  (minions-mode 1))

Should I do something differently in my setup now?

Seems to be incompatible with use of `customize` for `mode-line-format`(?)

(minions-mode 1) did not appear to be working for me because I modified my mode-line via customize and start my emacs as a daemon using emacsclient -a "".

I presume that setq-default in the define-minor-mode is not compatible with customize. I'm not sure what the solution is. I'm out of my depth trying to work out what would behave better default-set-variable wasn't it.

Obviously I can work around it by not using customize. Thank you for the package. Not only does it clean up my modeline it speeds up my startup quite significantly as I was using delight which seems remarkably slow.

Click off Menu: dings

If you summon the minions menu just to check which minor modes are on, and then click off of the menu to exit, it reports Quit and dings.

Slight mismatch in the buffer name's background color

I cannot find which font override I'm missing, but I can't get the area below the diagonal strokes to match the active tab's colour. Here's a screenshot that will hopefully explain it better:

screen shot 2018-04-23 at 17 11 07

Can you think of why that would be? Sorry for not providing much but I'm not very good with the under-the-hood parts of Emacs.

I'm using Solarized Light with the instructions in the README. Emacs version is:

GNU Emacs 26.0.50 (build 2, x86_64-apple-darwin16.4.0, NS appkit-1504.81 Version 10.12.3 (Build 16D32)) of 2017-09-13.

Thanks!

Throwing error on reload

It seems that if minions-mode doesn't detect that it's substitution of the mode-line-format resulted in any changes, it throws an error. I see this generally during config dev when manually reloading part of my config which causes minion-mode to run via hook. Since it's already run once, the mode-line-format already has the necessary changes.

I'm not sure yet why this bit of code is actually used, what does it matter if the mode-line-format already has the substitutions you expect to make? Could it just be a message instead?

Cannot control face (and presence) of major mode name

Hi @tarsius,

Thanks for the great package!

I am failing to change the face of the major mode name (mode-name) inserted inside the minions-mode-line-modes object. A propertize affecting minions-mode-line-modes does not do the job, since mode-line is already under a propertize, and they cannot be nested. So I end up with something similar to what was found in #32, but without using any mode-line modification package.

Would if be possible to add and expose a custom face for the major mode name, or, alternatively, an option to remove it from the minions-mode-line-modes so that its face can be changed separately? I may be able to write a PR for the 2nd case, though my elisp is not very good at all and it would need some review.

How do I exclude a minor mode from being hidden?

I'm not sure if it's mentioned somewhere, but I couldn't find it. I'd love to hide 99% of my minor modes with minion, but keep modes like "projectile" or "lsp" visible. This is my attempt so far:

(use-package minions
  :config
  (minions-mode +1)
  (add-to-list 'minions-whitelist '(projectile-mode))
  (add-to-list 'minions-whitelist '(lsp-mode)))

Some unicode symbols significantly increase startup time

Hi @tarsius

First of all, thanks for this fantastic package!

I was trying to set up the menu symbol in the modeline as a hamburguer-like unicode character with three bars, which is mentioned somewhere else (https://www.fileformat.info/info/unicode/char/2630/index.htm). This happens to add approximately 2 seconds to my startup time, which seems bizarre. Interestingly, ESUP (https://github.com/jschaf/esup) doesn't pick this delay up. Other more common unicode symbols (e.g. emojis) do not have that effect.

For reference, I am using a self-compiled emacs 29.1 with Roboto Mono.

Probably not a bug, or nothing can be done about it (e.g. the font does not contain the glyph and it needs to be looked-up at startup). In that case, please feel free to close.

Current Python virtualenv display

Hi is there anyway to have minions display the current active python virtualenv? Just that I prefer to be aware what python environment I'm working in at a glance and the same for projectile projects. Thanks.

minions is not showing modes that are autoloaded

Take for example glasses-mode. This mode is not loaded by default in my Emacs configuration but I would still like for it to appear in the minions menu. Adding it to minions-available-modes only makes glasses-mode display if glasses is not loaded.

Incompatibility with ERC tracking mode

ERC (IRC client for Emacs) provides a minor mode (erc-track-minor-mode) that displays an indicator on the modeline when there is some activity in one of its hidden buffers, for example (note the [#]):

-UUU:@----F2  *scratch*      All (1,0)       [#] (Fundamental Z W) ----------

With minions said indicator disappears:

-UUU:@----F2  *scratch*      All (1,0)      (Fundamental ···) ----------

Is this a bug or is there anything I can do to make it coexist with minions?

Minions mode doesn't change current buffers mode-line

You used setq-default in minor mode definition. That doesn't change current buffer's mode-line-format. Is there any reason for that?

(setq-default mode-line-format banana)))

When I try to autoload minions like this:

(use-package minions
:defer 2
:config (minions-mode 1))

Mode-line doesn't change if I have opened a buffer before autoload take place.

How do I display git branch in modeline?

First of thanks for all your efforts in making this package. I've tried everything I know to display the git branch in the modeline but have failed so far. Below is my current setting for both Minions and Moody hoping you can spot something that I've missed.

;; A minor-mode menu for the mode line
(use-package minions
  :ensure t
  :config
  (setq
    minions-mode-line-lighter "[+]"
    minions-direct '(flycheck-mode pyvenv-mode))
  (minions-mode 1))

;; Tabs and ribbons for the mode line
(use-package moody
  :ensure t
  :config
  (setq x-underline-at-descent-line t
        moody-mode-line-height 25
        moody-slant-function #'moody-slant-apple-rgb)
  (moody-replace-mode-line-buffer-identification)
  (moody-replace-vc-mode))

prominent-modes broken in latest version?

I have the following config in my dotfile,

(use-package minions
  :straight t
  :config
  (setq minions-prominent-modes '(flymake-mode))
  (minions-mode 1))

This used to displayed the flymake-mode in the modline, but currently an *invalid* is shown instead.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.