wasamasa / eyebrowse

A simple-minded way of managing window configs in emacs
GNU General Public License v3.0
437 stars 24 forks source link

Add option to show only current config in mode line #102

Closed yiufung closed 5 years ago

yiufung commented 5 years ago

Sometimes I rename all my window-configs and mode-line becomes really long. It's barely readable when I have two windows side-by-side. This commit adds option to show only current window-config.

What do you think? I will update README if you think it's a good idea.

wasamasa commented 5 years ago

Hm, hard to say. It's unfortunate that modeline space is at a premium for an essentially frame-specific information, but I've had luck with just reducing modeline clutter to the minimum. What I'm saying here is that I'm not opposed the idea, I just hope someone comes up with a better solution than that.

yiufung commented 5 years ago

Code is updated. Thanks for the suggestions (to an Elisp newbie).

I agree. I also tried to minimize modeline clutter using (minion)[https://github.com/tarsius/minions]. What might be great is that eyebrowse is only shown in a specific window, perhaps the rightmost one. That would require a lot of code changes I suppose, and I'm not sure if it's in the intended scope of eyebrowse.

wasamasa commented 5 years ago

I considered doing that, but gave up on it. There's a modeline hack creating the illusion of a seamless one out there on GitHub, but I can't remember the name. What I've considered is some experimentation with the toolbar.

manuel-uberti commented 5 years ago

FWIW, I have this in my init.el:

(defvar-local mu-eyebrowse-mode-line
  '(:propertize
    (:eval
     (when (bound-and-true-p eyebrowse-mode)
       (let* ((num (eyebrowse--get 'current-slot))
              (tag (when num
                     (nth 2 (assoc num (eyebrowse--get 'window-configs)))))
              (str (concat
                    " "
                    (if (and tag (< 0 (length tag)))
                        tag
                      (when num (int-to-string num)))
                    " ")))
         str))))
  "Mode line format for Eyebrowse.")

And I place it at the beginning of mode-line-format to always have it visible when I split vertically.