milkypostman / powerline

emacs powerline

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Eyebrowse Indicator not showing up

technician77 opened this issue · comments

Is this a bug or do I need some special configuration to make Eyebrowse package to show up? Is it a maybe a bug in eyebrowse?

image

image

It's using mode-line-misc-info for the indicator, same as which-func-mode and global-mode-string (which is used by battery.el, timeclock.el, appt.el, viper.el, erc-track.el, rcirc.el, time.el, ...).

Changed Line 70 in powerline-themes.el to
(funcall separator-right face2 mode-line) (powerline-raw mode-line-misc-info mode-line 'r) (funcall separator-right mode-line face1)
That works for me now, but a solution within the package should be found.
image

can you submit a PR with the change? that should probably be fixed for all themes.

@technician77 quick side question what package is providing the modeline icon lighters?

Well, first a lot of people use diminish to get rid of the minor modes. I didn't like that because I always would like to know which minor modes are active (or not) without calling a help function first. So I came up to set icons from the unicode symbols via diminish. This makes it short, but still visible. As a bonus I could mouse-2 them to get help for the mode.

The icons should be all unicode, which is provided (here) by Symbola.
http://users.teilar.gr/~g1951d/
(set-fontset-font t 'unicode "Symbola" nil 'prepend)

Beacon-mode (asterisk) is an exception, it's the standard icon,it seemed to be short enough.

@milkypostman
I might, but actually I have no idea what I'm doing. I have no knowledge regarding coding to speak of, so maybe someone who can anticipate all the consequences should do the PR. Maybe it would be a good idea to test with the modes wasamasa mentioned. They all should have problems because mode-line-misc-info is currently missing.

Since I use ivy-views now I don't have a need for this anymore. I'll close the issue, but there is an underlying problem that I would like to address with a new issue.

Is there a solution for this (Powerline + Eyebrowse)? I'm having the same issue - with powerline enabled, eyebrowse indicator is not showing up.

Well, I've learned learned later that in order to create your own Powerline theme you define it as a function. Although I'm not fond of mixing functions and data this is quite normal in lisp, so I was told. In your theme-function you have to have (powerline-raw mode-line-misc-info mode-line 'r) for example, which is used by eyebrowse. I'm currently not using eyebrowse anymore. In my workflow I don't need complex workspace setups. If you use ivy and don't need all the eyebrowse features, ivy-views might be for you. Below is a example setup for saved views, but there are more functions. That feature seems to be treated as a second class citizen by the author. I don't know why, I think it's great.

  (setq ivy-views'(
          ("{} notes + internal"
           (horz
           (file "~/org/active/notes.org")
           (file "~/org/active/internal.org")))
          ("{} notes + customer"
           (horz
           (file "~/org/active/notes.org")
           (file "~/org/active/customer.org")))
   ))

Thank you, so I take it this isn't generally fixed in Powerline, at least yet. Maybe @milkypostman has more input on this. Given that Eyebrowse seems pretty popular, a general solution for Powerline would be preferred.

I might try looking into making a custom theme for Powerline if that's what it takes.

I do indeed use Ivy/Swiper/Counsel and think they're great. However, I never became quite comfortable with ivy-views. Eyebrowse feels more intuitive and easy to use for my workflow.

@milkypostman Fair enough!

After starting to make a custom Powerline theme, I realized it doesn't make sense to put Eyebrowse information in every mode-line. Imagine a window split into many sections, each with its own mode-line and duplicated Eyebrowse info. Ugly and waste of screen space.

So, I ended up putting Eyebrowse workspace info in the title-bar instead.

;; example title: EmacsConfig [1/4] | configuration.org

(defun my-title-bar-format()
    (let* ((current-slot (eyebrowse--get 'current-slot))
           (window-configs (eyebrowse--get 'window-configs))
           (window-config (assoc current-slot window-configs))
           (window-config-name (nth 2 window-config))
           (num-slots (length window-configs)))
      (concat window-config-name " [" (number-to-string current-slot)
              "/" (number-to-string num-slots) "] | " "%b")))

  (if (display-graphic-p)
      (progn
        (setq frame-title-format
              '(:eval (my-title-bar-format)))))