I3blocks Versions Save

The hacker-friendly status_command for Sway and i3

1.5

3 years ago

i3blocks 1.5 is out!

The long and awaited bump for i3blocks is finally out, after just only 4 years...

It brings a lot of fixes but more importantly, support for dynamic properties. This means that a blocklet can now output any keys, i3blocks will pass all of them back to the command. This allows to do cool stuffs like using custom variables as states or counters, or simply support additional keys that may be added by i3, i3-gaps, or even Sway!

Here's a hint of what you can do now. The following block iterates on every click over ready, running, blocked, ready, etc.:

[state]
_state=blocked
command=./state.rb
interval=once
format=json
#!/bin/ruby
require 'json'

STATES = { "ready" => "running", "running" => "blocked", "blocked" => "ready" }

state = STATES.fetch ENV["_state"]
block = { "full_text" => state, "_state" => state }

puts JSON.dump block

Check the website for more inspiration and a complete documentation!

The package does not include default scripts anymore. All scripts have been moved to the i3blocks-contrib repository. The i3blocks repository only contains the core C program from now on, as well as a minimal system-wide configuration file to simplify package maintainers life. Not that this configuration file is not supposed to bring any additional dependency though. Maintainers, feel free to use it or override it with any scripts or even distro-specific ones!

Users may want to list their blocklets repositories on the user Blocklets page!

Also note that the label property does not include a space anymore, it has to be added by the user explicitly explicitly. It is also likely to be deprecated in the future.

As of the release, i3blocks expects each line from a block output to be terminated with a newline.

Finally Emmet Brickowski would like to thank all these hard workers from this release:

  • Vivien Didelot
  • Gaël PORTAY
  • Andreas Lutro
  • James Murphy
  • Jason Pleau
  • Oliver Runge
  • Tristan Matthews
  • Alexandre Macabies
  • Ammar Najjar
  • Carl Hicks
  • Chris de Graaf
  • Christian Rebischke
  • Damien Riegel
  • Diki Ananta
  • Fice T
  • Francesco Turco
  • Ingo Bürk
  • Jorge Y. Castillo
  • Julien Jerphanion
  • Leorize
  • Rainbow
  • Samy Dindane
  • Sergiu Marton
  • Thor K. H
  • Tomasz Kramkowski
  • Volodymyr Medvid
  • Yuce Tekol
  • setzer22
  • timp3289

"You don't have to be the bad guy. You are the most talented, most interesting, and most extraordinary person in the universe. And you are capable of amazing things."

1.4

7 years ago

i3blocks 1.4 is out!

i3blocks 1.4 introduces new features, such as persistent blocklets (basically one-lines in an infinite loop), support for JSON output format, and the new i3bar markup property. It also includes several bug fixes, scripts improvements and additions. All that has been done thanks to contributions (code and reports) from this (partial) list of folks:

  • (5) Jason Pleau (@jpleau)
  • (3) Alexander Kauer (@nycroth)
  • (1) Guillaume Coré (@fridim)
  • (1) Ingo Bürk (@Airblader)
  • (1) Marcelo Cerri (@mhcerri)
  • (1) Revan Sopher (@revan)
  • (1) Roberto "Roobre" Santalla (@roobre)
  • (1) Thiago Perrotta (@thiagowfx)
  • (1) Fabian Koehler (@f-koehler)
  • (1) J.T. Murphy (@kb100)

See the migration guide to 1.4.

Happy blockleting!

1.3

8 years ago

i3blocks 1.3 is out!

i3blocks 1.3 introduces a major refactoring of the scheduler, with asynchronous commands, many bug fixes (click handling, bar hiding), new properties (label, "repeat" interval), and scripts improvements. All that has been done thanks to contributions (code and reports) from this (partial) list of buddies:

  • (6) Jason Pleau (@jpleau)
  • (5) Alexander Keller (@nycroth)
  • (3) Tony Crisci (@acrisci)
  • (3) Pierre Mavro (@deimosfr)
  • (2) Valérian Galliat (@valeriangalliat)
  • (2) Benjamin Chrétien (@bchretien)
  • (1) pink-mist (@pink-mist)
  • (1) Philippe Proulx (@eepp)
  • (1) Julien Bonjean (@jbonjean)
  • (1) igwan (@igwan)

A special thanks to Jason Pleau who rushed to push i3blocks to Debian unstable, and it was accepted! https://tracker.debian.org/pkg/i3blocks.

See the migration guide to 1.3.

Happy blockleting!