add manpage

This commit is contained in:
Lena
2024-09-20 19:56:16 +02:00
parent dfa40d6a00
commit d331331b76
3 changed files with 89 additions and 3 deletions

View File

@ -27,6 +27,9 @@ namespace waybar::modules {
util::SleeperThread thread_; util::SleeperThread thread_;
gps_data_t gps_data_; gps_data_t gps_data_;
std::string state_; std::string state_;
bool hideDisconnected = true;
bool hideNoFix = false;
}; };
} // namespace waybar::modules } // namespace waybar::modules

View File

@ -24,14 +24,81 @@ libgps lives in:
# CONFIGURATION # CONFIGURATION
*format*: ++
typeof: string ++
default: {glyph} ++
The text format.
*tooltip*: ++
typeof: bool ++
default: true ++
Option to disable tooltip on hover.
*tooltip-format*: ++
typeof: string ++
default: Games running: {glyph} ++
The text format of the tooltip.
*interval*: ++
typeof: integer ++
default: 5 ++
The interval in which the GPS information gets polled (e.g. fix status).
*hide-disconnected*: ++
typeof: bool ++
default: true ++
Defines if the module should be hidden if there is no GPS receiver.
*hide-no-fix*: ++
typeof: bool ++
default: false ++
Defines if the module should be hidden if there is no GPS fix.
# FORMAT REPLACEMENTS
*{mode}*: Fix mode
*{status}*: Technology used for GPS fix. Not all GPS receivers report this.
*{latitude}*: Latitude, decimal degrees. Can be NaN.
*{latitude_error}*: Latitude uncertainty, meters. Can be NaN.
*{longitude}*: Longitude, decimal degrees. Can be NaN.
*{longitude_error}*: Longitude uncertainty, meters. Can be NaN.
*{altitude_hae}*: Altitude, height above ellipsoid, meters. Can be NaN.
*{altitude_msl}*: Longitude, MSL, meters. Can be NaN.
*{altitude_error}*: Altitude uncertainty, meters. Can be NaN.
*{speed}*: Speed over ground, meters/sec. Can be NaN.
*{speed_error}*: Speed uncertainty, meters/sec. Can be NaN.
*{climb}*: Vertical speed, meters/sec. Can be NaN.
*{climb_error}*: Vertical speed uncertainty, meters/sec. Can be NaN.
*{satellites_visible}*: Number of satellites visible from the GPS receiver.
*{satellites_used}*: Number of satellites used for the GPS fix.
# EXAMPLES # EXAMPLES
``` ```
"gps": { "gps": {
"format": "{mode}",
}, "format-no-fix": "No fix",
"format-fix-3d": "{status}",
"tooltip-format": "{mode}",
"tooltip-format-no-fix": "{satellites_visible} satellites visible",
"tooltip-format-fix-2d": "{satellites_used}/{satellites_visible} satellites used",
"tooltip-format-fix-3d": "Altitude: {altitude_hae}m",
"hide-disconnected": false
}
``` ```
# STYLE # STYLE

View File

@ -20,7 +20,7 @@ namespace {
waybar::modules::Gps::Gps(const std::string& id, const Json::Value& config) waybar::modules::Gps::Gps(const std::string& id, const Json::Value& config)
: ALabel(config, "gps", id, "{}", 1) { : ALabel(config, "gps", id, "{}", 5) {
thread_ = [this] { thread_ = [this] {
dp.emit(); dp.emit();
thread_.sleep_for(interval_); thread_.sleep_for(interval_);
@ -30,6 +30,14 @@ waybar::modules::Gps::Gps(const std::string& id, const Json::Value& config)
throw std::runtime_error("Can't open gpsd socket"); throw std::runtime_error("Can't open gpsd socket");
} }
if (config_["hide-disconnected"].isBool()) {
hideDisconnected = config_["hide-disconnected"].asBool();
}
if (config_["hide-no-fix"].isBool()) {
hideNoFix = config_["hide-no-fix"].asBool();
}
gps_stream(&gps_data_, WATCH_ENABLE, NULL); gps_stream(&gps_data_, WATCH_ENABLE, NULL);
} }
@ -89,6 +97,14 @@ auto waybar::modules::Gps::update() -> void {
throw std::runtime_error("Can't read data from gpsd."); throw std::runtime_error("Can't read data from gpsd.");
} }
if ((gps_data_.fix.mode == MODE_NOT_SEEN && hideDisconnected) || (gps_data_.fix.mode == MODE_NO_FIX && hideNoFix)) {
event_box_.set_visible(false);
return;
}
// Show the module
if (!event_box_.get_visible()) event_box_.set_visible(true);
std::string tooltip_format; std::string tooltip_format;
if (!alt_) { if (!alt_) {