Added tooltip-padding

This commit is contained in:
Erik Reider 2022-03-21 13:50:46 +01:00
parent e06316c80b
commit 84dc82e1c1
5 changed files with 26 additions and 4 deletions

View File

@ -53,6 +53,7 @@ class UPower : public AModule {
bool hideIfEmpty = true; bool hideIfEmpty = true;
bool tooltip_enabled = true; bool tooltip_enabled = true;
uint tooltip_spacing = 4; uint tooltip_spacing = 4;
uint tooltip_padding = 4;
uint iconSize = 20; uint iconSize = 20;
std::string format = DEFAULT_FORMAT; std::string format = DEFAULT_FORMAT;
std::string format_alt = DEFAULT_FORMAT_ALT; std::string format_alt = DEFAULT_FORMAT_ALT;

View File

@ -18,9 +18,10 @@ class UPowerTooltip : public Gtk::Window {
uint iconSize; uint iconSize;
uint tooltipSpacing; uint tooltipSpacing;
uint tooltipPadding;
public: public:
UPowerTooltip(uint iconSize, uint tooltipSpacing); UPowerTooltip(uint iconSize, uint tooltipSpacing, uint tooltipPadding);
~UPowerTooltip(); ~UPowerTooltip();
uint updateTooltip(Devices& devices); uint updateTooltip(Devices& devices);

View File

@ -42,6 +42,11 @@ compatible devices in the tooltip.
Defines the spacing between the tooltip device name and device battery ++ Defines the spacing between the tooltip device name and device battery ++
status. status.
*tooltip-padding*: ++
typeof: integer ++
default: 4 ++
Defines the spacing between the tooltip window edge and the tooltip content.
# FORMAT REPLACEMENTS # FORMAT REPLACEMENTS
*{percentage}*: The battery capacity in percentage *{percentage}*: The battery capacity in percentage

View File

@ -50,6 +50,11 @@ UPower::UPower(const std::string& id, const Json::Value& config)
tooltip_spacing = config_["tooltip-spacing"].asUInt(); tooltip_spacing = config_["tooltip-spacing"].asUInt();
} }
// Tooltip Padding
if (config_["tooltip-padding"].isUInt()) {
tooltip_padding = config_["tooltip-padding"].asUInt();
}
// Tooltip // Tooltip
if (config_["tooltip"].isBool()) { if (config_["tooltip"].isBool()) {
tooltip_enabled = config_["tooltip"].asBool(); tooltip_enabled = config_["tooltip"].asBool();
@ -57,7 +62,7 @@ UPower::UPower(const std::string& id, const Json::Value& config)
box_.set_has_tooltip(tooltip_enabled); box_.set_has_tooltip(tooltip_enabled);
if (tooltip_enabled) { if (tooltip_enabled) {
// Sets the window to use when showing the tooltip // Sets the window to use when showing the tooltip
upower_tooltip = new UPowerTooltip(iconSize, tooltip_spacing); upower_tooltip = new UPowerTooltip(iconSize, tooltip_spacing, tooltip_padding);
box_.set_tooltip_window(*upower_tooltip); box_.set_tooltip_window(*upower_tooltip);
box_.signal_query_tooltip().connect(sigc::mem_fun(*this, &UPower::show_tooltip_callback)); box_.signal_query_tooltip().connect(sigc::mem_fun(*this, &UPower::show_tooltip_callback));
} }

View File

@ -7,9 +7,19 @@
#include "gtkmm/label.h" #include "gtkmm/label.h"
namespace waybar::modules::upower { namespace waybar::modules::upower {
UPowerTooltip::UPowerTooltip(uint iconSize_, uint tooltipSpacing_) UPowerTooltip::UPowerTooltip(uint iconSize_, uint tooltipSpacing_, uint tooltipPadding_)
: Gtk::Window(), iconSize(iconSize_), tooltipSpacing(tooltipSpacing_) { : Gtk::Window(),
iconSize(iconSize_),
tooltipSpacing(tooltipSpacing_),
tooltipPadding(tooltipPadding_) {
contentBox = new Gtk::Box(Gtk::ORIENTATION_VERTICAL); contentBox = new Gtk::Box(Gtk::ORIENTATION_VERTICAL);
// Sets the Tooltip Padding
contentBox->set_margin_top(tooltipPadding);
contentBox->set_margin_bottom(tooltipPadding);
contentBox->set_margin_left(tooltipPadding);
contentBox->set_margin_right(tooltipPadding);
add(*contentBox); add(*contentBox);
contentBox->show(); contentBox->show();
} }