yambar/doc/yambar-modules-foreign-toplevel.5.scd
Daniel Eklöf 589a6f528a
module/foreign-toplevel: track outputs each toplevel is mapped on
* Bind the foreign-toplevel-manager object *after* the first round of
  global objects. This ensures we bind all pre-existing wl-output
  objects before binding the toplevel manager. This is important, since
  otherwise we wont get any output_enter() events for the initial set of
  toplevels.

* Bind xdg-output-manager, to be able to bind xdg-output objects for
  each wl-output.

* Add xdg-output-listener to each wl/xdg-output, to be able to get the
  outputs’ names.

* Add a list of outputs to each toplevel. The output_enter() event
  adds to this list, and output_leave() removes from it.

* Add option ‘all-monitors’. When not set (the default), toplevels are
  only included in the generated content if they are mapped on the same
  output as the bar itself. When *not* set, all toplevels are always
  included in the generated content.
2021-08-25 18:46:19 +02:00

79 lines
1.6 KiB
Markdown

yambar-modules-foreign-toplevel(5)
# NAME
foreign-toplevel - This module provides information about toplevel windows in Wayland
# DESCRIPTION
This module uses the _wlr foreign toplevel management_ Wayland
protocol to provide information about currently open windows, such as
their application ID, window title, and their current state
(maximized/minimized/fullscreen/activated).
The configuration for the foreign-toplevel module specifies a
_template_ particle. This particle will be instantiated once for each
window.
Note: Wayland only.
# TAGS
[[ *Name*
:[ *Type*
:[ *Description*
| app-id
: string
: The application ID (typically the application name)
| title
: string
: The window title
| maximized
: bool
: True if the window is currently maximized
| minimized
: bool
: True if the window is currently minimized
| fullscreen
: bool
: True if the window is currently fullscreened
| activated
: bool
: True if the window is currently activated (i.e. has focus)
# CONFIGURATION
[[ *Name*
:[ *Type*
:[ *Req*
:[ *Description*
| content
: particle
: yes
: Template particle that will be instantiated once for each window
| all-monitors
: bool
: no
: When set to true, only windows on the same monitor the bar will be
used. The default is false.
# EXAMPLES
```
bar:
left:
- foreign-toplevel:
content:
map:
tag: activated
values:
false: {empty: {}}
true:
- string: {text: "{app-id}: {title}"}
```
# SEE ALSO
*yambar-modules*(5), *yambar-particles*(5), *yambar-tags*(5), *yambar-decorations*(5)