Skip to content

Commit

Permalink
add manpage
Browse files Browse the repository at this point in the history
  • Loading branch information
adryzz committed Nov 8, 2024
1 parent 36ba58e commit 3414c10
Show file tree
Hide file tree
Showing 3 changed files with 89 additions and 3 deletions.
3 changes: 3 additions & 0 deletions include/modules/gps.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ namespace waybar::modules {
util::SleeperThread thread_;
gps_data_t gps_data_;
std::string state_;

bool hideDisconnected = true;
bool hideNoFix = false;
};

} // namespace waybar::modules
71 changes: 69 additions & 2 deletions man/waybar-gps.5.scd
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,81 @@ libgps lives in:

# 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

```
"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

Expand Down
18 changes: 17 additions & 1 deletion src/modules/gps.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ namespace {


waybar::modules::Gps::Gps(const std::string& id, const Json::Value& config)
: ALabel(config, "gps", id, "{}", 1) {
: ALabel(config, "gps", id, "{}", 5) {
thread_ = [this] {
dp.emit();
thread_.sleep_for(interval_);
Expand All @@ -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");
}

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);
}

Expand Down Expand Up @@ -89,6 +97,14 @@ auto waybar::modules::Gps::update() -> void {
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;

if (!alt_) {
Expand Down

0 comments on commit 3414c10

Please sign in to comment.