From fb09b3d597a3b5797c8a9a3d3129fec09e69bd92 Mon Sep 17 00:00:00 2001 From: Ultrabug Date: Mon, 29 Dec 2014 21:28:48 +0100 Subject: move to html file wrt i3.github.io --- doc/py3status.html | 153 ++++++++++++++++++++++++++++++++++++++++++++++++ doc/py3status.html.mako | 152 ----------------------------------------------- 2 files changed, 153 insertions(+), 152 deletions(-) create mode 100644 doc/py3status.html delete mode 100644 doc/py3status.html.mako diff --git a/doc/py3status.html b/doc/py3status.html new file mode 100644 index 0000000..8d12ef2 --- /dev/null +++ b/doc/py3status.html @@ -0,0 +1,153 @@ +--- +layout: default +title: Docs +group: Docs +--- +
+

User-contributed article: enhanced and extensible i3bar with py3status

+ +

+In the i3 documentation, the recommended tool for displaying +a status line is to use i3status combined with i3bar. +

+ +

+While i3status is very efficient at what it does, it is by design limited to +a few modules and does not allow you to inject your own scripts output on your +i3bar. This is said pretty clearly on the i3status man page: +

+ +
In i3status, we don’t want to implement process management again.
+Therefore, there is no module to run arbitrary scripts or commands.
+Instead, you should use your shell.
+ +

Introducing py3status

+ +

+The goal of py3status is to fill this gap by allowing users to simply extend +their i3bar while preserving their current i3status configuration. The main idea +is to rely on i3status' strenghts without adding any configuration on the user's +side. py3status is thus a wrapper script for i3status and its configuration as +explained on the wiki. +

+ +

Usage

+ +

+Using py3status is easy, no need to multi-pipe your scripts after i3status. +Instead just replace i3status in your current status_command by + py3status. +For example, if your current status_command in your i3 config file resides in +~/.i3/i3status.conf, you would change your i3 config to this: +

+ +
status_command py3status -c ~/.i3/i3status.conf
+ +

Handle i3bar click events from your i3status.conf

+ +

+Py3status (since v2) is also wrapping and extending your i3status.conf and +allows you directly handle all the i3bar click events on any of your configured +modules whether they are i3status modules or py3status modules. +

+ +

+To do so, all you have to do is add a new configuration parameter named +on_click [button number] to your module config and py3status will then +execute the given i3 command (using i3-msg). This means you can run simple +tasks like executing a program or execute any other i3 specific command. +

+

Some examples below from i3status.conf:

+ +

+# reload the i3 config when I left click on the i3status time module
+# and restart i3 when I middle click on it
+time {
+	on_click 1 = "reload"
+	on_click 2 = "restart"
+}
+
+# run wicd-gtk GUI when I left click on the i3status ethernet module
+# and kill it when I right click on it
+ethernet eth0 {
+	# if you use %speed, i3status requires root privileges
+	format_up = "E: %ip"
+	format_down = ""
+	on_click 1 = "exec wicd-gtk"
+	on_click 3 = "exec killall wicd-gtk"
+}
+
+# run thunar when I left click on the / disk info module
+disk / {
+	format = "/ %free"
+	on_click 1 = "exec thunar /"
+}
+
+# open an URL on opera when I left click on the py3status weather_yahoo module
+weather_yahoo paris {
+	cache_timeout = 1800
+	city_code = "FRXX0076"
+	forecast_days = 2
+	on_click 1 = "exec opera http://www.meteo.fr"
+	request_timeout = 10
+}
+
+ +

Use py3status modules in your i3bar

+ +

+Py3status (since v2) also comes with some configurable modules you can load and +configure directly from your i3status.conf just like any other i3status module. +You +can see the list of the modules and their configuration parameters here. +

+ +

+To load a py3status module you just have to list it like any other i3status +module using the order += parameter. For example you could insert and +load the imap module like this: +

+ +

+order += "disk /home"
+order += "disk /"
+order += "imap"
+order += "time"
+
+ +

And then you could configure it like this:

+ +

+# configure the py3status imap module
+# and run thunderbird when I left click on it
+imap {
+	cache_timeout = 60
+    imap_server = 'imap.myprovider.com'
+    mailbox = 'INBOX'
+    name = 'Mail'
+    password = 'coconut'
+    port = '993'
+    user = 'mylogin'
+    on_click 1 = "exec thunderbird"
+}
+
+ + +

Write your own modules to display your own stuff

+ +

+Py3status features a simple and straightfoward module system which you can use +to get your own output displayed on your i3bar. You can read more and view some +examples on the +wiki. +

+ +

Documentation

+ +

+You can read the full and up to date documentation on the py3status home page. +

diff --git a/doc/py3status.html.mako b/doc/py3status.html.mako deleted file mode 100644 index 7ec60ab..0000000 --- a/doc/py3status.html.mako +++ /dev/null @@ -1,152 +0,0 @@ -<%! - section = "docs" -%> -<%inherit file="_templates/i3.mako" /> -
-

User-contributed article: enhanced and extensible i3bar with py3status

- -

-In the i3 documentation, the recommended tool for displaying -a status line is to use i3status combined with i3bar. -

- -

-While i3status is very efficient at what it does, it is by design limited to -a few modules and does not allow you to inject your own scripts output on your -i3bar. This is said pretty clearly on the i3status man page: -

- -
In i3status, we don’t want to implement process management again.
-Therefore, there is no module to run arbitrary scripts or commands.
-Instead, you should use your shell.
- -

Introducing py3status

- -

-The goal of py3status is to fill this gap by allowing users to simply extend -their i3bar while preserving their current i3status configuration. The main idea -is to rely on i3status' strenghts without adding any configuration on the user's -side. py3status is thus a wrapper script for i3status and its configuration as -explained on the wiki. -

- -

Usage

- -

-Using py3status is easy, no need to multi-pipe your scripts after i3status. -Instead just replace i3status in your current status_command by - py3status. -For example, if your current status_command in your i3 config file resides in -~/.i3/i3status.conf, you would change your i3 config to this: -

- -
status_command py3status -c ~/.i3/i3status.conf
- -

Handle i3bar click events from your i3status.conf

- -

-Py3status (since v2) is also wrapping and extending your i3status.conf and -allows you directly handle all the i3bar click events on any of your configured -modules whether they are i3status modules or py3status modules. -

- -

-To do so, all you have to do is add a new configuration parameter named -on_click [button number] to your module config and py3status will then -execute the given i3 command (using i3-msg). This means you can run simple -tasks like executing a program or execute any other i3 specific command. -

-

Some examples below from i3status.conf:

- -

-# reload the i3 config when I left click on the i3status time module
-# and restart i3 when I middle click on it
-time {
-	on_click 1 = "reload"
-	on_click 2 = "restart"
-}
-
-# run wicd-gtk GUI when I left click on the i3status ethernet module
-# and kill it when I right click on it
-ethernet eth0 {
-	# if you use %speed, i3status requires root privileges
-	format_up = "E: %ip"
-	format_down = ""
-	on_click 1 = "exec wicd-gtk"
-	on_click 3 = "exec killall wicd-gtk"
-}
-
-# run thunar when I left click on the / disk info module
-disk / {
-	format = "/ %free"
-	on_click 1 = "exec thunar /"
-}
-
-# open an URL on opera when I left click on the py3status weather_yahoo module
-weather_yahoo paris {
-	cache_timeout = 1800
-	city_code = "FRXX0076"
-	forecast_days = 2
-	on_click 1 = "exec opera http://www.meteo.fr"
-	request_timeout = 10
-}
-
- -

Use py3status modules in your i3bar

- -

-Py3status (since v2) also comes with some configurable modules you can load and -configure directly from your i3status.conf just like any other i3status module. -You -can see the list of the modules and their configuration parameters here. -

- -

-To load a py3status module you just have to list it like any other i3status -module using the order += parameter. For example you could insert and -load the imap module like this: -

- -

-order += "disk /home"
-order += "disk /"
-order += "imap"
-order += "time"
-
- -

And then you could configure it like this:

- -

-# configure the py3status imap module
-# and run thunderbird when I left click on it
-imap {
-	cache_timeout = 60
-    imap_server = 'imap.myprovider.com'
-    mailbox = 'INBOX'
-    name = 'Mail'
-    password = 'coconut'
-    port = '993'
-    user = 'mylogin'
-    on_click 1 = "exec thunderbird"
-}
-
- - -

Write your own modules to display your own stuff

- -

-Py3status features a simple and straightfoward module system which you can use -to get your own output displayed on your i3bar. You can read more and view some -examples on the -wiki. -

- -

Documentation

- -

-You can read the full and up to date documentation on the py3status home page. -

-- cgit v1.3