doc: Initial action documentation
This commit is contained in:
parent
1193b78e43
commit
3e4f8d402e
@ -89,6 +89,10 @@ exclude_patterns = []
|
|||||||
# The name of the Pygments (syntax highlighting) style to use.
|
# The name of the Pygments (syntax highlighting) style to use.
|
||||||
pygments_style = None
|
pygments_style = None
|
||||||
|
|
||||||
|
highlight_language = 'none'
|
||||||
|
|
||||||
|
smartquotes = False
|
||||||
|
|
||||||
|
|
||||||
# -- Options for HTML output -------------------------------------------------
|
# -- Options for HTML output -------------------------------------------------
|
||||||
|
|
||||||
|
@ -12,6 +12,8 @@ Welcome to the official polybar documentation.
|
|||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
:caption: Contents:
|
:caption: Contents:
|
||||||
|
|
||||||
|
user/actions
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
:caption: Manual Pages:
|
:caption: Manual Pages:
|
||||||
|
150
doc/user/actions.rst
Normal file
150
doc/user/actions.rst
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
Actions
|
||||||
|
=======
|
||||||
|
|
||||||
|
.. versionadded:: 3.5.0
|
||||||
|
|
||||||
|
"Actions" are used to trigger certain behavior in modules.
|
||||||
|
For example, when you click on your volume module (pulseaudio or alsa), polybar
|
||||||
|
internally sends an action to that module that tells it to mute/unmute the
|
||||||
|
audio.
|
||||||
|
|
||||||
|
Action String Format
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
An action string follows the following format:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
#NAME.ACTION[.DATA]
|
||||||
|
|
||||||
|
Where ``NAME`` is the name of the target module (not the type!) and ``ACTION``
|
||||||
|
is the name of the action in that module. ``DATA`` is optional data attached to
|
||||||
|
an action (for example to say which menu level should be opened).
|
||||||
|
|
||||||
|
For example the
|
||||||
|
`date module <https://github.com/polybar/polybar/wiki/Module:-date>`_ supports
|
||||||
|
the ``toggle`` action to toggle between the regular and the alternative time and
|
||||||
|
date format.
|
||||||
|
If you have the following date module:
|
||||||
|
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[module/mydate]
|
||||||
|
type = internal/date
|
||||||
|
...
|
||||||
|
|
||||||
|
The action string for toggling between the date formats would look like this:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
#mydate.toggle
|
||||||
|
|
||||||
|
As an example for an action string with additional data, take the menu module:
|
||||||
|
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[module/powermenu]
|
||||||
|
type = custom/menu
|
||||||
|
menu-0-0 = Poweroff
|
||||||
|
menu-0-0-exec = poweroff
|
||||||
|
menu-0-1 = Suspend
|
||||||
|
menu-0-1-exec = systemctl suspend
|
||||||
|
|
||||||
|
The action name to open a certain menu level is ``open``, so to open level 0
|
||||||
|
(`menu-0`), the action string additionally has the level attached to it:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
#powermenu.open.0
|
||||||
|
|
||||||
|
Triggering Actions
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Most modules already use action strings to trigger actions when you click on or
|
||||||
|
scroll over a module.
|
||||||
|
But in some cases you may want or need to manually send action strings to
|
||||||
|
polybar to trigger a certain behavior.
|
||||||
|
|
||||||
|
Everywhere where you can specify a command to run on click or scroll, you can
|
||||||
|
also specify an action string.
|
||||||
|
For example, in the bar section, you can specify a command that is triggered
|
||||||
|
when you click anywhere on the bar (where there isn't another click action):
|
||||||
|
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[bar/mybar]
|
||||||
|
...
|
||||||
|
click-left = #mydate.toggle
|
||||||
|
...
|
||||||
|
|
||||||
|
This will then trigger the ``toggle`` action on the ``mydate`` module when you
|
||||||
|
click anywhere on the bar.
|
||||||
|
|
||||||
|
Similarly, we can use action strings in ``%{A}``
|
||||||
|
`formatting tags <https://github.com/polybar/polybar/wiki/Formatting#action-a>`_
|
||||||
|
just as we would regular commands:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
%{A1:firefox:}%{A3:#mydate.toggle:}Opens firefox on left-click and toggles the
|
||||||
|
date on right-click %{A}%{A}
|
||||||
|
|
||||||
|
Finally, polybar's
|
||||||
|
`Inter Process Messaging <https://github.com/polybar/polybar/wiki/Inter-process-messaging>`_
|
||||||
|
(IPC) can also be used to trigger actions:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
polybar-msg action "#mydate.toggle"
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
The quotes around the action string are necessary, otherwise your shell will
|
||||||
|
interpret the ``#`` as the beginning of the comment and ignore the rest of the
|
||||||
|
line.
|
||||||
|
|
||||||
|
Supported Actions
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
|
||||||
|
Legacy Action Names
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
Before actions included the name of the module it should be sent to, action
|
||||||
|
strings only included information about the module type.
|
||||||
|
This meant for bars that contained multiple different modules of the same type,
|
||||||
|
actions for these modules were sometimes processed by the wrong module with the
|
||||||
|
same type.
|
||||||
|
|
||||||
|
Migration to New Action Strings
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
+-------------------------+------------------+---------------+
|
||||||
|
|Module Type |Legacy Action Name|New Action Name|
|
||||||
|
+=========================+==================+===============+
|
||||||
|
|``internal/date`` |``datetoggle`` |``toggle`` |
|
||||||
|
+-------------------------+------------------+---------------+
|
||||||
|
|``internal/alsa`` |``volup`` |``inc`` |
|
||||||
|
| +------------------+---------------+
|
||||||
|
| |``voldown`` |``dec`` |
|
||||||
|
| +------------------+---------------+
|
||||||
|
| |``volmute`` |``toggle`` |
|
||||||
|
+-------------------------+------------------+---------------+
|
||||||
|
|``internal/pulseaudio`` | | |
|
||||||
|
+-------------------------+------------------+---------------+
|
||||||
|
|``internal/xbacklight`` | | |
|
||||||
|
+-------------------------+------------------+---------------+
|
||||||
|
|``internal/backlight`` | | |
|
||||||
|
+-------------------------+------------------+---------------+
|
||||||
|
|``internal/xkeyboard`` | | |
|
||||||
|
+-------------------------+------------------+---------------+
|
||||||
|
|``internal/mpd`` | | |
|
||||||
|
+-------------------------+------------------+---------------+
|
||||||
|
|``internal/xworkspaces`` | | |
|
||||||
|
+-------------------------+------------------+---------------+
|
||||||
|
|``internal/bspwm`` | | |
|
||||||
|
+-------------------------+------------------+---------------+
|
||||||
|
|``internal/i3`` | | |
|
||||||
|
+-------------------------+------------------+---------------+
|
||||||
|
|``custom/menu`` | | |
|
||||||
|
+-------------------------+------------------+---------------+
|
Loading…
Reference in New Issue
Block a user