Allow multiple tray_output directives.
This patch introduces the possibility to specify the tray_output directive multiple times. All values will be used by i3bar, in the order they are given. This way, a single bar configuration can be used for several machines with internal output names "eDP1" and "LVDS-0" by specifying tray_output for both. Any external output (e.g., "DP-0") will still not receive the tray. The same effect can be achieved by using "primary", but forces the user to couple the tray display to the primary output which may not be desirable behavior. relates to #555
This commit is contained in:
@ -248,9 +248,10 @@ struct Barconfig {
|
||||
* simplicity (since we store just strings). */
|
||||
char **outputs;
|
||||
|
||||
/** Output on which the tray should be shown. The special value of 'no'
|
||||
* disables the tray (it’s enabled by default). */
|
||||
char *tray_output;
|
||||
/* List of outputs on which the tray is allowed to be shown, in order.
|
||||
* The special value "none" disables it (per default, it will be shown) and
|
||||
* the special value "primary" enabled it on the primary output. */
|
||||
TAILQ_HEAD(tray_outputs_head, tray_output_t) tray_outputs;
|
||||
|
||||
/* Padding around the tray icons. */
|
||||
int tray_padding;
|
||||
@ -366,6 +367,12 @@ struct Barbinding {
|
||||
TAILQ_ENTRY(Barbinding) bindings;
|
||||
};
|
||||
|
||||
struct tray_output_t {
|
||||
char *output;
|
||||
|
||||
TAILQ_ENTRY(tray_output_t) tray_outputs;
|
||||
};
|
||||
|
||||
/**
|
||||
* Finds the configuration file to use (either the one specified by
|
||||
* override_configpath), the user’s one or the system default) and calls
|
||||
|
Reference in New Issue
Block a user