help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Hooks for new buffers?


From: Andreas Röhler
Subject: Re: Hooks for new buffers?
Date: Fri, 05 Apr 2013 10:47:02 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130307 Thunderbird/17.0.4

Am 04.04.2013 22:12, schrieb Steven Degutis:
I wrote auto-dim-other-buffers.el (
https://github.com/sdegutis/auto-dim-other-buffers.el) a few days ago,
which applies a "dimmed" face to non-current buffers.

It adds to post-command-hook and after-change-major-mode-hook, the first as
a catch-all "something changed" and the second as a hacky way of saying "a
new buffer just got created".

This mostly works. But sometimes new buffers are created that don't change
major modes.

Hi Steven,

AFAIU it's quite simple: there is only one buffer current, where all other will be 
subject to "dimmed".
If right, solution will not be to look what others do, but run-with-idle timer 
a routine dimming
everything except the current buffer.

Just my thoght,

Andreas

For example, *magit-process* gets created at some point, and
when I show it via $ inside magit-status, it's not dimmed. So it's not
changing major modes.

When I show the buffer via $, it probably triggers the post-command-hook,
but my hook tries to be efficient, by only looking at the previous
current-buffer and the new current-buffer. And this isn't either of those,
since it just shows up in a new window but isn't given focus. I'm sure
there are other situations like this.

The easiest way to solve this is to find a hook that's called when new
buffers are created, even if that's not its official purpose. Apparently
after-change-major-mode-hook isn't enough, presumably because these never
changed major modes. So is there such a hook?

And if not, is there at least some hook that happens whenever new windows
are opened?

-Steven





reply via email to

[Prev in Thread] Current Thread [Next in Thread]