this post was submitted on 30 Oct 2023
1 points (100.0% liked)

Emacs

314 readers
2 users here now

A community for the timeless and infinitely powerful editor. Want to see what Emacs is capable of?!

Get Emacs

Rules

  1. Posts should be emacs related
  2. Be kind please
  3. Yes, we already know: Google results for "emacs" and "vi" link to each other. We good.

Emacs Resources

Emacs Tutorials

Useful Emacs configuration files and distributions

Quick pain-saver tip

founded 1 year ago
MODERATORS
 

I would like to write something to have emacs listen on dbus for notifications and update the color of a char on the mode line as telega does. Do you have any suggestions on how to do the above?

you are viewing a single comment's thread
view the rest of the comments
[–] 7890yuiop@alien.top 1 points 1 year ago (2 children)

Tell us how you run that external program outside of Emacs, and we can show you how to run it inside Emacs.

Then it's just a matter of timers and a variable in your mode-line-format. Note that your variable will need the risky-local-variable in order to show text properties (for the colour). See C-h i g (elisp)Mode Line Data and/or C-h i g (elisp)Properties in Mode.

[–] tms9918@alien.top 1 points 1 year ago (1 children)

Thank you! I am going to write the program, so I can write it in a way that makes it easy to interface with emacs. I was thinking about making it a publisher on the dbus and make my emacs code a subscriber so I do not need to care of the running time of the program. Any alternative suggestion is welcome. The program would periodically access a webpage, check its content and notify if changes match a bunch of criteria

[–] 7890yuiop@alien.top 1 points 1 year ago

If Emacs will start a long-running process and react whenever there's new output, then you'll want to see C-h i g (elisp)Asynchronous Processes and C-h i g (elisp)Output from Processes. (n.b. I've added a couple of other notes to my initial reply, too.)