i3 / i3status

Generates status bar to use with i3bar, dzen2 or xmobar
BSD 3-Clause "New" or "Revised" License
606 stars 254 forks source link

Embedding languages in i3status #171

Closed kelmafer closed 8 years ago

kelmafer commented 8 years ago

The project's descriptions:

i3status is a small program (about 1500 SLOC) for generating a status bar for i3bar, dzen2, xmobar or similar programs. It is designed to be very efficient by issuing a very small number of system calls, as one generally wants to update such a status line every second. This ensures that even under high load, your status bar is updated correctly. Also, it saves a bit of energy by not hogging your CPU as much as spawning the corresponding amount of shell commands would.

Wouldn't it be great if you add compile-time options that will allow different languages to be embedded in i3status, so to the users to extend i3status the way they want to, and in the language they are most familiar with ? p3status offers mind blowing variety of modules that can be used by i3status users if python was embedded - https://docs.python.org/3/extending/embedding.html in i3status

Quote from perlembed

When developing interactive and/or potentially long-running applications, it's a good idea to maintain a persistent interpreter rather than allocating and constructing a new interpreter multiple times. The major reason is speed: since Perl will only be loaded into memory once.

Since all of the code will be added and used only by the end user, it won't be interfering with mister Stapelberg philosophy.

Airblader commented 8 years ago

You've already given the explanation for why we don't want this yourself. There's no reason not to use tools like py3status or i3blocks if you're looking for that kind of functionality.

Airblader commented 8 years ago

Just to add another reason: we generally want to stay away from new dependencies and compile time flags.