PHPackages                             mwgg/i3phtatus - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. mwgg/i3phtatus

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

mwgg/i3phtatus
==============

A dead simple extensible i3status replacement written in PHP

86PHP

Since Jul 4Pushed 8y ago4 watchersCompare

[ Source](https://github.com/mwgg/i3phtatus)[ Packagist](https://packagist.org/packages/mwgg/i3phtatus)[ RSS](/packages/mwgg-i3phtatus/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

i3phtatus
=========

[](#i3phtatus)

i3phtatus is an easily extensible i3status replacement meant for i3bar, written in PHP.

 [![i3phtatus](https://camo.githubusercontent.com/edb299f2a624335a17a108f3ef44db1f609391a7bdc65e940969b084430409a3/68747470733a2f2f692e696d6775722e636f6d2f364747555271302e706e67)](https://camo.githubusercontent.com/edb299f2a624335a17a108f3ef44db1f609391a7bdc65e940969b084430409a3/68747470733a2f2f692e696d6775722e636f6d2f364747555271302e706e67)

Usage
-----

[](#usage)

Replace your current "status\_command" setting in `~/.i3/config` with i3phtatus:

`status_command php /opt/i3phtatus/i3phtatus.php`

By default, i3phtatus will expect the config file to be at `~/.i3/i3phtatus.conf.php`. If you wish to specify a different location, use the `-c` flag:

`status_command php /opt/i3phtatus/i3phtatus.php -c ~/my_i3phtatus.conf.php`

Configuration
-------------

[](#configuration)

Configuration is stored in a PHP array. There you can configure the refresh rate (in milliseconds before the information is updated), "good", "bad" and "warn" colors for modules requiring colored output, as well as individual modules options.

Modules are displayed in the same order as they appear in the config. Unnecessary modules may simply be commented out or removed from the config file.

```
"amixer_volume" => array(
    "module" => "amixer_volume",
    "mode" => "percent",
    "label" => "VOL: "
),
"amixer_volume_bar" => array(
    "module" => "amixer_volume",
    "mode" => "bar",
    "width" => 10
)
```

The example above will output `|VOL: 68%|-||||||&nbsp;&nbsp;&nbsp;&nbsp;-|`

"Key" for a particular module may be anything, as long as they are all unique. Each module config section must have at least the `module` parameter, which corresponds to the function name of a particular module. Some modules require additional parameters.

Optional `label` parameter in the module configuration will prepend a label to the output.

Writing modules
---------------

[](#writing-modules)

Modules are PHP functions, their names must be prefixed with `module_` and they are automatically loaded from the *modules* subfolder. Each module function shall accept one argument, containing the module options, as specified in the config file.

```
function module_uname($module_options) {
    return array(
        "full_text" => php_uname($module_options["mode"])
    );
}
```

All modules must return an array with at least a `full_text` element, containing the desired output. Should it be necessary to color the output, an element `color` should be added, containing a hex value. Standard "good", "bad" and "warn" colors are defined in the config file and may be referenced by adding the `$config` variable to the function scope:

```
function module_awesome_stuff($module_options) {
    global $config;
    return array(
        "full_text" => "my awesome module",
        "color" => $config["color_good"]
    );
}
```

Should a module require storing temporary data (such as last refresh time for modules that pull remote data and don't need to do so every second), a global array called `$module_tmp` may be used:

```
   ...
   global $module_tmp;
   $module_tmp["awesome_stuff"]["last_update"] = time();
   ...
```

Pronunciation guide
-------------------

[](#pronunciation-guide)

 [![Phtatus](https://camo.githubusercontent.com/00063e765f898e6103978e46a9a95e480b3579b0021894589d903bb3a6ea4b35/68747470733a2f2f692e696d6775722e636f6d2f4e5a37714b44762e706e67)](https://camo.githubusercontent.com/00063e765f898e6103978e46a9a95e480b3579b0021894589d903bb3a6ea4b35/68747470733a2f2f692e696d6775722e636f6d2f4e5a37714b44762e706e67)

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/01099dd8b806dfea9b37d170e3c561ffdb3f189ff882d3d3722509e179e80b9f?d=identicon)[mwgg](/maintainers/mwgg)

---

Top Contributors

[![mwgg](https://avatars.githubusercontent.com/u/7067976?v=4)](https://github.com/mwgg "mwgg (16 commits)")

### Embed Badge

![Health badge](/badges/mwgg-i3phtatus/health.svg)

```
[![Health](https://phpackages.com/badges/mwgg-i3phtatus/health.svg)](https://phpackages.com/packages/mwgg-i3phtatus)
```

###  Alternatives

[daverandom/resume

Tiny library to facilitate resumable downloads

3861.4k1](/packages/daverandom-resume)[edofre/yii2-fullcalendar

Yii2 widget for fullcalendar

2761.7k1](/packages/edofre-yii2-fullcalendar)[craftcms/shopify

Shopify for Craft CMS

549.2k1](/packages/craftcms-shopify)[wpscholar/wp-async-defer-scripts

136.4k](/packages/wpscholar-wp-async-defer-scripts)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
