Merge branch 'Alexays:master' into hyprland/windowcount
This commit is contained in:
@ -23,6 +23,8 @@ class AModule : public IModule {
|
|||||||
/// Emitting on this dispatcher triggers a update() call
|
/// Emitting on this dispatcher triggers a update() call
|
||||||
Glib::Dispatcher dp;
|
Glib::Dispatcher dp;
|
||||||
|
|
||||||
|
bool expandEnabled() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Don't need to make an object directly
|
// Don't need to make an object directly
|
||||||
// Derived classes are able to use it
|
// Derived classes are able to use it
|
||||||
@ -50,6 +52,7 @@ class AModule : public IModule {
|
|||||||
private:
|
private:
|
||||||
bool handleUserEvent(GdkEventButton *const &ev);
|
bool handleUserEvent(GdkEventButton *const &ev);
|
||||||
const bool isTooltip;
|
const bool isTooltip;
|
||||||
|
const bool isExpand;
|
||||||
bool hasUserEvents_;
|
bool hasUserEvents_;
|
||||||
std::vector<int> pid_;
|
std::vector<int> pid_;
|
||||||
gdouble distance_scrolled_y_;
|
gdouble distance_scrolled_y_;
|
||||||
|
@ -31,6 +31,11 @@ The brightness can be controlled by dragging the slider across the bar or clicki
|
|||||||
typeof: string ++
|
typeof: string ++
|
||||||
The name of the preferred device to control. If left empty, a device will be chosen automatically.
|
The name of the preferred device to control. If left empty, a device will be chosen automatically.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# EXAMPLES
|
# EXAMPLES
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -99,6 +99,11 @@ The *backlight* module displays the current backlight level.
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# EXAMPLE:
|
# EXAMPLE:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -122,6 +122,11 @@ The *battery* module displays the current capacity and state (eg. charging) of y
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{capacity}*: Capacity in percentage
|
*{capacity}*: Capacity in percentage
|
||||||
|
@ -142,6 +142,11 @@ Addressed by *bluetooth*
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{status}*: Status of the bluetooth device.
|
*{status}*: Status of the bluetooth device.
|
||||||
|
@ -15,6 +15,11 @@ Addressed by *cffi/<name>*
|
|||||||
typeof: string ++
|
typeof: string ++
|
||||||
The path to the dynamic library to load to control the widget.
|
The path to the dynamic library to load to control the widget.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
Some additional configuration may be required depending on the cffi dynamic library being used.
|
Some additional configuration may be required depending on the cffi dynamic library being used.
|
||||||
|
|
||||||
|
|
||||||
|
@ -96,6 +96,10 @@ $XDG_CONFIG_HOME/waybar/config ++
|
|||||||
:[ array
|
:[ array
|
||||||
:[
|
:[
|
||||||
:[ The actions corresponding to the buttons of the menu.
|
:[ The actions corresponding to the buttons of the menu.
|
||||||
|
|[ *expand*:
|
||||||
|
:[ bool
|
||||||
|
:[ false
|
||||||
|
:[ Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
View all valid format options in *strftime(3)* or have a look https://en.cppreference.com/w/cpp/chrono/duration/formatter
|
View all valid format options in *strftime(3)* or have a look https://en.cppreference.com/w/cpp/chrono/duration/formatter
|
||||||
|
|
||||||
|
@ -82,6 +82,11 @@ The *cpu* module displays the current CPU utilization.
|
|||||||
default: true ++
|
default: true ++
|
||||||
Option to disable tooltip on hover.
|
Option to disable tooltip on hover.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{load}*: Current CPU load.
|
*{load}*: Current CPU load.
|
||||||
|
@ -138,6 +138,11 @@ Addressed by *custom/<name>*
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# RETURN-TYPE
|
# RETURN-TYPE
|
||||||
|
|
||||||
When *return-type* is set to *json*, Waybar expects the *exec*-script to output its data in JSON format.
|
When *return-type* is set to *json*, Waybar expects the *exec*-script to output its data in JSON format.
|
||||||
|
@ -106,6 +106,11 @@ Addressed by *disk*
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{percentage_used}*: Percentage of disk in use.
|
*{percentage_used}*: Percentage of disk in use.
|
||||||
|
@ -26,6 +26,11 @@ Addressed by *dwl/tags*
|
|||||||
default: false ++
|
default: false ++
|
||||||
If set to false, you can left-click to set focused tag. Right-click to toggle tag focus. If set to true this behaviour is disabled.
|
If set to false, you can left-click to set focused tag. Right-click to toggle tag focus. If set to true this behaviour is disabled.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# EXAMPLE
|
# EXAMPLE
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -84,6 +84,11 @@ Addressed by *dwl/window*
|
|||||||
default: 24 ++
|
default: 24 ++
|
||||||
Option to change the size of the application icon.
|
Option to change the size of the application icon.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{title}*: The title of the focused window.
|
*{title}*: The title of the focused window.
|
||||||
|
@ -61,6 +61,11 @@ Feral Gamemode optimizations.
|
|||||||
default: 4 ++
|
default: 4 ++
|
||||||
Defines the spacing between the icon and the text.
|
Defines the spacing between the icon and the text.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{glyph}*: The string icon glyph to use instead.
|
*{glyph}*: The string icon glyph to use instead.
|
||||||
|
@ -38,6 +38,11 @@ Addressed by *hyprland/language*
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
|
@ -93,6 +93,11 @@ Addressed by *hyprland/submap*
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
|
|
||||||
# EXAMPLES
|
# EXAMPLES
|
||||||
|
|
||||||
|
@ -35,6 +35,11 @@ Addressed by *hyprland/window*
|
|||||||
default: 24 ++
|
default: 24 ++
|
||||||
Option to change the size of the application icon.
|
Option to change the size of the application icon.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
See the output of "hyprctl clients" for examples
|
See the output of "hyprctl clients" for examples
|
||||||
|
|
||||||
|
@ -78,6 +78,11 @@ Addressed by *hyprland/workspaces*
|
|||||||
If set to id, workspaces will sort by id.
|
If set to id, workspaces will sort by id.
|
||||||
If none of those, workspaces will sort with default behavior.
|
If none of those, workspaces will sort with default behavior.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{id}*: id of workspace assigned by compositor
|
*{id}*: id of workspace assigned by compositor
|
||||||
|
@ -102,6 +102,11 @@ screensaver, also known as "presentation mode".
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{status}*: status (*activated* or *deactivated*)
|
*{status}*: status (*activated* or *deactivated*)
|
||||||
|
@ -64,6 +64,11 @@ The *image* module displays an image from a path.
|
|||||||
default: true ++
|
default: true ++
|
||||||
Option to enable tooltip on hover.
|
Option to enable tooltip on hover.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# SCRIPT OUTPUT
|
# SCRIPT OUTPUT
|
||||||
|
|
||||||
Similar to the *custom* module, output values of the script are *newline* separated.
|
Similar to the *custom* module, output values of the script are *newline* separated.
|
||||||
|
@ -89,6 +89,11 @@ See *systemd-inhibit*(1) for more information.
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{status}*: status (*activated* or *deactivated*)
|
*{status}*: status (*activated* or *deactivated*)
|
||||||
|
@ -98,6 +98,11 @@ Addressed by *jack*
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{load}*: The current CPU load estimated by JACK.
|
*{load}*: The current CPU load estimated by JACK.
|
||||||
|
@ -53,6 +53,11 @@ You must be a member of the input group to use this module.
|
|||||||
default: [58, 69, 70] ++
|
default: [58, 69, 70] ++
|
||||||
Customize the key to trigger this module, the key number can be found in /usr/include/linux/input-event-codes.h or running sudo libinput debug-events --show-keycodes.
|
Customize the key to trigger this module, the key number can be found in /usr/include/linux/input-event-codes.h or running sudo libinput debug-events --show-keycodes.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{name}*: Caps, Num, or Scroll.
|
*{name}*: Caps, Num, or Scroll.
|
||||||
|
@ -97,6 +97,11 @@ Addressed by *memory*
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{percentage}*: Percentage of memory in use.
|
*{percentage}*: Percentage of memory in use.
|
||||||
|
@ -175,6 +175,11 @@ Addressed by *mpd*
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
## WHEN PLAYING/PAUSED
|
## WHEN PLAYING/PAUSED
|
||||||
|
@ -148,6 +148,11 @@ The *mpris* module displays currently playing media via libplayerctl.
|
|||||||
typeof: map[string]string ++
|
typeof: map[string]string ++
|
||||||
Allows setting _{status_icon}_ based on player status (playing, paused, stopped).
|
Allows setting _{status_icon}_ based on player status (playing, paused, stopped).
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
|
@ -142,6 +142,11 @@ Addressed by *network*
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{ifname}*: Name of the network interface.
|
*{ifname}*: Name of the network interface.
|
||||||
|
@ -33,6 +33,11 @@ Addressed by *niri/language*
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{short}*: Short name of layout (e.g. "us"). Equals to {}.
|
*{short}*: Short name of layout (e.g. "us"). Equals to {}.
|
||||||
|
@ -35,6 +35,11 @@ Addressed by *niri/window*
|
|||||||
default: 24 ++
|
default: 24 ++
|
||||||
Option to change the size of the application icon.
|
Option to change the size of the application icon.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
See the output of "niri msg windows" for examples
|
See the output of "niri msg windows" for examples
|
||||||
|
@ -45,6 +45,11 @@ Addressed by *niri/workspaces*
|
|||||||
typeof: string ++
|
typeof: string ++
|
||||||
Command to execute when the module is updated.
|
Command to execute when the module is updated.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{value}*: Name of the workspace, or index for unnamed workspaces,
|
*{value}*: Name of the workspace, or index for unnamed workspaces,
|
||||||
|
@ -35,6 +35,13 @@ $XDG_CONFIG_HOME/waybar/config
|
|||||||
:[ object
|
:[ object
|
||||||
:[ See default value in the example below.
|
:[ See default value in the example below.
|
||||||
:[ Icons used to represent the various power-profile. *Note*: the default configuration uses the font-awesome icons. You may want to override it if you don't have this font installed on your system.
|
:[ Icons used to represent the various power-profile. *Note*: the default configuration uses the font-awesome icons. You may want to override it if you don't have this font installed on your system.
|
||||||
|
|[ *expand*:
|
||||||
|
:[ bool
|
||||||
|
:[ false
|
||||||
|
:[ Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# CONFIGURATION EXAMPLES
|
# CONFIGURATION EXAMPLES
|
||||||
|
@ -32,6 +32,11 @@ the screen or playing audio.
|
|||||||
Which privacy modules to monitor. See *MODULES CONFIGURATION* for++
|
Which privacy modules to monitor. See *MODULES CONFIGURATION* for++
|
||||||
more information.
|
more information.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# MODULES CONFIGURATION
|
# MODULES CONFIGURATION
|
||||||
|
|
||||||
*type*: ++
|
*type*: ++
|
||||||
|
@ -27,6 +27,11 @@ The volume can be controlled by dragging the slider across the bar or clicking o
|
|||||||
default: horizontal ++
|
default: horizontal ++
|
||||||
The orientation of the slider. Can be either `horizontal` or `vertical`.
|
The orientation of the slider. Can be either `horizontal` or `vertical`.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# EXAMPLES
|
# EXAMPLES
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -126,6 +126,11 @@ Additionally, you can control the volume by scrolling *up* or *down* while the c
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{desc}*: Pulseaudio port's description, for bluetooth it'll be the device name.
|
*{desc}*: Pulseaudio port's description, for bluetooth it'll be the device name.
|
||||||
|
@ -64,6 +64,11 @@ Addressed by *river/layout*
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# EXAMPLE
|
# EXAMPLE
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -78,6 +78,11 @@ Addressed by *river/mode*
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# EXAMPLES
|
# EXAMPLES
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -26,6 +26,11 @@ Addressed by *river/tags*
|
|||||||
default: false ++
|
default: false ++
|
||||||
If set to false, you can left-click to set focused tag. Right-click to toggle tag focus. If set to true this behaviour is disabled.
|
If set to false, you can left-click to set focused tag. Right-click to toggle tag focus. If set to true this behaviour is disabled.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# EXAMPLE
|
# EXAMPLE
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -62,6 +62,11 @@ Addressed by *river/window*
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# EXAMPLES
|
# EXAMPLES
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -87,6 +87,11 @@ cursor is over the module, and clicking on the module toggles mute.
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{volume}*: Volume in percentage.
|
*{volume}*: Volume in percentage.
|
||||||
|
@ -45,6 +45,11 @@ Addressed by *sway/language*
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{short}*: Short name of layout (e.g. "us"). Equals to {}.
|
*{short}*: Short name of layout (e.g. "us"). Equals to {}.
|
||||||
|
@ -83,6 +83,11 @@ Addressed by *sway/mode*
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# EXAMPLES
|
# EXAMPLES
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -49,6 +49,11 @@ Addressed by *sway/scratchpad*
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{icon}*: Icon, as defined in *format-icons*.
|
*{icon}*: Icon, as defined in *format-icons*.
|
||||||
|
@ -103,6 +103,11 @@ Addressed by *sway/window*
|
|||||||
default: 24 ++
|
default: 24 ++
|
||||||
Option to change the size of the application icon.
|
Option to change the size of the application icon.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{title}*: The title of the focused window.
|
*{title}*: The title of the focused window.
|
||||||
|
@ -99,6 +99,11 @@ warp-on-scroll: ++
|
|||||||
default: " " ++
|
default: " " ++
|
||||||
The separator to be used between windows in a workspace.
|
The separator to be used between windows in a workspace.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
|
@ -49,6 +49,11 @@ Addressed by *systemd-failed-units*
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{nr_failed_system}*: Number of failed units from systemwide (PID=1) systemd.
|
*{nr_failed_system}*: Number of failed units from systemwide (PID=1) systemd.
|
||||||
|
@ -132,6 +132,11 @@ Addressed by *temperature*
|
|||||||
typeof: array ++
|
typeof: array ++
|
||||||
The actions corresponding to the buttons of the menu.
|
The actions corresponding to the buttons of the menu.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{temperatureC}*: Temperature in Celsius.
|
*{temperatureC}*: Temperature in Celsius.
|
||||||
|
@ -37,6 +37,11 @@ Addressed by *tray*
|
|||||||
typeof: string ++
|
typeof: string ++
|
||||||
Command to execute when the module is updated.
|
Command to execute when the module is updated.
|
||||||
|
|
||||||
|
*expand*: ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables this module to consume all left over space dynamically.
|
||||||
|
|
||||||
# EXAMPLES
|
# EXAMPLES
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -23,6 +23,21 @@ The visual display elements for waybar use a CSS stylesheet, see *waybar-styles(
|
|||||||
|
|
||||||
# BAR CONFIGURATION
|
# BAR CONFIGURATION
|
||||||
|
|
||||||
|
*expand-center* ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables the modules-center to consume all left over space dynamically.
|
||||||
|
|
||||||
|
*expand-left* ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables the modules-left to consume all left over space dynamically.
|
||||||
|
|
||||||
|
*expand-right* ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Enables the modules-left to consume all left over space dynamically.
|
||||||
|
|
||||||
*layer* ++
|
*layer* ++
|
||||||
typeof: string ++
|
typeof: string ++
|
||||||
default: bottom ++
|
default: bottom ++
|
||||||
@ -68,6 +83,11 @@ The visual display elements for waybar use a CSS stylesheet, see *waybar-styles(
|
|||||||
typeof: integer ++
|
typeof: integer ++
|
||||||
Margins value without units.
|
Margins value without units.
|
||||||
|
|
||||||
|
*no-center* ++
|
||||||
|
typeof: bool ++
|
||||||
|
default: false ++
|
||||||
|
Option to disable the center modules fully usefull together with expand-\*.
|
||||||
|
|
||||||
*spacing* ++
|
*spacing* ++
|
||||||
typeof: integer ++
|
typeof: integer ++
|
||||||
Size of gaps in between the different modules.
|
Size of gaps in between the different modules.
|
||||||
|
@ -15,6 +15,7 @@ AModule::AModule(const Json::Value& config, const std::string& name, const std::
|
|||||||
: name_(name),
|
: name_(name),
|
||||||
config_(config),
|
config_(config),
|
||||||
isTooltip{config_["tooltip"].isBool() ? config_["tooltip"].asBool() : true},
|
isTooltip{config_["tooltip"].isBool() ? config_["tooltip"].asBool() : true},
|
||||||
|
isExpand{config_["expand"].isBool() ? config_["expand"].asBool() : false},
|
||||||
distance_scrolled_y_(0.0),
|
distance_scrolled_y_(0.0),
|
||||||
distance_scrolled_x_(0.0) {
|
distance_scrolled_x_(0.0) {
|
||||||
// Configure module action Map
|
// Configure module action Map
|
||||||
@ -273,6 +274,7 @@ bool AModule::handleScroll(GdkEventScroll* e) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool AModule::tooltipEnabled() const { return isTooltip; }
|
bool AModule::tooltipEnabled() const { return isTooltip; }
|
||||||
|
bool AModule::expandEnabled() const { return isExpand; }
|
||||||
|
|
||||||
AModule::operator Gtk::Widget&() { return event_box_; }
|
AModule::operator Gtk::Widget&() { return event_box_; }
|
||||||
|
|
||||||
|
36
src/bar.cpp
36
src/bar.cpp
@ -534,13 +534,22 @@ void waybar::Bar::getModules(const Factory& factory, const std::string& pos,
|
|||||||
|
|
||||||
auto waybar::Bar::setupWidgets() -> void {
|
auto waybar::Bar::setupWidgets() -> void {
|
||||||
window.add(box_);
|
window.add(box_);
|
||||||
box_.pack_start(left_, false, false);
|
|
||||||
if (config["fixed-center"].isBool() ? config["fixed-center"].asBool() : true) {
|
bool expand_left = config["expand-left"].isBool() ? config["expand-left"].asBool() : false;
|
||||||
box_.set_center_widget(center_);
|
bool expand_center = config["expand-center"].isBool() ? config["expand-center"].asBool() : false;
|
||||||
} else {
|
bool expand_right = config["expand-right"].isBool() ? config["expand-right"].asBool() : false;
|
||||||
box_.pack_start(center_, true, false);
|
bool no_center = config["no-center"].isBool() ? config["no-center"].asBool() : false;
|
||||||
|
|
||||||
|
box_.pack_start(left_, expand_left, expand_left);
|
||||||
|
if (!no_center) {
|
||||||
|
if (config["fixed-center"].isBool() ? config["fixed-center"].asBool() : true) {
|
||||||
|
box_.set_center_widget(center_);
|
||||||
|
} else {
|
||||||
|
spdlog::error("No fixed center_");
|
||||||
|
box_.pack_start(center_, true, expand_center);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
box_.pack_end(right_, false, false);
|
box_.pack_end(right_, expand_right, expand_right);
|
||||||
|
|
||||||
// Convert to button code for every module that is used.
|
// Convert to button code for every module that is used.
|
||||||
setupAltFormatKeyForModuleList("modules-left");
|
setupAltFormatKeyForModuleList("modules-left");
|
||||||
@ -549,14 +558,21 @@ auto waybar::Bar::setupWidgets() -> void {
|
|||||||
|
|
||||||
Factory factory(*this, config);
|
Factory factory(*this, config);
|
||||||
getModules(factory, "modules-left");
|
getModules(factory, "modules-left");
|
||||||
getModules(factory, "modules-center");
|
if (!no_center) {
|
||||||
|
getModules(factory, "modules-center");
|
||||||
|
}
|
||||||
getModules(factory, "modules-right");
|
getModules(factory, "modules-right");
|
||||||
|
|
||||||
for (auto const& module : modules_left_) {
|
for (auto const& module : modules_left_) {
|
||||||
left_.pack_start(*module, false, false);
|
left_.pack_start(*module, module->expandEnabled(), module->expandEnabled());
|
||||||
}
|
}
|
||||||
for (auto const& module : modules_center_) {
|
|
||||||
center_.pack_start(*module, false, false);
|
if (!no_center) {
|
||||||
|
for (auto const& module : modules_center_) {
|
||||||
|
center_.pack_start(*module, false, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::reverse(modules_right_.begin(), modules_right_.end());
|
std::reverse(modules_right_.begin(), modules_right_.end());
|
||||||
for (auto const& module : modules_right_) {
|
for (auto const& module : modules_right_) {
|
||||||
right_.pack_end(*module, false, false);
|
right_.pack_end(*module, false, false);
|
||||||
|
@ -109,7 +109,7 @@ int main(int argc, char* argv[]) {
|
|||||||
|
|
||||||
std::signal(SIGUSR1, SIG_IGN);
|
std::signal(SIGUSR1, SIG_IGN);
|
||||||
std::signal(SIGUSR2, SIG_IGN);
|
std::signal(SIGUSR2, SIG_IGN);
|
||||||
std::signal(SIGINT, SIG_IGN);
|
std::signal(SIGINT, SIG_IGN);
|
||||||
|
|
||||||
delete client;
|
delete client;
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -77,7 +77,7 @@ auto waybar::modules::Temperature::update() -> void {
|
|||||||
} else if (warning) {
|
} else if (warning) {
|
||||||
format = config_["format-warning"].isString() ? config_["format-warning"].asString() : format;
|
format = config_["format-warning"].isString() ? config_["format-warning"].asString() : format;
|
||||||
label_.get_style_context()->add_class("warning");
|
label_.get_style_context()->add_class("warning");
|
||||||
} else {
|
} else {
|
||||||
label_.get_style_context()->remove_class("critical");
|
label_.get_style_context()->remove_class("critical");
|
||||||
label_.get_style_context()->remove_class("warning");
|
label_.get_style_context()->remove_class("warning");
|
||||||
}
|
}
|
||||||
|
@ -126,6 +126,7 @@ void PipewireBackend::handleRegistryEventGlobal(uint32_t id, uint32_t permission
|
|||||||
if (proxy == nullptr) return;
|
if (proxy == nullptr) return;
|
||||||
|
|
||||||
auto *pNodeInfo = (PrivacyNodeInfo *)pw_proxy_get_user_data(proxy);
|
auto *pNodeInfo = (PrivacyNodeInfo *)pw_proxy_get_user_data(proxy);
|
||||||
|
new(pNodeInfo) PrivacyNodeInfo{};
|
||||||
pNodeInfo->id = id;
|
pNodeInfo->id = id;
|
||||||
pNodeInfo->data = this;
|
pNodeInfo->data = this;
|
||||||
pNodeInfo->type = mediaType;
|
pNodeInfo->type = mediaType;
|
||||||
@ -142,6 +143,7 @@ void PipewireBackend::handleRegistryEventGlobalRemove(uint32_t id) {
|
|||||||
mutex_.lock();
|
mutex_.lock();
|
||||||
auto iter = privacy_nodes.find(id);
|
auto iter = privacy_nodes.find(id);
|
||||||
if (iter != privacy_nodes.end()) {
|
if (iter != privacy_nodes.end()) {
|
||||||
|
privacy_nodes[id]->~PrivacyNodeInfo();
|
||||||
privacy_nodes.erase(id);
|
privacy_nodes.erase(id);
|
||||||
}
|
}
|
||||||
mutex_.unlock();
|
mutex_.unlock();
|
||||||
|
Reference in New Issue
Block a user