From: raman <raman@google.com>
To: Richard Stallman <rms@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: HowTo: Run a hook when a buffer becomes "current"
Date: Thu, 17 Dec 2015 20:20:08 -0800 [thread overview]
Message-ID: <p91d1u4v153.fsf@google.com> (raw)
In-Reply-To: <E1a9mHl-0000bc-LK@fencepost.gnu.org> (Richard Stallman's message of "Thu, 17 Dec 2015 23:04:53 -0500")
Richard Stallman <rms@gnu.org> writes:
I just sent a short follow-up to Karl's note, but here is a more
detailed explanation.
I'm implementing myself something I'm calling "SoundScapes" --I'm
building it within Emacspeak but it may well be useful more generally.
I got tired of having to listen to text-to-speech all day long and
wanted to see if having soft nature sounds in the background helped.
I didn't want to get distracted from what I'm working on by having to
select music that plays in the background etc -- and I discovered this
package http://boodler.org -- that lets me play a variety of soft nature
sounds in the background.
so i wrote myself module soundscape.el
Code: github.io/tvraman/emacspeak (lisp/soundscape.el) -- docs are here:
http://tvraman.github.io/emacspeak/manual/soundscape.html
I divided the types of things I do into categories:
(things I do == things I do in Emacs since I dont use anything else)
Communicate: mail, gnus, twitter, jabber etc
Program (prog-mode covers them all)
text-mode (write content)
special-mode: applications written in Emacs
web: eww, w3
Then I created a mapping from modes to soundscapes (think mode -> mood)
and finally, i attached myself to select-mode-hook to switch the
soundscape that is playing.
My first attempt at doing this failed badly -- I tried attaching myself
to buffer-list-update-hook -- it fails because that hook gets called way
too often.
I'm not wedded to the advice on select-window;
-- all I want is to be able to attach my soundscape-update-hook to
the right point in Emacs so that when a buffer becomes current, the set
of playing SoundScapes automatically change (both killing off
soundscapes that are now irrelevant vs starting ones that are now
relevant per the context.
--Raman
any NSA and FBI agents reading my email: please consider ]]]
> [[[ whether defending the US Constitution against all enemies, ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
> > I specifically want to run a function when a function becomes current
> > and interactable by the user -- agreed that I dont want to run code in
> > the case of set-buffer. For now, an after advice on select-window does
> > nicely -- a select-window-hook would obviate the need for that advice
>
> That too will cause trouble for debugging. I think it is better
> for interfaces to simply operate on whatever buffer you're typing at.
>
> What would you like to use select-window-hook to do? Let's look for
> some way to achieve the ultimate goal.
--
next prev parent reply other threads:[~2015-12-18 4:20 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-16 16:37 HowTo: Run a hook when a buffer becomes "current" raman
2015-12-16 21:51 ` Nicolas Richard
2015-12-16 23:04 ` David Kastrup
2015-12-16 23:20 ` T.V Raman
2015-12-17 4:58 ` Richard Stallman
2015-12-17 16:15 ` raman
2015-12-18 4:04 ` Richard Stallman
2015-12-18 4:20 ` raman [this message]
2015-12-18 9:30 ` David Kastrup
2015-12-18 16:15 ` raman
2015-12-19 4:37 ` Richard Stallman
2015-12-19 16:43 ` raman
2015-12-19 17:07 ` Dmitry Gutov
2015-12-20 3:07 ` raman
2015-12-22 17:47 ` John Wiegley
2015-12-22 18:19 ` raman
2015-12-18 1:56 ` Karl Fogel
2015-12-18 3:19 ` raman
2015-12-18 12:14 ` Marcin Borkowski
2015-12-18 16:18 ` raman
2015-12-18 17:06 ` David Kastrup
2015-12-18 18:13 ` Marcin Borkowski
2015-12-18 18:28 ` T.V Raman
2015-12-18 20:12 ` Drew Adams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=p91d1u4v153.fsf@google.com \
--to=raman@google.com \
--cc=emacs-devel@gnu.org \
--cc=rms@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).