mirror of
https://github.com/rad4day/Waybar.git
synced 2023-12-21 10:22:59 +01:00
Merge pull request #402 from 0xdec/on-update
feat(modules): call user on-update if configured
This commit is contained in:
commit
7859bf2c60
@ -10,29 +10,29 @@ The *backlight* module displays the current backlight level.
|
||||
|
||||
# CONFIGURATION
|
||||
|
||||
*interval* ++
|
||||
*interval*: ++
|
||||
typeof: integer ++
|
||||
default: 2 ++
|
||||
The interval in which information gets polled.
|
||||
|
||||
*format* ++
|
||||
*format*: ++
|
||||
typeof: string ++
|
||||
default: {percent}% ++
|
||||
The format, how information should be displayed. On {} data gets inserted.
|
||||
|
||||
*max-length* ++
|
||||
*max-length*: ++
|
||||
typeof: integer ++
|
||||
The maximum length in characters the module should display.
|
||||
|
||||
*rotate* ++
|
||||
*rotate*: ++
|
||||
typeof: integer ++
|
||||
Positive value to rotate the text label.
|
||||
|
||||
*states* ++
|
||||
*states*: ++
|
||||
typeof: array ++
|
||||
A number of backlight states which get activated on certain brightness levels.
|
||||
|
||||
*on-click* ++
|
||||
*on-click*: ++
|
||||
typeof: string ++
|
||||
Command to execute when the module is clicked.
|
||||
|
||||
@ -40,19 +40,23 @@ The *backlight* module displays the current backlight level.
|
||||
typeof: string ++
|
||||
Command to execute when middle-clicked on the module using mousewheel.
|
||||
|
||||
*on-click-right* ++
|
||||
*on-click-right*: ++
|
||||
typeof: string ++
|
||||
Command to execute when the module is right clicked.
|
||||
|
||||
*on-scroll-up* ++
|
||||
*on-update*: ++
|
||||
typeof: string ++
|
||||
Command to execute when the module is updated.
|
||||
|
||||
*on-scroll-up*: ++
|
||||
typeof: string ++
|
||||
Command to execute when performing a scroll up on the module.
|
||||
|
||||
*on-scroll-down* ++
|
||||
*on-scroll-down*: ++
|
||||
typeof: string
|
||||
Command to execute when performing a scroll down on the module.
|
||||
|
||||
*smooth-scrolling-threshold* ++
|
||||
*smooth-scrolling-threshold*: ++
|
||||
typeof: double
|
||||
Threshold to be used when scrolling.
|
||||
|
||||
|
@ -10,33 +10,33 @@ The *battery* module displays the current capacity and state (eg. charging) of y
|
||||
|
||||
# CONFIGURATION
|
||||
|
||||
*bat* ++
|
||||
*bat*: ++
|
||||
typeof: string ++
|
||||
The battery to monitor, as in /sys/class/power_supply/ instead of auto detect.
|
||||
|
||||
*adapter* ++
|
||||
*adapter*: ++
|
||||
typeof: string ++
|
||||
The adapter to monitor, as in /sys/class/power_supply/ instead of auto detect.
|
||||
|
||||
*full-at* ++
|
||||
*full-at*: ++
|
||||
typeof: integer ++
|
||||
Define the max percentage of the battery, usefull for an old battery, e.g. 96
|
||||
|
||||
*interval* ++
|
||||
*interval*: ++
|
||||
typeof: integer ++
|
||||
default: 60 ++
|
||||
The interval in which the information gets polled.
|
||||
|
||||
*states* ++
|
||||
*states*: ++
|
||||
typeof: array ++
|
||||
A number of battery states which get activated on certain capacity levels. See *waybar-states(5)*.
|
||||
|
||||
*format* ++
|
||||
*format*: ++
|
||||
typeof: string ++
|
||||
default: {capacity}% ++
|
||||
The format, how the time should be displayed.
|
||||
|
||||
*format-time* ++
|
||||
*format-time*: ++
|
||||
typeof: string ++
|
||||
default: {H} h {M} min ++
|
||||
The format, how the time should be displayed.
|
||||
@ -62,10 +62,14 @@ The *battery* module displays the current capacity and state (eg. charging) of y
|
||||
typeof: string ++
|
||||
Command to execute when middle-clicked on the module using mousewheel.
|
||||
|
||||
*on-click-right* ++
|
||||
*on-click-right*: ++
|
||||
typeof: string ++
|
||||
Command to execute when you right clicked on the module.
|
||||
|
||||
*on-update*: ++
|
||||
typeof: string ++
|
||||
Command to execute when the module is updated.
|
||||
|
||||
*on-scroll-up*: ++
|
||||
typeof: string ++
|
||||
Command to execute when scrolling up on the module.
|
||||
@ -74,11 +78,11 @@ The *battery* module displays the current capacity and state (eg. charging) of y
|
||||
typeof: string ++
|
||||
Command to execute when scrolling down on the module.
|
||||
|
||||
*smooth-scrolling-threshold* ++
|
||||
*smooth-scrolling-threshold*: ++
|
||||
typeof: double ++
|
||||
Threshold to be used when scrolling.
|
||||
|
||||
*tooltip* ++
|
||||
*tooltip*: ++
|
||||
typeof: bool ++
|
||||
default: true ++
|
||||
Option to disable tooltip on hover.
|
||||
|
@ -51,6 +51,10 @@ The *clock* module displays the current date and time.
|
||||
typeof: string ++
|
||||
Command to execute when you right clicked on the module.
|
||||
|
||||
*on-update*: ++
|
||||
typeof: string ++
|
||||
Command to execute when the module is updated.
|
||||
|
||||
*on-scroll-up*: ++
|
||||
typeof: string ++
|
||||
Command to execute when scrolling up on the module.
|
||||
|
@ -44,6 +44,10 @@ The *cpu* module displays the current cpu utilization.
|
||||
typeof: string ++
|
||||
Command to execute when you right clicked on the module.
|
||||
|
||||
*on-update*: ++
|
||||
typeof: string ++
|
||||
Command to execute when the module is updated.
|
||||
|
||||
*on-scroll-up*: ++
|
||||
typeof: string ++
|
||||
Command to execute when scrolling up on the module.
|
||||
|
@ -73,6 +73,10 @@ Addressed by *custom/<name>*
|
||||
typeof: string ++
|
||||
Command to execute when you right clicked on the module.
|
||||
|
||||
*on-update*: ++
|
||||
typeof: string ++
|
||||
Command to execute when the module is updated.
|
||||
|
||||
*on-scroll-up*: ++
|
||||
typeof: string ++
|
||||
Command to execute when scrolling up on the module.
|
||||
|
@ -47,6 +47,10 @@ Addressed by *disk*
|
||||
typeof: string ++
|
||||
Command to execute when you right clicked on the module.
|
||||
|
||||
*on-update*: ++
|
||||
typeof: string ++
|
||||
Command to execute when the module is updated.
|
||||
|
||||
*on-scroll-up*: ++
|
||||
typeof: string ++
|
||||
Command to execute when scrolling up on the module.
|
||||
|
@ -39,6 +39,10 @@ screensaving, also known as "presentation mode".
|
||||
typeof: string ++
|
||||
Command to execute when you right clicked on the module.
|
||||
|
||||
*on-update*: ++
|
||||
typeof: string ++
|
||||
Command to execute when the module is updated.
|
||||
|
||||
*on-scroll-up*: ++
|
||||
typeof: string ++
|
||||
Command to execute when scrolling up on the module.
|
||||
|
@ -46,6 +46,10 @@ Addressed by *memory*
|
||||
typeof: string ++
|
||||
Command to execute when you right clicked on the module.
|
||||
|
||||
*on-update*: ++
|
||||
typeof: string ++
|
||||
Command to execute when the module is updated.
|
||||
|
||||
*on-scroll-up*: ++
|
||||
typeof: string ++
|
||||
Command to execute when scrolling up on the module.
|
||||
|
@ -89,6 +89,10 @@ Addressed by *mpd*
|
||||
typeof: string ++
|
||||
Command to execute when you right clicked on the module.
|
||||
|
||||
*on-update*: ++
|
||||
typeof: string ++
|
||||
Command to execute when the module is updated.
|
||||
|
||||
*on-scroll-up*: ++
|
||||
typeof: string ++
|
||||
Command to execute when scrolling up on the module.
|
||||
|
@ -72,6 +72,10 @@ Addressed by *network*
|
||||
typeof: string ++
|
||||
Command to execute when you right clicked on the module.
|
||||
|
||||
*on-update*: ++
|
||||
typeof: string ++
|
||||
Command to execute when the module is updated.
|
||||
|
||||
*on-scroll-up*: ++
|
||||
typeof: string ++
|
||||
Command to execute when scrolling up on the module.
|
||||
|
@ -67,6 +67,10 @@ Additionally you can control the volume by scrolling *up* or *down* while the cu
|
||||
typeof: string ++
|
||||
Command to execute when you right clicked on the module.
|
||||
|
||||
*on-update*: ++
|
||||
typeof: string ++
|
||||
Command to execute when the module is updated.
|
||||
|
||||
*on-scroll-up*: ++
|
||||
typeof: string ++
|
||||
Command to execute when scrolling up on the module. This replaces the default behaviour of volume control.
|
||||
|
@ -37,6 +37,10 @@ Addressed by *sway/mode*
|
||||
typeof: string ++
|
||||
Command to execute when you right clicked on the module.
|
||||
|
||||
*on-update*: ++
|
||||
typeof: string ++
|
||||
Command to execute when the module is updated.
|
||||
|
||||
*on-scroll-up*: ++
|
||||
typeof: string ++
|
||||
Command to execute when scrolling up on the module.
|
||||
|
@ -37,6 +37,10 @@ Addressed by *sway/window*
|
||||
typeof: string ++
|
||||
Command to execute when you right clicked on the module.
|
||||
|
||||
*on-update*: ++
|
||||
typeof: string ++
|
||||
Command to execute when the module is updated.
|
||||
|
||||
*on-scroll-up*: ++
|
||||
typeof: string ++
|
||||
Command to execute when scrolling up on the module.
|
||||
|
@ -60,6 +60,10 @@ Addressed by *sway/workspaces*
|
||||
default: empty ++
|
||||
Lists workspaces that should always be shown, even when non existent
|
||||
|
||||
*on-update*: ++
|
||||
typeof: string ++
|
||||
Command to execute when the module is updated.
|
||||
|
||||
# FORMAT REPLACEMENTS
|
||||
|
||||
*{value}*: Name of the workspace, as defined by sway.
|
||||
|
@ -70,6 +70,10 @@ Addressed by *temperature*
|
||||
typeof: string ++
|
||||
Command to execute when you right clicked on the module.
|
||||
|
||||
*on-update*: ++
|
||||
typeof: string ++
|
||||
Command to execute when the module is updated.
|
||||
|
||||
*on-scroll-up*: ++
|
||||
typeof: string ++
|
||||
Command to execute when scrolling up on the module.
|
||||
|
@ -20,6 +20,10 @@ Addressed by *tray*
|
||||
typeof: integer ++
|
||||
Defines the spacing between the tray icons.
|
||||
|
||||
*on-update*: ++
|
||||
typeof: string ++
|
||||
Command to execute when the module is updated.
|
||||
|
||||
# EXAMPLES
|
||||
|
||||
```
|
||||
|
@ -31,7 +31,7 @@ ALabel::ALabel(const Json::Value& config, const std::string& name, const std::st
|
||||
}
|
||||
|
||||
auto ALabel::update() -> void {
|
||||
// Nothing here
|
||||
AModule::update();
|
||||
}
|
||||
|
||||
std::string ALabel::getIcon(uint16_t percentage, const std::string& alt, uint16_t max) {
|
||||
|
@ -29,7 +29,10 @@ AModule::~AModule() {
|
||||
}
|
||||
|
||||
auto AModule::update() -> void {
|
||||
// Nothing here
|
||||
// Run user-provided update handler if configured
|
||||
if (config_["on-update"].isString()) {
|
||||
pid_.push_back(util::command::forkExec(config_["on-update"].asString()));
|
||||
}
|
||||
}
|
||||
|
||||
bool AModule::handleToggle(GdkEventButton* const& e) {
|
||||
|
@ -187,6 +187,8 @@ auto waybar::modules::Backlight::update() -> void {
|
||||
}
|
||||
previous_best_ = best == nullptr ? std::nullopt : std::optional{*best};
|
||||
previous_format_ = format_;
|
||||
// Call parent update
|
||||
ALabel::update();
|
||||
}
|
||||
|
||||
template <class ForwardIt>
|
||||
|
@ -202,4 +202,6 @@ auto waybar::modules::Battery::update() -> void {
|
||||
fmt::arg("icon", getIcon(capacity, state)),
|
||||
fmt::arg("time", formatTimeRemaining(time_remaining))));
|
||||
}
|
||||
// Call parent update
|
||||
ALabel::update();
|
||||
}
|
||||
|
@ -54,6 +54,8 @@ auto waybar::modules::Clock::update() -> void {
|
||||
label_.set_tooltip_markup(text);
|
||||
}
|
||||
}
|
||||
// Call parent update
|
||||
ALabel::update();
|
||||
}
|
||||
|
||||
auto waybar::modules::Clock::calendar_text(const waybar_time& wtime) -> std::string {
|
||||
|
@ -18,6 +18,8 @@ auto waybar::modules::Cpu::update() -> void {
|
||||
}
|
||||
label_.set_markup(fmt::format(format_, fmt::arg("load", cpu_load), fmt::arg("usage", cpu_usage)));
|
||||
getState(cpu_usage);
|
||||
// Call parent update
|
||||
ALabel::update();
|
||||
}
|
||||
|
||||
uint16_t waybar::modules::Cpu::getCpuLoad() {
|
||||
|
@ -141,6 +141,8 @@ auto waybar::modules::Custom::update() -> void {
|
||||
event_box_.show();
|
||||
}
|
||||
}
|
||||
// Call parent update
|
||||
ALabel::update();
|
||||
}
|
||||
|
||||
void waybar::modules::Custom::parseOutputRaw() {
|
||||
|
@ -73,4 +73,6 @@ auto waybar::modules::Disk::update() -> void {
|
||||
));
|
||||
}
|
||||
event_box_.show();
|
||||
// Call parent update
|
||||
ALabel::update();
|
||||
}
|
||||
|
@ -32,6 +32,8 @@ auto waybar::modules::IdleInhibitor::update() -> void {
|
||||
if (tooltipEnabled()) {
|
||||
label_.set_tooltip_text(status_);
|
||||
}
|
||||
// Call parent update
|
||||
ALabel::update();
|
||||
}
|
||||
|
||||
bool waybar::modules::IdleInhibitor::handleToggle(GdkEventButton* const& e) {
|
||||
|
@ -42,6 +42,8 @@ auto waybar::modules::Memory::update() -> void {
|
||||
} else {
|
||||
event_box_.hide();
|
||||
}
|
||||
// Call parent update
|
||||
ALabel::update();
|
||||
}
|
||||
|
||||
void waybar::modules::Memory::parseMeminfo() {
|
||||
|
@ -56,6 +56,9 @@ auto waybar::modules::MPD::update() -> void {
|
||||
}
|
||||
|
||||
setLabel();
|
||||
|
||||
// Call parent update
|
||||
ALabel::update();
|
||||
}
|
||||
|
||||
std::thread waybar::modules::MPD::event_listener() {
|
||||
|
@ -315,6 +315,9 @@ auto waybar::modules::Network::update() -> void {
|
||||
label_.set_tooltip_text(text);
|
||||
}
|
||||
}
|
||||
|
||||
// Call parent update
|
||||
ALabel::update();
|
||||
}
|
||||
|
||||
// Based on https://gist.github.com/Yawning/c70d804d4b8ae78cc698
|
||||
|
@ -245,4 +245,7 @@ auto waybar::modules::Pulseaudio::update() -> void {
|
||||
if (tooltipEnabled()) {
|
||||
label_.set_tooltip_text(desc_);
|
||||
}
|
||||
|
||||
// Call parent update
|
||||
ALabel::update();
|
||||
}
|
||||
|
@ -40,6 +40,8 @@ auto Tray::update() -> void {
|
||||
} else {
|
||||
box_.show_all();
|
||||
}
|
||||
// Call parent update
|
||||
AModule::update();
|
||||
}
|
||||
|
||||
} // namespace waybar::modules::SNI
|
||||
|
@ -47,6 +47,8 @@ auto Mode::update() -> void {
|
||||
}
|
||||
event_box_.show();
|
||||
}
|
||||
// Call parent update
|
||||
ALabel::update();
|
||||
}
|
||||
|
||||
} // namespace waybar::modules::sway
|
||||
|
@ -60,6 +60,8 @@ auto Window::update() -> void {
|
||||
if (tooltipEnabled()) {
|
||||
label_.set_tooltip_text(window_);
|
||||
}
|
||||
// Call parent update
|
||||
ALabel::update();
|
||||
}
|
||||
|
||||
std::tuple<std::size_t, int, std::string, std::string> Window::getFocusedNode(
|
||||
|
@ -173,6 +173,8 @@ auto Workspaces::update() -> void {
|
||||
}
|
||||
onButtonReady(*it, button);
|
||||
}
|
||||
// Call parent update
|
||||
AModule::update();
|
||||
}
|
||||
|
||||
Gtk::Button &Workspaces::addButton(const Json::Value &node) {
|
||||
|
@ -36,6 +36,8 @@ auto waybar::modules::Temperature::update() -> void {
|
||||
fmt::arg("temperatureC", temperature_c),
|
||||
fmt::arg("temperatureF", temperature_f),
|
||||
fmt::arg("icon", getIcon(temperature_c, "", max_temp))));
|
||||
// Call parent update
|
||||
ALabel::update();
|
||||
}
|
||||
|
||||
std::tuple<uint16_t, uint16_t> waybar::modules::Temperature::getTemperature() {
|
||||
|
Loading…
Reference in New Issue
Block a user