From a333c1011a4d0e32c48de53e43dc62900d2fe6f2 Mon Sep 17 00:00:00 2001
From: Chris Cummer
Date: Mon, 9 Oct 2023 11:02:54 -0700
Subject: [PATCH] Deployed a04361a2 with MkDocs version: 1.4.2
---
index.html | 3 +
overrides/home.html | 3 +
search/search_index.json | 2 +-
sitemap.xml | 234 ++++++++++++++++-----------------
sitemap.xml.gz | Bin 1117 -> 1115 bytes
sponsors/sponsoring/index.html | 7 +
6 files changed, 131 insertions(+), 118 deletions(-)
diff --git a/index.html b/index.html
index 2477d8d3..734ffdf5 100644
--- a/index.html
+++ b/index.html
@@ -487,6 +487,9 @@ Sponsored by
+
+
+
To sponsor the development of WTFutil, click here.
diff --git a/overrides/home.html b/overrides/home.html
index 2a287273..041ac89b 100644
--- a/overrides/home.html
+++ b/overrides/home.html
@@ -163,6 +163,9 @@
Sponsored by
+
+
+
To sponsor the development of WTFutil, click here.
diff --git a/search/search_index.json b/search/search_index.json
index 6aa0c456..dfa25d8b 100644
--- a/search/search_index.json
+++ b/search/search_index.json
@@ -1 +1 @@
-{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"","title":"Home"},{"location":"glossary/","text":"Glossary Module A discrete unit of data collection and display. A data interface concept. A package inside the app. Examples: New Relic , Git , Weather . Widget The onscreen representation of a Module. The widget is responsible for being the interface between the app and the data collection. Widgets are defined by a required widget.go file in a Module. WTF An acronym for \"What The Fsck?\", as in \"What the fsck are all these browser tabs open for?\" and \"What the fsck am I doing today?\" (And if you're not a fan of that, then it stands for \"What are The Facts?\", or \"Whiskey Tango Foxtrot\", or \"Where to, Frodo?\". It's up to you.)","title":"Glossary"},{"location":"glossary/#glossary","text":"","title":"Glossary"},{"location":"glossary/#module","text":"A discrete unit of data collection and display. A data interface concept. A package inside the app. Examples: New Relic , Git , Weather .","title":"Module"},{"location":"glossary/#widget","text":"The onscreen representation of a Module. The widget is responsible for being the interface between the app and the data collection. Widgets are defined by a required widget.go file in a Module.","title":"Widget"},{"location":"glossary/#wtf","text":"An acronym for \"What The Fsck?\", as in \"What the fsck are all these browser tabs open for?\" and \"What the fsck am I doing today?\" (And if you're not a fan of that, then it stands for \"What are The Facts?\", or \"Whiskey Tango Foxtrot\", or \"Where to, Frodo?\". It's up to you.)","title":"WTF"},{"location":"installation/","text":"Installation Homebrew The easiest way to install from Homebrew is of course \u276f brew install wtfutil Or, to stay up-to-date with the very latest release at all times, tap the cask that is generated on each new release: \u276f brew tap wtfutil/wtfutil \u276f brew install wtfutil \u276f wtfutil As a Binary Grab the latest version from the Releases page . Expand it, and cd into the resulting directory. Then run: \u276f ./wtfutil and that should also do it. From Source Download the source code repo and install the dependencies: # Set the Go proxy variable to GoCenter \u276f export GOPROXY = \"https://gocenter.io\" # Enable Go modules \u276f export GO111MODULE = on \u276f go get -u github.com/wtfutil/wtf \u276f cd $GOPATH /src/github.com/wtfutil/wtf \u276f make install \u276f make run and that should do it.","title":"Installation"},{"location":"installation/#installation","text":"","title":"Installation"},{"location":"installation/#homebrew","text":"The easiest way to install from Homebrew is of course \u276f brew install wtfutil Or, to stay up-to-date with the very latest release at all times, tap the cask that is generated on each new release: \u276f brew tap wtfutil/wtfutil \u276f brew install wtfutil \u276f wtfutil","title":"Homebrew"},{"location":"installation/#as-a-binary","text":"Grab the latest version from the Releases page . Expand it, and cd into the resulting directory. Then run: \u276f ./wtfutil and that should also do it.","title":"As a Binary"},{"location":"installation/#from-source","text":"Download the source code repo and install the dependencies: # Set the Go proxy variable to GoCenter \u276f export GOPROXY = \"https://gocenter.io\" # Enable Go modules \u276f export GO111MODULE = on \u276f go get -u github.com/wtfutil/wtf \u276f cd $GOPATH /src/github.com/wtfutil/wtf \u276f make install \u276f make run and that should do it.","title":"From Source"},{"location":"quick_start/","text":"Quick Start \u276f brew install wtfutil or Download the stand-alone, compiled binary. Unzip the downloaded file. From the command line, cd into the newly-created /wtf directory. From the command line, run the app: ./wtfutil This should launch the app in your terminal using the default simple configuration. See Configuration for more details. See Installation for additional installation options. Command-line Options --config, -c Allows you to define a custom config file to use. See Configuration for more details. --help, -h Shows help information for the command-line arguments that WTF takes. --module, -m Shows help information for the specific named module, if that module supports help text. Example: wtf --module=todo . --version, -v Shows version info. Keyboard Commands Key: Q or q Action: Quit WTF. Key: Ctrl-R Action: Force-refresh the data for all modules. Key: Esc Action: Remove focus the currently-focused widget. Key: Tab Action: Move between focusable modules ( Shift-Tab to move backwards).","title":"Quick Start"},{"location":"quick_start/#quick-start","text":"\u276f brew install wtfutil or Download the stand-alone, compiled binary. Unzip the downloaded file. From the command line, cd into the newly-created /wtf directory. From the command line, run the app: ./wtfutil This should launch the app in your terminal using the default simple configuration. See Configuration for more details. See Installation for additional installation options.","title":"Quick Start"},{"location":"quick_start/#command-line-options","text":"--config, -c Allows you to define a custom config file to use. See Configuration for more details. --help, -h Shows help information for the command-line arguments that WTF takes. --module, -m Shows help information for the specific named module, if that module supports help text. Example: wtf --module=todo . --version, -v Shows version info.","title":"Command-line Options"},{"location":"quick_start/#keyboard-commands","text":"Key: Q or q Action: Quit WTF. Key: Ctrl-R Action: Force-refresh the data for all modules. Key: Esc Action: Remove focus the currently-focused widget. Key: Tab Action: Move between focusable modules ( Shift-Tab to move backwards).","title":"Keyboard Commands"},{"location":"uninstallation/","text":"Uninstallation Homebrew \u276f brew uninstall wtfutil Remove the Binary and Configuration WTF ships as a single binary named wtfutil . Assuming you have installed the binary, run: \u276f rm $( which wtfutil ) If you have configured WTF, you will also want to delete your configs: \u276f rm -r ~/.config/wtf and that should also do it.","title":"Uninstallation"},{"location":"uninstallation/#uninstallation","text":"","title":"Uninstallation"},{"location":"uninstallation/#homebrew","text":"\u276f brew uninstall wtfutil","title":"Homebrew"},{"location":"uninstallation/#remove-the-binary-and-configuration","text":"WTF ships as a single binary named wtfutil . Assuming you have installed the binary, run: \u276f rm $( which wtfutil ) If you have configured WTF, you will also want to delete your configs: \u276f rm -r ~/.config/wtf and that should also do it.","title":"Remove the Binary and Configuration"},{"location":"blog/2019-07-09-rss-for-releases/","text":"2019-07-09 17:07:58-07:00 With the release of v0.14.0 , WTF has the ability to track and display RSS and Atom feeds via the FeedReader module . And if you're reading this, you know that wtfutil.com now has a blog, and that blog is available via RSS at https://wtfutil.com/blog/index.xml . Putting the two together, you now have a great way to keep up-to-date on the most recent WTF releases, because all of them will be announced, with changlog details, on this very blog. To configure WTF to do so, add the following feedreader configuration to your config.yml file: feedreader: enabled: true feeds: - https://wtfutil.com/blog/index.xml feedLimit: 10 position: top: 2 left: 1 width: 2 height: 1 updateInterval: 14400 Modify the position values accordingly for where you want it to appear onscreen. feedLimit limits the number of stories displayed for any given feed. Without a feed limit, FeedReader will display all the stories returned by the feed. I've set updateInterval to a fairly reasonable 14,400 seconds, or four hours, because most RSS content doesn't change that often.","title":"Using WTF's FeedReader to Track WTF Releases"},{"location":"blog/2019-07-09-v0-14-0/","text":"2019-07-09 14:41:58-07:00 v0.14.0 contains the following changes: CmdRunner module now supports custom titles FeedReader module added Cryptolive module works again gCal module now supports setting an explicit time zone via the \"timezone\" config attribute Misconfigured module positions in config.yaml now attempt to provide informative error messages on launch","title":"v0.14.0 Released"},{"location":"blog/2019-07-10-wtfutil-release/","text":"2019-07-10 10:09:34-07:00 With the release of v0.15.0 , the installed binary has been renamed from wtf to wtfutil . To execute it, you must now use: wtfutil The name has changed because calling it wtf caused a collision with the venerable and amusing bsd-wtf utility. This wasn't a problem back when there was only one person using WTF and no one else knew about it, but with the rise in popularity this collision has been causing problems for some people. Given that bsd-wtf was created long before WTF, it only seems proper to abdicate the name. (And if you want to check out the original wtf , it's available via Homebrew on macOS, and presumably via apt-get on Linux).","title":"Binary Renamed to 'wtfutil'"},{"location":"blog/2019-07-12-homebrew-installation/","text":"2019-07-12 07:27:20-07:00 As of today WTF can be installed on macOS using Homebrew : brew tap wtfutil/wtfutil brew install wtfutil wtfutil If everything goes according to plan, you should now find wtfutil on your system as an executable binary: \u276f which wtfutil /usr/local/bin/wtfutil \u276f ls /usr/local/bin/wtfutil lrwxr-xr-x 1 xxxxxx admin 36 11 Jul 17 :29 /usr/local/bin/wtfutil -> ../Cellar/wtfutil/0.16.1/bin/wtfutil","title":"Installing With Homebrew"},{"location":"blog/2019-07-16-v0-17-1/","text":"2019-07-16 18:05:18-07:00 v0.17.1 contains the following changes: Fixes an issue with the default config file not being created on first run","title":"v0.17.1 Released"},{"location":"blog/2019-07-20-v0-18-0/","text":"2019-07-20 13:16:27-07:00 v0.18.0 contains the following changes: Adds a Google Analytics module Fixes a bug with config file creation that would happen if the ~/.config directory did not already exist","title":"v0.18.0 Released"},{"location":"blog/2019-07-27-v0-19-0/","text":"2019-07-27 20:13:23-07:00 v0.19.0 contains the following changes: \u2620\ufe0f Breaking Change HIBP module now requires an API key to operate. See Authentication and the Have I Been Pwned API for more details, #508 by @senorprogrammer \u26a1\ufe0f Added OpsGenie module now supports \"region\" configuration option (\"us\" or \"eu\"), by @l13t \ud83d\udc1e Fixed Fixes the error message shown when an explicitly-specified custom config file cannot be found or cannot be read, by @senorprogrammer Rollbar module works again, #507 by @Seanstoppable The default config that gets installed on first run is much improved, #504 by @senorprogrammer Default config file is now chmod 0600 to ensure only the owning user can read it, by @senorprogrammer","title":"v0.19.0 Released"},{"location":"blog/2019-07-27-v0-19-0/#breaking-change","text":"HIBP module now requires an API key to operate. See Authentication and the Have I Been Pwned API for more details, #508 by @senorprogrammer","title":"\u2620\ufe0f Breaking Change"},{"location":"blog/2019-07-27-v0-19-0/#added","text":"OpsGenie module now supports \"region\" configuration option (\"us\" or \"eu\"), by @l13t","title":"\u26a1\ufe0f Added"},{"location":"blog/2019-07-27-v0-19-0/#fixed","text":"Fixes the error message shown when an explicitly-specified custom config file cannot be found or cannot be read, by @senorprogrammer Rollbar module works again, #507 by @Seanstoppable The default config that gets installed on first run is much improved, #504 by @senorprogrammer Default config file is now chmod 0600 to ensure only the owning user can read it, by @senorprogrammer","title":"\ud83d\udc1e Fixed"},{"location":"blog/2019-07-31-v0-19-1/","text":"2019-07-31 15:06:11-07:00 v0.19.1 contains the following changes: \u26a1\ufe0f Added New versions now include binaries built for arm and arm64 architectures","title":"v0.19.1 Released"},{"location":"blog/2019-07-31-v0-19-1/#added","text":"New versions now include binaries built for arm and arm64 architectures","title":"\u26a1\ufe0f Added"},{"location":"blog/2019-08-20-v0-20-0/","text":"2019-08-20 07:40:25-07:00 v0.20.0 contains the following changes: \u26a1\ufe0f Added Kubernetes module \ud83d\udc1e Fixed Tab and Esc keys work properly in modal dialogs wtfutil -m flag now works with non-enabled modules Jenkins job filtering preserved across redraws","title":"v0.20.0 Released"},{"location":"blog/2019-08-29-v0-21-0/","text":"2019-08-29 21:48:13-07:00 v0.21.0 contains the following changes: \u26a1\ufe0f Added Power Soure module support added for FreeBSD, by @hxw \ud83d\udc1e Fixed Power indicator displays \u221e on Linux when fully-charged and on AC power, #534 by @Seanstoppable Default background color is now the terminal background color, making transparency support possible in MacOS and Linux, by @Seanstoppable xdg-open now used as the opener for HTTP/HTTPS by default, by @hxw Transmission port over-ride now working, #565 by @Seanstoppable Default config is now created on first run, #553 by @senorprogrammer","title":"v0.21.0 Released"},{"location":"blog/2019-08-29-v0-21-0/#added","text":"Power Soure module support added for FreeBSD, by @hxw","title":"\u26a1\ufe0f Added"},{"location":"blog/2019-08-29-v0-21-0/#fixed","text":"Power indicator displays \u221e on Linux when fully-charged and on AC power, #534 by @Seanstoppable Default background color is now the terminal background color, making transparency support possible in MacOS and Linux, by @Seanstoppable xdg-open now used as the opener for HTTP/HTTPS by default, by @hxw Transmission port over-ride now working, #565 by @Seanstoppable Default config is now created on first run, #553 by @senorprogrammer","title":"\ud83d\udc1e Fixed"},{"location":"blog/2019-09-12-v0-22-0/","text":"2019-09-12 03:10:09-07:00 \u26a1\ufe0f Added Arpansagovau (arpansa.gov.au) module added, by @jeffz 'calendarReadLevel' setting added to gCal module, by @mikkeljuhl Todoist module now catches and displays API errors, by @Seanstoppable TravisCI sort orders now configurable, by @nyourchuck Google Analytics module now supports real-time metrics, #581 by @Ameobea Colors in configuration can now be defined using long-form hex, i.e.: #ff0000, by @Seanstoppable GitHub module pull requests are now selectable and openable via keyboard, #547 by @Midnight-Conqueror Docker module added, #594 by @v-braun NewRelic module now supports displaying data from multiple apps, #471 by @ChrisDBrown and @Seanstoppable Digital Clock module added, by @Narengowda \ud83d\udc1e Fixed ScrollableWidget bounds checking error fixed, #578 by @Seanstoppable Now properly URL-decodes Jenkins branch names, #575 by @lesteenman Jira column sizes render properly, #574 by @lesteenman Todoist module updated to latest API version, by @Seanstoppable gCal colour highlighting working again, #611 by @senorprogrammer Per-module background and text colour settings working again, #568 by @Seanstoppable Git module no longer forces sorting of repositories, #608 by @Seanstoppable GitHub PR icons render properly without phantom characters, by @Midnight-Conqueror GitLab configuration now takes a list of project paths, #566 by @senorprogrammer Kubernetes configuration segfault fixed, #549 by @ibaum","title":"v0.22.0 Released"},{"location":"blog/2019-09-12-v0-22-0/#added","text":"Arpansagovau (arpansa.gov.au) module added, by @jeffz 'calendarReadLevel' setting added to gCal module, by @mikkeljuhl Todoist module now catches and displays API errors, by @Seanstoppable TravisCI sort orders now configurable, by @nyourchuck Google Analytics module now supports real-time metrics, #581 by @Ameobea Colors in configuration can now be defined using long-form hex, i.e.: #ff0000, by @Seanstoppable GitHub module pull requests are now selectable and openable via keyboard, #547 by @Midnight-Conqueror Docker module added, #594 by @v-braun NewRelic module now supports displaying data from multiple apps, #471 by @ChrisDBrown and @Seanstoppable Digital Clock module added, by @Narengowda","title":"\u26a1\ufe0f Added"},{"location":"blog/2019-09-12-v0-22-0/#fixed","text":"ScrollableWidget bounds checking error fixed, #578 by @Seanstoppable Now properly URL-decodes Jenkins branch names, #575 by @lesteenman Jira column sizes render properly, #574 by @lesteenman Todoist module updated to latest API version, by @Seanstoppable gCal colour highlighting working again, #611 by @senorprogrammer Per-module background and text colour settings working again, #568 by @Seanstoppable Git module no longer forces sorting of repositories, #608 by @Seanstoppable GitHub PR icons render properly without phantom characters, by @Midnight-Conqueror GitLab configuration now takes a list of project paths, #566 by @senorprogrammer Kubernetes configuration segfault fixed, #549 by @ibaum","title":"\ud83d\udc1e Fixed"},{"location":"blog/2019-10-11-v0-23-0/","text":"2019-10-11 12:22:15-07:00 WTF v0.23.0 contains the following changes: \u26a1\ufe0f Added Azure DevOps module added, by @v-braun Dev.to module added, by @VictorAvelar TravisCI module now supports enterprise endpoints, #652 by @scw007 Subreddit module added, by @lawrencecraft gCal module now supports a hourFormat setting for defining whether to display 12 or 24-hour times, #665 by @senorprogrammer Scarf installation instructions added to README, by @aviaviavi Spotify widget now supports colour themes, #659 by @Tardog Buildkite module added, by @jmks Improvements to the CmdRunner module, by @noxer \ud83d\udc1e Fixed gCal calendar event time colour can now be changed by setting the eventTime configuration setting, #638 by @indradhanush Clocks now obeys global row colour settings, #658 by @senorprogrammer Transmission module no longer blocks rendering when a Transmission daemon cannot be found, #661 by @senorprogrammer Trello module now respects project list order, #664 by @Seanstoppable Todo module now respects checkbox settings, #616 by @Seanstoppable Todoist module now properly handles todo items with due date and times, #645 by @massawho Invalid pointer error in Azure DevOps fixed by @Boot-Error Renamed slice error in Dev fixed by @Boot-Error \ud83d\udc4d Updated Updated go-datadog-api to version v2.24.0 Updated go-github to version 26.13 Updated watcher to version 1.0.7 Updated google-api-go-client to version 0.10.0 Updated chroma to version 0.6.7 Updated go-gitlab to version 0.20.1 Updated trello to version 1.4.0 Updated tcell to version 1.3.0 Updated gopsutil to version 2.19.9+incompatible Updated yaml to version 2.2.4","title":"v0.23.0 Released"},{"location":"blog/2019-10-11-v0-23-0/#added","text":"Azure DevOps module added, by @v-braun Dev.to module added, by @VictorAvelar TravisCI module now supports enterprise endpoints, #652 by @scw007 Subreddit module added, by @lawrencecraft gCal module now supports a hourFormat setting for defining whether to display 12 or 24-hour times, #665 by @senorprogrammer Scarf installation instructions added to README, by @aviaviavi Spotify widget now supports colour themes, #659 by @Tardog Buildkite module added, by @jmks Improvements to the CmdRunner module, by @noxer","title":"\u26a1\ufe0f Added"},{"location":"blog/2019-10-11-v0-23-0/#fixed","text":"gCal calendar event time colour can now be changed by setting the eventTime configuration setting, #638 by @indradhanush Clocks now obeys global row colour settings, #658 by @senorprogrammer Transmission module no longer blocks rendering when a Transmission daemon cannot be found, #661 by @senorprogrammer Trello module now respects project list order, #664 by @Seanstoppable Todo module now respects checkbox settings, #616 by @Seanstoppable Todoist module now properly handles todo items with due date and times, #645 by @massawho Invalid pointer error in Azure DevOps fixed by @Boot-Error Renamed slice error in Dev fixed by @Boot-Error","title":"\ud83d\udc1e Fixed"},{"location":"blog/2019-10-11-v0-23-0/#updated","text":"Updated go-datadog-api to version v2.24.0 Updated go-github to version 26.13 Updated watcher to version 1.0.7 Updated google-api-go-client to version 0.10.0 Updated chroma to version 0.6.7 Updated go-gitlab to version 0.20.1 Updated trello to version 1.4.0 Updated tcell to version 1.3.0 Updated gopsutil to version 2.19.9+incompatible Updated yaml to version 2.2.4","title":"\ud83d\udc4d Updated"},{"location":"blog/2019-11-10-v0-24-0/","text":"2019-11-10 11:32:32-08:00 WTF v0.24.0 contains the following changes: \u26a1\ufe0f Added Proper, usable Docker file added, by @Boot-Error GitLab module displays issues assigned to, and opened by, the user, by @caalberts TravisCI now checks for uncommitted vendor changes, by @indradhanush Football module added, by @C123R resourceuseage now supports a cpuCombined setting, by @madepolli Twitter Stats module added, by @Ameobea \ud83d\udc1e Fixed Github PRs do not count against issues, by @alexfornuto Todo scrolling now works properly, #707 by 3mard Configs with a missing color key now load properly, #718 and #730 by @senorprogrammer","title":"v0.24.0 Released"},{"location":"blog/2019-11-10-v0-24-0/#added","text":"Proper, usable Docker file added, by @Boot-Error GitLab module displays issues assigned to, and opened by, the user, by @caalberts TravisCI now checks for uncommitted vendor changes, by @indradhanush Football module added, by @C123R resourceuseage now supports a cpuCombined setting, by @madepolli Twitter Stats module added, by @Ameobea","title":"\u26a1\ufe0f Added"},{"location":"blog/2019-11-10-v0-24-0/#fixed","text":"Github PRs do not count against issues, by @alexfornuto Todo scrolling now works properly, #707 by 3mard Configs with a missing color key now load properly, #718 and #730 by @senorprogrammer","title":"\ud83d\udc1e Fixed"},{"location":"blog/2020-02-04-v0-26-0/","text":"2020-02-04 15:06:14-08:00 WTF v0.26.0 contains the following changes: \u26a1\ufe0f Added myName config setting added to PagerDuty module, by @senorprogrammer withDate config setting added to Digital Clock module, by @senorprogrammer Twitch module added, by @bjoernw HackerNews module now opens HN comments when there is no alternative external link, #758 by @senorprogrammer gCal module now now allows users to hide all-day events, #733 by @senorprogrammer SpaceX module added, by @bjoernw Support for obeying XDG_CONFIG_HOME when set, #699 by @Seanstoppable \ud83d\udc1e Fixed Module templating working again, #748 by @senorprogrammer CmdRunner title spacing issue fixed, #784 by @senorprogrammer Colors in cmdrunner fixed when using nodejs chalk et al., #618 by @Seanstoppable Docker buid instructions updated and improved, by @firecat53 Kubernetes module can now be used with multiple contexts, #809 by @davidsbond \ud83d\udc4d Updated Updated digitalocean/godo from 1.22.0 to 1.30.0 Updated google.golang.org/api from 0.14.0 to 0.15.0 Updated alecthomas/chroma from 0.7.0 to 0.7.1 Updated pkg/errors from 0.8.1 to 0.9.1 Updated xanzy/go-gitlab from 0.22.2 to 0.23.0 Updated shirou/gopsutil from 2.19.11 to 2.20.1 Updated zorkian/go-datadog-api from 2.25.0 to 2.26.0 Updated gopkg.in/yaml.v2 from 2.2.7 to 2.2.8 Updated nicklaw5/helix from 0.5.4 to 0.5.5","title":"v0.26.0 Released"},{"location":"blog/2020-02-04-v0-26-0/#added","text":"myName config setting added to PagerDuty module, by @senorprogrammer withDate config setting added to Digital Clock module, by @senorprogrammer Twitch module added, by @bjoernw HackerNews module now opens HN comments when there is no alternative external link, #758 by @senorprogrammer gCal module now now allows users to hide all-day events, #733 by @senorprogrammer SpaceX module added, by @bjoernw Support for obeying XDG_CONFIG_HOME when set, #699 by @Seanstoppable","title":"\u26a1\ufe0f Added"},{"location":"blog/2020-02-04-v0-26-0/#fixed","text":"Module templating working again, #748 by @senorprogrammer CmdRunner title spacing issue fixed, #784 by @senorprogrammer Colors in cmdrunner fixed when using nodejs chalk et al., #618 by @Seanstoppable Docker buid instructions updated and improved, by @firecat53 Kubernetes module can now be used with multiple contexts, #809 by @davidsbond","title":"\ud83d\udc1e Fixed"},{"location":"blog/2020-02-04-v0-26-0/#updated","text":"Updated digitalocean/godo from 1.22.0 to 1.30.0 Updated google.golang.org/api from 0.14.0 to 0.15.0 Updated alecthomas/chroma from 0.7.0 to 0.7.1 Updated pkg/errors from 0.8.1 to 0.9.1 Updated xanzy/go-gitlab from 0.22.2 to 0.23.0 Updated shirou/gopsutil from 2.19.11 to 2.20.1 Updated zorkian/go-datadog-api from 2.25.0 to 2.26.0 Updated gopkg.in/yaml.v2 from 2.2.7 to 2.2.8 Updated nicklaw5/helix from 0.5.4 to 0.5.5","title":"\ud83d\udc4d Updated"},{"location":"blog/2020-02-23-v0-27-0/","text":"2020-02-23 07:09:07-08:00 WTF v0.27.0 contains the following changes: \u26a1\ufe0f Added GitLab Todo module added, by @elliotrushton CDS module added, by @yesnault \ud83d\udc1e Fixed The vendor directory has been removed, #792 by @bjoernw \ud83d\udc4d Updated Updated zorkian/go-datadog-api from 2.26.0+incompatible to 2.27.0+incompatible Updated google.golang.org/api from 0.15.0 to 0.17.0 Updated github.com/nicklaw5/helix from 0.5.5 to 0.5.7 Updated xanzy/go-gitlab from 0.23.0 to 0.26.0 Updated stretchr/testify from o.4.0 to 0.5.1","title":"v0.27.0 Released"},{"location":"blog/2020-02-23-v0-27-0/#added","text":"GitLab Todo module added, by @elliotrushton CDS module added, by @yesnault","title":"\u26a1\ufe0f Added"},{"location":"blog/2020-02-23-v0-27-0/#fixed","text":"The vendor directory has been removed, #792 by @bjoernw","title":"\ud83d\udc1e Fixed"},{"location":"blog/2020-02-23-v0-27-0/#updated","text":"Updated zorkian/go-datadog-api from 2.26.0+incompatible to 2.27.0+incompatible Updated google.golang.org/api from 0.15.0 to 0.17.0 Updated github.com/nicklaw5/helix from 0.5.5 to 0.5.7 Updated xanzy/go-gitlab from 0.23.0 to 0.26.0 Updated stretchr/testify from o.4.0 to 0.5.1","title":"\ud83d\udc4d Updated"},{"location":"blog/2020-03-15-v0-28-0/","text":"2020-03-15 09:52:57-07:00 WTF v0.28.0 contains the following changes: \u26a1\ufe0f Added Support for customizing CPU, Mem, and Swap display in ResourceUsage, by @leterio \ud83d\udc4d Updated Now prefers Go 1.14 for compilation (should still work under 1.13 however) Updated shirou/gopsutil from 2.20.1+incompatible to 2.20.2+incompatible Updated google.golang.org/api from 0.17.0 to 0.20.0 Updated digitalocean/godo from 1.30.0 to 1.32.0 Updated xanzy/go-gitlab from 0.26.0 to 0.28.0 Updated adlio/trello from 1.6.0 to 1.7.0 Updated zorkian/go-datadog-api from 2.27.0+incompatible to 2.28.0+incompatible","title":"v0.28.0 Released"},{"location":"blog/2020-03-15-v0-28-0/#added","text":"Support for customizing CPU, Mem, and Swap display in ResourceUsage, by @leterio","title":"\u26a1\ufe0f Added"},{"location":"blog/2020-03-15-v0-28-0/#updated","text":"Now prefers Go 1.14 for compilation (should still work under 1.13 however) Updated shirou/gopsutil from 2.20.1+incompatible to 2.20.2+incompatible Updated google.golang.org/api from 0.17.0 to 0.20.0 Updated digitalocean/godo from 1.30.0 to 1.32.0 Updated xanzy/go-gitlab from 0.26.0 to 0.28.0 Updated adlio/trello from 1.6.0 to 1.7.0 Updated zorkian/go-datadog-api from 2.27.0+incompatible to 2.28.0+incompatible","title":"\ud83d\udc4d Updated"},{"location":"blog/2020-04-26-v0-29-0/","text":"2020-04-26 15:39:14-07:00 WTF v0.29.0 contains the following changes: \u26a1\ufe0f Added gCal module now has a showEndTime boolean option for displaying meeting end times, by @acaloiaro Pi-hole module added, by @jonhadfield \ud83d\udc1e Fixed Docker module subheading display, #847 by @senorprogrammer Improved display of currencies for the Exchange Rate module, by @indradhanush \ud83d\udc4d Updated Updated nicklaw5/helix from 0.5.7 to 0.5.8 Updated digitalocean/godo from 1.34.0 to 1.35.1 Updated xanzy/go-gitlab from 0.28.0 to 0.31.0 Updated shirou/gopsutil from 2.20.2+incompatible to 2.20.3+incompatible Updated alecthomas/chroma from 0.7.1 to 0.7.2 Updated google.golang.org/api from 0.21.0 to 0.22.0","title":"v0.29.0 Released"},{"location":"blog/2020-04-26-v0-29-0/#added","text":"gCal module now has a showEndTime boolean option for displaying meeting end times, by @acaloiaro Pi-hole module added, by @jonhadfield","title":"\u26a1\ufe0f Added"},{"location":"blog/2020-04-26-v0-29-0/#fixed","text":"Docker module subheading display, #847 by @senorprogrammer Improved display of currencies for the Exchange Rate module, by @indradhanush","title":"\ud83d\udc1e Fixed"},{"location":"blog/2020-04-26-v0-29-0/#updated","text":"Updated nicklaw5/helix from 0.5.7 to 0.5.8 Updated digitalocean/godo from 1.34.0 to 1.35.1 Updated xanzy/go-gitlab from 0.28.0 to 0.31.0 Updated shirou/gopsutil from 2.20.2+incompatible to 2.20.3+incompatible Updated alecthomas/chroma from 0.7.1 to 0.7.2 Updated google.golang.org/api from 0.21.0 to 0.22.0","title":"\ud83d\udc4d Updated"},{"location":"blog/2020-09-23-v0-32-0/","text":"2020-09-23 21:11:12-07:00 WTF v0.23.0 contains the following changes: \u26a1\ufe0f Added PagerDuty module now supports showOncallEnd setting, which determines whether or not to display the oncall rotation end date, by @senorprogrammer Exchange Rates module now supports precision setting, which determines how many decimal places to display, #897 by @senorprogrammer \ud83d\udc1e Fixed Todo module's edit modal now shows up quickly, #876 by @aeter Jira module title now displays properly, #942 by @timhwang21 \ud83d\udc4d Updated Updated alecthomas/chroma from 0.7.3 to 0.8.0 Updated digitalocean/godo from 1.38.0 to 1.42.1 Updated google.golang.org/api from 0.29.0 to 0.30.0 Updated shirou/gopsutil from 2.20.6+incompatible to 2.20.7+incompatible","title":"v0.32.0 Released"},{"location":"blog/2020-09-23-v0-32-0/#added","text":"PagerDuty module now supports showOncallEnd setting, which determines whether or not to display the oncall rotation end date, by @senorprogrammer Exchange Rates module now supports precision setting, which determines how many decimal places to display, #897 by @senorprogrammer","title":"\u26a1\ufe0f Added"},{"location":"blog/2020-09-23-v0-32-0/#fixed","text":"Todo module's edit modal now shows up quickly, #876 by @aeter Jira module title now displays properly, #942 by @timhwang21","title":"\ud83d\udc1e Fixed"},{"location":"blog/2020-09-23-v0-32-0/#updated","text":"Updated alecthomas/chroma from 0.7.3 to 0.8.0 Updated digitalocean/godo from 1.38.0 to 1.42.1 Updated google.golang.org/api from 0.29.0 to 0.30.0 Updated shirou/gopsutil from 2.20.6+incompatible to 2.20.7+incompatible","title":"\ud83d\udc4d Updated"},{"location":"blog/2020-10-13-v0-33-0/","text":"2020-10-13 09:48:54-07:00 \u26a1\ufe0f Added FeedReader module supports display mode switching via the t key, by @cyingfan Clocks module now supports natural ordering option, #896 by @seanstoppable Exit banner message added, by @senorprogrammer UptimeRobot module added , by @franga2000 Gitlab module now defaults the domain to https://gitlab.com , by @jmks \ud83d\udc1e Fixed Exchange Rates module now displays rates in alphabetical order, sorted by the base rate, by @senorprogrammer Feed Reader module no longer crashes on feeds that don't have a published date, #958 by @cyingfan Stray blank lines no longer appear at the end of highlightable lists, #977 by @cyingfan config.yml now properly set to 0600 instead of 0666 , by @cyingfan Now blank-imports the time/tzinfo package to provide timezone support for Windows users, #994 by @trimble \ud83d\udc4d Updated Updated github.com/gdamore/tcell from 1.3.0 to 1.4.0 Updated github.com/shirou/gopsutil from 2.20.7+incompatible to 2.20.9+incompatible Updated github.com/mmcdole/gofeed from 1.0.0 to 1.1.0 Updated github.com/digitalocean/godo from 1.42.1 to 1.46.0 Updated github.com/xanzy/go-gitlab from 0.33.0 to 0.38.1 Updated github.com/adlio/trello from 1.7.0 to 1.8.0 Updated github.com/alecthomas/chroma from 0.8.0 to 0.8.1 Updated github.com/nicklaw5/helix from 0.5.9 to 0.7.0 Now requires Go 1.15 for compilation in Dockerfiles and go.mod, by @seanstoppable And see here for more details about the exit message .","title":"v0.33.0 Released"},{"location":"blog/2020-10-13-v0-33-0/#added","text":"FeedReader module supports display mode switching via the t key, by @cyingfan Clocks module now supports natural ordering option, #896 by @seanstoppable Exit banner message added, by @senorprogrammer UptimeRobot module added , by @franga2000 Gitlab module now defaults the domain to https://gitlab.com , by @jmks","title":"\u26a1\ufe0f Added"},{"location":"blog/2020-10-13-v0-33-0/#fixed","text":"Exchange Rates module now displays rates in alphabetical order, sorted by the base rate, by @senorprogrammer Feed Reader module no longer crashes on feeds that don't have a published date, #958 by @cyingfan Stray blank lines no longer appear at the end of highlightable lists, #977 by @cyingfan config.yml now properly set to 0600 instead of 0666 , by @cyingfan Now blank-imports the time/tzinfo package to provide timezone support for Windows users, #994 by @trimble","title":"\ud83d\udc1e Fixed"},{"location":"blog/2020-10-13-v0-33-0/#updated","text":"Updated github.com/gdamore/tcell from 1.3.0 to 1.4.0 Updated github.com/shirou/gopsutil from 2.20.7+incompatible to 2.20.9+incompatible Updated github.com/mmcdole/gofeed from 1.0.0 to 1.1.0 Updated github.com/digitalocean/godo from 1.42.1 to 1.46.0 Updated github.com/xanzy/go-gitlab from 0.33.0 to 0.38.1 Updated github.com/adlio/trello from 1.7.0 to 1.8.0 Updated github.com/alecthomas/chroma from 0.8.0 to 0.8.1 Updated github.com/nicklaw5/helix from 0.5.9 to 0.7.0 Now requires Go 1.15 for compilation in Dockerfiles and go.mod, by @seanstoppable And see here for more details about the exit message .","title":"\ud83d\udc4d Updated"},{"location":"blog/2020-11-08-v0-34-0/","text":"2020-11-08 16:35:07-08:00 Now available here . \u26a1\ufe0f Added DigitalOcean module now supports custom column definitions in the default layout. See the docs for details, #986 by @senorprogrammer Finnhub stock quotes module added, #930 by @applegreengrape Grafana Alerts module added, by @schoentoon \ud83d\udc4d Updated Updated google.golang.org/api from 0.30.0 to 0.33.0 Updated github.com/digitalocean/godo from 1.46.0 to 1.52.0 Updated github.com/xanzy/go-gitlab from 0.38.1 to 0.39.0 Updated github.com/zorkian/go-datadog-api from 2.29.0+incompatible to 2.30.0+incompatible Updated golang.org/x/text from 0.3.3 to 0.3.4","title":"v0.34.0 Released"},{"location":"blog/2020-11-08-v0-34-0/#added","text":"DigitalOcean module now supports custom column definitions in the default layout. See the docs for details, #986 by @senorprogrammer Finnhub stock quotes module added, #930 by @applegreengrape Grafana Alerts module added, by @schoentoon","title":"\u26a1\ufe0f Added"},{"location":"blog/2020-11-08-v0-34-0/#updated","text":"Updated google.golang.org/api from 0.30.0 to 0.33.0 Updated github.com/digitalocean/godo from 1.46.0 to 1.52.0 Updated github.com/xanzy/go-gitlab from 0.38.1 to 0.39.0 Updated github.com/zorkian/go-datadog-api from 2.29.0+incompatible to 2.30.0+incompatible Updated golang.org/x/text from 0.3.3 to 0.3.4","title":"\ud83d\udc4d Updated"},{"location":"blog/2021-01-03-v0-35-0/","text":"2021-01-03 17:27:07-08:00 Now available here . Changelog \u26a1\ufe0f Added CircleCI module now supports numberOfBuilds setting defining how many builds to display, #1020 by @dabcoder The \\ key now opens module documentation in the browser for the currently-focused module, by @senorprogrammer Krisinformation module added, by @stone Covid module has been added, by @dabcoder Support for a \"Language\" configuration key added. Supports any BCP 47 tag for identifying a langauge, by @senorprogrammer \ud83d\udc1e Fixed CryptoLive prices update again, #1041 by @zye1996","title":"v0.35.0 Released"},{"location":"blog/2021-01-03-v0-35-0/#changelog","text":"","title":"Changelog"},{"location":"blog/2021-01-03-v0-35-0/#added","text":"CircleCI module now supports numberOfBuilds setting defining how many builds to display, #1020 by @dabcoder The \\ key now opens module documentation in the browser for the currently-focused module, by @senorprogrammer Krisinformation module added, by @stone Covid module has been added, by @dabcoder Support for a \"Language\" configuration key added. Supports any BCP 47 tag for identifying a langauge, by @senorprogrammer","title":"\u26a1\ufe0f Added"},{"location":"blog/2021-01-03-v0-35-0/#fixed","text":"CryptoLive prices update again, #1041 by @zye1996","title":"\ud83d\udc1e Fixed"},{"location":"blog/2021-03-23-v0-36-0/","text":"2021-03-23 03:42:07-08:00 Now available here . Changelog \u26a1\ufe0f Added HealthChecks module added, by @stone Asana module added, by @xntrik Kubernetes module now displays the Ready Replicas and Total Replicas count, by @LKaemmerling Now builds using Go 1.16, which provides support for Apple's M1 ARM hardware, by @LKaemmerling \ud83d\udc1e Fixed Numerous dangling response bodies closed, by @dabcoder HackerNews read-on-response error fixed, by @LKaemmerling CircleCI read-on-response error fixed, by @dabcoder","title":"v0.36.0 Released"},{"location":"blog/2021-03-23-v0-36-0/#changelog","text":"","title":"Changelog"},{"location":"blog/2021-03-23-v0-36-0/#added","text":"HealthChecks module added, by @stone Asana module added, by @xntrik Kubernetes module now displays the Ready Replicas and Total Replicas count, by @LKaemmerling Now builds using Go 1.16, which provides support for Apple's M1 ARM hardware, by @LKaemmerling","title":"\u26a1\ufe0f Added"},{"location":"blog/2021-03-23-v0-36-0/#fixed","text":"Numerous dangling response bodies closed, by @dabcoder HackerNews read-on-response error fixed, by @LKaemmerling CircleCI read-on-response error fixed, by @dabcoder","title":"\ud83d\udc1e Fixed"},{"location":"blog/2021-09-06-v0-39-0/","text":"2021-09-06 13:48:07-08:00 Now available here . Changelog \u26a1\ufe0f Added Updown module added, by @hjr265 Considerable improvements to the Todo module. See PR #1100 for details. By @tadeaspaule \ud83d\udc1e Fixed Healthchecks module now respects the apiURL setting in the config file, by @hjr265 Example FeedReader RSS feed in the default config changed to a working feed, #1096 by @senorprogrammer","title":"v0.39.0 Released"},{"location":"blog/2021-09-06-v0-39-0/#changelog","text":"","title":"Changelog"},{"location":"blog/2021-09-06-v0-39-0/#added","text":"Updown module added, by @hjr265 Considerable improvements to the Todo module. See PR #1100 for details. By @tadeaspaule","title":"\u26a1\ufe0f Added"},{"location":"blog/2021-09-06-v0-39-0/#fixed","text":"Healthchecks module now respects the apiURL setting in the config file, by @hjr265 Example FeedReader RSS feed in the default config changed to a working feed, #1096 by @senorprogrammer","title":"\ud83d\udc1e Fixed"},{"location":"blog/2021-11-02-v0-40-0/","text":"2021-11-02 10:49:07-08:00 Also known as The Hacktoberfest Release . Lots of good stuff in this one, including some notable bug fixes and a closed potential security vulnerability. Now available here . \u26a1\ufe0f Added Numerous improvements to the display of the Git module, #1102 by @tadeaspaule Updated to Go 1.17, by nontw Airbrake module added, by @kyrylo Displays the battery level of connected devices, if the level can be read by ioreg , on MacOS, #1108 by @senorprogrammer Adds an args setting to IP API for defining which fields are displayed, by @Choromanski Security module no longer displays wifi info if wifi is missing or disabled, #1124 by @yosmoc q now quits WTF. Added as a new global hotkey, by @thuan1412 DigitalOcean module now properly displays the droplet region, #1053 by @yosmoc gCal module now supports multiple configurations with different email addresses, #1016 by @Seanstoppable All modules now support sub-1 second refresh intervals by specifying an optional time unit (ie: 50ms , 20s ), #1103 by @ResamVi \ud83d\udc1e Fixed GitHub module no longer crashes when selecting different items across multiple repos, by @Seanstoppable make lint errors fixed, #1127 by @yosmoc jwt-go replaced by golang-jwt , because security vulnerabilities, #1121 by @siddhant94","title":"v0.40.0 Released"},{"location":"blog/2021-11-02-v0-40-0/#added","text":"Numerous improvements to the display of the Git module, #1102 by @tadeaspaule Updated to Go 1.17, by nontw Airbrake module added, by @kyrylo Displays the battery level of connected devices, if the level can be read by ioreg , on MacOS, #1108 by @senorprogrammer Adds an args setting to IP API for defining which fields are displayed, by @Choromanski Security module no longer displays wifi info if wifi is missing or disabled, #1124 by @yosmoc q now quits WTF. Added as a new global hotkey, by @thuan1412 DigitalOcean module now properly displays the droplet region, #1053 by @yosmoc gCal module now supports multiple configurations with different email addresses, #1016 by @Seanstoppable All modules now support sub-1 second refresh intervals by specifying an optional time unit (ie: 50ms , 20s ), #1103 by @ResamVi","title":"\u26a1\ufe0f Added"},{"location":"blog/2021-11-02-v0-40-0/#fixed","text":"GitHub module no longer crashes when selecting different items across multiple repos, by @Seanstoppable make lint errors fixed, #1127 by @yosmoc jwt-go replaced by golang-jwt , because security vulnerabilities, #1121 by @siddhant94","title":"\ud83d\udc1e Fixed"},{"location":"blog/home/","text":"The WTF Blog 2021-11-02 v0.40.0 Released 2021-09-06 v0.39.0 Released 2021-01-03 v0.36.0 Released 2021-01-03 v0.35.0 Released 2020-11-08 v0.34.0 Released 2020-10-13 v0.33.0 Released 2020-09-23 v0.32.0 Released 2020-04-26 v0.29.0 Released 2020-03-15 v0.28.0 Released 2020-02-23 v0.27.0 Released 2020-02-04 v0.26.0 Released 2019-11-10 v0.24.0 Released 2019-11-10 Monochrome Retro Display 2019-10-11 v0.23.0 Released 2019-09-12 v0.22.0 Released 2019-08-29 v0.21.0 Released 2019-08-20 v0.20.0 Released 2019-07-31 v0.19.1 Released 2019-07-27 v0.19.0 Released 2019-07-20 v0.18.0 Released 2019-07-16 v0.17.1 Released 2019-07-12 Homebrew Installation 2019-07-10 WTFUtil Release 2019-07-09 v0.14.0 Released 2019-07-09 RSS for Releases","title":"Home"},{"location":"blog/home/#the-wtf-blog","text":"2021-11-02 v0.40.0 Released 2021-09-06 v0.39.0 Released 2021-01-03 v0.36.0 Released 2021-01-03 v0.35.0 Released 2020-11-08 v0.34.0 Released 2020-10-13 v0.33.0 Released 2020-09-23 v0.32.0 Released 2020-04-26 v0.29.0 Released 2020-03-15 v0.28.0 Released 2020-02-23 v0.27.0 Released 2020-02-04 v0.26.0 Released 2019-11-10 v0.24.0 Released 2019-11-10 Monochrome Retro Display 2019-10-11 v0.23.0 Released 2019-09-12 v0.22.0 Released 2019-08-29 v0.21.0 Released 2019-08-20 v0.20.0 Released 2019-07-31 v0.19.1 Released 2019-07-27 v0.19.0 Released 2019-07-20 v0.18.0 Released 2019-07-16 v0.17.1 Released 2019-07-12 Homebrew Installation 2019-07-10 WTFUtil Release 2019-07-09 v0.14.0 Released 2019-07-09 RSS for Releases","title":"The WTF Blog"},{"location":"blog/monochrome-retro-display/","text":"2019-11-10 11:43:32-08:00 With v0.24.0, WTF now has better support for theme-like colour settings. It's far from perfect, a lot of modules will have to be improved internally to make theming ubiquitous, but it's a start. By way of example, if you're running v0.24 or later, drop this into your config at the top, replace your existing colors: YAML block with the following and you'll end up with a facsimile of an old-school green monochrome monitor display (you may need to restart WTF to get changes to take effect). colors : background : \"transparent\" border : focusable : \"lightgreen\" focused : \"goldenrod\" normal : \"darkgreen\" checked : \"gray\" highlight : fore : \"black\" back : \"green\" labels : \"lightgreen::b\" rows : even : \"green\" odd : \"lightgreen\" subheading : \"lightgreen::b\" text : \"green\" title : \"lightgreen\"","title":"Monochrome Retro Display"},{"location":"configuration/advanced/","text":"Advanced Tip wtf-tui by @ggerganov is a graphical configuration maker for WTFUtil that runs in your terminal. You might find this easier than configuring YAML by hand. Multiple Instances of the Same Widget To add more than one instance of a particular widget, for example, if you want two Todo widgets, you can do so by adding the type property to the entries in your config.yml file. Below is an example for Todo: home_todo : checkedIcon : \"X\" colors : checked : gray highlight : fore : \"black\" back : \"orange\" enabled : true filename : \"todo.yml\" position : top : 0 left : 0 height : 2 width : 2 refreshInterval : 1h type : todo work_todo : checkedIcon : \"X\" colors : checked : gray highlight : fore : \"black\" back : \"orange\" enabled : true filename : \"todo.yml\" position : top : 0 left : 2 height : 2 width : 2 refreshInterval : 1h type : todo","title":"Advanced"},{"location":"configuration/advanced/#advanced","text":"Tip wtf-tui by @ggerganov is a graphical configuration maker for WTFUtil that runs in your terminal. You might find this easier than configuring YAML by hand.","title":"Advanced"},{"location":"configuration/advanced/#multiple-instances-of-the-same-widget","text":"To add more than one instance of a particular widget, for example, if you want two Todo widgets, you can do so by adding the type property to the entries in your config.yml file. Below is an example for Todo: home_todo : checkedIcon : \"X\" colors : checked : gray highlight : fore : \"black\" back : \"orange\" enabled : true filename : \"todo.yml\" position : top : 0 left : 0 height : 2 width : 2 refreshInterval : 1h type : todo work_todo : checkedIcon : \"X\" colors : checked : gray highlight : fore : \"black\" back : \"orange\" enabled : true filename : \"todo.yml\" position : top : 0 left : 2 height : 2 width : 2 refreshInterval : 1h type : todo","title":"Multiple Instances of the Same Widget"},{"location":"configuration/common_settings/","text":"Common Settings The following settings are common to all modules. Common settings have logical defaults and are all optional. An explicitly-defined common setting will over-ride a module's internal default setting value. An example with all common settings explicitly configured. feedreader : border : true enabled : true feeds : - https://news.ycombinator.com/rss feedLimit : 10 focusable : false focusChar : 2 position : top : 2 left : 2 width : 1 height : 1 title : \"Hacker News\" refreshInterval : 4h Attributes Name Value border Optional Whether or not to draw this widget with a border. Default: true . true , false enabled Optional Whether or not this module is executed and if its data displayed onscreen. Default: false . true , false focusable Optional Whether or not this module accepts keyboard focus. Default: false true , false focusChar Optional Define one of the number keys as a shortcut key to access the widget. 0..9 position Defines where in the grid this module's widget will be displayed. refreshInterval Optional How often this module will update its data. A positive integer followed by a time unit (ns, us or \u00b5s, ms, s, m, h, or nothing which defaults to s). Default: 300s . Any valid time duration. title Optional The title to display in the widget's onscreen box.","title":"Common Settings"},{"location":"configuration/common_settings/#common-settings","text":"The following settings are common to all modules. Common settings have logical defaults and are all optional. An explicitly-defined common setting will over-ride a module's internal default setting value. An example with all common settings explicitly configured. feedreader : border : true enabled : true feeds : - https://news.ycombinator.com/rss feedLimit : 10 focusable : false focusChar : 2 position : top : 2 left : 2 width : 1 height : 1 title : \"Hacker News\" refreshInterval : 4h","title":"Common Settings"},{"location":"configuration/common_settings/#attributes","text":"Name Value border Optional Whether or not to draw this widget with a border. Default: true . true , false enabled Optional Whether or not this module is executed and if its data displayed onscreen. Default: false . true , false focusable Optional Whether or not this module accepts keyboard focus. Default: false true , false focusChar Optional Define one of the number keys as a shortcut key to access the widget. 0..9 position Defines where in the grid this module's widget will be displayed. refreshInterval Optional How often this module will update its data. A positive integer followed by a time unit (ns, us or \u00b5s, ms, s, m, h, or nothing which defaults to s). Default: 300s . Any valid time duration. title Optional The title to display in the widget's onscreen box.","title":"Attributes"},{"location":"configuration/files/","text":"Configuration Files By default WTF looks in a ~/.config/wtf/ directory for a YAML file called config.yml . If the ~/.config/wtf/ directory doesn't exist, WTF will create that directory on start-up, and then display instructions for creating a new configuration file. In other words, WTF expects to have a YAML config file at: ~/.config/wtf/config.yml . Example Configuration Files A number of example configuration files are provided in the _sample_configs/ directory of the Git repository . To try out WTF quickly, copy sample_config.yml into ~/.config/wtf/ as config.yml and relaunch WTF. You should see the app launch and display the Security , Clocks and Status widgets onscreen. Custom Configuration Files To try out different configurations (or run multiple instances of WTF), you can pass the path to a config file via command line arguments on start-up. To load a custom configuration file (ie: one that's not ~/.config/wtf/config.yml ), pass in the path to configuration file as a parameter on launch: \u276f wtfutil --config = path/to/custom/config.yml","title":"Configuration Files"},{"location":"configuration/files/#configuration-files","text":"By default WTF looks in a ~/.config/wtf/ directory for a YAML file called config.yml . If the ~/.config/wtf/ directory doesn't exist, WTF will create that directory on start-up, and then display instructions for creating a new configuration file. In other words, WTF expects to have a YAML config file at: ~/.config/wtf/config.yml .","title":"Configuration Files"},{"location":"configuration/files/#example-configuration-files","text":"A number of example configuration files are provided in the _sample_configs/ directory of the Git repository . To try out WTF quickly, copy sample_config.yml into ~/.config/wtf/ as config.yml and relaunch WTF. You should see the app launch and display the Security , Clocks and Status widgets onscreen.","title":"Example Configuration Files"},{"location":"configuration/files/#custom-configuration-files","text":"To try out different configurations (or run multiple instances of WTF), you can pass the path to a config file via command line arguments on start-up. To load a custom configuration file (ie: one that's not ~/.config/wtf/config.yml ), pass in the path to configuration file as a parameter on launch: \u276f wtfutil --config = path/to/custom/config.yml","title":"Custom Configuration Files"},{"location":"configuration/global_settings/","text":"Global Settings The following top-level global attributes are configurable in config.yml . See this example config file for more details. wtf : colors : background : \"red\" border : focusable : \"darkslateblue\" focused : \"orange\" normal : \"gray\" checked : \"gray\" highlight : fore : \"black\" back : \"green\" text : \"white\" title : \"white\" exitMessage : display : true githubAPIKey : \"d8....................................ea\" grid : # How _wide_ the columns are, in terminal characters. In this case we have # six columns, each of which are 35 characters wide columns : [ 35 , 35 , 35 , 35 , 35 , 35 ] # How _high_ the rows are, in terminal lines. In this case we have five rows # that support ten line of text, one of three lines, and one of four rows : [ 10 , 10 , 10 , 10 , 10 , 3 , 4 ] navigation : shortcuts : true openFileUtil : \"open\" openUrlUtil : - \"tmux\" - \"new-window\" - \"elinks\" sigils : checkbox : checked : \"x\" unchecked : \" \" paging : normal : \"*\" selected : \"_\" term : \"xterm-256color\" Attributes Name Value colors.background The color to draw the background of the app in. Use this to match your terminal colors. May be over-written by individual module configurations. Any X11 color name . colors.border.focusable The color in which to draw the border of widgets that can accept keyboard focus. Any X11 color name. colors.border.focused The color in which to draw the border of the widget that currently has keyboard focus. Any X11 color name. colors.border.normal The color in which to draw the borders of the widgets that cannot accept focus. Any X11 color name. exitMessage.display Whether or not to display the WTF text message in the terminal when the app exits. true , false exitMessage.githubAPIKey The user's GitHub API key. Used to check against the GitHub API to see if the user is a code contributor or sponsor. Your API key **or** leave it empty to use the `WTF_GITHUB_TOKEN` environment variable. grid.columns An array that defines the widths of all the columns. See tview's Grid for details grid.rows An array that defines the heights of all the rows. See tview's Grid for details navigation.shortcuts Whether or not to display the numeric navigation shortcuts in widget titles. true or false openFileUtil Which local utility to use to open a file or URL. Requires the app to be restarted to take effect. Default: `open`. opeUrlUtil A string sequence used to open URL. If undefined, wtfutil will attempt to open it based on the operating system. term Sets a custom value for the terminal type this app runs in. Leave this entry out of the config if you simply want to use your terminal's default setting. **Note:** If an invalid value is provided for this setting, the app will crash with a `terminal entry not found` error. Any valid terminal type (ie: `vt100`, `xterm`, `xterm-256color`, `ansi`, etc.).","title":"Global Settings"},{"location":"configuration/global_settings/#global-settings","text":"The following top-level global attributes are configurable in config.yml . See this example config file for more details. wtf : colors : background : \"red\" border : focusable : \"darkslateblue\" focused : \"orange\" normal : \"gray\" checked : \"gray\" highlight : fore : \"black\" back : \"green\" text : \"white\" title : \"white\" exitMessage : display : true githubAPIKey : \"d8....................................ea\" grid : # How _wide_ the columns are, in terminal characters. In this case we have # six columns, each of which are 35 characters wide columns : [ 35 , 35 , 35 , 35 , 35 , 35 ] # How _high_ the rows are, in terminal lines. In this case we have five rows # that support ten line of text, one of three lines, and one of four rows : [ 10 , 10 , 10 , 10 , 10 , 3 , 4 ] navigation : shortcuts : true openFileUtil : \"open\" openUrlUtil : - \"tmux\" - \"new-window\" - \"elinks\" sigils : checkbox : checked : \"x\" unchecked : \" \" paging : normal : \"*\" selected : \"_\" term : \"xterm-256color\"","title":"Global Settings"},{"location":"configuration/global_settings/#attributes","text":"Name Value colors.background The color to draw the background of the app in. Use this to match your terminal colors. May be over-written by individual module configurations. Any X11 color name . colors.border.focusable The color in which to draw the border of widgets that can accept keyboard focus. Any X11 color name. colors.border.focused The color in which to draw the border of the widget that currently has keyboard focus. Any X11 color name. colors.border.normal The color in which to draw the borders of the widgets that cannot accept focus. Any X11 color name. exitMessage.display Whether or not to display the WTF text message in the terminal when the app exits. true , false exitMessage.githubAPIKey The user's GitHub API key. Used to check against the GitHub API to see if the user is a code contributor or sponsor. Your API key **or** leave it empty to use the `WTF_GITHUB_TOKEN` environment variable. grid.columns An array that defines the widths of all the columns. See tview's Grid for details grid.rows An array that defines the heights of all the rows. See tview's Grid for details navigation.shortcuts Whether or not to display the numeric navigation shortcuts in widget titles. true or false openFileUtil Which local utility to use to open a file or URL. Requires the app to be restarted to take effect. Default: `open`. opeUrlUtil A string sequence used to open URL. If undefined, wtfutil will attempt to open it based on the operating system. term Sets a custom value for the terminal type this app runs in. Leave this entry out of the config if you simply want to use your terminal's default setting. **Note:** If an invalid value is provided for this setting, the app will crash with a `terminal entry not found` error. Any valid terminal type (ie: `vt100`, `xterm`, `xterm-256color`, `ansi`, etc.).","title":"Attributes"},{"location":"configuration/grid_layout/","text":"Grid Layout WTF uses the Grid layout system from tview to position widgets onscreen. It's not immediately obvious how this works, so here's an explanation: Think of your terminal screen as a matrix of letter positions, say 100 chrs wide and 58 chrs tall. Columns breaks up the width of the screen into chunks, each chunk a specified number of characters wide. use [10, 10, 10, 10, 10, 10, 10, 10, 10, 10] Ten columns that are ten characters wide Rows break up the height of the screen into chunks, each chunk a specified number of characters tall. If we wanted to have five rows: [10, 10, 10, 10, 18] The co-ordinate system starts at top-left and defines how wide and tall a widget is. If we wanted to put a 2-col, 2-row widget in the bottom of the screen, we'd position it at: top : 4 // top starts in the 4th row left : 9 // left starts in the 9th column height : 2 // span down rows 4 & 5 (18 characters in size, total) width : 2 // span across cols 9 & 10 (20 characters in size, total)","title":"Grid Layout"},{"location":"configuration/grid_layout/#grid-layout","text":"WTF uses the Grid layout system from tview to position widgets onscreen. It's not immediately obvious how this works, so here's an explanation: Think of your terminal screen as a matrix of letter positions, say 100 chrs wide and 58 chrs tall. Columns breaks up the width of the screen into chunks, each chunk a specified number of characters wide. use [10, 10, 10, 10, 10, 10, 10, 10, 10, 10] Ten columns that are ten characters wide Rows break up the height of the screen into chunks, each chunk a specified number of characters tall. If we wanted to have five rows: [10, 10, 10, 10, 18] The co-ordinate system starts at top-left and defines how wide and tall a widget is. If we wanted to put a 2-col, 2-row widget in the bottom of the screen, we'd position it at: top : 4 // top starts in the 4th row left : 9 // left starts in the 9th column height : 2 // span down rows 4 & 5 (18 characters in size, total) width : 2 // span across cols 9 & 10 (20 characters in size, total)","title":"Grid Layout"},{"location":"development/creating_new_modules/","text":"Creating New Modules The widgets that you see on the screen are displayed using modules . To make it easier to create new modules there is a generator which creates a stub (an empty module). The Go package generators contains generator scripts for different types of widgets. Prerequisites Before you can generate new modules, you'll need to have: Go version 1.15 or higher The source code for WTF ( git clone https://github.com/wtfutil/wtf ) Creating a New Text Widget Generate a new module using generator Use go run generator/textwidget.go to create a new widget called NewTextWidget . You can change the name of the generated widget by setting an environment variable called WTF_WIDGET_NAME . For example, to generate a new widget called MyNewWidget on macOs or linux, the command would be: # as a single line \u276f WTF_WIDGET_NAME = MyNewWidget go run generator/textwidget.go # setting the name separately \u276f export WTF_WIDGET_NAME = MyNewWidget \u276f go run generator/textwidget.go The equivalent using Windows PowerShell would be \u276f $env :WTF_WIDGET_NAME = \"MyNewWidget\" \u276f go run generator \\t extwidget.go The new widget is generated using the template in textwidget.tpl Register your newly generated module in app The last step is to register your new module in app/widget_maker.go , you will have to import your module and define a new case with your module name. Run you app, your module should be present ! Source Code wtf/generator/","title":"Creating New Modules"},{"location":"development/creating_new_modules/#creating-new-modules","text":"The widgets that you see on the screen are displayed using modules . To make it easier to create new modules there is a generator which creates a stub (an empty module). The Go package generators contains generator scripts for different types of widgets.","title":"Creating New Modules"},{"location":"development/creating_new_modules/#prerequisites","text":"Before you can generate new modules, you'll need to have: Go version 1.15 or higher The source code for WTF ( git clone https://github.com/wtfutil/wtf )","title":"Prerequisites"},{"location":"development/creating_new_modules/#creating-a-new-text-widget","text":"Generate a new module using generator Use go run generator/textwidget.go to create a new widget called NewTextWidget . You can change the name of the generated widget by setting an environment variable called WTF_WIDGET_NAME . For example, to generate a new widget called MyNewWidget on macOs or linux, the command would be: # as a single line \u276f WTF_WIDGET_NAME = MyNewWidget go run generator/textwidget.go # setting the name separately \u276f export WTF_WIDGET_NAME = MyNewWidget \u276f go run generator/textwidget.go The equivalent using Windows PowerShell would be \u276f $env :WTF_WIDGET_NAME = \"MyNewWidget\" \u276f go run generator \\t extwidget.go The new widget is generated using the template in textwidget.tpl Register your newly generated module in app The last step is to register your new module in app/widget_maker.go , you will have to import your module and define a new case with your module name. Run you app, your module should be present !","title":"Creating a New Text Widget"},{"location":"development/creating_new_modules/#source-code","text":"wtf/generator/","title":"Source Code"},{"location":"modules/","text":"Modules A module is a discrete unit of functionality that extracts data from a source and packages that data for display. For example, the New Relic module uses New Relic's API to retrieve a list of the latest deploys and packages that information as a list for display in the \"New Relic\" widget. The Clocks module takes a list of timezones and packages that information as a list of city/time pairs for display in the \"Clocks\" widget. See left for all available modules.","title":"Home"},{"location":"modules/#modules","text":"A module is a discrete unit of functionality that extracts data from a source and packages that data for display. For example, the New Relic module uses New Relic's API to retrieve a list of the latest deploys and packages that information as a list for display in the \"New Relic\" widget. The Clocks module takes a list of timezones and packages that information as a list of city/time pairs for display in the \"Clocks\" widget. See left for all available modules.","title":"Modules"},{"location":"modules/airbrake/","text":"Airbrake Displays error information about your Airbrake project. Provides the ability to mute/unmute errors or resolve them. Configuration airbrake : enabled : true projectID : 123 authToken : \"123**********************2b9\" position : top : 4 left : 0 width : 3 height : 1 refreshInterval : 1m Screenshots Attributes Name Value projectID An ID of the project at Airbrake authToken A user token, which grants access to the Airbrake API (you can find it in your profile). Keyboard Key Action / Open/close the widget's help modal [return] View information about the selected error o Open the selected story in the browser j Select the next item in the list k Select the previous item in the list s Resolves the selected error on Airbrake m Mutes the selected error on Airbrake u Unmutes the selected error on Airbrake r Refresh the data t Switches the display mode between normal and 'compare' views \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/airbrake","title":"Airbrake"},{"location":"modules/airbrake/#airbrake","text":"Displays error information about your Airbrake project. Provides the ability to mute/unmute errors or resolve them.","title":"Airbrake"},{"location":"modules/airbrake/#configuration","text":"airbrake : enabled : true projectID : 123 authToken : \"123**********************2b9\" position : top : 4 left : 0 width : 3 height : 1 refreshInterval : 1m","title":"Configuration"},{"location":"modules/airbrake/#screenshots","text":"","title":"Screenshots"},{"location":"modules/airbrake/#attributes","text":"Name Value projectID An ID of the project at Airbrake authToken A user token, which grants access to the Airbrake API (you can find it in your profile).","title":"Attributes"},{"location":"modules/airbrake/#keyboard","text":"Key Action / Open/close the widget's help modal [return] View information about the selected error o Open the selected story in the browser j Select the next item in the list k Select the previous item in the list s Resolves the selected error on Airbrake m Mutes the selected error on Airbrake u Unmutes the selected error on Airbrake r Refresh the data t Switches the display mode between normal and 'compare' views \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/airbrake/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/airbrake","title":"Source Code"},{"location":"modules/asana/","text":"Asana Displays Asana Tasks filtered by Workspace, Project or even by Sections within a Project. The apiKey is a Personal Access Token and can be generated here The module includes keyboard navigation too, so you can select a task with j and k , and o pen it. For more keyboard navigation options press ? . Configuration asana : enabled : true apiKey : \"*******\" mode : \"project_sections\" projectId : 123456789 workspaceId : 123456789 allUsers : false hideComplete : false sections : - \"Doing\" - \"Backlog\" - \"Complete\" updateInterval : 300 position : top : 0 left : 0 width : 1 height : 3 Screenshots Attributes Name Value apiKey Your Asana API key. Leave this blank to use the WTF_ASANA_TOKEN environment variable. mode What mode to query Asana. There are three modes: project - Will fetch all Asana Tasks in the project specified in the projectId attribute project_sections - Will fetch all Asana Tasks in the project specified, under the supplied sections . workspace - Will fetch all of the tasks in the workspace, assigned to you. You must specify a workspaceId project , project_sections , or workspace projectId Optional The Asana Project to fetch tasks from. Only applicable if you specify the project or project_sections mode A valid Asana Project Identifier integer workspaceId Optional The Asana Workspace to fetch tasks from. This will only return tasks assigned to you. Only applicable if you specify the workspace mode A valid Asana Workspace Identifier integer allUsers Optional When querying for project or project_sections you can optionally display tasks that are assigned to other users. Defaults to false . true or false hideComplete Optional When querying for tasks you can optionally hide tasks that have been marked as complete. Defaults to false . true or false sections Optional When the mode is project_sections you can list the sections you want to fetch the tasks from A list of valid Section names Source Code https://github.com/wtfutil/wtf/tree/master/modules/asana","title":"Asana"},{"location":"modules/asana/#asana","text":"Displays Asana Tasks filtered by Workspace, Project or even by Sections within a Project. The apiKey is a Personal Access Token and can be generated here The module includes keyboard navigation too, so you can select a task with j and k , and o pen it. For more keyboard navigation options press ? .","title":"Asana"},{"location":"modules/asana/#configuration","text":"asana : enabled : true apiKey : \"*******\" mode : \"project_sections\" projectId : 123456789 workspaceId : 123456789 allUsers : false hideComplete : false sections : - \"Doing\" - \"Backlog\" - \"Complete\" updateInterval : 300 position : top : 0 left : 0 width : 1 height : 3","title":"Configuration"},{"location":"modules/asana/#screenshots","text":"","title":"Screenshots"},{"location":"modules/asana/#attributes","text":"Name Value apiKey Your Asana API key. Leave this blank to use the WTF_ASANA_TOKEN environment variable. mode What mode to query Asana. There are three modes: project - Will fetch all Asana Tasks in the project specified in the projectId attribute project_sections - Will fetch all Asana Tasks in the project specified, under the supplied sections . workspace - Will fetch all of the tasks in the workspace, assigned to you. You must specify a workspaceId project , project_sections , or workspace projectId Optional The Asana Project to fetch tasks from. Only applicable if you specify the project or project_sections mode A valid Asana Project Identifier integer workspaceId Optional The Asana Workspace to fetch tasks from. This will only return tasks assigned to you. Only applicable if you specify the workspace mode A valid Asana Workspace Identifier integer allUsers Optional When querying for project or project_sections you can optionally display tasks that are assigned to other users. Defaults to false . true or false hideComplete Optional When querying for tasks you can optionally hide tasks that have been marked as complete. Defaults to false . true or false sections Optional When the mode is project_sections you can list the sections you want to fetch the tasks from A list of valid Section names","title":"Attributes"},{"location":"modules/asana/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/asana","title":"Source Code"},{"location":"modules/azure_devops/","text":"Azure Devops Configuration azuredevops : apiToken : \"p0d13*********************************************c3\" enabled : true labelColor : \"lightblue\" maxRows : 3 orgURL : \"https://dev.azure.com/myawesomecompany/\" position : top : 0 left : 0 height : 3 width : 3 projectName : \"the awesome project\" refreshInterval : 300 type : \"azuredevops\" Attributes Name Value apiKey Your Azure DevOps API key. Leave this blank to use the WTF_AZURE_DEVOPS_API_TOKEN environment variable. labelColor Optional The color of the title label. Default: white . Any X11 color name. maxRows Optional The maximum number of rows to display. Default: 3 . Any positive integer. orgURL The URL to your Azure DevOps project. Leave empty to use the WTF_AZURE_DEVOPS_ORG_URL environment variable. projectName The name of your Azure DevOps project. Leave empty to use the WTF_AZURE_DEVOPS_PROJECT_NAME environment variable. Source Code https://github.com/wtfutil/wtf/tree/master/modules/azuredevops","title":"Azure DevOps"},{"location":"modules/azure_devops/#azure-devops","text":"","title":"Azure Devops"},{"location":"modules/azure_devops/#configuration","text":"azuredevops : apiToken : \"p0d13*********************************************c3\" enabled : true labelColor : \"lightblue\" maxRows : 3 orgURL : \"https://dev.azure.com/myawesomecompany/\" position : top : 0 left : 0 height : 3 width : 3 projectName : \"the awesome project\" refreshInterval : 300 type : \"azuredevops\"","title":"Configuration"},{"location":"modules/azure_devops/#attributes","text":"Name Value apiKey Your Azure DevOps API key. Leave this blank to use the WTF_AZURE_DEVOPS_API_TOKEN environment variable. labelColor Optional The color of the title label. Default: white . Any X11 color name. maxRows Optional The maximum number of rows to display. Default: 3 . Any positive integer. orgURL The URL to your Azure DevOps project. Leave empty to use the WTF_AZURE_DEVOPS_ORG_URL environment variable. projectName The name of your Azure DevOps project. Leave empty to use the WTF_AZURE_DEVOPS_PROJECT_NAME environment variable.","title":"Attributes"},{"location":"modules/azure_devops/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/azuredevops","title":"Source Code"},{"location":"modules/bamboohr/","text":"BambooHR Configuration bamboohr : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 0 left : 1 height : 2 width : 1 refreshInterval : 15m subdomain : \"testco\" Attributes Name Value apiKey Your BambooHR API key. Leave this blank to use the WTF_BAMBOO_HR_TOKEN environment variable. subdomain Your BambooHR API subdomain name. Leave this blank to use the WTF_BAMBOO_HR_SUBDOMAIN environment variable. Source Code https://github.com/wtfutil/wtf/tree/master/modules/bamboohr","title":"BambooHR"},{"location":"modules/bamboohr/#bamboohr","text":"","title":"BambooHR"},{"location":"modules/bamboohr/#configuration","text":"bamboohr : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 0 left : 1 height : 2 width : 1 refreshInterval : 15m subdomain : \"testco\"","title":"Configuration"},{"location":"modules/bamboohr/#attributes","text":"Name Value apiKey Your BambooHR API key. Leave this blank to use the WTF_BAMBOO_HR_TOKEN environment variable. subdomain Your BambooHR API subdomain name. Leave this blank to use the WTF_BAMBOO_HR_SUBDOMAIN environment variable.","title":"Attributes"},{"location":"modules/bamboohr/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/bamboohr","title":"Source Code"},{"location":"modules/bargraph/","text":"Bargraph Demo bar graph with dummy data. Configuration spotify : enabled : true colors : label : \"green\" text : \"white\" position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 0 Screenshots Source Code https://github.com/wtfutil/wtf/tree/master/modules/bargraph","title":"Bargraph"},{"location":"modules/bargraph/#bargraph","text":"Demo bar graph with dummy data.","title":"Bargraph"},{"location":"modules/bargraph/#configuration","text":"spotify : enabled : true colors : label : \"green\" text : \"white\" position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 0","title":"Configuration"},{"location":"modules/bargraph/#screenshots","text":"","title":"Screenshots"},{"location":"modules/bargraph/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/bargraph","title":"Source Code"},{"location":"modules/buildkite/","text":"Buildkite Connects to the Buildkite REST API and displays status of branches for configured Pipelines. The API token must have the read_builds permission. Configuration buildkite : apiKey : \"p0d13*********************************************c3\" enabled : true organizationSlug : \"acme-corp\" refreshInterval : 1m position : top : 1 left : 1 height : 1 width : 1 pipelines : pipeline-slug-1 : branches : - \"master\" - \"stage\" pipeline-slug-2 : branches : - \"master\" - \"production\" Attributes Name Value apiKey Your Buildkite API key. Leave this blank to use the WTF_BUILDKITE_TOKEN environment variable. organizationSlug The slug of your organization org.slug pipelines A hash with pipeline.slug as keys, mapping to a list of branches. Source Code https://github.com/wtfutil/wtf/tree/master/modules/buildkite","title":"BuildKite"},{"location":"modules/buildkite/#buildkite","text":"Connects to the Buildkite REST API and displays status of branches for configured Pipelines. The API token must have the read_builds permission.","title":"Buildkite"},{"location":"modules/buildkite/#configuration","text":"buildkite : apiKey : \"p0d13*********************************************c3\" enabled : true organizationSlug : \"acme-corp\" refreshInterval : 1m position : top : 1 left : 1 height : 1 width : 1 pipelines : pipeline-slug-1 : branches : - \"master\" - \"stage\" pipeline-slug-2 : branches : - \"master\" - \"production\"","title":"Configuration"},{"location":"modules/buildkite/#attributes","text":"Name Value apiKey Your Buildkite API key. Leave this blank to use the WTF_BUILDKITE_TOKEN environment variable. organizationSlug The slug of your organization org.slug pipelines A hash with pipeline.slug as keys, mapping to a list of branches.","title":"Attributes"},{"location":"modules/buildkite/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/buildkite","title":"Source Code"},{"location":"modules/circleci/","text":"CircleCI Displays build information for your CircleCI account. Configuration circleci : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 15m Screenshots Attributes Name Value apiKey Your CircleCI API key. Leave this blank to use the WTF_CIRCLE_API_KEY environment variable. Source Code https://github.com/wtfutil/wtf/tree/master/modules/circleci","title":"CircleCI"},{"location":"modules/circleci/#circleci","text":"Displays build information for your CircleCI account.","title":"CircleCI"},{"location":"modules/circleci/#configuration","text":"circleci : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 15m","title":"Configuration"},{"location":"modules/circleci/#screenshots","text":"","title":"Screenshots"},{"location":"modules/circleci/#attributes","text":"Name Value apiKey Your CircleCI API key. Leave this blank to use the WTF_CIRCLE_API_KEY environment variable.","title":"Attributes"},{"location":"modules/circleci/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/circleci","title":"Source Code"},{"location":"modules/clocks/","text":"Clocks Displays a configurable list of world clocks, the local time, and date. Configuration clocks : colors : rows : even : \"lightblue\" odd : \"white\" enabled : true locations : # From https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - Avignon : \"Europe/Paris\" - Barcelona : \"Europe/Madrid\" - Dubai : \"Asia/Dubai\" - New York : \"America/New York\" - Toronto : \"America/Toronto\" - UTC : \"Etc/UTC\" - Vancouver : \"America/Vancouver\" position : top : 4 left : 0 height : 1 width : 1 refreshInterval : 15s # Valid options are: alphabetical, chronological, natural sort : \"alphabetical\" Screenshots Attributes Name Value dateFormat The format of the date strings. Any valid Go date layout which is handled by Time.Format. timeFormat The fomat of the time strings. Any valid Go time layout which is handled by Time.Format. locations A list of timezone for the clocks to be displayed. Any TZ database timezone. sort The order in which to sort the clocks. alphabetical , chronological , or natural . alphabetical will sort in acending order by key . chronological will sort in ascending order by date/time. natural will maintain the config file ordering. Source Code https://github.com/wtfutil/wtf/tree/master/modules/clocks","title":"Clocks"},{"location":"modules/clocks/#clocks","text":"Displays a configurable list of world clocks, the local time, and date.","title":"Clocks"},{"location":"modules/clocks/#configuration","text":"clocks : colors : rows : even : \"lightblue\" odd : \"white\" enabled : true locations : # From https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - Avignon : \"Europe/Paris\" - Barcelona : \"Europe/Madrid\" - Dubai : \"Asia/Dubai\" - New York : \"America/New York\" - Toronto : \"America/Toronto\" - UTC : \"Etc/UTC\" - Vancouver : \"America/Vancouver\" position : top : 4 left : 0 height : 1 width : 1 refreshInterval : 15s # Valid options are: alphabetical, chronological, natural sort : \"alphabetical\"","title":"Configuration"},{"location":"modules/clocks/#screenshots","text":"","title":"Screenshots"},{"location":"modules/clocks/#attributes","text":"Name Value dateFormat The format of the date strings. Any valid Go date layout which is handled by Time.Format. timeFormat The fomat of the time strings. Any valid Go time layout which is handled by Time.Format. locations A list of timezone for the clocks to be displayed. Any TZ database timezone. sort The order in which to sort the clocks. alphabetical , chronological , or natural . alphabetical will sort in acending order by key . chronological will sort in ascending order by date/time. natural will maintain the config file ordering.","title":"Attributes"},{"location":"modules/clocks/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/clocks","title":"Source Code"},{"location":"modules/cmdrunner/","text":"CmdRunner Runs a terminal command on a schedule. Configuration cmdrunner : args : [ \"-g\" , \"batt\" ] cmd : \"pmset\" enabled : true position : top : 6 left : 1 height : 1 width : 3 refreshInterval : 30s Attributes Name Value args The arguments to the command, with each item as an element in an array. cmd The terminal command to be run, without the arguments. Ie: ping , whoami , curl . maxLines Optional The maximum number of lines to keep in the buffer. Default: 256 . Any positive integer. pty Optional Run the command in a pseudo-terminal. Some apps will behave differently if they are run in a terminal. For example, some apps will produce colorized output in a terminal, and non-colorized output otherwise. Default: false . true , false tail Optional Automatically scroll with new output. Default: false . true , false Known limitations Internally, CmdRunner relies on Golang's exec.Command() to run terminal commands. As it does not invoke the system shell, not all commands are supported. To quote Golang docs , it \"does not expand any glob patterns or handle other expansions, pipelines, or redirections typically done by shells.\" Examples brew outdated Displays a list of all the installed Homebrew recipes that have an update available for them. brew_outdated : args : [ \"outdated\" ] cmd : \"brew\" enabled : true position : top : 3 left : 1 width : 2 height : 1 type : cmdrunner iStats iStats is a command line tool to view system stats on OSX. istats : args : [ \"all\" ] cmd : \"istats\" enabled : true type : \"cmdrunner\" position : top : 0 left : 3 height : 2 width : 2 refreshInterval : 1s Status Pages Various services provide status apis which are accessible. For example, the slack status api at https://status.slack.com/api/v2.0.0/current This can be accomplished with jq and the cmdrunner module. First, create a shell script: #!/bin/sh curl -s https://status.slack.com/api/v2.0.0/current | \\ jq -r '\"Status: \" + (if (.status == \"active\") then \"Active Incident\" else \"Ok\" end),\"Last Updated: \" + .date_updated,if (.active_incidents[] | length) > 0 then \"Active Incidents\\n\" + .active_incidents[] .title else \"\" end' Second, the following wtfutil config: slack_status : cmd : \"slack_status_check.sh\" enabled : true type : \"cmdrunner\" title : \"Slack Status\" position : top : 5 left : 0 height : 3 width : 4 refreshInterval : 30s wego wego is a command line tool to view weather, from a variety of weather services weather : args : [ \"0\" ] cmd : \"wego\" enabled : true type : \"cmdrunner\" position : top : 0 left : 0 height : 1 width : 2 refreshInterval : 100s Source Code https://github.com/wtfutil/wtf/tree/master/modules/cmdrunner","title":"CmdRunner"},{"location":"modules/cmdrunner/#cmdrunner","text":"Runs a terminal command on a schedule.","title":"CmdRunner"},{"location":"modules/cmdrunner/#configuration","text":"cmdrunner : args : [ \"-g\" , \"batt\" ] cmd : \"pmset\" enabled : true position : top : 6 left : 1 height : 1 width : 3 refreshInterval : 30s","title":"Configuration"},{"location":"modules/cmdrunner/#attributes","text":"Name Value args The arguments to the command, with each item as an element in an array. cmd The terminal command to be run, without the arguments. Ie: ping , whoami , curl . maxLines Optional The maximum number of lines to keep in the buffer. Default: 256 . Any positive integer. pty Optional Run the command in a pseudo-terminal. Some apps will behave differently if they are run in a terminal. For example, some apps will produce colorized output in a terminal, and non-colorized output otherwise. Default: false . true , false tail Optional Automatically scroll with new output. Default: false . true , false","title":"Attributes"},{"location":"modules/cmdrunner/#known-limitations","text":"Internally, CmdRunner relies on Golang's exec.Command() to run terminal commands. As it does not invoke the system shell, not all commands are supported. To quote Golang docs , it \"does not expand any glob patterns or handle other expansions, pipelines, or redirections typically done by shells.\"","title":"Known limitations"},{"location":"modules/cmdrunner/#examples","text":"","title":"Examples"},{"location":"modules/cmdrunner/#brew-outdated","text":"Displays a list of all the installed Homebrew recipes that have an update available for them. brew_outdated : args : [ \"outdated\" ] cmd : \"brew\" enabled : true position : top : 3 left : 1 width : 2 height : 1 type : cmdrunner","title":"brew outdated"},{"location":"modules/cmdrunner/#istats","text":"iStats is a command line tool to view system stats on OSX. istats : args : [ \"all\" ] cmd : \"istats\" enabled : true type : \"cmdrunner\" position : top : 0 left : 3 height : 2 width : 2 refreshInterval : 1s","title":"iStats"},{"location":"modules/cmdrunner/#status-pages","text":"Various services provide status apis which are accessible. For example, the slack status api at https://status.slack.com/api/v2.0.0/current This can be accomplished with jq and the cmdrunner module. First, create a shell script: #!/bin/sh curl -s https://status.slack.com/api/v2.0.0/current | \\ jq -r '\"Status: \" + (if (.status == \"active\") then \"Active Incident\" else \"Ok\" end),\"Last Updated: \" + .date_updated,if (.active_incidents[] | length) > 0 then \"Active Incidents\\n\" + .active_incidents[] .title else \"\" end' Second, the following wtfutil config: slack_status : cmd : \"slack_status_check.sh\" enabled : true type : \"cmdrunner\" title : \"Slack Status\" position : top : 5 left : 0 height : 3 width : 4 refreshInterval : 30s","title":"Status Pages"},{"location":"modules/cmdrunner/#wego","text":"wego is a command line tool to view weather, from a variety of weather services weather : args : [ \"0\" ] cmd : \"wego\" enabled : true type : \"cmdrunner\" position : top : 0 left : 0 height : 1 width : 2 refreshInterval : 100s","title":"wego"},{"location":"modules/cmdrunner/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/cmdrunner","title":"Source Code"},{"location":"modules/covid/","text":"COVID Provides details about COVID-19 cases and deaths. Configuration covid : enabled : true colors : label : \"green\" text : \"white\" countries : - AD - AE - AF position : top : 1 left : 2 height : 2 width : 2 refreshInterval : 1h Attributes Name Value countries The list of country codes (ISO 3166-1 alpha-2) to display detailed information for. Screenshots Source Code https://github.com/wtfutil/wtf/tree/master/modules/covid","title":"Covid"},{"location":"modules/covid/#covid","text":"Provides details about COVID-19 cases and deaths.","title":"COVID"},{"location":"modules/covid/#configuration","text":"covid : enabled : true colors : label : \"green\" text : \"white\" countries : - AD - AE - AF position : top : 1 left : 2 height : 2 width : 2 refreshInterval : 1h","title":"Configuration"},{"location":"modules/covid/#attributes","text":"Name Value countries The list of country codes (ISO 3166-1 alpha-2) to display detailed information for.","title":"Attributes"},{"location":"modules/covid/#screenshots","text":"","title":"Screenshots"},{"location":"modules/covid/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/covid","title":"Source Code"},{"location":"modules/datadog/","text":"Datadog Connects to the Datadog API and displays alerting modules. Configuration datadog : apiKey : \"\" applicationKey : \"\" enabled : true monitors : tags : - \"team:ops\" position : top : 4 left : 3 height : 1 width : 2 Attributes Name Value apiKey Your Datadog API key. Leave this blank to use the WTF_DATADOG_API_KEY environment variable. applicationKey Your DataDog application key. Leave this empty to use the WTF_DATADOG_APPLICATION_KEY environment variable. monitors Configuration for the monitors functionality. tags List of tags you want to query monitors by. Source Code https://github.com/wtfutil/wtf/tree/master/modules/datadog","title":"Datadog"},{"location":"modules/datadog/#datadog","text":"Connects to the Datadog API and displays alerting modules.","title":"Datadog"},{"location":"modules/datadog/#configuration","text":"datadog : apiKey : \"\" applicationKey : \"\" enabled : true monitors : tags : - \"team:ops\" position : top : 4 left : 3 height : 1 width : 2","title":"Configuration"},{"location":"modules/datadog/#attributes","text":"Name Value apiKey Your Datadog API key. Leave this blank to use the WTF_DATADOG_API_KEY environment variable. applicationKey Your DataDog application key. Leave this empty to use the WTF_DATADOG_APPLICATION_KEY environment variable. monitors Configuration for the monitors functionality. tags List of tags you want to query monitors by.","title":"Attributes"},{"location":"modules/datadog/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/datadog","title":"Source Code"},{"location":"modules/devto/","text":"DEV Displays stories from The Practical DEV . Configuration devto : enabled : true numberOfArticles : 10 position : top : 1 left : 1 height : 1 width : 2 contentTag : \"showdev\" contentUsername : \"victoravelar\" contentState : \"rising\" Attributes Name Value contentTag Optional List articles from a specific tag. contentUsername Optional List articles from a specific user. contentState Optional Alters the feed output. numberOfArticles Optional Defines number of articles to be displayed. Default: 10 . Any positive integer < 20. Keyboard Key Action / Open/close the widget's help modal [esc] Cancel the selection [return] Open the selected story in the browser \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/devto","title":"DEV (Dev.to)"},{"location":"modules/devto/#dev","text":"Displays stories from The Practical DEV .","title":"DEV"},{"location":"modules/devto/#configuration","text":"devto : enabled : true numberOfArticles : 10 position : top : 1 left : 1 height : 1 width : 2 contentTag : \"showdev\" contentUsername : \"victoravelar\" contentState : \"rising\"","title":"Configuration"},{"location":"modules/devto/#attributes","text":"Name Value contentTag Optional List articles from a specific tag. contentUsername Optional List articles from a specific user. contentState Optional Alters the feed output. numberOfArticles Optional Defines number of articles to be displayed. Default: 10 . Any positive integer < 20.","title":"Attributes"},{"location":"modules/devto/#keyboard","text":"Key Action / Open/close the widget's help modal [esc] Cancel the selection [return] Open the selected story in the browser \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/devto/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/devto","title":"Source Code"},{"location":"modules/digitalclock/","text":"Digital Clock Displays a configurable digital clock. Configuration digitalclock : color : orange enabled : true font : bigfont hourFormat : 12 position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 1s title : \"big clock\" type : \"digitalclock\" Configuration - compact variant Set withDatePrefix to False and pass in a custom dateFormat according to go. digitalclock : withDatePrefix : False dateFormat : \"Monday Jan 02 2006\" color : orange enabled : true font : bigfont hourFormat : 12 position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 1s title : \"big clock\" type : \"digitalclock\" Attributes Name Value color The color to display the clock time in. font The font to display the clock time in. Default: bigfont bigfont , digitalfont hourFormat Optional The format of the clock. Default: 24 . 12 , 24 dateFormat Optional The format of the date. Default: Monday January 02 2006 . Any valid Go date layout which is handled by Time.Format. withDatePrefix Optional Whether to display `Date:` in front of the date. Default: True . True , False Source Code https://github.com/wtfutil/wtf/tree/master/modules/digitalclock","title":"Digital Clock"},{"location":"modules/digitalclock/#digital-clock","text":"Displays a configurable digital clock.","title":"Digital Clock"},{"location":"modules/digitalclock/#configuration","text":"digitalclock : color : orange enabled : true font : bigfont hourFormat : 12 position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 1s title : \"big clock\" type : \"digitalclock\"","title":"Configuration"},{"location":"modules/digitalclock/#configuration-compact-variant","text":"Set withDatePrefix to False and pass in a custom dateFormat according to go. digitalclock : withDatePrefix : False dateFormat : \"Monday Jan 02 2006\" color : orange enabled : true font : bigfont hourFormat : 12 position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 1s title : \"big clock\" type : \"digitalclock\"","title":"Configuration - compact variant"},{"location":"modules/digitalclock/#attributes","text":"Name Value color The color to display the clock time in. font The font to display the clock time in. Default: bigfont bigfont , digitalfont hourFormat Optional The format of the clock. Default: 24 . 12 , 24 dateFormat Optional The format of the date. Default: Monday January 02 2006 . Any valid Go date layout which is handled by Time.Format. withDatePrefix Optional Whether to display `Date:` in front of the date. Default: True . True , False","title":"Attributes"},{"location":"modules/digitalclock/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/digitalclock","title":"Source Code"},{"location":"modules/digitalocean/","text":"DigitalOcean DigitalOcean module displays a list of your DigitalOcean droplets and Kubernetes clusters and allows you to interact with them in these ways: Destroy a droplet Enable private networking on a droplet Reboot a droplet Shut down a droplet Show info about a droplet Configuration digitalocean : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 4 left : 2 width : 2 height : 2 refreshInterval : 15s title : \"\ud83e\udd88 DigitalOcean\" With explicit columns defined: digitalocean : apiKey : \"p0d13*********************************************c3\" columns : - Name - Status - Vcpus - Disk - Memory - Region.Slug enabled : true position : top : 4 left : 2 width : 2 height : 2 refreshInterval : 15s title : \"\ud83e\udd88 DigitalOcean\" Screenshots Attributes Name Value apiKey Your DigitalOcean API key. Leave this blank to use the WTF_DIGITALOCEAN_API_KEY environment variable. columns Optional A list of the droplet attributes to display. Defines the columns displayed in the widget. Any publicly-accessible properties on a DigitalOcean Droplet , Image , Region , or Size . Keyboard Key Action / Open/close the widget's help modal ? Displays information about a droplet [esc] Close the modal dialog [return] Display information about a droplet b Reboot a droplet j Select the next item in the list k Select the previous item in the list p Enable private networking on a droplet r Refresh the data s Shut down a droplet u Enable private networking on a droplet \u2193 Select the next item in the list \u2191 Select the previous item in the list Ctrl-d Delete the selected item Source Code https://github.com/wtfutil/wtf/tree/master/modules/digitalocean","title":"DigitalOcean"},{"location":"modules/digitalocean/#digitalocean","text":"DigitalOcean module displays a list of your DigitalOcean droplets and Kubernetes clusters and allows you to interact with them in these ways: Destroy a droplet Enable private networking on a droplet Reboot a droplet Shut down a droplet Show info about a droplet","title":"DigitalOcean"},{"location":"modules/digitalocean/#configuration","text":"digitalocean : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 4 left : 2 width : 2 height : 2 refreshInterval : 15s title : \"\ud83e\udd88 DigitalOcean\" With explicit columns defined: digitalocean : apiKey : \"p0d13*********************************************c3\" columns : - Name - Status - Vcpus - Disk - Memory - Region.Slug enabled : true position : top : 4 left : 2 width : 2 height : 2 refreshInterval : 15s title : \"\ud83e\udd88 DigitalOcean\"","title":"Configuration"},{"location":"modules/digitalocean/#screenshots","text":"","title":"Screenshots"},{"location":"modules/digitalocean/#attributes","text":"Name Value apiKey Your DigitalOcean API key. Leave this blank to use the WTF_DIGITALOCEAN_API_KEY environment variable. columns Optional A list of the droplet attributes to display. Defines the columns displayed in the widget. Any publicly-accessible properties on a DigitalOcean Droplet , Image , Region , or Size .","title":"Attributes"},{"location":"modules/digitalocean/#keyboard","text":"Key Action / Open/close the widget's help modal ? Displays information about a droplet [esc] Close the modal dialog [return] Display information about a droplet b Reboot a droplet j Select the next item in the list k Select the previous item in the list p Enable private networking on a droplet r Refresh the data s Shut down a droplet u Enable private networking on a droplet \u2193 Select the next item in the list \u2191 Select the previous item in the list Ctrl-d Delete the selected item","title":"Keyboard"},{"location":"modules/digitalocean/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/digitalocean","title":"Source Code"},{"location":"modules/docker/","text":"Docker Displays information about currently-running Docker processes. Configuration docker : type : docker enabled : true labelColor : lightblue position : top : 0 left : 0 height : 3 width : 3 refreshInterval : 1s Screenshots Attributes Name Value labelColor The color to display the row labels in. Source Code https://github.com/wtfutil/wtf/tree/master/modules/docker","title":"Docker"},{"location":"modules/docker/#docker","text":"Displays information about currently-running Docker processes.","title":"Docker"},{"location":"modules/docker/#configuration","text":"docker : type : docker enabled : true labelColor : lightblue position : top : 0 left : 0 height : 3 width : 3 refreshInterval : 1s","title":"Configuration"},{"location":"modules/docker/#screenshots","text":"","title":"Screenshots"},{"location":"modules/docker/#attributes","text":"Name Value labelColor The color to display the row labels in.","title":"Attributes"},{"location":"modules/docker/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/docker","title":"Source Code"},{"location":"modules/feedreader/","text":"Feed Reader An RSS & Atom feed reader. Configuration feedreader : enabled : true feeds : - https://news.ycombinator.com/rss - https://rss.cbc.ca/lineup/topstories.xml feedLimit : 10 position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 4h Screenshots Attributes Name Value feedLimit The number of stories from each feed to be displayed. Default is -1 , which will display all available stories. feeds List of RSS or Atom feed URLs. Keyboard Key Action / Open/close the widget's help modal [return] Open the selected story in the browser j Select the next item in the list k Select the previous item in the list o Open the selected story in the browser r Refresh the data t Switches the display mode between `title`, `link`, and `title and content` \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/feedreader","title":"Feed Reader"},{"location":"modules/feedreader/#feed-reader","text":"An RSS & Atom feed reader.","title":"Feed Reader"},{"location":"modules/feedreader/#configuration","text":"feedreader : enabled : true feeds : - https://news.ycombinator.com/rss - https://rss.cbc.ca/lineup/topstories.xml feedLimit : 10 position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 4h","title":"Configuration"},{"location":"modules/feedreader/#screenshots","text":"","title":"Screenshots"},{"location":"modules/feedreader/#attributes","text":"Name Value feedLimit The number of stories from each feed to be displayed. Default is -1 , which will display all available stories. feeds List of RSS or Atom feed URLs.","title":"Attributes"},{"location":"modules/feedreader/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Open the selected story in the browser j Select the next item in the list k Select the previous item in the list o Open the selected story in the browser r Refresh the data t Switches the display mode between `title`, `link`, and `title and content` \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/feedreader/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/feedreader","title":"Source Code"},{"location":"modules/gerrit/","text":"Gerrit Displays information about your projects hosted on Gerrit: Open Incoming Reviews All open reviews that are requesting your approval. My Outgoing Reviews All open reviews created by you. Configuration gerrit : colors : rows : even : \"lightblue\" odd : \"white\" domain : https://gerrit-review.googlesource.com enabled : true password : \"mypassword\" position : top : 2 left : 3 height : 2 width : 2 projects : - org/test-project\" - dotfiles refreshInterval : 5m username : \"myname\" verifyServerCertificate : false Screenshots Attributes Name Value domain Your Gerrit corporate domain. {{ value }} password Your Gerrit password. Leave this empty to use the WTF_GERRIT_PASSWORD environment variable. projects A list of Gerrit project names to fetch data for. {{ value }} username Your Gerrit username. {{ undesc }} verifyServerCertificate Whether or not to verify the server's certificate chain and hostname. Default: false . true , false Keyboard Key Action / Open/close the widget's help modal [return] Open the selected review in the browser h Show the previous project j Select the next item in the list k Select the previous item in the list l Show the next project o Open the selected review in the browser r Refresh the data \u2190 {{ arrowback }}Show the previous project \u2192 {{ arrowfore }}Show the next project \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/gerrit","title":"Gerrit"},{"location":"modules/gerrit/#gerrit","text":"Displays information about your projects hosted on Gerrit:","title":"Gerrit"},{"location":"modules/gerrit/#open-incoming-reviews","text":"All open reviews that are requesting your approval.","title":"Open Incoming Reviews"},{"location":"modules/gerrit/#my-outgoing-reviews","text":"All open reviews created by you.","title":"My Outgoing Reviews"},{"location":"modules/gerrit/#configuration","text":"gerrit : colors : rows : even : \"lightblue\" odd : \"white\" domain : https://gerrit-review.googlesource.com enabled : true password : \"mypassword\" position : top : 2 left : 3 height : 2 width : 2 projects : - org/test-project\" - dotfiles refreshInterval : 5m username : \"myname\" verifyServerCertificate : false","title":"Configuration"},{"location":"modules/gerrit/#screenshots","text":"","title":"Screenshots"},{"location":"modules/gerrit/#attributes","text":"Name Value domain Your Gerrit corporate domain. {{ value }} password Your Gerrit password. Leave this empty to use the WTF_GERRIT_PASSWORD environment variable. projects A list of Gerrit project names to fetch data for. {{ value }} username Your Gerrit username. {{ undesc }} verifyServerCertificate Whether or not to verify the server's certificate chain and hostname. Default: false . true , false","title":"Attributes"},{"location":"modules/gerrit/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Open the selected review in the browser h Show the previous project j Select the next item in the list k Select the previous item in the list l Show the next project o Open the selected review in the browser r Refresh the data \u2190 {{ arrowback }}Show the previous project \u2192 {{ arrowfore }}Show the next project \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/gerrit/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/gerrit","title":"Source Code"},{"location":"modules/git/","text":"Git Displays information about local git repositories: branch, changed files, and recent commits. Branch The name of the currently-active git branch. Changed Files A list of all the files that have changed since the last commit, and their status. Recent Commits A list of n recent commits, who committed it, and when. Configuration git : commitCount : 5 commitFormat : \"[forestgreen]%h [grey]%cd [white]%s [grey]%an[white]\" dateFormat : \"%H:%M %d %b %y\" enabled : true position : top : 0 left : 3 height : 2 width : 2 refreshInterval : 8s repositories : - \"/Users/chris/go/src/github.com/wtfutil/wtf\" - \"/Users/user/fakeapp\" Screenshots Attributes Name Value branchInTitle Optional Whether to show branch name in title. Default: false true , false commitCount Any positive integer. commitFormat Optional The string format for the commit message. {{ value }} dateFormat The format to use when rendering date strings. Any valid Go date layout which is handled by Time.Format . Default: Jan 2 . lastFolderTitle Optional Whether to show only last part of directory path instead of full path. Default: false true , false showFilesIfEmpty Optional Whether to show Changed Files section if no files have changed. Default: false true , false showModuleName Optional Whether to show 'Git - ' before information in title. Default: true true , false Keyboard Key Action / Open/close the widget's help modal h Show the previous git repository l Show the next git repository p Pull repo r Refresh the data \u2190 {{ arrowback }}Show the previous git repository \u2192 {{ arrowfore }}Show the next git repository Source Code https://github.com/wtfutil/wtf/tree/master/modules/git","title":"Git"},{"location":"modules/git/#git","text":"Displays information about local git repositories: branch, changed files, and recent commits.","title":"Git"},{"location":"modules/git/#branch","text":"The name of the currently-active git branch.","title":"Branch"},{"location":"modules/git/#changed-files","text":"A list of all the files that have changed since the last commit, and their status.","title":"Changed Files"},{"location":"modules/git/#recent-commits","text":"A list of n recent commits, who committed it, and when.","title":"Recent Commits"},{"location":"modules/git/#configuration","text":"git : commitCount : 5 commitFormat : \"[forestgreen]%h [grey]%cd [white]%s [grey]%an[white]\" dateFormat : \"%H:%M %d %b %y\" enabled : true position : top : 0 left : 3 height : 2 width : 2 refreshInterval : 8s repositories : - \"/Users/chris/go/src/github.com/wtfutil/wtf\" - \"/Users/user/fakeapp\"","title":"Configuration"},{"location":"modules/git/#screenshots","text":"","title":"Screenshots"},{"location":"modules/git/#attributes","text":"Name Value branchInTitle Optional Whether to show branch name in title. Default: false true , false commitCount Any positive integer. commitFormat Optional The string format for the commit message. {{ value }} dateFormat The format to use when rendering date strings. Any valid Go date layout which is handled by Time.Format . Default: Jan 2 . lastFolderTitle Optional Whether to show only last part of directory path instead of full path. Default: false true , false showFilesIfEmpty Optional Whether to show Changed Files section if no files have changed. Default: false true , false showModuleName Optional Whether to show 'Git - ' before information in title. Default: true true , false","title":"Attributes"},{"location":"modules/git/#keyboard","text":"Key Action / Open/close the widget's help modal h Show the previous git repository l Show the next git repository p Pull repo r Refresh the data \u2190 {{ arrowback }}Show the previous git repository \u2192 {{ arrowfore }}Show the next git repository","title":"Keyboard"},{"location":"modules/git/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/git","title":"Source Code"},{"location":"modules/github/","text":"GitHub Displays information about your git repositories hosted on GitHub: Open Review Requests All open code review requests assigned to you. Open Pull Requests All open pull requests created by you. Custom Queries Create filters to manage PRs and issues however you like. Configuration github : apiKey : \"3276d7155dd9ee27b8b14f8743a408a9\" baseURL : \"\" customQueries : othersPRs : title : \"Others Pull Requests\" filter : \"is:open is:pr -author:wtfutil\" enabled : true enableStatus : true position : top : 2 left : 3 height : 2 width : 2 refreshInterval : 5m repositories : - \"wtfutil/wtf\" - \"wtfutil/docs\" - \"umbrella-corp/wesker-api\" uploadURL : \"\" username : \"wtfutil\" Screenshots Attributes Name Value apiKey Your GitHub API key. Leave this blank to use the WTF_GITHUB_TOKEN environment variable. baseURL Optional Your GitHub Enterprise API URL. Your API URL. Leave it empty to use the WTF_GITHUB_BASE_URL environment variable. customQueries Filters for pull requests and issues. See below for examples. enableStatus Whether or not to display pull request mergeability status ( dirty , clean , unstable , blocked ). true , false repositories A list of github repos to fetch data for. {{ value }} showMyPullRequests Optional Whether or not to display the 'My Pull Requests' section. Default: true . true , false showOpenReviewRequests Optional_ Whether or not to display the 'Open Review Requests' section. Default: true . true , false showStats Optional Whether or not to display the 'Stats' section. Default: true . true , false uploadURL Optional Your GitHub Enterprise upload URL (often the same as the API URL). Your API URL. Leave it empty to use the WTF_GITHUB_UPLOAD_URL environment variable. username Your GitHub username. Used to figure out which review requests you've been added to. Keyboard Key Action / Open/close the widget's help modal [return] Open the selected Pull Request or Issue in the browser [insert] Open the selected repository in the browser h Show the previous git repository j Select the next item in the list k Select the previous item in the list l Show the next git repository p Open the selected Pull Request in the browser \u2190 {{ arrowback }}Show the previous git repository \u2192 {{ arrowfore }}Show the next git repository \u2193 Select the next item in the list \u2191 Select the previous item in the list Custom Query Examples Custom queries allow you to filter pull requests and issues however you like. Give the query a title and a filter. Filters can be copied directly from GitHub's UI. customQueries : othersPRs : # Displays pull requests that are not assigned to you title : \"Others Pull Requests\" filter : \"is:open is:pr -author:[your github username]\" openIssues : # Displays issues that are assigned to you title : \"My Issues\" filter : \"is:issue state:open author:[your github username]\" otherIssues : # Displays issues not assigned to you, order by their updated_at date perPage : 10 title : \"Others Issues\" filter : \"is:issue state:open -author:[your github username] sort:updated-desc\" Source Code https://github.com/wtfutil/wtf/tree/master/modules/github","title":"GitHub"},{"location":"modules/github/#github","text":"Displays information about your git repositories hosted on GitHub:","title":"GitHub"},{"location":"modules/github/#open-review-requests","text":"All open code review requests assigned to you.","title":"Open Review Requests"},{"location":"modules/github/#open-pull-requests","text":"All open pull requests created by you.","title":"Open Pull Requests"},{"location":"modules/github/#custom-queries","text":"Create filters to manage PRs and issues however you like.","title":"Custom Queries"},{"location":"modules/github/#configuration","text":"github : apiKey : \"3276d7155dd9ee27b8b14f8743a408a9\" baseURL : \"\" customQueries : othersPRs : title : \"Others Pull Requests\" filter : \"is:open is:pr -author:wtfutil\" enabled : true enableStatus : true position : top : 2 left : 3 height : 2 width : 2 refreshInterval : 5m repositories : - \"wtfutil/wtf\" - \"wtfutil/docs\" - \"umbrella-corp/wesker-api\" uploadURL : \"\" username : \"wtfutil\"","title":"Configuration"},{"location":"modules/github/#screenshots","text":"","title":"Screenshots"},{"location":"modules/github/#attributes","text":"Name Value apiKey Your GitHub API key. Leave this blank to use the WTF_GITHUB_TOKEN environment variable. baseURL Optional Your GitHub Enterprise API URL. Your API URL. Leave it empty to use the WTF_GITHUB_BASE_URL environment variable. customQueries Filters for pull requests and issues. See below for examples. enableStatus Whether or not to display pull request mergeability status ( dirty , clean , unstable , blocked ). true , false repositories A list of github repos to fetch data for. {{ value }} showMyPullRequests Optional Whether or not to display the 'My Pull Requests' section. Default: true . true , false showOpenReviewRequests Optional_ Whether or not to display the 'Open Review Requests' section. Default: true . true , false showStats Optional Whether or not to display the 'Stats' section. Default: true . true , false uploadURL Optional Your GitHub Enterprise upload URL (often the same as the API URL). Your API URL. Leave it empty to use the WTF_GITHUB_UPLOAD_URL environment variable. username Your GitHub username. Used to figure out which review requests you've been added to.","title":"Attributes"},{"location":"modules/github/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Open the selected Pull Request or Issue in the browser [insert] Open the selected repository in the browser h Show the previous git repository j Select the next item in the list k Select the previous item in the list l Show the next git repository p Open the selected Pull Request in the browser \u2190 {{ arrowback }}Show the previous git repository \u2192 {{ arrowfore }}Show the next git repository \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/github/#custom-query-examples","text":"Custom queries allow you to filter pull requests and issues however you like. Give the query a title and a filter. Filters can be copied directly from GitHub's UI. customQueries : othersPRs : # Displays pull requests that are not assigned to you title : \"Others Pull Requests\" filter : \"is:open is:pr -author:[your github username]\" openIssues : # Displays issues that are assigned to you title : \"My Issues\" filter : \"is:issue state:open author:[your github username]\" otherIssues : # Displays issues not assigned to you, order by their updated_at date perPage : 10 title : \"Others Issues\" filter : \"is:issue state:open -author:[your github username] sort:updated-desc\"","title":"Custom Query Examples"},{"location":"modules/github/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/github","title":"Source Code"},{"location":"modules/gitlab/","text":"GitLab Displays information about your projects hosted on GitLab: Open Approval Requests All open merge requests that are requesting your approval. Open Merge Requests All open merge requests created by you. Configuration gitlab : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 2 left : 3 height : 2 width : 2 projects : - \"gitlab-org/gitlab-ce\" - \"gitlab-org/release/tasks\" refreshInterval : 5m username : \"wtfutil\" Attributes Name Value apiKey Your GitLab API key. Leave this blank to use the WTF_GITLAB_TOKEN environment variable. domain Optional Your GitLab corporate domain. A valid URI. projects A list of GitLab project paths to fetch data for. {{ value }} username Your GitLab username. Used to figure out which requests require your approval. Keyboard Key Action / Open/close the widget's help modal h Show the previous GitLab repository l Show the next GitLab repository r Refresh the data \u2190 {{ arrowback }}Show the previous GitLab repository \u2192 {{ arrowfore }}Show the next GitLab repository Source Code https://github.com/wtfutil/wtf/tree/master/modules/gitlab","title":"GitLab"},{"location":"modules/gitlab/#gitlab","text":"Displays information about your projects hosted on GitLab:","title":"GitLab"},{"location":"modules/gitlab/#open-approval-requests","text":"All open merge requests that are requesting your approval.","title":"Open Approval Requests"},{"location":"modules/gitlab/#open-merge-requests","text":"All open merge requests created by you.","title":"Open Merge Requests"},{"location":"modules/gitlab/#configuration","text":"gitlab : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 2 left : 3 height : 2 width : 2 projects : - \"gitlab-org/gitlab-ce\" - \"gitlab-org/release/tasks\" refreshInterval : 5m username : \"wtfutil\"","title":"Configuration"},{"location":"modules/gitlab/#attributes","text":"Name Value apiKey Your GitLab API key. Leave this blank to use the WTF_GITLAB_TOKEN environment variable. domain Optional Your GitLab corporate domain. A valid URI. projects A list of GitLab project paths to fetch data for. {{ value }} username Your GitLab username. Used to figure out which requests require your approval.","title":"Attributes"},{"location":"modules/gitlab/#keyboard","text":"Key Action / Open/close the widget's help modal h Show the previous GitLab repository l Show the next GitLab repository r Refresh the data \u2190 {{ arrowback }}Show the previous GitLab repository \u2192 {{ arrowfore }}Show the next GitLab repository","title":"Keyboard"},{"location":"modules/gitlab/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/gitlab","title":"Source Code"},{"location":"modules/gitlabtodo/","text":"GitLab Todo View your GitLab Todos. Configuration gitlabtodo : apiKey : \"dexxxxxxxxxxxxxxxxxxxxxxxxxx34\" domain : \"example.com\" enabled : true numberOfTodos : 12, position : top : 2 left : 3 height : 2 width : 2 refreshInterval : 5m showProject : true Attributes Name Value apiKey Your GitLab API key. Leave this blank to use the WTF_GITLAB_API_KEY environment variable. domain Your GitLab corporate domain. numberOfTodos Optional Defines number of stories to be displayed. Default is 10 . showProject Optional Determines whether or not to show the project a given todo is for. Default: true . true , false . Source Code https://github.com/wtfutil/wtf/tree/master/modules/gitlabtodo","title":"GitLab Todo"},{"location":"modules/gitlabtodo/#gitlab-todo","text":"View your GitLab Todos.","title":"GitLab Todo"},{"location":"modules/gitlabtodo/#configuration","text":"gitlabtodo : apiKey : \"dexxxxxxxxxxxxxxxxxxxxxxxxxx34\" domain : \"example.com\" enabled : true numberOfTodos : 12, position : top : 2 left : 3 height : 2 width : 2 refreshInterval : 5m showProject : true","title":"Configuration"},{"location":"modules/gitlabtodo/#attributes","text":"Name Value apiKey Your GitLab API key. Leave this blank to use the WTF_GITLAB_API_KEY environment variable. domain Your GitLab corporate domain. numberOfTodos Optional Defines number of stories to be displayed. Default is 10 . showProject Optional Determines whether or not to show the project a given todo is for. Default: true . true , false .","title":"Attributes"},{"location":"modules/gitlabtodo/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/gitlabtodo","title":"Source Code"},{"location":"modules/gitter/","text":"Gitter Displays chat messages from Gitter. Configuration gitter : apiToken : \"d23*******************************************3r2\" enabled : true numberOfMessages : 10 position : top : 4 left : 1 height : 1 width : 4 roomUri : wtfutil/Lobby refreshInterval : 5m Screenshots Attributes Name Value apiKey Your Gitter API key. Leave this blank to use the WTF_GITTER_API_TOKEN environment variable. numberOfMessages Optional Maximum number of new messages to be displayed. Default is 10 . roomURI Optional URI of the room you would like to see the chat messages for. Default is wtfutil/Lobby Keyboard Key Action / Open/close the widget's help modal j Select the next item in the list k Select the previous item in the list r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/gitter","title":"Gitter"},{"location":"modules/gitter/#gitter","text":"Displays chat messages from Gitter.","title":"Gitter"},{"location":"modules/gitter/#configuration","text":"gitter : apiToken : \"d23*******************************************3r2\" enabled : true numberOfMessages : 10 position : top : 4 left : 1 height : 1 width : 4 roomUri : wtfutil/Lobby refreshInterval : 5m","title":"Configuration"},{"location":"modules/gitter/#screenshots","text":"","title":"Screenshots"},{"location":"modules/gitter/#attributes","text":"Name Value apiKey Your Gitter API key. Leave this blank to use the WTF_GITTER_API_TOKEN environment variable. numberOfMessages Optional Maximum number of new messages to be displayed. Default is 10 . roomURI Optional URI of the room you would like to see the chat messages for. Default is wtfutil/Lobby","title":"Attributes"},{"location":"modules/gitter/#keyboard","text":"Key Action / Open/close the widget's help modal j Select the next item in the list k Select the previous item in the list r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/gitter/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/gitter","title":"Source Code"},{"location":"modules/hackernews/","text":"HackerNews Displays stories from Hacker News. Configuration hackernews : enabled : true numberOfStories : 10 position : top : 4 left : 1 height : 1 width : 2 storyType : top refreshInterval : 15m Screenshots Attributes Name Value numberOfStories Optional Defines number of stories to be displayed. Default: 10 . Any positive integer. storyType Optional Defines type of stories to be displayed. Default: top . new , top , job , ask Keyboard Keyboard Key Action / Open/close the widget's help modal c Open the selected story's comments in the browser j Select the next item in the list k Select the previous item in the list o Open the selected story in the browser r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/hackernews","title":"HackerNews"},{"location":"modules/hackernews/#hackernews","text":"Displays stories from Hacker News.","title":"HackerNews"},{"location":"modules/hackernews/#configuration","text":"hackernews : enabled : true numberOfStories : 10 position : top : 4 left : 1 height : 1 width : 2 storyType : top refreshInterval : 15m","title":"Configuration"},{"location":"modules/hackernews/#screenshots","text":"","title":"Screenshots"},{"location":"modules/hackernews/#attributes","text":"Name Value numberOfStories Optional Defines number of stories to be displayed. Default: 10 . Any positive integer. storyType Optional Defines type of stories to be displayed. Default: top . new , top , job , ask","title":"Attributes"},{"location":"modules/hackernews/#keyboard","text":"","title":"Keyboard"},{"location":"modules/hackernews/#keyboard_1","text":"Key Action / Open/close the widget's help modal c Open the selected story's comments in the browser j Select the next item in the list k Select the previous item in the list o Open the selected story in the browser r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/hackernews/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/hackernews","title":"Source Code"},{"location":"modules/healthchecks/","text":"Healthchecks Connect to the Healthchecks API. Configuration healthchecks : type : healthchecks enabled : true apiKey : \"XXXX\" apiURL : \"https://healthchecks.io/\" tags : - backup position : top : 0 left : 1 height : 2 width : 1 Screenshots Attributes Name Value apiKey Your Healthchecks API key. Leave this blank to use the WTF_HEALTHCHECKS_APIKEY environment variable. apiKey Healthchecks read-only API-key string apiURL Optional Healthchecks API URL. Default: https://healthchecks.io/ string tags Only show checks with tags list Source Code https://github.com/wtfutil/wtf/tree/master/modules/healthchecks","title":"Healthchecks"},{"location":"modules/healthchecks/#healthchecks","text":"Connect to the Healthchecks API.","title":"Healthchecks"},{"location":"modules/healthchecks/#configuration","text":"healthchecks : type : healthchecks enabled : true apiKey : \"XXXX\" apiURL : \"https://healthchecks.io/\" tags : - backup position : top : 0 left : 1 height : 2 width : 1","title":"Configuration"},{"location":"modules/healthchecks/#screenshots","text":"","title":"Screenshots"},{"location":"modules/healthchecks/#attributes","text":"Name Value apiKey Your Healthchecks API key. Leave this blank to use the WTF_HEALTHCHECKS_APIKEY environment variable. apiKey Healthchecks read-only API-key string apiURL Optional Healthchecks API URL. Default: https://healthchecks.io/ string tags Only show checks with tags list","title":"Attributes"},{"location":"modules/healthchecks/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/healthchecks","title":"Source Code"},{"location":"modules/hibp/","text":"Have I Been Pwned (HIBP) Indicates whether or not your listed email addresses appear in the Have I Been Pwned breach database. Note: As of v0.19.0, WTF requires you use a Have I Been Pwned API key to connect to the service. See details below. Configuration hibp : accounts : - test@example.com - pwned@gmail.com apiKey : \"p0d13*********************************************c3\" colors : ok : \"green\" pwned : \"red\" enabled : true position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 12h since : \"2019-06-22\" Screenshots Attributes Name Value accounts A list of the accounts to check the HIBP database for. {{ value }} apiKey Your DigitalOcean API key. Leave this blank to use the WTF_DIGITALOCEAN_API_KEY environment variable. colors Optional The colors to display for accounts that have not been pwned and ones that have. Defaults to white for unpwned accounts, red for pwned accounts. {{ value }} since Optional Only check for breaches after this date. Set this if you've been breached in the past, have taken steps to mitigate that (changing passwords, cancelling accounts, etc.) and only want to know about future breaches. A date string in the format 'yyyy-mm-dd', ie: '2019-06-22' Source Code https://github.com/wtfutil/wtf/tree/master/modules/hibp","title":"Have I Been Pwned"},{"location":"modules/hibp/#have-i-been-pwned-hibp","text":"Indicates whether or not your listed email addresses appear in the Have I Been Pwned breach database. Note: As of v0.19.0, WTF requires you use a Have I Been Pwned API key to connect to the service. See details below.","title":"Have I Been Pwned (HIBP)"},{"location":"modules/hibp/#configuration","text":"hibp : accounts : - test@example.com - pwned@gmail.com apiKey : \"p0d13*********************************************c3\" colors : ok : \"green\" pwned : \"red\" enabled : true position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 12h since : \"2019-06-22\"","title":"Configuration"},{"location":"modules/hibp/#screenshots","text":"","title":"Screenshots"},{"location":"modules/hibp/#attributes","text":"Name Value accounts A list of the accounts to check the HIBP database for. {{ value }} apiKey Your DigitalOcean API key. Leave this blank to use the WTF_DIGITALOCEAN_API_KEY environment variable. colors Optional The colors to display for accounts that have not been pwned and ones that have. Defaults to white for unpwned accounts, red for pwned accounts. {{ value }} since Optional Only check for breaches after this date. Set this if you've been breached in the past, have taken steps to mitigate that (changing passwords, cancelling accounts, etc.) and only want to know about future breaches. A date string in the format 'yyyy-mm-dd', ie: '2019-06-22'","title":"Attributes"},{"location":"modules/hibp/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/hibp","title":"Source Code"},{"location":"modules/jenkins/","text":"Jenkins Displays Jenkins status of given builds in a project or view. Configuration jenkins : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 2 left : 3 height : 2 width : 3 refreshInterval : 5m successBallColor : \"green\" jobNameRegex : ^[a-z]+\\[[0-9]+\\]$ url : \"https://jenkins.domain.com/jenkins/view_url\" user : \"username\" verifyServerCertificate : true Screenshots Attributes Name Value apiKey Your Jenkins API key. Leave this blank to use the WTF_JENKINS_API_KEY environment variable. jobNameRegex Optional A regex that filters the jobs shown in the widget. Any jobs matching the regular expression will be shown. A valid regex, e.g. ^[a-z]+\\[[0-9]+\\]$ successBallColor Changes the default color of successful Jenkins jobs to the color of your choosing. Any valid color name, blue , green , purple , yellow , etc. url The URL to your Jenkins project or view. A valid URI. username Your Jenkins username. {{ undesc }} verifyServerCertificate Whether or not to verify the server's certificate chain and hostname. Default: false . true , false Keyboard Key Action / Open/close the widget's help modal [return] Open the selected job in the browser j Select the next item in the list k Select the previous item in the list r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/jenkins","title":"Jenkins"},{"location":"modules/jenkins/#jenkins","text":"Displays Jenkins status of given builds in a project or view.","title":"Jenkins"},{"location":"modules/jenkins/#configuration","text":"jenkins : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 2 left : 3 height : 2 width : 3 refreshInterval : 5m successBallColor : \"green\" jobNameRegex : ^[a-z]+\\[[0-9]+\\]$ url : \"https://jenkins.domain.com/jenkins/view_url\" user : \"username\" verifyServerCertificate : true","title":"Configuration"},{"location":"modules/jenkins/#screenshots","text":"","title":"Screenshots"},{"location":"modules/jenkins/#attributes","text":"Name Value apiKey Your Jenkins API key. Leave this blank to use the WTF_JENKINS_API_KEY environment variable. jobNameRegex Optional A regex that filters the jobs shown in the widget. Any jobs matching the regular expression will be shown. A valid regex, e.g. ^[a-z]+\\[[0-9]+\\]$ successBallColor Changes the default color of successful Jenkins jobs to the color of your choosing. Any valid color name, blue , green , purple , yellow , etc. url The URL to your Jenkins project or view. A valid URI. username Your Jenkins username. {{ undesc }} verifyServerCertificate Whether or not to verify the server's certificate chain and hostname. Default: false . true , false","title":"Attributes"},{"location":"modules/jenkins/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Open the selected job in the browser j Select the next item in the list k Select the previous item in the list r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/jenkins/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/jenkins","title":"Source Code"},{"location":"modules/jira/","text":"Jira Displays all Jira issues assigned to you for the specified project. Configuration Single Jira Project jira : apiKey : \"p0d13*********************************************c3\" colors : rows : even : \"lightblue\" odd : \"white\" domain : \"https://umbrellacorp.atlassian.net\" email : \"chriscummer@me.com\" enabled : true jql : \"issueType = Story\" position : top : 4 left : 1 height : 1 width : 2 project : \"ProjectA\" refreshInterval : 15m username : \"chris.cummer\" verifyServerCertificate : true Multiple Jira Projects If you want to monitor multiple Jira projects, use the following configuration (note the difference in project ): jira : apiKey : \"p0d13*********************************************c3\" colors : rows : even : \"lightblue\" odd : \"white\" domain : \"https://umbrellacorp.atlassian.net\" email : \"chriscummer@me.com\" enabled : true jql : \"issueType = Story\" position : top : 4 left : 1 height : 1 width : 2 project : [ \"ProjectA\" , \"ProjectB\" ] refreshInterval : 15m username : \"chris.cummer\" verifyServerCertificate : true Screenshots Attributes Name Value apiKey Your Jira API key. Leave this blank to use the WTF_JIRA_API_KEY environment variable. colors.rows.even The foreground color for even-numbered rows. Any X11 color name . colors.rows.odd The foreground color for odd-numbered rows. Any X11 color name . domain Your Jira corporate domain. A valid URI. email The email address associated with your Jira account. A valid email address. jql Optional Custom JQL to be appended to the search query. See Search Jira Like a Boss with JQL for details. project An array of projects to get data from username Your Jira username. {{ undesc }} verifyServerCertificate Whether or not to verify the server's certificate chain and hostname. Default: false . true , false Keyboard Key Action / Open/close the widget's help modal Source Code https://github.com/wtfutil/wtf/tree/master/modules/jira","title":"Jira"},{"location":"modules/jira/#jira","text":"Displays all Jira issues assigned to you for the specified project.","title":"Jira"},{"location":"modules/jira/#configuration","text":"","title":"Configuration"},{"location":"modules/jira/#single-jira-project","text":"jira : apiKey : \"p0d13*********************************************c3\" colors : rows : even : \"lightblue\" odd : \"white\" domain : \"https://umbrellacorp.atlassian.net\" email : \"chriscummer@me.com\" enabled : true jql : \"issueType = Story\" position : top : 4 left : 1 height : 1 width : 2 project : \"ProjectA\" refreshInterval : 15m username : \"chris.cummer\" verifyServerCertificate : true","title":"Single Jira Project"},{"location":"modules/jira/#multiple-jira-projects","text":"If you want to monitor multiple Jira projects, use the following configuration (note the difference in project ): jira : apiKey : \"p0d13*********************************************c3\" colors : rows : even : \"lightblue\" odd : \"white\" domain : \"https://umbrellacorp.atlassian.net\" email : \"chriscummer@me.com\" enabled : true jql : \"issueType = Story\" position : top : 4 left : 1 height : 1 width : 2 project : [ \"ProjectA\" , \"ProjectB\" ] refreshInterval : 15m username : \"chris.cummer\" verifyServerCertificate : true","title":"Multiple Jira Projects"},{"location":"modules/jira/#screenshots","text":"","title":"Screenshots"},{"location":"modules/jira/#attributes","text":"Name Value apiKey Your Jira API key. Leave this blank to use the WTF_JIRA_API_KEY environment variable. colors.rows.even The foreground color for even-numbered rows. Any X11 color name . colors.rows.odd The foreground color for odd-numbered rows. Any X11 color name . domain Your Jira corporate domain. A valid URI. email The email address associated with your Jira account. A valid email address. jql Optional Custom JQL to be appended to the search query. See Search Jira Like a Boss with JQL for details. project An array of projects to get data from username Your Jira username. {{ undesc }} verifyServerCertificate Whether or not to verify the server's certificate chain and hostname. Default: false . true , false","title":"Attributes"},{"location":"modules/jira/#keyboard","text":"Key Action / Open/close the widget's help modal","title":"Keyboard"},{"location":"modules/jira/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/jira","title":"Source Code"},{"location":"modules/krisinformation/","text":"Krisinformation Displays important messages from Krisinformation.se which is a web site run by the Swedish Civil Contingencies Agency that compiles and convey warnings, alerts, and emergency information from Swedish authorities to the public. Krisinformation . Configuration krisinformation : title : Krisinformation enabled : true latitude : 53.1234 longitude : 12.1234 radius : -1 country : true maxitems : 5 maxage : 1000 refreshInterval : 1h position : top : 0 left : 0 height : 1 width : 3 Screenshots Attributes Name Value latitude Optional The latitude of the position from which the widget should look for messages. Decimal degrees longitude Optional The longitude of the position from which the widget should look for messages. Decimal degrees radius Optional The radius in km from your position that the widget should look for messages, use latitude/longitude setting Any positive integer county Optional The county from where to display messages string country Optional Only display country wide messages. Default: true true , false maxitems Optional Only display X number of latest messages. (-1 disables) Default: -1 . Any positive integer. maxage Optional Only show messages younger than maxage in hours. Default: 720 Any positive integer Source Code https://github.com/wtfutil/wtf/tree/master/modules/krisinformation","title":"Krisinformation"},{"location":"modules/krisinformation/#krisinformation","text":"Displays important messages from Krisinformation.se which is a web site run by the Swedish Civil Contingencies Agency that compiles and convey warnings, alerts, and emergency information from Swedish authorities to the public. Krisinformation .","title":"Krisinformation"},{"location":"modules/krisinformation/#configuration","text":"krisinformation : title : Krisinformation enabled : true latitude : 53.1234 longitude : 12.1234 radius : -1 country : true maxitems : 5 maxage : 1000 refreshInterval : 1h position : top : 0 left : 0 height : 1 width : 3","title":"Configuration"},{"location":"modules/krisinformation/#screenshots","text":"","title":"Screenshots"},{"location":"modules/krisinformation/#attributes","text":"Name Value latitude Optional The latitude of the position from which the widget should look for messages. Decimal degrees longitude Optional The longitude of the position from which the widget should look for messages. Decimal degrees radius Optional The radius in km from your position that the widget should look for messages, use latitude/longitude setting Any positive integer county Optional The county from where to display messages string country Optional Only display country wide messages. Default: true true , false maxitems Optional Only display X number of latest messages. (-1 disables) Default: -1 . Any positive integer. maxage Optional Only show messages younger than maxage in hours. Default: 720 Any positive integer","title":"Attributes"},{"location":"modules/krisinformation/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/krisinformation","title":"Source Code"},{"location":"modules/kubernetes/","text":"Kubernetes Displays information about a Kubernetes cluster. Configuration kubernetes : enabled : true kubeconfig : \"/Users/testuser/.kube/config\" namespaces : - internal - public - systems objects : - deployments - nodes - pods position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 5m title : \"Build System\" Attributes Name Value context The Kubernetes context to use. If blank, it uses the default context. {{ value }} kubeconfig The absolute path to your Kubernetes config file. {{ value }} namespaces A list of namespaces to monitor. Defaults to all if empty. {{ value }} objects A list of Kubernetes objects to display. Any of nodes , pods , and/or deployments . Source Code https://github.com/wtfutil/wtf/tree/master/modules/kubernetes","title":"Kubernetes"},{"location":"modules/kubernetes/#kubernetes","text":"Displays information about a Kubernetes cluster.","title":"Kubernetes"},{"location":"modules/kubernetes/#configuration","text":"kubernetes : enabled : true kubeconfig : \"/Users/testuser/.kube/config\" namespaces : - internal - public - systems objects : - deployments - nodes - pods position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 5m title : \"Build System\"","title":"Configuration"},{"location":"modules/kubernetes/#attributes","text":"Name Value context The Kubernetes context to use. If blank, it uses the default context. {{ value }} kubeconfig The absolute path to your Kubernetes config file. {{ value }} namespaces A list of namespaces to monitor. Defaults to all if empty. {{ value }} objects A list of Kubernetes objects to display. Any of nodes , pods , and/or deployments .","title":"Attributes"},{"location":"modules/kubernetes/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/kubernetes","title":"Source Code"},{"location":"modules/logger/","text":"Logger View contents of wtf log file (~/.config/wtf/log.txt). Configuration logger : enabled : true colors : label : \"green\" text : \"white\" position : top : 1 left : 2 height : 1 width : 2 refreshInterval : 15 Screenshots Source Code https://github.com/wtfutil/wtf/tree/master/modules/logger","title":"Logger"},{"location":"modules/logger/#logger","text":"View contents of wtf log file (~/.config/wtf/log.txt).","title":"Logger"},{"location":"modules/logger/#configuration","text":"logger : enabled : true colors : label : \"green\" text : \"white\" position : top : 1 left : 2 height : 1 width : 2 refreshInterval : 15","title":"Configuration"},{"location":"modules/logger/#screenshots","text":"","title":"Screenshots"},{"location":"modules/logger/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/logger","title":"Source Code"},{"location":"modules/lunarphase/","text":"Lunar Phase Displays the phase of the Moon as ASCII art from Wttr.in . The width of the column in which the lunar phase is displayed needs to be large enough for the ASCII graphic to fit or multiple columns must be allocated. Configuration lunarphase : enabled : true position : top : 3 left : 5 height : 2 width : 2 language : 'en' refreshInterval : 5h Screenshots Source Code https://github.com/wtfutil/wtf/tree/master/modules/lunarphase","title":"Lunar Phase"},{"location":"modules/lunarphase/#lunar-phase","text":"Displays the phase of the Moon as ASCII art from Wttr.in . The width of the column in which the lunar phase is displayed needs to be large enough for the ASCII graphic to fit or multiple columns must be allocated.","title":"Lunar Phase"},{"location":"modules/lunarphase/#configuration","text":"lunarphase : enabled : true position : top : 3 left : 5 height : 2 width : 2 language : 'en' refreshInterval : 5h","title":"Configuration"},{"location":"modules/lunarphase/#screenshots","text":"","title":"Screenshots"},{"location":"modules/lunarphase/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/lunarphase","title":"Source Code"},{"location":"modules/mercurial/","text":"Mercurial Displays information about local mercurial repositories: branch, changed files, and recent commits. Branch The name of the currently-active mercurial branch. Changed Files A list of all the files that have changed since the last commit, and their status. Recent Commits A list of n recent commits, who committed it, and when. Configuration mercurial : commitCount : 5 commitFormat : \"[forestgreen]{rev}:{phase} [white]{desc|firstline|strip} [grey]{author|person} {date|age}[white]\" enabled : true position : top : 0 left : 3 height : 2 width : 2 refreshInterval : 8s repositories : - \"/Users/user/fakelib\" - \"/Users/user/fakeapp\" Screenshots Attributes Name Value commitCount The number of past commits to display. Any positive integer. commitFormat Optional The string format for the commit message. {{ value }} repositories A list of Mercurial repositories to watch. A list of zero or more local file paths pointing to valid mercurial repositories. Keyboard Key Action / Open/close the widget's help modal h Show the previous Mercurial repository l Show the next Mercurial repository r Refresh the data \u2190 {{ arrowback }}Show the previous Mercurial repository \u2192 {{ arrowfore }}Show the next Mercurial repository Source Code https://github.com/wtfutil/wtf/tree/master/modules/mercurial","title":"Mercurial"},{"location":"modules/mercurial/#mercurial","text":"Displays information about local mercurial repositories: branch, changed files, and recent commits.","title":"Mercurial"},{"location":"modules/mercurial/#branch","text":"The name of the currently-active mercurial branch.","title":"Branch"},{"location":"modules/mercurial/#changed-files","text":"A list of all the files that have changed since the last commit, and their status.","title":"Changed Files"},{"location":"modules/mercurial/#recent-commits","text":"A list of n recent commits, who committed it, and when.","title":"Recent Commits"},{"location":"modules/mercurial/#configuration","text":"mercurial : commitCount : 5 commitFormat : \"[forestgreen]{rev}:{phase} [white]{desc|firstline|strip} [grey]{author|person} {date|age}[white]\" enabled : true position : top : 0 left : 3 height : 2 width : 2 refreshInterval : 8s repositories : - \"/Users/user/fakelib\" - \"/Users/user/fakeapp\"","title":"Configuration"},{"location":"modules/mercurial/#screenshots","text":"","title":"Screenshots"},{"location":"modules/mercurial/#attributes","text":"Name Value commitCount The number of past commits to display. Any positive integer. commitFormat Optional The string format for the commit message. {{ value }} repositories A list of Mercurial repositories to watch. A list of zero or more local file paths pointing to valid mercurial repositories.","title":"Attributes"},{"location":"modules/mercurial/#keyboard","text":"Key Action / Open/close the widget's help modal h Show the previous Mercurial repository l Show the next Mercurial repository r Refresh the data \u2190 {{ arrowback }}Show the previous Mercurial repository \u2192 {{ arrowfore }}Show the next Mercurial repository","title":"Keyboard"},{"location":"modules/mercurial/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/mercurial","title":"Source Code"},{"location":"modules/newrelic/","text":"New Relic Connects to the New Relic API and displays the last n deploys of the monitored applications: deploy ID, deploy time, and who deployed it. Configuration newrelic : apiKey : \"p0d13*********************************************c3\" applicationIDs : - 10549735 - 499785 deployCount : 6 enabled : true position : top : 4 left : 3 height : 1 width : 2 refreshInterval : 15m Screenshots Attributes Name Value apiKey Your New Relic API key. Leave this blank to use the WTF_NEW_RELIC_API_KEY environment variable. applicationIds A list of integer IDs of the New Relic applications you wish to report on. Any positive integer. deployCount Optional The number of past deploys to display on screen. Default: 5 . Any positive integer. Keyboard Key Action / Open/close the widget's help modal \u2190 {{ arrowback }}Show the previous application \u2192 {{ arrowfore }}Show the next application Source Code https://github.com/wtfutil/wtf/tree/master/modules/newrelic","title":"New Relic"},{"location":"modules/newrelic/#new-relic","text":"Connects to the New Relic API and displays the last n deploys of the monitored applications: deploy ID, deploy time, and who deployed it.","title":"New Relic"},{"location":"modules/newrelic/#configuration","text":"newrelic : apiKey : \"p0d13*********************************************c3\" applicationIDs : - 10549735 - 499785 deployCount : 6 enabled : true position : top : 4 left : 3 height : 1 width : 2 refreshInterval : 15m","title":"Configuration"},{"location":"modules/newrelic/#screenshots","text":"","title":"Screenshots"},{"location":"modules/newrelic/#attributes","text":"Name Value apiKey Your New Relic API key. Leave this blank to use the WTF_NEW_RELIC_API_KEY environment variable. applicationIds A list of integer IDs of the New Relic applications you wish to report on. Any positive integer. deployCount Optional The number of past deploys to display on screen. Default: 5 . Any positive integer.","title":"Attributes"},{"location":"modules/newrelic/#keyboard","text":"Key Action / Open/close the widget's help modal \u2190 {{ arrowback }}Show the previous application \u2192 {{ arrowfore }}Show the next application","title":"Keyboard"},{"location":"modules/newrelic/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/newrelic","title":"Source Code"},{"location":"modules/nextbus/","text":"NextBus Displays information about the next bus for a particular stop. Useful for determining when to leave the house. Note that not all bus services around the world serves bus data through umoiq/NextBus. For those that don't, you will need to write the appropriate module to integrate with those APIs if they exist. This module integrates the predictions command from the umoiq/NextBus API. http://www.nextbus.com/xmlFeedDocs/NextBusXMLFeed.pdf . Configuration If the transit agency exists on this UI, we can configure this module. https://retro.umoiq.com/ . To make JSON easier to read in the browser, try this chrome extension JSONView . To get the agency tag for your local transit agency, look through this list: https://webservices.umoiq.com/service/publicJSONFeed?command=agencyList Once you locate your transit agency tag, you can view the list of available bus routes and route tag by replacing with your agency tag from step 1. https://webservices.umoiq.com/service/publicJSONFeed?command=routeList&a= Once you locate your desired bus route, you can find the stopID you are interested in tracking by replacing with your transit agency tag from step 1 and by replacing with your desired route from step 2. https://webservices.umoiq.com/service/publicJSONFeed?command=routeConfig&a=&r= Once you have these 3 values, you can populate it in the yaml config. Example: Step 1: stl Step 2: 24E Step 3: 43428 Would result in: nextbus : enabled : true border : false agency : stl route : 24E stopID : 43428 position : top : 12 left : 0 width : 24 height : 2 refreshInterval : 20s Attributes Name Value agency Transit agency of your bus. Ex. `stl` from https://webservices.umoiq.com/service/publicJSONFeed?command=agencyList route Route Number of your bus. Ex. `24E` from https://webservices.umoiq.com/service/publicJSONFeed?command=routeList&a=stl stopID Your bus stop number. Ex. `43428` from: https://webservices.umoiq.com/service/publicJSONFeed?command=routeConfig&a=stl&r=24E Screenshots The output format is | ETA [:] According to the above screenshot, the next #24 bus is in 16 minutes and 43 seconds. Source Code https://github.com/wtfutil/wtf/tree/master/modules/nextbus","title":"NextBus"},{"location":"modules/nextbus/#nextbus","text":"Displays information about the next bus for a particular stop. Useful for determining when to leave the house. Note that not all bus services around the world serves bus data through umoiq/NextBus. For those that don't, you will need to write the appropriate module to integrate with those APIs if they exist. This module integrates the predictions command from the umoiq/NextBus API. http://www.nextbus.com/xmlFeedDocs/NextBusXMLFeed.pdf .","title":"NextBus"},{"location":"modules/nextbus/#configuration","text":"If the transit agency exists on this UI, we can configure this module. https://retro.umoiq.com/ . To make JSON easier to read in the browser, try this chrome extension JSONView . To get the agency tag for your local transit agency, look through this list: https://webservices.umoiq.com/service/publicJSONFeed?command=agencyList Once you locate your transit agency tag, you can view the list of available bus routes and route tag by replacing with your agency tag from step 1. https://webservices.umoiq.com/service/publicJSONFeed?command=routeList&a= Once you locate your desired bus route, you can find the stopID you are interested in tracking by replacing with your transit agency tag from step 1 and by replacing with your desired route from step 2. https://webservices.umoiq.com/service/publicJSONFeed?command=routeConfig&a=&r= Once you have these 3 values, you can populate it in the yaml config.","title":"Configuration"},{"location":"modules/nextbus/#example","text":"Step 1: stl Step 2: 24E Step 3: 43428","title":"Example:"},{"location":"modules/nextbus/#would-result-in","text":"nextbus : enabled : true border : false agency : stl route : 24E stopID : 43428 position : top : 12 left : 0 width : 24 height : 2 refreshInterval : 20s","title":"Would result in:"},{"location":"modules/nextbus/#attributes","text":"Name Value agency Transit agency of your bus. Ex. `stl` from https://webservices.umoiq.com/service/publicJSONFeed?command=agencyList route Route Number of your bus. Ex. `24E` from https://webservices.umoiq.com/service/publicJSONFeed?command=routeList&a=stl stopID Your bus stop number. Ex. `43428` from: https://webservices.umoiq.com/service/publicJSONFeed?command=routeConfig&a=stl&r=24E","title":"Attributes"},{"location":"modules/nextbus/#screenshots","text":"The output format is | ETA [:] According to the above screenshot, the next #24 bus is in 16 minutes and 43 seconds.","title":"Screenshots"},{"location":"modules/nextbus/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/nextbus","title":"Source Code"},{"location":"modules/opsgenie/","text":"OpsGenie Shows OpsGenie on-call schedules. See Who is on Call API for details. Configuration Single Schedule opsgenie : apiKey : \"p0d13*********************************************c3\" displayEmpty : false enabled : true position : top : 2 left : 1 height : 2 width : 1 refreshInterval : 6h region : \"us\" schedule : \"Primary\" scheduleIdentifierType : \"id\" Multiple Schedules opsgenie : apiKey : \"p0d13*********************************************c3\" displayEmpty : false enabled : true position : top : 2 left : 1 height : 2 width : 1 refreshInterval : 6h region : \"us\" schedule : - \"Primary\" - \"Secondary\" scheduleIdentifierType : \"id\" Screenshots Attributes Name Value apiKey Your OpsGenie API key. Leave this blank to use the WTF_OPS_GENIE_API_KEY environment variable. displayEmpty Whether schedules with no assigned person on-call should be displayed. Default: true . true , false region The region of the servers to connect to. eu , us scheduleIdentifierType Type of the schedule identifier. id , name Source Code https://github.com/wtfutil/wtf/tree/master/modules/opsgenie","title":"OpsGenie"},{"location":"modules/opsgenie/#opsgenie","text":"Shows OpsGenie on-call schedules. See Who is on Call API for details.","title":"OpsGenie"},{"location":"modules/opsgenie/#configuration","text":"","title":"Configuration"},{"location":"modules/opsgenie/#single-schedule","text":"opsgenie : apiKey : \"p0d13*********************************************c3\" displayEmpty : false enabled : true position : top : 2 left : 1 height : 2 width : 1 refreshInterval : 6h region : \"us\" schedule : \"Primary\" scheduleIdentifierType : \"id\"","title":"Single Schedule"},{"location":"modules/opsgenie/#multiple-schedules","text":"opsgenie : apiKey : \"p0d13*********************************************c3\" displayEmpty : false enabled : true position : top : 2 left : 1 height : 2 width : 1 refreshInterval : 6h region : \"us\" schedule : - \"Primary\" - \"Secondary\" scheduleIdentifierType : \"id\"","title":"Multiple Schedules"},{"location":"modules/opsgenie/#screenshots","text":"","title":"Screenshots"},{"location":"modules/opsgenie/#attributes","text":"Name Value apiKey Your OpsGenie API key. Leave this blank to use the WTF_OPS_GENIE_API_KEY environment variable. displayEmpty Whether schedules with no assigned person on-call should be displayed. Default: true . true , false region The region of the servers to connect to. eu , us scheduleIdentifierType Type of the schedule identifier. id , name","title":"Attributes"},{"location":"modules/opsgenie/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/opsgenie","title":"Source Code"},{"location":"modules/pagerduty/","text":"PagerDuty Shows Pagerduty on-call schedules. Configuration pagerduty : apiKey : \"p0d13*********************************************c3\" enabled : true escalationFilter : - \"client-eng\" position : top : 4 left : 3 height : 1 width : 2 scheduleIDs : - \"R2D24CD\" - \"C3P05MF\" showIncidents : true showOnCallEnd : true showSchedules : true Attributes Name Value apiKey Your PagerDuty API key. Leave this blank to use the WTF_PAGERDUTY_API_KEY environment variable. escalationFilter An array of schedule names you want to filter on. {{ value }} scheduleIDs An array of schedule IDs you want to restrict the query to. {{ value }} showIncidents Optional Whether or not to list incidents. Default: true . true , false showOnCallEnd Optional Whether or not to display the end date of the oncall rotation. Default: false . true , false showSchedules Optional Whether or not to show schedules. Default: true . true , false teamIDs Optional An array of team IDs to restrict the incidents query to. userIDs Optional An array of user IDs to restrict the incidents query to. Source Code https://github.com/wtfutil/wtf/tree/master/modules/pagerduty","title":"PagerDuty"},{"location":"modules/pagerduty/#pagerduty","text":"Shows Pagerduty on-call schedules.","title":"PagerDuty"},{"location":"modules/pagerduty/#configuration","text":"pagerduty : apiKey : \"p0d13*********************************************c3\" enabled : true escalationFilter : - \"client-eng\" position : top : 4 left : 3 height : 1 width : 2 scheduleIDs : - \"R2D24CD\" - \"C3P05MF\" showIncidents : true showOnCallEnd : true showSchedules : true","title":"Configuration"},{"location":"modules/pagerduty/#attributes","text":"Name Value apiKey Your PagerDuty API key. Leave this blank to use the WTF_PAGERDUTY_API_KEY environment variable. escalationFilter An array of schedule names you want to filter on. {{ value }} scheduleIDs An array of schedule IDs you want to restrict the query to. {{ value }} showIncidents Optional Whether or not to list incidents. Default: true . true , false showOnCallEnd Optional Whether or not to display the end date of the oncall rotation. Default: false . true , false showSchedules Optional Whether or not to show schedules. Default: true . true , false teamIDs Optional An array of team IDs to restrict the incidents query to. userIDs Optional An array of user IDs to restrict the incidents query to.","title":"Attributes"},{"location":"modules/pagerduty/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/pagerduty","title":"Source Code"},{"location":"modules/pihole/","text":"Pihole Displays information about a running Pi-hole server. Configuration pihole : apiUrl : http://192.168.1.100:1010/admin/api.php enabled : true maxClientWidth : 20 maxDomainWidth : 20 position : top : 5 left : 0 height : 2 width : 2 refreshInterval : 1m showSummary : true showTopItems : 5 showTopClients : 5 token : atvvedmpyat8140rnhodrok3qr58d8ph85wl6wk1rpb9upiwx1tl6eittz403pqaj Screenshots Attributes Name Value apiUrl The Pi-Hole API Server URL. Typically: http:// /admin/api.php maxClientWidth Optional Number of characters to display when outputting query and ad domain names. Default: 20 Any positive integer. maxDomainWidth Optional Number of characters to display when outputting client name and IP. Default: 20 . Any positive integer. showSummary Show summary. Default: true . true , false showTopItems Optional Number of Top Queries and Top Ads to display. 0 disables the output. Default: 5 . Any positive integer. showTopClients Optional Number of Top Sources and Query Types to display. 0 disables the output. Default: 5 . Any positive integer. token Navigate to http:// /admin/settings.php?tab=api and choose 'Show API Token' Source Code https://github.com/wtfutil/wtf/tree/master/modules/pihole","title":"Pihole"},{"location":"modules/pihole/#pihole","text":"Displays information about a running Pi-hole server.","title":"Pihole"},{"location":"modules/pihole/#configuration","text":"pihole : apiUrl : http://192.168.1.100:1010/admin/api.php enabled : true maxClientWidth : 20 maxDomainWidth : 20 position : top : 5 left : 0 height : 2 width : 2 refreshInterval : 1m showSummary : true showTopItems : 5 showTopClients : 5 token : atvvedmpyat8140rnhodrok3qr58d8ph85wl6wk1rpb9upiwx1tl6eittz403pqaj","title":"Configuration"},{"location":"modules/pihole/#screenshots","text":"","title":"Screenshots"},{"location":"modules/pihole/#attributes","text":"Name Value apiUrl The Pi-Hole API Server URL. Typically: http:// /admin/api.php maxClientWidth Optional Number of characters to display when outputting query and ad domain names. Default: 20 Any positive integer. maxDomainWidth Optional Number of characters to display when outputting client name and IP. Default: 20 . Any positive integer. showSummary Show summary. Default: true . true , false showTopItems Optional Number of Top Queries and Top Ads to display. 0 disables the output. Default: 5 . Any positive integer. showTopClients Optional Number of Top Sources and Query Types to display. 0 disables the output. Default: 5 . Any positive integer. token Navigate to http:// /admin/settings.php?tab=api and choose 'Show API Token'","title":"Attributes"},{"location":"modules/pihole/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/pihole","title":"Source Code"},{"location":"modules/pocket/","text":"Pocket Displays Pocket Saved Articles. Configuration pocket : enabled : true position : top : 0 left : 3 height : 4 width : 2 consumerKey : '88*******************' refreshInterval : 1s Attributes Name Value consumer_key The consumer key of Pocket app obtained from https://getpocket.com/developer/apps/new . Make sure to have add , modify , and retrieve permissions. Keyboard Key Action / Open/close the widget's help modal [return] Open the article in the browser a Toggle link archive/unarchive j Select the next item in the list k Select the previous item in the list t Toggle view archived links/active links \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/pocket","title":"Pocket"},{"location":"modules/pocket/#pocket","text":"Displays Pocket Saved Articles.","title":"Pocket"},{"location":"modules/pocket/#configuration","text":"pocket : enabled : true position : top : 0 left : 3 height : 4 width : 2 consumerKey : '88*******************' refreshInterval : 1s","title":"Configuration"},{"location":"modules/pocket/#attributes","text":"Name Value consumer_key The consumer key of Pocket app obtained from https://getpocket.com/developer/apps/new . Make sure to have add , modify , and retrieve permissions.","title":"Attributes"},{"location":"modules/pocket/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Open the article in the browser a Toggle link archive/unarchive j Select the next item in the list k Select the previous item in the list t Toggle view archived links/active links \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/pocket/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/pocket","title":"Source Code"},{"location":"modules/power/","text":"Power Displays information about the current power source. For battery, also displays the current charge, estimated time remaining, and whether it is charging or discharging. Configuration power : enabled : true position : top : 5 left : 0 height : 2 width : 1 refreshInterval : 15s Screenshots Source Code https://github.com/wtfutil/wtf/tree/master/modules/power Dependencies Linux upower FreeBSD apm MacOS pmset","title":"Power"},{"location":"modules/power/#power","text":"Displays information about the current power source. For battery, also displays the current charge, estimated time remaining, and whether it is charging or discharging.","title":"Power"},{"location":"modules/power/#configuration","text":"power : enabled : true position : top : 5 left : 0 height : 2 width : 1 refreshInterval : 15s","title":"Configuration"},{"location":"modules/power/#screenshots","text":"","title":"Screenshots"},{"location":"modules/power/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/power","title":"Source Code"},{"location":"modules/power/#dependencies","text":"","title":"Dependencies"},{"location":"modules/power/#linux","text":"upower","title":"Linux"},{"location":"modules/power/#freebsd","text":"apm","title":"FreeBSD"},{"location":"modules/power/#macos","text":"pmset","title":"MacOS"},{"location":"modules/resourceusage/","text":"Resource Usage Displays CPU and memory usage. Configuration resourceusage : cpuCombined : false enabled : true position : top : 1 left : 1 height : 1 width : 1 refreshInterval : 1s showCPU : true showMem : true showSwp : true Screenshots Attributes Name Value cpuCombined Optional Whether or not to display the CPUs as one combined value. Default: false . true , false graphIcon Optional The character to use to display stars in the graph. Default: | . Any visible alphanumeric character. graphStars Optional The maximum number of stars to display in the graph. Default: 20 . Any positive integer. showCPU Optional Whether or not to display the CPU usage. Default: true . true , false showMem Optional Whether or not to display the memory usage. Default: true . true , false showSwp Optional Whether or not to display the swap memory usage. Default: true . true , false Source Code https://github.com/wtfutil/wtf/tree/master/modules/resourceusage","title":"Resource Usage"},{"location":"modules/resourceusage/#resource-usage","text":"Displays CPU and memory usage.","title":"Resource Usage"},{"location":"modules/resourceusage/#configuration","text":"resourceusage : cpuCombined : false enabled : true position : top : 1 left : 1 height : 1 width : 1 refreshInterval : 1s showCPU : true showMem : true showSwp : true","title":"Configuration"},{"location":"modules/resourceusage/#screenshots","text":"","title":"Screenshots"},{"location":"modules/resourceusage/#attributes","text":"Name Value cpuCombined Optional Whether or not to display the CPUs as one combined value. Default: false . true , false graphIcon Optional The character to use to display stars in the graph. Default: | . Any visible alphanumeric character. graphStars Optional The maximum number of stars to display in the graph. Default: 20 . Any positive integer. showCPU Optional Whether or not to display the CPU usage. Default: true . true , false showMem Optional Whether or not to display the memory usage. Default: true . true , false showSwp Optional Whether or not to display the swap memory usage. Default: true . true , false","title":"Attributes"},{"location":"modules/resourceusage/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/resourceusage","title":"Source Code"},{"location":"modules/rollbar/","text":"Rollbar Displays item information for your rollbar account. Configuration rollbar : accessToken : \"d23*******************************************3r2\" enabled : true projectOwner : \"ENCOM\" projectName : \"MCP\" activeOnly : true assignedToName : \"dillinger\" count : 3 position : top : 4 left : 1 height : 2 width : 2 refreshInterval : 15m Screenshots Attributes Name Value accessToken Your Rollbar project access token (only needs read capabilities). activeOnly Optional Only show items that are active. true , false assignedToName Optional Set this to your username if you only want to see items assigned to you. count Optional How many items you want to see. 100 is max. Any positive integer up to 100 inclusive. projectName This is used to create a link to the item. projectOwner This is used to create a link to the item. Keyboard Key Action / Open/close the widget's help modal [return] Display the selected item in the browser j Select the next item in the list k Select the previous item in the list r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/rollbar","title":"Rollbar"},{"location":"modules/rollbar/#rollbar","text":"Displays item information for your rollbar account.","title":"Rollbar"},{"location":"modules/rollbar/#configuration","text":"rollbar : accessToken : \"d23*******************************************3r2\" enabled : true projectOwner : \"ENCOM\" projectName : \"MCP\" activeOnly : true assignedToName : \"dillinger\" count : 3 position : top : 4 left : 1 height : 2 width : 2 refreshInterval : 15m","title":"Configuration"},{"location":"modules/rollbar/#screenshots","text":"","title":"Screenshots"},{"location":"modules/rollbar/#attributes","text":"Name Value accessToken Your Rollbar project access token (only needs read capabilities). activeOnly Optional Only show items that are active. true , false assignedToName Optional Set this to your username if you only want to see items assigned to you. count Optional How many items you want to see. 100 is max. Any positive integer up to 100 inclusive. projectName This is used to create a link to the item. projectOwner This is used to create a link to the item.","title":"Attributes"},{"location":"modules/rollbar/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Display the selected item in the browser j Select the next item in the list k Select the previous item in the list r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/rollbar/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/rollbar","title":"Source Code"},{"location":"modules/security/","text":"Security Displays some general information about the state of the machine's wifi connection, firewall, DNS settings, and logged-in users. Wifi Network The name of the current network Whether or not the network uses encryption and if so, what flavour Firewall Whether or not the firewall is enabled Whether or not Stealth Mode is enabled DNS Which DNS resolvers (servers) the machine is configured to use Users Which users are logged into the machine. Note: Does not yet show hidden users. Configuration security : enabled : true position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 1h Screenshots For Linux Firewall Users For most Linux distributions, to get the correct firewall settings by default, the program needs to be run as root. This is obviously a bad idea. Here's is one potetial solution: sudo visudo -f /etc/sudoers.d/ufwstatus # Then add the following to that file: # We need to add the \"full\" command as alias: Cmnd_Alias UFWSTATUS = /usr/sbin/ufw status # Group privilege specification %ufwstatus ALL = NOPASSWD: UFWSTATUS Now run: # Add new group: \"ufwstatus\" sudo groupadd -r ufwstatus # Add the username (here \"xxxx\") to the \"ufwstatus\" group sudo gpasswd --add xxxx ufwstatus # We add all \"root\" user sbin paths for convenience export PATH = ${ PATH } :/usr/local/sbin:/usr/sbin:/sbin Source Code https://github.com/wtfutil/wtf/tree/master/modules/security","title":"Security"},{"location":"modules/security/#security","text":"Displays some general information about the state of the machine's wifi connection, firewall, DNS settings, and logged-in users.","title":"Security"},{"location":"modules/security/#wifi-network","text":"The name of the current network Whether or not the network uses encryption and if so, what flavour","title":"Wifi Network"},{"location":"modules/security/#firewall","text":"Whether or not the firewall is enabled Whether or not Stealth Mode is enabled","title":"Firewall"},{"location":"modules/security/#dns","text":"Which DNS resolvers (servers) the machine is configured to use","title":"DNS"},{"location":"modules/security/#users","text":"Which users are logged into the machine. Note: Does not yet show hidden users.","title":"Users"},{"location":"modules/security/#configuration","text":"security : enabled : true position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 1h","title":"Configuration"},{"location":"modules/security/#screenshots","text":"","title":"Screenshots"},{"location":"modules/security/#for-linux-firewall-users","text":"For most Linux distributions, to get the correct firewall settings by default, the program needs to be run as root. This is obviously a bad idea. Here's is one potetial solution: sudo visudo -f /etc/sudoers.d/ufwstatus # Then add the following to that file: # We need to add the \"full\" command as alias: Cmnd_Alias UFWSTATUS = /usr/sbin/ufw status # Group privilege specification %ufwstatus ALL = NOPASSWD: UFWSTATUS Now run: # Add new group: \"ufwstatus\" sudo groupadd -r ufwstatus # Add the username (here \"xxxx\") to the \"ufwstatus\" group sudo gpasswd --add xxxx ufwstatus # We add all \"root\" user sbin paths for convenience export PATH = ${ PATH } :/usr/local/sbin:/usr/sbin:/sbin","title":"For Linux Firewall Users"},{"location":"modules/security/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/security","title":"Source Code"},{"location":"modules/spotify/","text":"Spotify Control the Spotify client. Configuration spotify : enabled : true colors : label : \"green\" text : \"white\" position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 0 Attributes Name Value colors.label Optional The color for labels. Default: green . Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.text Optional The color for text. Default: white . Any X11 color name or long-form hex value (i.e.: #ff0000 ). Keyboard Key Action / Open/close the widget's help modal [return] Open the selected item in the browser [space] Play/pause the currently-selected song h Play previous song l Play next song r Refresh the data Source Code https://github.com/wtfutil/wtf/tree/master/modules/spotify","title":"Spotify"},{"location":"modules/spotify/#spotify","text":"Control the Spotify client.","title":"Spotify"},{"location":"modules/spotify/#configuration","text":"spotify : enabled : true colors : label : \"green\" text : \"white\" position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 0","title":"Configuration"},{"location":"modules/spotify/#attributes","text":"Name Value colors.label Optional The color for labels. Default: green . Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.text Optional The color for text. Default: white . Any X11 color name or long-form hex value (i.e.: #ff0000 ).","title":"Attributes"},{"location":"modules/spotify/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Open the selected item in the browser [space] Play/pause the currently-selected song h Play previous song l Play next song r Refresh the data","title":"Keyboard"},{"location":"modules/spotify/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/spotify","title":"Source Code"},{"location":"modules/subreddit/","text":"Subreddit Displays stories from a specific subreddit. Configuration subreddit : enabled : true numberOfPosts : 10 position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 15m sortOrder : top subreddit : \"news\" topTimePeriod : month Screenshots Attributes Name Value numberOfPosts Optional Defines number of stories to be displayed. Default: 10 . Note that the module only makes one request, so the maximum is 25. Any positive integer equal to or less than 25. sortOrder Optional Defines the order to sort the posts in the subreddit. Default: hot . new , top , hot subreddit The subreddit to display links from. topTimePeriod Optional Defines the time period to choose top posts from. Default: all . hour , day , week , month , year , all Keyboard Key Action / Open/close the widget's help modal [return] Open the selected link in the browser c Open the selected link's Reddit comments in the browser j Select the next item in the list k Select the previous item in the list o Open the selected link in the browser r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/subreddit","title":"Subreddit"},{"location":"modules/subreddit/#subreddit","text":"Displays stories from a specific subreddit.","title":"Subreddit"},{"location":"modules/subreddit/#configuration","text":"subreddit : enabled : true numberOfPosts : 10 position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 15m sortOrder : top subreddit : \"news\" topTimePeriod : month","title":"Configuration"},{"location":"modules/subreddit/#screenshots","text":"","title":"Screenshots"},{"location":"modules/subreddit/#attributes","text":"Name Value numberOfPosts Optional Defines number of stories to be displayed. Default: 10 . Note that the module only makes one request, so the maximum is 25. Any positive integer equal to or less than 25. sortOrder Optional Defines the order to sort the posts in the subreddit. Default: hot . new , top , hot subreddit The subreddit to display links from. topTimePeriod Optional Defines the time period to choose top posts from. Default: all . hour , day , week , month , year , all","title":"Attributes"},{"location":"modules/subreddit/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Open the selected link in the browser c Open the selected link's Reddit comments in the browser j Select the next item in the list k Select the previous item in the list o Open the selected link in the browser r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/subreddit/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/subreddit","title":"Source Code"},{"location":"modules/textfile/","text":"Textfile Displays the contents of the specified text file in the widget. Configuration textfile : enabled : true filePaths : - \"~/Desktop/notes.md\" - \"~/.config/wtf/config.yml\" format : true formatStyle : \"dracula\" position : top : 5 left : 4 height : 2 width : 1 refreshInterval : 15s wrapText : true Screenshots Attributes Attributes Name Value filePaths An array of paths to the files to be displayed in the widget. format Optional Whether or not to try and format and syntax highlight the displayedtext. Default: false true , false formatStyle Optional The style of syntax highlighting to format the text with. Default: vim See Chroma styles for all valid options. wrapText Optional Whether or not to wrap the text when it hits the widget boundary. Default: true . true , false Keyboard Key Action / Open/close the widget's help modal [return] Opens the text file in whichever text editor is associated with that file type h Select the previous file l Select the next file o Opens the text file in whichever text editor is associated with that file type r Refresh the data \u2190 {{ arrowback }}Select the previous file \u2192 {{ arrowfore }}Select the next file Source Code https://github.com/wtfutil/wtf/tree/master/modules/textfile","title":"Textfile"},{"location":"modules/textfile/#textfile","text":"Displays the contents of the specified text file in the widget.","title":"Textfile"},{"location":"modules/textfile/#configuration","text":"textfile : enabled : true filePaths : - \"~/Desktop/notes.md\" - \"~/.config/wtf/config.yml\" format : true formatStyle : \"dracula\" position : top : 5 left : 4 height : 2 width : 1 refreshInterval : 15s wrapText : true","title":"Configuration"},{"location":"modules/textfile/#screenshots","text":"","title":"Screenshots"},{"location":"modules/textfile/#attributes","text":"","title":"Attributes"},{"location":"modules/textfile/#attributes_1","text":"Name Value filePaths An array of paths to the files to be displayed in the widget. format Optional Whether or not to try and format and syntax highlight the displayedtext. Default: false true , false formatStyle Optional The style of syntax highlighting to format the text with. Default: vim See Chroma styles for all valid options. wrapText Optional Whether or not to wrap the text when it hits the widget boundary. Default: true . true , false","title":"Attributes"},{"location":"modules/textfile/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Opens the text file in whichever text editor is associated with that file type h Select the previous file l Select the next file o Opens the text file in whichever text editor is associated with that file type r Refresh the data \u2190 {{ arrowback }}Select the previous file \u2192 {{ arrowfore }}Select the next file","title":"Keyboard"},{"location":"modules/textfile/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/textfile","title":"Source Code"},{"location":"modules/todo/","text":"Todo An interactive todo list. Configuration todo : checkedIcon : \"X\" colors : checked : gray highlight : fore : \"black\" back : \"orange\" enabled : true filename : \"todo.yml\" position : top : 2 left : 2 height : 2 width : 1 refreshInterval : 1h Screenshots Attributes Name Value colors.checked The foreground color for checked rows. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.highlight.fore The foreground color for the currently-selected row. Any X11 color name . colors.highlight.back The background color for the currently-selected row. Any X11 color name . colors.tags The foreground color for tag text. Default: khaki Any X11 color name or long-form hex value (i.e.: #ff0000 ). checkedIcon Optional The icon used to denote a 'checked' todo item. Any displayable unicode character. checkedPos Optional The position at which the checkbox is shown. Default: first first , last , none dates.enabled Optional Whether or not the following date functionality is enabled. Default: true true , false dates.format Optional The format in which to display dates. Default: yyyy-mm-dd yyyy-mm-dd , yy-mm-dd , dd-mm-yy , dd-mm-yyyy , dd M yy , dd M yyyy dates.hideYearIfCurrent Optional Hide the year, if the todo item year is the current year. Default: true true , false dates.switchToInDays Optional The number of days in the future after which the todo item date is displayed as an absolute date. Default: 7 Any positive integer. dates.undatedAsDays Optional How many days into the future undated todo items should be considered 'due'. Default: 7 Any positive integer. filename The name for the todo file. Any valid filename, ideally ending in yml . newPos Optional The position into which new todo items are created. Default: first first , last tags.enabled Optional Whether or not to enable the tags feature. Default: true true , false tags.hide Optional A list of tags to hide by default. A comma-separated list of tags. tags.hiddenInTitle Optional Whether or not to display in the widget title the number of items currently hidden by tag filtering. Default: true true , false tags.pos Optional The position in the todo item text at which to display tags. Default: end start , end Keyboard Key Action / Open/close the widget's help modal # Open the tag-filtering modal dialog [esc] Remove focus from the selected item [esc] Close the modal item dialog without saving changes [return] Edit the selected item [return] Close the modal item dialog and save changes [space] Check/uncheck the selected item j Select the next item in the list k Select the previous item in the list n Create a new list item o Opens the todo list file in whichever text editor is associated with that file type r Refresh the data Ctrl-d Delete the selected item Ctrl-f Move the selected item to the top of the list Ctrl-j Move the selected item down the list Ctrl-k Move the selected item up the list Ctrl-l Move the selected item to the bottom of the list Tagging Todo supports tagging todo list items to provide contextual grouping and filtering. A tag is a string prefixed by the pound ( # ) symbol, included somewhere in the todo item text. Examples: \u276f buy groceries #chore \u276f #chore buy groceries \u276f #this also #works (two tags, #this and #works , text also ) To view only todo items associated with a specific tag, use the # key and enter the tag text in the modal dialog. Source Code https://github.com/wtfutil/wtf/tree/master/modules/todo","title":"Todo"},{"location":"modules/todo/#todo","text":"An interactive todo list.","title":"Todo"},{"location":"modules/todo/#configuration","text":"todo : checkedIcon : \"X\" colors : checked : gray highlight : fore : \"black\" back : \"orange\" enabled : true filename : \"todo.yml\" position : top : 2 left : 2 height : 2 width : 1 refreshInterval : 1h","title":"Configuration"},{"location":"modules/todo/#screenshots","text":"","title":"Screenshots"},{"location":"modules/todo/#attributes","text":"Name Value colors.checked The foreground color for checked rows. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.highlight.fore The foreground color for the currently-selected row. Any X11 color name . colors.highlight.back The background color for the currently-selected row. Any X11 color name . colors.tags The foreground color for tag text. Default: khaki Any X11 color name or long-form hex value (i.e.: #ff0000 ). checkedIcon Optional The icon used to denote a 'checked' todo item. Any displayable unicode character. checkedPos Optional The position at which the checkbox is shown. Default: first first , last , none dates.enabled Optional Whether or not the following date functionality is enabled. Default: true true , false dates.format Optional The format in which to display dates. Default: yyyy-mm-dd yyyy-mm-dd , yy-mm-dd , dd-mm-yy , dd-mm-yyyy , dd M yy , dd M yyyy dates.hideYearIfCurrent Optional Hide the year, if the todo item year is the current year. Default: true true , false dates.switchToInDays Optional The number of days in the future after which the todo item date is displayed as an absolute date. Default: 7 Any positive integer. dates.undatedAsDays Optional How many days into the future undated todo items should be considered 'due'. Default: 7 Any positive integer. filename The name for the todo file. Any valid filename, ideally ending in yml . newPos Optional The position into which new todo items are created. Default: first first , last tags.enabled Optional Whether or not to enable the tags feature. Default: true true , false tags.hide Optional A list of tags to hide by default. A comma-separated list of tags. tags.hiddenInTitle Optional Whether or not to display in the widget title the number of items currently hidden by tag filtering. Default: true true , false tags.pos Optional The position in the todo item text at which to display tags. Default: end start , end","title":"Attributes"},{"location":"modules/todo/#keyboard","text":"Key Action / Open/close the widget's help modal # Open the tag-filtering modal dialog [esc] Remove focus from the selected item [esc] Close the modal item dialog without saving changes [return] Edit the selected item [return] Close the modal item dialog and save changes [space] Check/uncheck the selected item j Select the next item in the list k Select the previous item in the list n Create a new list item o Opens the todo list file in whichever text editor is associated with that file type r Refresh the data Ctrl-d Delete the selected item Ctrl-f Move the selected item to the top of the list Ctrl-j Move the selected item down the list Ctrl-k Move the selected item up the list Ctrl-l Move the selected item to the bottom of the list","title":"Keyboard"},{"location":"modules/todo/#tagging","text":"Todo supports tagging todo list items to provide contextual grouping and filtering. A tag is a string prefixed by the pound ( # ) symbol, included somewhere in the todo item text. Examples: \u276f buy groceries #chore \u276f #chore buy groceries \u276f #this also #works (two tags, #this and #works , text also ) To view only todo items associated with a specific tag, use the # key and enter the tag text in the modal dialog.","title":"Tagging"},{"location":"modules/todo/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/todo","title":"Source Code"},{"location":"modules/todoist/","text":"Todoist Displays all items on specified project. Configuration todoist : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 0 left : 2 height : 1 width : 1 projects : - 122247497 refreshInterval : 1h Screenshots Attributes Name Value apiKey Your Todoist API key. Leave this blank to use the WTF_TODOIST_TOKEN environment variable. projects The todoist projects to fetch items from. The integer ID of the project. Keyboard Key Action / Open/close the widget's help modal [esc] Remove focus from the selected item c Close current item d Delete current item h Show the previous project j Select the next item in the list k Select the previous item in the list l Show the next project u Clear the current selection \u2190 {{ arrowback }}Show the previous project \u2192 {{ arrowfore }}Show the next project \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/todo_plus","title":"Todoist"},{"location":"modules/todoist/#todoist","text":"Displays all items on specified project.","title":"Todoist"},{"location":"modules/todoist/#configuration","text":"todoist : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 0 left : 2 height : 1 width : 1 projects : - 122247497 refreshInterval : 1h","title":"Configuration"},{"location":"modules/todoist/#screenshots","text":"","title":"Screenshots"},{"location":"modules/todoist/#attributes","text":"Name Value apiKey Your Todoist API key. Leave this blank to use the WTF_TODOIST_TOKEN environment variable. projects The todoist projects to fetch items from. The integer ID of the project.","title":"Attributes"},{"location":"modules/todoist/#keyboard","text":"Key Action / Open/close the widget's help modal [esc] Remove focus from the selected item c Close current item d Delete current item h Show the previous project j Select the next item in the list k Select the previous item in the list l Show the next project u Clear the current selection \u2190 {{ arrowback }}Show the previous project \u2192 {{ arrowfore }}Show the next project \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/todoist/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/todo_plus","title":"Source Code"},{"location":"modules/transmission/","text":"Transmission View and manage your Transmission bittorrent daemon. This widget shows you the currently-loaded torrents, their \"download complete\" percentage, and their seeding status. Configuration transmission : enabled : true host : \"192.168.1.5\" password : \"passwordpassword\" position : top : 4 left : 3 width : 2 height : 1 refreshInterval : 3s username : \"transmission\" Screenshots Attributes Name Value host The IP address of the machine that your Transmission daemon is running on. password Your Transmission password. The password you use to connect to your Transmission daemon. username Your Transmission username. The username you use to connect to your Transmission daemon. Key Action / Open/close the widget's help modal [return] Pause/resume the selected torrent j Select the next item in the list k Select the previous item in the list r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list Ctrl-d Delete the selected item Source Code https://github.com/wtfutil/wtf/tree/master/modules/transmission","title":"Transmission"},{"location":"modules/transmission/#transmission","text":"View and manage your Transmission bittorrent daemon. This widget shows you the currently-loaded torrents, their \"download complete\" percentage, and their seeding status.","title":"Transmission"},{"location":"modules/transmission/#configuration","text":"transmission : enabled : true host : \"192.168.1.5\" password : \"passwordpassword\" position : top : 4 left : 3 width : 2 height : 1 refreshInterval : 3s username : \"transmission\"","title":"Configuration"},{"location":"modules/transmission/#screenshots","text":"","title":"Screenshots"},{"location":"modules/transmission/#attributes","text":"Name Value host The IP address of the machine that your Transmission daemon is running on. password Your Transmission password. The password you use to connect to your Transmission daemon. username Your Transmission username. The username you use to connect to your Transmission daemon. Key Action / Open/close the widget's help modal [return] Pause/resume the selected torrent j Select the next item in the list k Select the previous item in the list r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list Ctrl-d Delete the selected item","title":"Attributes"},{"location":"modules/transmission/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/transmission","title":"Source Code"},{"location":"modules/travisci/","text":"TravicCI Displays build information for your Travis CI account. Configuration This module pulls information from api.travis-ci.com (when pro: true ) or api.travis-ci.org (when pro: false ). travisci : apiKey : \"p0d13*********************************************c3\" enabled : true compact : true limit : 8 sort_by : \"id:desc\" position : top : 4 left : 1 height : 1 width : 2 pro : false refreshInterval : 15m Screenshots Attributes Name Value apiKey Your TravisCI API key. Leave this blank to use the WTF_TRAVIS_API_TOKEN environment variable. baseURL Optional Your TravisCI Enterprise API URL. A valid URL. Can also be set via the WTF_TRAVIS_BASE_URL environment variable. compact Optional When true, displays one line per build entry. When false, displays two lines per entry. Default: false true , false sort_by Optional Sortable by: id, created_at, started_at, finished_at, number, append :desc to any attribute to reverse order. The default value is id:desc . See https://developer.travis-ci.com/resource/builds for more information. pro Optional Determines whether or not this module will use the Pro version of Travis CI. true , false Source Code https://github.com/wtfutil/wtf/tree/master/modules/travisci","title":"TravisCI"},{"location":"modules/travisci/#travicci","text":"Displays build information for your Travis CI account.","title":"TravicCI"},{"location":"modules/travisci/#configuration","text":"This module pulls information from api.travis-ci.com (when pro: true ) or api.travis-ci.org (when pro: false ). travisci : apiKey : \"p0d13*********************************************c3\" enabled : true compact : true limit : 8 sort_by : \"id:desc\" position : top : 4 left : 1 height : 1 width : 2 pro : false refreshInterval : 15m","title":"Configuration"},{"location":"modules/travisci/#screenshots","text":"","title":"Screenshots"},{"location":"modules/travisci/#attributes","text":"Name Value apiKey Your TravisCI API key. Leave this blank to use the WTF_TRAVIS_API_TOKEN environment variable. baseURL Optional Your TravisCI Enterprise API URL. A valid URL. Can also be set via the WTF_TRAVIS_BASE_URL environment variable. compact Optional When true, displays one line per build entry. When false, displays two lines per entry. Default: false true , false sort_by Optional Sortable by: id, created_at, started_at, finished_at, number, append :desc to any attribute to reverse order. The default value is id:desc . See https://developer.travis-ci.com/resource/builds for more information. pro Optional Determines whether or not this module will use the Pro version of Travis CI. true , false","title":"Attributes"},{"location":"modules/travisci/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/travisci","title":"Source Code"},{"location":"modules/trello/","text":"Trello Displays all Trello cards on specified lists. Configuration Single Trello List trello : accessToken : \"d23*******************************************3r2\" apiKey : \"p0d13*********************************************c3\" board : Main enabled : true list : \"Todo\" position : height : 1 left : 2 top : 0 width : 1 refreshInterval : 1h username : myname Multiple Trello Lists If you want to monitor multiple Trello lists, use the following configuration (note the difference in list ): trello : accessToken : \"d23*******************************************3r2\" apiKey : \"p0d13*********************************************c3\" board : Main enabled : true list : [ \"Todo\" , \"Done\" ] position : height : 1 left : 2 top : 0 width : 1 refreshInterval : 1h username : myname Screenshots Attributes Name Value accessToken Your Trello access token. Leave empty to use the WTF_TRELLO_ACCESS_TOKEN environment variable. apiKey Your Trello API key. Leave this blank to use the WTF_TRELLO_API_KEY environment variable. board The name of the Trello board. list The Trello lists to fetch cards from. username Your Trello username. {{ undesc }} Source Code https://github.com/wtfutil/wtf/tree/master/modules/todo_plus","title":"Trello"},{"location":"modules/trello/#trello","text":"Displays all Trello cards on specified lists.","title":"Trello"},{"location":"modules/trello/#configuration","text":"","title":"Configuration"},{"location":"modules/trello/#single-trello-list","text":"trello : accessToken : \"d23*******************************************3r2\" apiKey : \"p0d13*********************************************c3\" board : Main enabled : true list : \"Todo\" position : height : 1 left : 2 top : 0 width : 1 refreshInterval : 1h username : myname","title":"Single Trello List"},{"location":"modules/trello/#multiple-trello-lists","text":"If you want to monitor multiple Trello lists, use the following configuration (note the difference in list ): trello : accessToken : \"d23*******************************************3r2\" apiKey : \"p0d13*********************************************c3\" board : Main enabled : true list : [ \"Todo\" , \"Done\" ] position : height : 1 left : 2 top : 0 width : 1 refreshInterval : 1h username : myname","title":"Multiple Trello Lists"},{"location":"modules/trello/#screenshots","text":"","title":"Screenshots"},{"location":"modules/trello/#attributes","text":"Name Value accessToken Your Trello access token. Leave empty to use the WTF_TRELLO_ACCESS_TOKEN environment variable. apiKey Your Trello API key. Leave this blank to use the WTF_TRELLO_API_KEY environment variable. board The name of the Trello board. list The Trello lists to fetch cards from. username Your Trello username. {{ undesc }}","title":"Attributes"},{"location":"modules/trello/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/todo_plus","title":"Source Code"},{"location":"modules/twitch/","text":"Twitch Displays twitch streams that are currently live on Twitch.tv . If you wish to see top live streams: Follow the steps here to create a twitch app. Save your clientId and clientSecret in your configuration file. If you wish to see your followed live streams: Perform the previous steps and continue from here until you receive a userAccessToken and userRefreshToken . Get your twitch userId from this site . Check which redirectURI you have for your app at twitch developer console . Save your userAccessToken , userRefreshToken , userId and redirectURI in your configuration file. Configuration twitch : enabled : true position : top : 1 left : 1 height : 1 width : 2 streams : \"top\" clientId : \"client id\" clientSecret : \"client secret\" userAccessToken : \"user access token\" userRefreshToken : \"user refresh token\" redirectURI : \"http://localhost:3000\" userId : 123456789 Attributes Name Value streams Which streams to display, top or followed . Default: top clientId Client ID of your twitch app. clientSecret Client secret of your twitch app. userAccessToken User access token gotten from accepting your twitch app. Required to fetch followed streams. userRefreshToken User refresh token gotten from accepting your twitch app. Required to fetch followed streams. redirectURI The redirect URI set for your twitch app. Required to fetch followed streams. userId Your twitch user ID. Required to fetch followed streams. Keyboard Key Action / Open/close the widget's help modal [esc] Cancel the selection [return] Open the selected stream in the browser s Open the selected stream via streamlink (https://github.com/streamlink/streamlink) \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/twitch","title":"Twitch"},{"location":"modules/twitch/#twitch","text":"Displays twitch streams that are currently live on Twitch.tv . If you wish to see top live streams: Follow the steps here to create a twitch app. Save your clientId and clientSecret in your configuration file. If you wish to see your followed live streams: Perform the previous steps and continue from here until you receive a userAccessToken and userRefreshToken . Get your twitch userId from this site . Check which redirectURI you have for your app at twitch developer console . Save your userAccessToken , userRefreshToken , userId and redirectURI in your configuration file.","title":"Twitch"},{"location":"modules/twitch/#configuration","text":"twitch : enabled : true position : top : 1 left : 1 height : 1 width : 2 streams : \"top\" clientId : \"client id\" clientSecret : \"client secret\" userAccessToken : \"user access token\" userRefreshToken : \"user refresh token\" redirectURI : \"http://localhost:3000\" userId : 123456789","title":"Configuration"},{"location":"modules/twitch/#attributes","text":"Name Value streams Which streams to display, top or followed . Default: top clientId Client ID of your twitch app. clientSecret Client secret of your twitch app. userAccessToken User access token gotten from accepting your twitch app. Required to fetch followed streams. userRefreshToken User refresh token gotten from accepting your twitch app. Required to fetch followed streams. redirectURI The redirect URI set for your twitch app. Required to fetch followed streams. userId Your twitch user ID. Required to fetch followed streams.","title":"Attributes"},{"location":"modules/twitch/#keyboard","text":"Key Action / Open/close the widget's help modal [esc] Cancel the selection [return] Open the selected stream in the browser s Open the selected stream via streamlink (https://github.com/streamlink/streamlink) \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/twitch/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/twitch","title":"Source Code"},{"location":"modules/updown/","text":"Updown Connect to the Updown API. Configuration updown : type : updown apiKey : \"XXXX\" tokens : - YYYY position : top : 0 left : 1 height : 2 width : 1 Screenshots Attributes Name Value apiKey Your Updown API key. Leave this blank to use the WTF_UPDOWN_APIKEY environment variable. apiKey Updown read-only API-key string tokens Only show checks with specified tokens list Source Code https://github.com/wtfutil/wtf/tree/master/modules/updown","title":"Updown"},{"location":"modules/updown/#updown","text":"Connect to the Updown API.","title":"Updown"},{"location":"modules/updown/#configuration","text":"updown : type : updown apiKey : \"XXXX\" tokens : - YYYY position : top : 0 left : 1 height : 2 width : 1","title":"Configuration"},{"location":"modules/updown/#screenshots","text":"","title":"Screenshots"},{"location":"modules/updown/#attributes","text":"Name Value apiKey Your Updown API key. Leave this blank to use the WTF_UPDOWN_APIKEY environment variable. apiKey Updown read-only API-key string tokens Only show checks with specified tokens list","title":"Attributes"},{"location":"modules/updown/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/updown","title":"Source Code"},{"location":"modules/uptimerobot/","text":"UptimeRobot Connect to the UptimeRobot API. Configuration uptimerobot : apiKey : \"p0d13*********************************************c3\" enabled : true offlineFirst : true position : top : 0 left : 1 height : 2 width : 1 refreshInterval : 1h uptimePeriods : 7-30 Attributes Name Value apiKey Your UptimeRobot API key. Leave this blank to use the WTF_UPTIMEROBOT_APIKEY environment variable. offlineFirst Optional Display offline monitors at the top. true , false uptimePeriods Optional he periods over which to display uptime (in days, dash-separated). Source Code https://github.com/wtfutil/wtf/tree/master/modules/uptimerobot","title":"UptimeRobot"},{"location":"modules/uptimerobot/#uptimerobot","text":"Connect to the UptimeRobot API.","title":"UptimeRobot"},{"location":"modules/uptimerobot/#configuration","text":"uptimerobot : apiKey : \"p0d13*********************************************c3\" enabled : true offlineFirst : true position : top : 0 left : 1 height : 2 width : 1 refreshInterval : 1h uptimePeriods : 7-30","title":"Configuration"},{"location":"modules/uptimerobot/#attributes","text":"Name Value apiKey Your UptimeRobot API key. Leave this blank to use the WTF_UPTIMEROBOT_APIKEY environment variable. offlineFirst Optional Display offline monitors at the top. true , false uptimePeriods Optional he periods over which to display uptime (in days, dash-separated).","title":"Attributes"},{"location":"modules/uptimerobot/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/uptimerobot","title":"Source Code"},{"location":"modules/urlcheck/","text":"Urlcheck Checks if your URLs are responding. This module will continously request the headers for a given list of URLs and then displays theirs status codes. Configuration urlcheck : enabled : true timeout : 25 urls : - http://go.dev # ok - https://wtfutil.com # ok - wtfutil.com # invalid url - http://www.nope.nope # dns error - https://httpbin.org/status/500 # Internal server error position : top : 0 left : 0 height : 1 width : 1 refreshInterval : 30 Screenshots Attributes Name Value timeout Optional The amountof time allowed to a single request to complete. Default: 30 . A positive integer. urls Required The URLs to be requested. The protocol is required too (Ex.: http://go.dev). A list of strings. Logging These events will be logged in the standard logger: * Timeouts, * DNS lookup errors, * other generals Request errors. Source Code https://github.com/wtfutil/wtf/tree/master/modules/urlcheck","title":"Urlcheck"},{"location":"modules/urlcheck/#urlcheck","text":"Checks if your URLs are responding. This module will continously request the headers for a given list of URLs and then displays theirs status codes.","title":"Urlcheck"},{"location":"modules/urlcheck/#configuration","text":"urlcheck : enabled : true timeout : 25 urls : - http://go.dev # ok - https://wtfutil.com # ok - wtfutil.com # invalid url - http://www.nope.nope # dns error - https://httpbin.org/status/500 # Internal server error position : top : 0 left : 0 height : 1 width : 1 refreshInterval : 30","title":"Configuration"},{"location":"modules/urlcheck/#screenshots","text":"","title":"Screenshots"},{"location":"modules/urlcheck/#attributes","text":"Name Value timeout Optional The amountof time allowed to a single request to complete. Default: 30 . A positive integer. urls Required The URLs to be requested. The protocol is required too (Ex.: http://go.dev). A list of strings.","title":"Attributes"},{"location":"modules/urlcheck/#logging","text":"These events will be logged in the standard logger: * Timeouts, * DNS lookup errors, * other generals Request errors.","title":"Logging"},{"location":"modules/urlcheck/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/urlcheck","title":"Source Code"},{"location":"modules/victorops/","text":"VictorOps Connects to the VictorOps API and determines who is on call. Configuration victorops : apiID : a3c5dd63 apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 0 left : 1 height : 2 width : 1 refreshInterval : 1h team : devops Attributes Name Value apiID Your VictorOps API ID token. Leave this empty to use the WTF_VICTOROPS_API_ID environment variable. apiKey Your VictorOps API key. Leave this blank to use the WTF_VICTOROPS_API_KEY environment variable. team Optional Whether or not to only show a specific team. Default: all teams are shown. The team slug that can be found in the URL after /#/team/ . Source Code https://github.com/wtfutil/wtf/tree/master/modules/victorops","title":"VictorOps"},{"location":"modules/victorops/#victorops","text":"Connects to the VictorOps API and determines who is on call.","title":"VictorOps"},{"location":"modules/victorops/#configuration","text":"victorops : apiID : a3c5dd63 apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 0 left : 1 height : 2 width : 1 refreshInterval : 1h team : devops","title":"Configuration"},{"location":"modules/victorops/#attributes","text":"Name Value apiID Your VictorOps API ID token. Leave this empty to use the WTF_VICTOROPS_API_ID environment variable. apiKey Your VictorOps API key. Leave this blank to use the WTF_VICTOROPS_API_KEY environment variable. team Optional Whether or not to only show a specific team. Default: all teams are shown. The team slug that can be found in the URL after /#/team/ .","title":"Attributes"},{"location":"modules/victorops/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/victorops","title":"Source Code"},{"location":"modules/zendesk/","text":"Zendesk Displays Zendesk tickets. Configuration zendesk : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 0 left : 2 height : 1 width : 1 status : \"new\" subdomain : \"your_domain\" username : \"your_email@acme.com\" Attributes Name Value apiKey Your Zendesk API key. Leave this blank to use the ZENDESK_API environment variable. status The status of tickets you want to retrieve. new , open , pending , hold subdomain Your Zendesk subdomain. Leave this empty to use the ZENDESK_SUBDOMAIN environment variable. username Your {{ service }} username. {{ undesc }} Keyboard Key Action / Open/close the widget's help modal [return] Open the selected ticket in the browser j Select the next item in the list k Select the previous item in the list \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/zendesk","title":"Zendesk"},{"location":"modules/zendesk/#zendesk","text":"Displays Zendesk tickets.","title":"Zendesk"},{"location":"modules/zendesk/#configuration","text":"zendesk : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 0 left : 2 height : 1 width : 1 status : \"new\" subdomain : \"your_domain\" username : \"your_email@acme.com\"","title":"Configuration"},{"location":"modules/zendesk/#attributes","text":"Name Value apiKey Your Zendesk API key. Leave this blank to use the ZENDESK_API environment variable. status The status of tickets you want to retrieve. new , open , pending , hold subdomain Your Zendesk subdomain. Leave this empty to use the ZENDESK_SUBDOMAIN environment variable. username Your {{ service }} username. {{ undesc }}","title":"Attributes"},{"location":"modules/zendesk/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Open the selected ticket in the browser j Select the next item in the list k Select the previous item in the list \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/zendesk/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/zendesk","title":"Source Code"},{"location":"modules/cds/favorites/","text":"CDS Favorites Display runs of you CDS favorites workflows. Configuration cdsFavorites : enabled : true position : top : 0 left : 0 height : 2 width : 2 refreshInterval : 8s apiURL : https://api.cds.localhost.local token : xxxxxxxxxxxx hideTags : - \"git.repository\" - \"git.hash\" - \"triggered_by\" Screenshots Attributes Name Value apiURL Your CDS API URL. token Your CDS Consumer Token. hideTags A CDS Runs can have many \"cds tags\". You can hide some tags displayed. Source Code https://github.com/wtfutil/wtf/tree/master/modules/cds/favorites/","title":"CDS Favorites"},{"location":"modules/cds/favorites/#cds-favorites","text":"Display runs of you CDS favorites workflows.","title":"CDS Favorites"},{"location":"modules/cds/favorites/#configuration","text":"cdsFavorites : enabled : true position : top : 0 left : 0 height : 2 width : 2 refreshInterval : 8s apiURL : https://api.cds.localhost.local token : xxxxxxxxxxxx hideTags : - \"git.repository\" - \"git.hash\" - \"triggered_by\"","title":"Configuration"},{"location":"modules/cds/favorites/#screenshots","text":"","title":"Screenshots"},{"location":"modules/cds/favorites/#attributes","text":"Name Value apiURL Your CDS API URL. token Your CDS Consumer Token. hideTags A CDS Runs can have many \"cds tags\". You can hide some tags displayed.","title":"Attributes"},{"location":"modules/cds/favorites/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/cds/favorites/","title":"Source Code"},{"location":"modules/cds/queue/","text":"CDS Queue Display current CDS queue - waiting or building jobs. Configuration cdsQueue : enabled : true position : top : 0 left : 0 height : 3 width : 2 refreshInterval : 8s apiURL : https://api.cds.localhost.local token : xxxxxxxxxxxx Screenshots Attributes Name Value apiURL Your CDS API URL. token Your CDS Consumer Token. Source Code https://github.com/wtfutil/wtf/tree/master/modules/cds/queue/","title":"CDS Queue"},{"location":"modules/cds/queue/#cds-queue","text":"Display current CDS queue - waiting or building jobs.","title":"CDS Queue"},{"location":"modules/cds/queue/#configuration","text":"cdsQueue : enabled : true position : top : 0 left : 0 height : 3 width : 2 refreshInterval : 8s apiURL : https://api.cds.localhost.local token : xxxxxxxxxxxx","title":"Configuration"},{"location":"modules/cds/queue/#screenshots","text":"","title":"Screenshots"},{"location":"modules/cds/queue/#attributes","text":"Name Value apiURL Your CDS API URL. token Your CDS Consumer Token.","title":"Attributes"},{"location":"modules/cds/queue/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/cds/queue/","title":"Source Code"},{"location":"modules/cds/status/","text":"CDS Status Display current CDS status. This is useful for CDS Administrator only. Configuration cdsStatus : enabled : true position : top : 0 left : 0 height : 3 width : 2 refreshInterval : 8s apiURL : https://api.cds.localhost.local token : xxxxxxxxxxxx Screenshots Attributes Name Value apiURL Your CDS API URL. token Your CDS Consumer Token. Source Code https://github.com/wtfutil/wtf/tree/master/modules/cds/status/","title":"CDS Status"},{"location":"modules/cds/status/#cds-status","text":"Display current CDS status. This is useful for CDS Administrator only.","title":"CDS Status"},{"location":"modules/cds/status/#configuration","text":"cdsStatus : enabled : true position : top : 0 left : 0 height : 3 width : 2 refreshInterval : 8s apiURL : https://api.cds.localhost.local token : xxxxxxxxxxxx","title":"Configuration"},{"location":"modules/cds/status/#screenshots","text":"","title":"Screenshots"},{"location":"modules/cds/status/#attributes","text":"Name Value apiURL Your CDS API URL. token Your CDS Consumer Token.","title":"Attributes"},{"location":"modules/cds/status/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/cds/status/","title":"Source Code"},{"location":"modules/cryptocurrencies/bittrex/","text":"Bittrex Get the last 24 hour summary of cryptocurrencies market using Bittrex . Configuration bittrex : colors : base : name : orange displayName : red market : name : red field : white value : green enabled : true position : top : -2 left : 2 height : 3 width : 1 refreshInterval : 5s summary : BTC : displayName : Bitcoin market : - LTC - ETH Screenshots Attributes Name Value colors.base.dispayName Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.base.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.market.field Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.market.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.market.value Any X11 color name or long-form hex value (i.e.: #ff0000 ). Source Code https://github.com/wtfutil/wtf/tree/master/modules/cryptoexchanges/bittrex","title":"Bittrex"},{"location":"modules/cryptocurrencies/bittrex/#bittrex","text":"Get the last 24 hour summary of cryptocurrencies market using Bittrex .","title":"Bittrex"},{"location":"modules/cryptocurrencies/bittrex/#configuration","text":"bittrex : colors : base : name : orange displayName : red market : name : red field : white value : green enabled : true position : top : -2 left : 2 height : 3 width : 1 refreshInterval : 5s summary : BTC : displayName : Bitcoin market : - LTC - ETH","title":"Configuration"},{"location":"modules/cryptocurrencies/bittrex/#screenshots","text":"","title":"Screenshots"},{"location":"modules/cryptocurrencies/bittrex/#attributes","text":"Name Value colors.base.dispayName Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.base.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.market.field Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.market.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.market.value Any X11 color name or long-form hex value (i.e.: #ff0000 ).","title":"Attributes"},{"location":"modules/cryptocurrencies/bittrex/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/cryptoexchanges/bittrex","title":"Source Code"},{"location":"modules/cryptocurrencies/blockfolio/","text":"Blockfolio Display your Blockfolio crypto holdings. Configuration blockfolio : colors : name : blue grows : green drop : red device_token : \"device token\" displayHoldings : true enabled : true position : top : 3 left : 1 width : 1 height : 1 refreshInterval : 400s Screenshots Attributes Name Value colors.drop Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.grows Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). device_token See this gist for details on how to get your Blockfolio API token. Source Code https://github.com/wtfutil/wtf/tree/master/modules/cryptoexchanges/blockfolio","title":"Blockfolio"},{"location":"modules/cryptocurrencies/blockfolio/#blockfolio","text":"Display your Blockfolio crypto holdings.","title":"Blockfolio"},{"location":"modules/cryptocurrencies/blockfolio/#configuration","text":"blockfolio : colors : name : blue grows : green drop : red device_token : \"device token\" displayHoldings : true enabled : true position : top : 3 left : 1 width : 1 height : 1 refreshInterval : 400s","title":"Configuration"},{"location":"modules/cryptocurrencies/blockfolio/#screenshots","text":"","title":"Screenshots"},{"location":"modules/cryptocurrencies/blockfolio/#attributes","text":"Name Value colors.drop Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.grows Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). device_token See this gist for details on how to get your Blockfolio API token.","title":"Attributes"},{"location":"modules/cryptocurrencies/blockfolio/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/cryptoexchanges/blockfolio","title":"Source Code"},{"location":"modules/cryptocurrencies/cryptolive/","text":"CryptoLive Compare crypto currencies using CryptoCompare . Configuration cryptolive : enabled : true position : top : 5 left : 2 height : 1 width : 2 updateInterval : 15 currencies : BTC : displayName : Bitcoin to : - USD - EUR - ETH - LTC - DOGE LTC : displayName : Ethereum to : - USD - EUR - BTC top : BTC : displayName : Bitcoin limit : 5 to : - USD colors : from : name : coral displayName : grey to : name : white price : green top : from : name : grey displayName : coral to : name : red field : white value : green Screenshots Attributes Name Value colors.from.displayName Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.from.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.to.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.to.price Any X11 color name or long-form hex value (i.e.: #ff0000 ). currencies Source Code https://github.com/wtfutil/wtf/tree/master/modules/cryptoexchanges/cryptolive","title":"CryptoLive"},{"location":"modules/cryptocurrencies/cryptolive/#cryptolive","text":"Compare crypto currencies using CryptoCompare .","title":"CryptoLive"},{"location":"modules/cryptocurrencies/cryptolive/#configuration","text":"cryptolive : enabled : true position : top : 5 left : 2 height : 1 width : 2 updateInterval : 15 currencies : BTC : displayName : Bitcoin to : - USD - EUR - ETH - LTC - DOGE LTC : displayName : Ethereum to : - USD - EUR - BTC top : BTC : displayName : Bitcoin limit : 5 to : - USD colors : from : name : coral displayName : grey to : name : white price : green top : from : name : grey displayName : coral to : name : red field : white value : green","title":"Configuration"},{"location":"modules/cryptocurrencies/cryptolive/#screenshots","text":"","title":"Screenshots"},{"location":"modules/cryptocurrencies/cryptolive/#attributes","text":"Name Value colors.from.displayName Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.from.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.to.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.to.price Any X11 color name or long-form hex value (i.e.: #ff0000 ). currencies","title":"Attributes"},{"location":"modules/cryptocurrencies/cryptolive/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/cryptoexchanges/cryptolive","title":"Source Code"},{"location":"modules/cryptocurrencies/mempool/","text":"Mempool Get the current sat/vB prices to use for Bitcoin transactions using Mempool . Configuration Without borders width x height : 18 chars x 4 chars With borders 20 chars x 6 chars mempool : enabled : true border : false position : top : 1 left : 0 width : 9 height : 4 refreshInterval : 120 Screenshots Source Code https://github.com/wtfutil/wtf/tree/master/modules/cryptoexchanges/mempool","title":"Mempool"},{"location":"modules/cryptocurrencies/mempool/#mempool","text":"Get the current sat/vB prices to use for Bitcoin transactions using Mempool .","title":"Mempool"},{"location":"modules/cryptocurrencies/mempool/#configuration","text":"","title":"Configuration"},{"location":"modules/cryptocurrencies/mempool/#without-borders","text":"width x height : 18 chars x 4 chars","title":"Without borders"},{"location":"modules/cryptocurrencies/mempool/#with-borders","text":"20 chars x 6 chars mempool : enabled : true border : false position : top : 1 left : 0 width : 9 height : 4 refreshInterval : 120","title":"With borders"},{"location":"modules/cryptocurrencies/mempool/#screenshots","text":"","title":"Screenshots"},{"location":"modules/cryptocurrencies/mempool/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/cryptoexchanges/mempool","title":"Source Code"},{"location":"modules/google/analytics/","text":"Google Analytics Display website visitors information from Google Analytics API To make this work, you'll need a google API credential, link it to google analytics and find your website viewID. Open the Service accounts page and create a project named wtfutil. Navigation menu > IAM & admin > Service accounts Click add Create Service Account, enter a name (wtfutil) for the service account. The Service account permissions (optional) section that follows is not required. Click Continue. On the Grant users access to this service account screen, scroll down to the Create key section. Click add Create key. In the side panel that appears, select the format for your key: JSON. Click Create. Your new public/private key pair is generated and downloaded to your machine; it serves as the only copy of this key. Copy this json to indicated filepath in wtfutil googleanalytics module Configuration. Enable the Google Analytics APIS and Services (Navigation menu > APIS and Services > +Enable APIS and Services > Google Analytics Reporting API > Enable) The newly created service account will have an email address that looks similar to: something@PROJECT-ID.iam.gserviceaccount.com Use this email address to add a user to the Google analytics view you want to access via the API (admin > user management > add users). Only Read & Analyze permissions are needed. Get the website viewID and put it in the config file. Real Time Data This module also supports displaying the number of visitors on each view live via the Google Analytics Real Time Reporting API Beta. In order to use this feature, you must sign up for the beta and wait for your whitelist application to be approved (which takes less than 24 hours). Once you're approved, all you need to do is set enableRealtime: true in the module settings. Configuration googleanalytics : enabled : true enableRealtime : true months : 5 position : top : 0 left : 3 width : 2 height : 1 refreshInterval : 400s secretFile : \"~/.config/wtf/google_analytics/client_secret.json\" viewIds : tessellation : \"00000000\" dylanbartels.com : \"111111111\" Screenshots Name Value enableRealtime Optional When set to true , the live count of users on each listed view will be displayed in addition to historical visitor counts. This requires you to sign up for the Real Time Reporting API Beta. Default: false . true , false . months The number of months being displayed with website session data. Any positive integer. secretFile Your Google client secret JSON file. A string representing a file path to the JSON secret file. viewIds Website(s) who will be displayed in the module, label does not have to corresponding to the actual url. Value must be the google analytics viewID of the website. A string representing the viewID. Source Code https://github.com/wtfutil/wtf/tree/master/modules/googleanalytics","title":"Analytics"},{"location":"modules/google/analytics/#google-analytics","text":"Display website visitors information from Google Analytics API To make this work, you'll need a google API credential, link it to google analytics and find your website viewID. Open the Service accounts page and create a project named wtfutil. Navigation menu > IAM & admin > Service accounts Click add Create Service Account, enter a name (wtfutil) for the service account. The Service account permissions (optional) section that follows is not required. Click Continue. On the Grant users access to this service account screen, scroll down to the Create key section. Click add Create key. In the side panel that appears, select the format for your key: JSON. Click Create. Your new public/private key pair is generated and downloaded to your machine; it serves as the only copy of this key. Copy this json to indicated filepath in wtfutil googleanalytics module Configuration. Enable the Google Analytics APIS and Services (Navigation menu > APIS and Services > +Enable APIS and Services > Google Analytics Reporting API > Enable) The newly created service account will have an email address that looks similar to: something@PROJECT-ID.iam.gserviceaccount.com Use this email address to add a user to the Google analytics view you want to access via the API (admin > user management > add users). Only Read & Analyze permissions are needed. Get the website viewID and put it in the config file.","title":"Google Analytics"},{"location":"modules/google/analytics/#real-time-data","text":"This module also supports displaying the number of visitors on each view live via the Google Analytics Real Time Reporting API Beta. In order to use this feature, you must sign up for the beta and wait for your whitelist application to be approved (which takes less than 24 hours). Once you're approved, all you need to do is set enableRealtime: true in the module settings.","title":"Real Time Data"},{"location":"modules/google/analytics/#configuration","text":"googleanalytics : enabled : true enableRealtime : true months : 5 position : top : 0 left : 3 width : 2 height : 1 refreshInterval : 400s secretFile : \"~/.config/wtf/google_analytics/client_secret.json\" viewIds : tessellation : \"00000000\" dylanbartels.com : \"111111111\"","title":"Configuration"},{"location":"modules/google/analytics/#screenshots","text":"Name Value enableRealtime Optional When set to true , the live count of users on each listed view will be displayed in addition to historical visitor counts. This requires you to sign up for the Real Time Reporting API Beta. Default: false . true , false . months The number of months being displayed with website session data. Any positive integer. secretFile Your Google client secret JSON file. A string representing a file path to the JSON secret file. viewIds Website(s) who will be displayed in the module, label does not have to corresponding to the actual url. Value must be the google analytics viewID of the website. A string representing the viewID.","title":"Screenshots"},{"location":"modules/google/analytics/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/googleanalytics","title":"Source Code"},{"location":"modules/google/gcal/","text":"Google Calendar Displays your upcoming Google calendar events. Note: Setting up access to Google Calendars for Go is a bit unobvious. Check out Google's Go Quickstart , and follow Enable The Google Calendar API . The configuration file downloaded is the file you use for the secretFile configuration option. Configuration gcal : colors : title : \"red\" eventTime : \"lightblue\" description : \"yellow\" highlights : - [ '1on1|1\\/11' , 'green' ] - [ 'apple|google|aws' , 'blue' ] - [ 'interview|meet' , 'magenta' ] - [ 'lunch' , 'yellow' ] past : \"gray\" calendarReadLevel : \"reader\" conflictIcon : \"\ud83d\udea8\" currentIcon : \"\ud83d\udca5\" displayResponseStatus : true email : \"chriscummer@me.com\" enabled : true eventCount : 15 hourFormat : \"12\" multiCalendar : true position : top : 0 left : 0 height : 4 width : 1 refreshInterval : 5m secretFile : \"~/.config/wtf/gcal/client_secret.json\" showDeclined : true showEndTime : false timezone : \"America/Vancouver\" withLocation : true Screenshots Attributes Name Value colors.eventTime Optional The default color for calendar event time. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.description Optional The default color for calendar event description. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.past Optional The color for calendar events that have passed. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.title Optional The default colour for calendar event titles. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.highlights Optional A list of arrays that define a regular expression pattern and a color. If a calendar event title matches a regular expression, the title will be drawn in that colour. Over-rides the default title colour. A valid regular expression, or any X11 color name. calendarReadLevel Optional The calender read level specifies level you want to read events. Default: reader . reader , writer conflictIcon Optional The icon displayed beside calendar events that have conflicting times (they intersect or overlap in some way). Any displayable unicode character. currentIcon Optional The icon displayed beside the current calendar event. Any displayable unicode character. displayResponseStatus Optional Whether or not to display your response status to the calendar event. Default: true . true , false email The email address associated with your Google account. Necessary for determining responseStatus . A valid email address string. eventCount Optional The number of calendar events to display. Any positive integer. hourFormat Optional The format of the clock. Default: 24 . 12 , 24 . multiCalendar Optional Whether or not to display your primary calendar or all calendars you have access to. Default: false . true , false secretFile Your Google client secret JSON file. A string representing a file path to the JSON secret file. showDeclined Optional Whether or not to display events you\u2019ve declined to attend. Default: true . true , false showEndTime Optional Whether or not to display the event end time. Default: false . true , false timezone Optional The timezone to display calendar event times in. Any valid TZ database name . withLocation Optional Whether or not to show the location of the appointment. Default: true . true , false Source Code https://github.com/wtfutil/wtf/tree/master/modules/gcal","title":"Calendar"},{"location":"modules/google/gcal/#google-calendar","text":"Displays your upcoming Google calendar events. Note: Setting up access to Google Calendars for Go is a bit unobvious. Check out Google's Go Quickstart , and follow Enable The Google Calendar API . The configuration file downloaded is the file you use for the secretFile configuration option.","title":"Google Calendar"},{"location":"modules/google/gcal/#configuration","text":"gcal : colors : title : \"red\" eventTime : \"lightblue\" description : \"yellow\" highlights : - [ '1on1|1\\/11' , 'green' ] - [ 'apple|google|aws' , 'blue' ] - [ 'interview|meet' , 'magenta' ] - [ 'lunch' , 'yellow' ] past : \"gray\" calendarReadLevel : \"reader\" conflictIcon : \"\ud83d\udea8\" currentIcon : \"\ud83d\udca5\" displayResponseStatus : true email : \"chriscummer@me.com\" enabled : true eventCount : 15 hourFormat : \"12\" multiCalendar : true position : top : 0 left : 0 height : 4 width : 1 refreshInterval : 5m secretFile : \"~/.config/wtf/gcal/client_secret.json\" showDeclined : true showEndTime : false timezone : \"America/Vancouver\" withLocation : true","title":"Configuration"},{"location":"modules/google/gcal/#screenshots","text":"","title":"Screenshots"},{"location":"modules/google/gcal/#attributes","text":"Name Value colors.eventTime Optional The default color for calendar event time. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.description Optional The default color for calendar event description. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.past Optional The color for calendar events that have passed. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.title Optional The default colour for calendar event titles. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.highlights Optional A list of arrays that define a regular expression pattern and a color. If a calendar event title matches a regular expression, the title will be drawn in that colour. Over-rides the default title colour. A valid regular expression, or any X11 color name. calendarReadLevel Optional The calender read level specifies level you want to read events. Default: reader . reader , writer conflictIcon Optional The icon displayed beside calendar events that have conflicting times (they intersect or overlap in some way). Any displayable unicode character. currentIcon Optional The icon displayed beside the current calendar event. Any displayable unicode character. displayResponseStatus Optional Whether or not to display your response status to the calendar event. Default: true . true , false email The email address associated with your Google account. Necessary for determining responseStatus . A valid email address string. eventCount Optional The number of calendar events to display. Any positive integer. hourFormat Optional The format of the clock. Default: 24 . 12 , 24 . multiCalendar Optional Whether or not to display your primary calendar or all calendars you have access to. Default: false . true , false secretFile Your Google client secret JSON file. A string representing a file path to the JSON secret file. showDeclined Optional Whether or not to display events you\u2019ve declined to attend. Default: true . true , false showEndTime Optional Whether or not to display the event end time. Default: false . true , false timezone Optional The timezone to display calendar event times in. Any valid TZ database name . withLocation Optional Whether or not to show the location of the appointment. Default: true . true , false","title":"Attributes"},{"location":"modules/google/gcal/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/gcal","title":"Source Code"},{"location":"modules/google/spreadsheet/","text":"Google Spreadsheet Display information from cells in a Google Spreadsheet. Configuration gspreadsheets : colors : values : \"green\" cells : names : - \"Cell 1 name\" - \"Cell 2 name\" addresses : - \"A1\" - \"A2\" enabled : true position : top : 0 left : 0 width : 1 height : 1 refreshInterval : \"5m\" secretFile : \"~/.config/wtf/gspreadsheets/client_secret.json\" sheetId : \"id_of_google_spreadsheet\" Attributes Name Value colors.values Optional The color to display the cell values in. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.names Optional Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.addresses Optional Any X11 color name or long-form hex value (i.e.: #ff0000 ). secretFile Your Google client secret JSON file. A string representing a file path to the JSON secret file. Source Code https://github.com/wtfutil/wtf/tree/master/modules/gspreadsheets","title":"Spreadsheet"},{"location":"modules/google/spreadsheet/#google-spreadsheet","text":"Display information from cells in a Google Spreadsheet.","title":"Google Spreadsheet"},{"location":"modules/google/spreadsheet/#configuration","text":"gspreadsheets : colors : values : \"green\" cells : names : - \"Cell 1 name\" - \"Cell 2 name\" addresses : - \"A1\" - \"A2\" enabled : true position : top : 0 left : 0 width : 1 height : 1 refreshInterval : \"5m\" secretFile : \"~/.config/wtf/gspreadsheets/client_secret.json\" sheetId : \"id_of_google_spreadsheet\"","title":"Configuration"},{"location":"modules/google/spreadsheet/#attributes","text":"Name Value colors.values Optional The color to display the cell values in. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.names Optional Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.addresses Optional Any X11 color name or long-form hex value (i.e.: #ff0000 ). secretFile Your Google client secret JSON file. A string representing a file path to the JSON secret file.","title":"Attributes"},{"location":"modules/google/spreadsheet/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/gspreadsheets","title":"Source Code"},{"location":"modules/ipaddress/ipapi/","text":"IP-API Displays your current IP address information, from IP-API.com . Note: IP-API.com has a free-plan rate limit of 120 requests per minute. Configuration ipapi : colors : name : red value : white # Optional args : - \"ip\" - \"isp\" - \"as\" - \"city\" - \"regionName\" - \"country\" - \"continent\" - \"coordinates\" - \"organization\" - \"timezone\" - \"reverseDNS\" enabled : true position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 150s Attributes Name Value colors.name Optional The default colour for the row names. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.value Optional The default colour for the row values. Any X11 color name or long-form hex value (i.e.: #ff0000 ). args Optional The data to display and the order to display it in. See args table below. Args Value Description Example ip IP address 173.194.67.94 isp ISP name Google as AS number and organization, separated by space (RIR). Empty for IP blocks not being announced in BGP tables. AS15169 Google Inc. asName AS name (RIR). Empty for IP blocks not being announced in BGP tables. GOOGLE district District (subdivision of city) Old Farm District city City Mountain View region Region/state short code (FIPS or ISO) CA or 10 regionName Region/state California country Country name United States countryCode Two-letter country code ISO 3166-1 alpha-2 US continent Continent name North America continentCode Two-letter continent code NA coordinates Latitude and longitude 37.4192, -122.0574 postalCode Postal code 94043 currency National currency USD organization Organization name Google timezone Timezone (tz) America/Los_Angeles reverseDNS Reverse DNS of the IP wi-in-f94.1e100.net Source Code https://github.com/wtfutil/wtf/tree/master/modules/ipaddresses/ipapi","title":"IP API"},{"location":"modules/ipaddress/ipapi/#ip-api","text":"Displays your current IP address information, from IP-API.com . Note: IP-API.com has a free-plan rate limit of 120 requests per minute.","title":"IP-API"},{"location":"modules/ipaddress/ipapi/#configuration","text":"ipapi : colors : name : red value : white # Optional args : - \"ip\" - \"isp\" - \"as\" - \"city\" - \"regionName\" - \"country\" - \"continent\" - \"coordinates\" - \"organization\" - \"timezone\" - \"reverseDNS\" enabled : true position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 150s","title":"Configuration"},{"location":"modules/ipaddress/ipapi/#attributes","text":"Name Value colors.name Optional The default colour for the row names. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.value Optional The default colour for the row values. Any X11 color name or long-form hex value (i.e.: #ff0000 ). args Optional The data to display and the order to display it in. See args table below.","title":"Attributes"},{"location":"modules/ipaddress/ipapi/#args","text":"Value Description Example ip IP address 173.194.67.94 isp ISP name Google as AS number and organization, separated by space (RIR). Empty for IP blocks not being announced in BGP tables. AS15169 Google Inc. asName AS name (RIR). Empty for IP blocks not being announced in BGP tables. GOOGLE district District (subdivision of city) Old Farm District city City Mountain View region Region/state short code (FIPS or ISO) CA or 10 regionName Region/state California country Country name United States countryCode Two-letter country code ISO 3166-1 alpha-2 US continent Continent name North America continentCode Two-letter continent code NA coordinates Latitude and longitude 37.4192, -122.0574 postalCode Postal code 94043 currency National currency USD organization Organization name Google timezone Timezone (tz) America/Los_Angeles reverseDNS Reverse DNS of the IP wi-in-f94.1e100.net","title":"Args"},{"location":"modules/ipaddress/ipapi/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/ipaddresses/ipapi","title":"Source Code"},{"location":"modules/ipaddress/ipinfo/","text":"IP Info Displays your current IP address information, from ipinfo.io. Note: IPInfo.io has a free-plan rate limit of 1000 requests per day. Configuration ipinfo : colors : name : red value : white enabled : true position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 150s Screenshots Attributes Name Value colors.name Optional The default colour for the row names. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.value Optional The default colour for the row values. Any X11 color name or long-form hex value (i.e.: #ff0000 ). apiToken Optional API token for ipinfo.io . Source Code https://github.com/wtfutil/wtf/tree/master/modules/ipaddresses/ipinfo","title":"IPInfo"},{"location":"modules/ipaddress/ipinfo/#ip-info","text":"Displays your current IP address information, from ipinfo.io. Note: IPInfo.io has a free-plan rate limit of 1000 requests per day.","title":"IP Info"},{"location":"modules/ipaddress/ipinfo/#configuration","text":"ipinfo : colors : name : red value : white enabled : true position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 150s","title":"Configuration"},{"location":"modules/ipaddress/ipinfo/#screenshots","text":"","title":"Screenshots"},{"location":"modules/ipaddress/ipinfo/#attributes","text":"Name Value colors.name Optional The default colour for the row names. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.value Optional The default colour for the row values. Any X11 color name or long-form hex value (i.e.: #ff0000 ). apiToken Optional API token for ipinfo.io .","title":"Attributes"},{"location":"modules/ipaddress/ipinfo/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/ipaddresses/ipinfo","title":"Source Code"},{"location":"modules/sports/football/","text":"Football Displays Football statistics about the specific league. This widget uses football-data.org . Standings Standings is the ranking or table for specific league. By default it shows top 5 teams in the league but which can be customized using configuration. Matches Played Shows recent matches played in the specific league. By default it shows matches played in last 5 days. Upcoming Matches Shows upcoming matches or fixtuers in the specific league. By default it shows upcoming matches for next 5 days. Supported Leagues Currently this widget only support below mentioned league/competition, You should use below shortname of the league in your configuration: Competition Short Name Brazil S\u00e9rie A BSA Campeonato Brasileiro da S\u00e9rie A EL2 English Championship EC English Premier League PL European Championship EUC FIFA World Cup WC French Ligue 1 FL1 German Bundesliga GB Italy Serie A ISA Netherlands Eredivisie NE Portugal Primeira Liga PPL Spain Primera Division SPD UEFA Champions League CL Configuration football : enabled : true apiKey : \"*************\" league : \"PL\" favTeam : \"Liverpool FC\" standingCount : 5 matchesFrom : 5 matchesTo : 5 position : top : 1 left : 0 height : 4 width : 3 refreshInterval : 1000s title : \"\u26bd\" Screenshots Attributes Name Value apiKey API key to get the football stats from football-data.org. You can get your Free tier key on football-data.org . Leave it empty to use the WTF_FOOTBALL_API_KEY environment variable. league Short name of the league or competition (as listed above in Supported Leagues ). favTeam Optional Name of the favorite team from specific league. Leave it empty to use the WTF_FOOTBALL_TEAM environment variable. matchesFrom Optional List all matches played in last (N) number of days. Default 5 . Any positive integer. matchesTo Optional List all upcoming matches coming in next (N) number of days. Default 5 . Any positive integer. standingCount Optional List top number (N) of teams in the league. Default 5 . Any positive integer. Source Code https://github.com/wtfutil/wtf/tree/master/modules/football","title":"Football"},{"location":"modules/sports/football/#football","text":"Displays Football statistics about the specific league. This widget uses football-data.org .","title":"Football"},{"location":"modules/sports/football/#standings","text":"Standings is the ranking or table for specific league. By default it shows top 5 teams in the league but which can be customized using configuration.","title":"Standings"},{"location":"modules/sports/football/#matches-played","text":"Shows recent matches played in the specific league. By default it shows matches played in last 5 days.","title":"Matches Played"},{"location":"modules/sports/football/#upcoming-matches","text":"Shows upcoming matches or fixtuers in the specific league. By default it shows upcoming matches for next 5 days.","title":"Upcoming Matches"},{"location":"modules/sports/football/#supported-leagues","text":"Currently this widget only support below mentioned league/competition, You should use below shortname of the league in your configuration: Competition Short Name Brazil S\u00e9rie A BSA Campeonato Brasileiro da S\u00e9rie A EL2 English Championship EC English Premier League PL European Championship EUC FIFA World Cup WC French Ligue 1 FL1 German Bundesliga GB Italy Serie A ISA Netherlands Eredivisie NE Portugal Primeira Liga PPL Spain Primera Division SPD UEFA Champions League CL","title":"Supported Leagues"},{"location":"modules/sports/football/#configuration","text":"football : enabled : true apiKey : \"*************\" league : \"PL\" favTeam : \"Liverpool FC\" standingCount : 5 matchesFrom : 5 matchesTo : 5 position : top : 1 left : 0 height : 4 width : 3 refreshInterval : 1000s title : \"\u26bd\"","title":"Configuration"},{"location":"modules/sports/football/#screenshots","text":"","title":"Screenshots"},{"location":"modules/sports/football/#attributes","text":"Name Value apiKey API key to get the football stats from football-data.org. You can get your Free tier key on football-data.org . Leave it empty to use the WTF_FOOTBALL_API_KEY environment variable. league Short name of the league or competition (as listed above in Supported Leagues ). favTeam Optional Name of the favorite team from specific league. Leave it empty to use the WTF_FOOTBALL_TEAM environment variable. matchesFrom Optional List all matches played in last (N) number of days. Default 5 . Any positive integer. matchesTo Optional List all upcoming matches coming in next (N) number of days. Default 5 . Any positive integer. standingCount Optional List top number (N) of teams in the league. Default 5 . Any positive integer.","title":"Attributes"},{"location":"modules/sports/football/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/football","title":"Source Code"},{"location":"modules/sports/nbascore/","text":"NBA Score Displays NBA game scores. Configuration nbascore : enabled : true position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 10m Keyboard Key Action / Open/close the widget's help modal c Go to current day h Go to previous day l Go to next day r Refresh the data \u2190 {{ arrowback }}Go to previous day \u2192 {{ arrowfore }}Go to next day Source Code https://github.com/wtfutil/wtf/tree/master/modules/nbascore","title":"NBA Score"},{"location":"modules/sports/nbascore/#nba-score","text":"Displays NBA game scores.","title":"NBA Score"},{"location":"modules/sports/nbascore/#configuration","text":"nbascore : enabled : true position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 10m","title":"Configuration"},{"location":"modules/sports/nbascore/#keyboard","text":"Key Action / Open/close the widget's help modal c Go to current day h Go to previous day l Go to next day r Refresh the data \u2190 {{ arrowback }}Go to previous day \u2192 {{ arrowfore }}Go to next day","title":"Keyboard"},{"location":"modules/sports/nbascore/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/nbascore","title":"Source Code"},{"location":"modules/stocks/finnhub/","text":"Finnhub Display Finnhub stocks for the configured symbols. Configuration finnhub : apiKey : \"your-api-key\" symbols : - \"AAPL\" - \"MSFT\" - \"AMZN\" - \"FSLY\" enabled : true position : top : 0 left : 0 height : 2 width : 2 refreshInterval : 5s Attributes Name Value apiKey Your finnhub.io api key. A valid API key. symbols List of symbols to display. List of symbols. Source Code https://github.com/wtfutil/wtf/tree/master/modules/stocks/finnhub","title":"Finnhub"},{"location":"modules/stocks/finnhub/#finnhub","text":"Display Finnhub stocks for the configured symbols.","title":"Finnhub"},{"location":"modules/stocks/finnhub/#configuration","text":"finnhub : apiKey : \"your-api-key\" symbols : - \"AAPL\" - \"MSFT\" - \"AMZN\" - \"FSLY\" enabled : true position : top : 0 left : 0 height : 2 width : 2 refreshInterval : 5s","title":"Configuration"},{"location":"modules/stocks/finnhub/#attributes","text":"Name Value apiKey Your finnhub.io api key. A valid API key. symbols List of symbols to display. List of symbols.","title":"Attributes"},{"location":"modules/stocks/finnhub/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/stocks/finnhub","title":"Source Code"},{"location":"modules/stocks/yfinance/","text":"Yahoo Finance Display Yahoo Finance data for the configured symbols. The first column shows the symbol's status: pre-market: \u23ed open: \u25b6 post-market: \u23ee closed: \u23f9 The second column is the symbol's shortname, third column shows the current value. The fourth columns will show a different icon depending on the current market change: 3%: \u2b06\ufe0f 0%: \u2197\ufe0f <0%: \u2198\ufe0f <-3%: \u2b07\ufe0f Configuration yfinance : enabled : true title : \"Stock and exchange rate \ud83d\ude80\" sort : true refreshInterval : 1m symbols : - \"DOCN\" - \"GLE.PA\" - \"ABN.AS\" - \"ICAD.PA\" - \"ACA.PA\" - \"ORA.PA\" - \"EURUSD=X\" - \"USDCAD=X\" - \"CADJPY=X\" position : top : 1 left : 0 height : 1 width : 1 Screenshots Attributes Name Value symbols List of Yahoo Finance symbols to display. List of valid Yahoo Finance symbols. sort Optional Sort indices by market change percent. Default: false . true , false Source Code https://github.com/wtfutil/wtf/tree/master/modules/stocks/yfinance","title":"Yahoo Finance"},{"location":"modules/stocks/yfinance/#yahoo-finance","text":"Display Yahoo Finance data for the configured symbols. The first column shows the symbol's status: pre-market: \u23ed open: \u25b6 post-market: \u23ee closed: \u23f9 The second column is the symbol's shortname, third column shows the current value. The fourth columns will show a different icon depending on the current market change: 3%: \u2b06\ufe0f 0%: \u2197\ufe0f <0%: \u2198\ufe0f <-3%: \u2b07\ufe0f","title":"Yahoo Finance"},{"location":"modules/stocks/yfinance/#configuration","text":"yfinance : enabled : true title : \"Stock and exchange rate \ud83d\ude80\" sort : true refreshInterval : 1m symbols : - \"DOCN\" - \"GLE.PA\" - \"ABN.AS\" - \"ICAD.PA\" - \"ACA.PA\" - \"ORA.PA\" - \"EURUSD=X\" - \"USDCAD=X\" - \"CADJPY=X\" position : top : 1 left : 0 height : 1 width : 1","title":"Configuration"},{"location":"modules/stocks/yfinance/#screenshots","text":"","title":"Screenshots"},{"location":"modules/stocks/yfinance/#attributes","text":"Name Value symbols List of Yahoo Finance symbols to display. List of valid Yahoo Finance symbols. sort Optional Sort indices by market change percent. Default: false . true , false","title":"Attributes"},{"location":"modules/stocks/yfinance/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/stocks/yfinance","title":"Source Code"},{"location":"modules/twitter/stats/","text":"Twitter Stats Connects to the Twitter API and displays statistics about the number of tweets and followers for a set of usernames. To make this work, you'll need a couple of things: Twitter developer account and one of the following: a) Twitter bearer token b) Consumer API keys You must have either a bearer token or consumer key + consumer secret provided. To get the consumer API keys, you must first create a Twitter application. Then, go to the \"Keys and tokens\" page and copy the API key and API secret key under the Consumer API keys section. Once you have your developer account, a relatively painless way to get a bearer token is to use TBT . Configuration twitterstats : consumerKey : \"32xxxxxxxxxxxxxxxxxxxxxxxxxxxxa9\" consumerSecret : \"12xxxxxxxxxxxxxxxxxxxxxxxxxxxxab\" enabled : true position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 20000s screenNames : - \"wtfutil\" - \"dril\" Attributes Name Value bearerToken Optional Your Twitter single-application Bearer Token . This must be supplied if consumerKey and consumerSecret are not. consumerKey Optional Your Twitter Consumer API secret. This must be supplied along with consumerSecret if bearerToken isn't supplied. consumerSecret Optional Your Twitter Consumer API key. This must be supplied along with consumerKey if bearerToken isn't supplied. screenNames The screen names of the Twitter users who's tweets you want to follow. Source Code https://github.com/wtfutil/wtf/tree/master/modules/twitterstats","title":"Stats"},{"location":"modules/twitter/stats/#twitter-stats","text":"Connects to the Twitter API and displays statistics about the number of tweets and followers for a set of usernames. To make this work, you'll need a couple of things: Twitter developer account and one of the following: a) Twitter bearer token b) Consumer API keys You must have either a bearer token or consumer key + consumer secret provided. To get the consumer API keys, you must first create a Twitter application. Then, go to the \"Keys and tokens\" page and copy the API key and API secret key under the Consumer API keys section. Once you have your developer account, a relatively painless way to get a bearer token is to use TBT .","title":"Twitter Stats"},{"location":"modules/twitter/stats/#configuration","text":"twitterstats : consumerKey : \"32xxxxxxxxxxxxxxxxxxxxxxxxxxxxa9\" consumerSecret : \"12xxxxxxxxxxxxxxxxxxxxxxxxxxxxab\" enabled : true position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 20000s screenNames : - \"wtfutil\" - \"dril\"","title":"Configuration"},{"location":"modules/twitter/stats/#attributes","text":"Name Value bearerToken Optional Your Twitter single-application Bearer Token . This must be supplied if consumerKey and consumerSecret are not. consumerKey Optional Your Twitter Consumer API secret. This must be supplied along with consumerSecret if bearerToken isn't supplied. consumerSecret Optional Your Twitter Consumer API key. This must be supplied along with consumerKey if bearerToken isn't supplied. screenNames The screen names of the Twitter users who's tweets you want to follow.","title":"Attributes"},{"location":"modules/twitter/stats/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/twitterstats","title":"Source Code"},{"location":"modules/twitter/tweets/","text":"Twitter Tweets Connects to the Twitter API and displays a single user's tweets. NOTE: This only works for single-application developer accounts for now. To make this work, you'll need a couple of things: Twitter developer account and one of the following: a) Twitter bearer token b) Consumer API keys You must have either a bearer token or consumer key + consumer secret provided. To get the consumer API keys, you must first create a Twitter application. Then, go to the \"Keys and tokens\" page and copy the API key and API secret key under the Consumer API keys section. Once you have your developer account, a relatively painless way to get a bearer token is to use TBT . Configuration Single Account twitter : bearerToken : \"d23*******************************************3r2\" count : 5 enabled : true position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 20000s screenName : \"wtfutil\" Multiple Accounts twitter : bearerToken : \"d23*******************************************3r2\" count : 5 enabled : true position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 20000s screenNames : - \"golang\" - \"wtfutil\" Attributes Name Value bearerToken Optional Your Twitter single-application Bearer Token . This must be supplied if consumerKey and consumerSecret are not. consumerKey Optional Your Twitter Consumer API secret. This must be supplied along with consumerSecret if bearerToken isn't supplied. consumerSecret Optional Your Twitter Consumer API key. This must be supplied along with consumerKey if bearerToken isn't supplied. count Optional The number of tweets to return per account. Default: 5 . Any positive integer. screenNames The screen names of the Twitter users who's tweets you want to follow. Keyboard Key Action / Open/close the widget's help modal [return] Open the current Twitter account in the browser h Show the previous Twitter account l Show the next Twitter account o Open the current Twitter account in the browser r Refresh the data \u2190 {{ arrowback }}Show the previous Twitter account \u2192 {{ arrowfore }}Show the next Twitter account Source Code https://github.com/wtfutil/wtf/tree/master/modules/twitter","title":"Tweets"},{"location":"modules/twitter/tweets/#twitter-tweets","text":"Connects to the Twitter API and displays a single user's tweets. NOTE: This only works for single-application developer accounts for now. To make this work, you'll need a couple of things: Twitter developer account and one of the following: a) Twitter bearer token b) Consumer API keys You must have either a bearer token or consumer key + consumer secret provided. To get the consumer API keys, you must first create a Twitter application. Then, go to the \"Keys and tokens\" page and copy the API key and API secret key under the Consumer API keys section. Once you have your developer account, a relatively painless way to get a bearer token is to use TBT .","title":"Twitter Tweets"},{"location":"modules/twitter/tweets/#configuration","text":"","title":"Configuration"},{"location":"modules/twitter/tweets/#single-account","text":"twitter : bearerToken : \"d23*******************************************3r2\" count : 5 enabled : true position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 20000s screenName : \"wtfutil\"","title":"Single Account"},{"location":"modules/twitter/tweets/#multiple-accounts","text":"twitter : bearerToken : \"d23*******************************************3r2\" count : 5 enabled : true position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 20000s screenNames : - \"golang\" - \"wtfutil\"","title":"Multiple Accounts"},{"location":"modules/twitter/tweets/#attributes","text":"Name Value bearerToken Optional Your Twitter single-application Bearer Token . This must be supplied if consumerKey and consumerSecret are not. consumerKey Optional Your Twitter Consumer API secret. This must be supplied along with consumerSecret if bearerToken isn't supplied. consumerSecret Optional Your Twitter Consumer API key. This must be supplied along with consumerKey if bearerToken isn't supplied. count Optional The number of tweets to return per account. Default: 5 . Any positive integer. screenNames The screen names of the Twitter users who's tweets you want to follow.","title":"Attributes"},{"location":"modules/twitter/tweets/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Open the current Twitter account in the browser h Show the previous Twitter account l Show the next Twitter account o Open the current Twitter account in the browser r Refresh the data \u2190 {{ arrowback }}Show the previous Twitter account \u2192 {{ arrowfore }}Show the next Twitter account","title":"Keyboard"},{"location":"modules/twitter/tweets/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/twitter","title":"Source Code"},{"location":"modules/weather_services/arpansagovau/","text":"ARPANSA Displays Ultraviolet radiation index information from ARPANSA for an Australian city to help determine what level of sun protection or avoidance is necessary. The Australian Radiation Protection and Nuclear Safety Agency (ARPANSA) is the Australian Government's primary authority on radiation protection and nuclear safety. Interpreting the information: Index is specified in units of Standard Erthermal Dose . If the UV index is less than 3 you can safely stay outdoors with minimal protection. If the UV index is 3 or more: wear sun protective clothing, a hat, sunglasses, sunscreen, seek shade. Configuration arpansagovau : enabled : true locationid : \"Sydney\" position : top : 0 left : 0 height : 1 width : 1 refreshInterval : 15m Attributes Name Value locationid One of the ARPANSA location ids as seen on the id attribute of the location tag. e.g. 'Sydney' Source Code https://github.com/wtfutil/wtf/tree/master/modules/weatherservices/arpansagovau","title":"ARPANSA"},{"location":"modules/weather_services/arpansagovau/#arpansa","text":"Displays Ultraviolet radiation index information from ARPANSA for an Australian city to help determine what level of sun protection or avoidance is necessary. The Australian Radiation Protection and Nuclear Safety Agency (ARPANSA) is the Australian Government's primary authority on radiation protection and nuclear safety. Interpreting the information: Index is specified in units of Standard Erthermal Dose . If the UV index is less than 3 you can safely stay outdoors with minimal protection. If the UV index is 3 or more: wear sun protective clothing, a hat, sunglasses, sunscreen, seek shade.","title":"ARPANSA"},{"location":"modules/weather_services/arpansagovau/#configuration","text":"arpansagovau : enabled : true locationid : \"Sydney\" position : top : 0 left : 0 height : 1 width : 1 refreshInterval : 15m","title":"Configuration"},{"location":"modules/weather_services/arpansagovau/#attributes","text":"Name Value locationid One of the ARPANSA location ids as seen on the id attribute of the location tag. e.g. 'Sydney'","title":"Attributes"},{"location":"modules/weather_services/arpansagovau/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/weatherservices/arpansagovau","title":"Source Code"},{"location":"modules/weather_services/prettyweather/","text":"Pretty Weather Displays weather information as ASCII art from Wttr.in . Consider using wego directly, to avoid issues with rate limiting. See wego . Configuration prettyweather : enabled : true city : \"tehran\" position : top : 3 left : 5 height : 1 width : 1 refreshInterval : 5m unit : \"m\" view : 0 language : \"en\" Attributes Name Value city Optional The name of the city to display weather for. Default: Barcelona . The name of any city supported by Wttr.in . language Optional Wttr.in language configuration. Default: en . See curl wttr.in/:translation for more details. unit Optional The scale to display temperatures in. Default: m . u for Fahrenheit, m for Celsius. view Optional Wttr.in view configuration. See curl wttr.in/:help for more details. Source Code https://github.com/wtfutil/wtf/tree/master/modules/weatherservices/prettyweather","title":"Pretty Weather"},{"location":"modules/weather_services/prettyweather/#pretty-weather","text":"Displays weather information as ASCII art from Wttr.in . Consider using wego directly, to avoid issues with rate limiting. See wego .","title":"Pretty Weather"},{"location":"modules/weather_services/prettyweather/#configuration","text":"prettyweather : enabled : true city : \"tehran\" position : top : 3 left : 5 height : 1 width : 1 refreshInterval : 5m unit : \"m\" view : 0 language : \"en\"","title":"Configuration"},{"location":"modules/weather_services/prettyweather/#attributes","text":"Name Value city Optional The name of the city to display weather for. Default: Barcelona . The name of any city supported by Wttr.in . language Optional Wttr.in language configuration. Default: en . See curl wttr.in/:translation for more details. unit Optional The scale to display temperatures in. Default: m . u for Fahrenheit, m for Celsius. view Optional Wttr.in view configuration. See curl wttr.in/:help for more details.","title":"Attributes"},{"location":"modules/weather_services/prettyweather/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/weatherservices/prettyweather","title":"Source Code"},{"location":"modules/weather_services/weather/","text":"Weather Displays current weather reports, including current temperature, sunrise time, and sunset time. Configuration weather : apiKey : \"p0d13*********************************************c3\" # From http://bulk.openweathermap.org/sample/city.list.json.gz compact : false cityids : - 6173331 - 3128760 - 6167865 - 6176823 colors : current : \"lightblue\" enabled : true language : \"EN\" position : top : 0 left : 2 height : 1 width : 1 refreshInterval : 15m tempUnit : \"C\" useEmoji : true Screenshots Default Compact variant compact: true Attributes Name Value apiKey Your OpenWeatherMap API key. Leave this blank to use the WTF_OWM_API_KEY environment variable. cityids A list of the OpenWeatherMap city IDs for the cities you want to view. A list of positive integers. colors.current Optional The color to highlight the current temperature in. Default: green . language Optional The human language in which to present the weather data. Default: EN . Any language identifier specified by OpenWeatherMap. tempUnit Optional The temperature scale in which to display temperature values. Default: C . F for Fahrenheit, C for Celcius useEmoji Optional Whether or not to display emoji characters in the title. Default: true . true , false compact Optional Whether or not to be compact mode. This shortens the sunset/sunrise line and also removes the double line breaks under conditions and under the temperatures. Default: false . true , false Keyboard Key Action / Open/close the widget's help modal h Show the previous weather location l Show the next weather location \u2190 Show the previous weather location{{ arrowBack }} \u2192 Show the next weather location{{ arrowFore }} Source Code https://github.com/wtfutil/wtf/tree/master/modules/weatherservices/weather","title":"Weather"},{"location":"modules/weather_services/weather/#weather","text":"Displays current weather reports, including current temperature, sunrise time, and sunset time.","title":"Weather"},{"location":"modules/weather_services/weather/#configuration","text":"weather : apiKey : \"p0d13*********************************************c3\" # From http://bulk.openweathermap.org/sample/city.list.json.gz compact : false cityids : - 6173331 - 3128760 - 6167865 - 6176823 colors : current : \"lightblue\" enabled : true language : \"EN\" position : top : 0 left : 2 height : 1 width : 1 refreshInterval : 15m tempUnit : \"C\" useEmoji : true","title":"Configuration"},{"location":"modules/weather_services/weather/#screenshots","text":"","title":"Screenshots"},{"location":"modules/weather_services/weather/#default","text":"","title":"Default"},{"location":"modules/weather_services/weather/#compact-variant","text":"compact: true","title":"Compact variant"},{"location":"modules/weather_services/weather/#attributes","text":"Name Value apiKey Your OpenWeatherMap API key. Leave this blank to use the WTF_OWM_API_KEY environment variable. cityids A list of the OpenWeatherMap city IDs for the cities you want to view. A list of positive integers. colors.current Optional The color to highlight the current temperature in. Default: green . language Optional The human language in which to present the weather data. Default: EN . Any language identifier specified by OpenWeatherMap. tempUnit Optional The temperature scale in which to display temperature values. Default: C . F for Fahrenheit, C for Celcius useEmoji Optional Whether or not to display emoji characters in the title. Default: true . true , false compact Optional Whether or not to be compact mode. This shortens the sunset/sunrise line and also removes the double line breaks under conditions and under the temperatures. Default: false . true , false","title":"Attributes"},{"location":"modules/weather_services/weather/#keyboard","text":"Key Action / Open/close the widget's help modal h Show the previous weather location l Show the next weather location \u2190 Show the previous weather location{{ arrowBack }} \u2192 Show the next weather location{{ arrowFore }}","title":"Keyboard"},{"location":"modules/weather_services/weather/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/weatherservices/weather","title":"Source Code"},{"location":"sponsors/exit_message/","text":"Exit Message On exit, WTF displays a short text message pointing people to the sponsorship page: People who contribute code or sponsor the project will see a different, customized message. Code contributors and sponsors of WTF can also opt out of seeing the exit message entirely by including the following configuration in their conf file: wtf: exitMessage: display: false githubAPIKey: \"d8....................................ea\" WTF uses the GitHub API key to determine who the contributors and sponsors are.","title":"Exit Message"},{"location":"sponsors/exit_message/#exit-message","text":"On exit, WTF displays a short text message pointing people to the sponsorship page: People who contribute code or sponsor the project will see a different, customized message. Code contributors and sponsors of WTF can also opt out of seeing the exit message entirely by including the following configuration in their conf file: wtf: exitMessage: display: false githubAPIKey: \"d8....................................ea\" WTF uses the GitHub API key to determine who the contributors and sponsors are.","title":"Exit Message"},{"location":"sponsors/sponsoring/","text":"Sponsoring WTF Sponsors make this happen Sponsoring is a great way to show your support for WTF. If WTF occupies that special place in your terminal, please consider sponsoring its ongoing development. How to Sponsor Easy! Just click the button below and following along with GitHub. A special thanks to our sponsors: Robusta.dev Airbrake Slack If you\u2019re a member of the Gophers Slack community ( https://invite.slack.golangbridge.org ) there\u2019s a WTFUtil channel you should join for all your WTF questions, development conversations, etc. Find #wtfutil on https://gophers.slack.com/ and join the conversation. Twitter You can also follow along with WTFUtil on Twitter for news and latest updates.","title":"Sponsoring WTF"},{"location":"sponsors/sponsoring/#sponsoring-wtf","text":"","title":"Sponsoring WTF"},{"location":"sponsors/sponsoring/#sponsors-make-this-happen","text":"Sponsoring is a great way to show your support for WTF. If WTF occupies that special place in your terminal, please consider sponsoring its ongoing development.","title":"Sponsors make this happen"},{"location":"sponsors/sponsoring/#how-to-sponsor","text":"Easy! Just click the button below and following along with GitHub. A special thanks to our sponsors: Robusta.dev Airbrake","title":"How to Sponsor"},{"location":"sponsors/sponsoring/#slack","text":"If you\u2019re a member of the Gophers Slack community ( https://invite.slack.golangbridge.org ) there\u2019s a WTFUtil channel you should join for all your WTF questions, development conversations, etc. Find #wtfutil on https://gophers.slack.com/ and join the conversation.","title":"Slack"},{"location":"sponsors/sponsoring/#twitter","text":"You can also follow along with WTFUtil on Twitter for news and latest updates.","title":"Twitter"}]}
\ No newline at end of file
+{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"","title":"Home"},{"location":"glossary/","text":"Glossary Module A discrete unit of data collection and display. A data interface concept. A package inside the app. Examples: New Relic , Git , Weather . Widget The onscreen representation of a Module. The widget is responsible for being the interface between the app and the data collection. Widgets are defined by a required widget.go file in a Module. WTF An acronym for \"What The Fsck?\", as in \"What the fsck are all these browser tabs open for?\" and \"What the fsck am I doing today?\" (And if you're not a fan of that, then it stands for \"What are The Facts?\", or \"Whiskey Tango Foxtrot\", or \"Where to, Frodo?\". It's up to you.)","title":"Glossary"},{"location":"glossary/#glossary","text":"","title":"Glossary"},{"location":"glossary/#module","text":"A discrete unit of data collection and display. A data interface concept. A package inside the app. Examples: New Relic , Git , Weather .","title":"Module"},{"location":"glossary/#widget","text":"The onscreen representation of a Module. The widget is responsible for being the interface between the app and the data collection. Widgets are defined by a required widget.go file in a Module.","title":"Widget"},{"location":"glossary/#wtf","text":"An acronym for \"What The Fsck?\", as in \"What the fsck are all these browser tabs open for?\" and \"What the fsck am I doing today?\" (And if you're not a fan of that, then it stands for \"What are The Facts?\", or \"Whiskey Tango Foxtrot\", or \"Where to, Frodo?\". It's up to you.)","title":"WTF"},{"location":"installation/","text":"Installation Homebrew The easiest way to install from Homebrew is of course \u276f brew install wtfutil Or, to stay up-to-date with the very latest release at all times, tap the cask that is generated on each new release: \u276f brew tap wtfutil/wtfutil \u276f brew install wtfutil \u276f wtfutil As a Binary Grab the latest version from the Releases page . Expand it, and cd into the resulting directory. Then run: \u276f ./wtfutil and that should also do it. From Source Download the source code repo and install the dependencies: # Set the Go proxy variable to GoCenter \u276f export GOPROXY = \"https://gocenter.io\" # Enable Go modules \u276f export GO111MODULE = on \u276f go get -u github.com/wtfutil/wtf \u276f cd $GOPATH /src/github.com/wtfutil/wtf \u276f make install \u276f make run and that should do it.","title":"Installation"},{"location":"installation/#installation","text":"","title":"Installation"},{"location":"installation/#homebrew","text":"The easiest way to install from Homebrew is of course \u276f brew install wtfutil Or, to stay up-to-date with the very latest release at all times, tap the cask that is generated on each new release: \u276f brew tap wtfutil/wtfutil \u276f brew install wtfutil \u276f wtfutil","title":"Homebrew"},{"location":"installation/#as-a-binary","text":"Grab the latest version from the Releases page . Expand it, and cd into the resulting directory. Then run: \u276f ./wtfutil and that should also do it.","title":"As a Binary"},{"location":"installation/#from-source","text":"Download the source code repo and install the dependencies: # Set the Go proxy variable to GoCenter \u276f export GOPROXY = \"https://gocenter.io\" # Enable Go modules \u276f export GO111MODULE = on \u276f go get -u github.com/wtfutil/wtf \u276f cd $GOPATH /src/github.com/wtfutil/wtf \u276f make install \u276f make run and that should do it.","title":"From Source"},{"location":"quick_start/","text":"Quick Start \u276f brew install wtfutil or Download the stand-alone, compiled binary. Unzip the downloaded file. From the command line, cd into the newly-created /wtf directory. From the command line, run the app: ./wtfutil This should launch the app in your terminal using the default simple configuration. See Configuration for more details. See Installation for additional installation options. Command-line Options --config, -c Allows you to define a custom config file to use. See Configuration for more details. --help, -h Shows help information for the command-line arguments that WTF takes. --module, -m Shows help information for the specific named module, if that module supports help text. Example: wtf --module=todo . --version, -v Shows version info. Keyboard Commands Key: Q or q Action: Quit WTF. Key: Ctrl-R Action: Force-refresh the data for all modules. Key: Esc Action: Remove focus the currently-focused widget. Key: Tab Action: Move between focusable modules ( Shift-Tab to move backwards).","title":"Quick Start"},{"location":"quick_start/#quick-start","text":"\u276f brew install wtfutil or Download the stand-alone, compiled binary. Unzip the downloaded file. From the command line, cd into the newly-created /wtf directory. From the command line, run the app: ./wtfutil This should launch the app in your terminal using the default simple configuration. See Configuration for more details. See Installation for additional installation options.","title":"Quick Start"},{"location":"quick_start/#command-line-options","text":"--config, -c Allows you to define a custom config file to use. See Configuration for more details. --help, -h Shows help information for the command-line arguments that WTF takes. --module, -m Shows help information for the specific named module, if that module supports help text. Example: wtf --module=todo . --version, -v Shows version info.","title":"Command-line Options"},{"location":"quick_start/#keyboard-commands","text":"Key: Q or q Action: Quit WTF. Key: Ctrl-R Action: Force-refresh the data for all modules. Key: Esc Action: Remove focus the currently-focused widget. Key: Tab Action: Move between focusable modules ( Shift-Tab to move backwards).","title":"Keyboard Commands"},{"location":"uninstallation/","text":"Uninstallation Homebrew \u276f brew uninstall wtfutil Remove the Binary and Configuration WTF ships as a single binary named wtfutil . Assuming you have installed the binary, run: \u276f rm $( which wtfutil ) If you have configured WTF, you will also want to delete your configs: \u276f rm -r ~/.config/wtf and that should also do it.","title":"Uninstallation"},{"location":"uninstallation/#uninstallation","text":"","title":"Uninstallation"},{"location":"uninstallation/#homebrew","text":"\u276f brew uninstall wtfutil","title":"Homebrew"},{"location":"uninstallation/#remove-the-binary-and-configuration","text":"WTF ships as a single binary named wtfutil . Assuming you have installed the binary, run: \u276f rm $( which wtfutil ) If you have configured WTF, you will also want to delete your configs: \u276f rm -r ~/.config/wtf and that should also do it.","title":"Remove the Binary and Configuration"},{"location":"blog/2019-07-09-rss-for-releases/","text":"2019-07-09 17:07:58-07:00 With the release of v0.14.0 , WTF has the ability to track and display RSS and Atom feeds via the FeedReader module . And if you're reading this, you know that wtfutil.com now has a blog, and that blog is available via RSS at https://wtfutil.com/blog/index.xml . Putting the two together, you now have a great way to keep up-to-date on the most recent WTF releases, because all of them will be announced, with changlog details, on this very blog. To configure WTF to do so, add the following feedreader configuration to your config.yml file: feedreader: enabled: true feeds: - https://wtfutil.com/blog/index.xml feedLimit: 10 position: top: 2 left: 1 width: 2 height: 1 updateInterval: 14400 Modify the position values accordingly for where you want it to appear onscreen. feedLimit limits the number of stories displayed for any given feed. Without a feed limit, FeedReader will display all the stories returned by the feed. I've set updateInterval to a fairly reasonable 14,400 seconds, or four hours, because most RSS content doesn't change that often.","title":"Using WTF's FeedReader to Track WTF Releases"},{"location":"blog/2019-07-09-v0-14-0/","text":"2019-07-09 14:41:58-07:00 v0.14.0 contains the following changes: CmdRunner module now supports custom titles FeedReader module added Cryptolive module works again gCal module now supports setting an explicit time zone via the \"timezone\" config attribute Misconfigured module positions in config.yaml now attempt to provide informative error messages on launch","title":"v0.14.0 Released"},{"location":"blog/2019-07-10-wtfutil-release/","text":"2019-07-10 10:09:34-07:00 With the release of v0.15.0 , the installed binary has been renamed from wtf to wtfutil . To execute it, you must now use: wtfutil The name has changed because calling it wtf caused a collision with the venerable and amusing bsd-wtf utility. This wasn't a problem back when there was only one person using WTF and no one else knew about it, but with the rise in popularity this collision has been causing problems for some people. Given that bsd-wtf was created long before WTF, it only seems proper to abdicate the name. (And if you want to check out the original wtf , it's available via Homebrew on macOS, and presumably via apt-get on Linux).","title":"Binary Renamed to 'wtfutil'"},{"location":"blog/2019-07-12-homebrew-installation/","text":"2019-07-12 07:27:20-07:00 As of today WTF can be installed on macOS using Homebrew : brew tap wtfutil/wtfutil brew install wtfutil wtfutil If everything goes according to plan, you should now find wtfutil on your system as an executable binary: \u276f which wtfutil /usr/local/bin/wtfutil \u276f ls /usr/local/bin/wtfutil lrwxr-xr-x 1 xxxxxx admin 36 11 Jul 17 :29 /usr/local/bin/wtfutil -> ../Cellar/wtfutil/0.16.1/bin/wtfutil","title":"Installing With Homebrew"},{"location":"blog/2019-07-16-v0-17-1/","text":"2019-07-16 18:05:18-07:00 v0.17.1 contains the following changes: Fixes an issue with the default config file not being created on first run","title":"v0.17.1 Released"},{"location":"blog/2019-07-20-v0-18-0/","text":"2019-07-20 13:16:27-07:00 v0.18.0 contains the following changes: Adds a Google Analytics module Fixes a bug with config file creation that would happen if the ~/.config directory did not already exist","title":"v0.18.0 Released"},{"location":"blog/2019-07-27-v0-19-0/","text":"2019-07-27 20:13:23-07:00 v0.19.0 contains the following changes: \u2620\ufe0f Breaking Change HIBP module now requires an API key to operate. See Authentication and the Have I Been Pwned API for more details, #508 by @senorprogrammer \u26a1\ufe0f Added OpsGenie module now supports \"region\" configuration option (\"us\" or \"eu\"), by @l13t \ud83d\udc1e Fixed Fixes the error message shown when an explicitly-specified custom config file cannot be found or cannot be read, by @senorprogrammer Rollbar module works again, #507 by @Seanstoppable The default config that gets installed on first run is much improved, #504 by @senorprogrammer Default config file is now chmod 0600 to ensure only the owning user can read it, by @senorprogrammer","title":"v0.19.0 Released"},{"location":"blog/2019-07-27-v0-19-0/#breaking-change","text":"HIBP module now requires an API key to operate. See Authentication and the Have I Been Pwned API for more details, #508 by @senorprogrammer","title":"\u2620\ufe0f Breaking Change"},{"location":"blog/2019-07-27-v0-19-0/#added","text":"OpsGenie module now supports \"region\" configuration option (\"us\" or \"eu\"), by @l13t","title":"\u26a1\ufe0f Added"},{"location":"blog/2019-07-27-v0-19-0/#fixed","text":"Fixes the error message shown when an explicitly-specified custom config file cannot be found or cannot be read, by @senorprogrammer Rollbar module works again, #507 by @Seanstoppable The default config that gets installed on first run is much improved, #504 by @senorprogrammer Default config file is now chmod 0600 to ensure only the owning user can read it, by @senorprogrammer","title":"\ud83d\udc1e Fixed"},{"location":"blog/2019-07-31-v0-19-1/","text":"2019-07-31 15:06:11-07:00 v0.19.1 contains the following changes: \u26a1\ufe0f Added New versions now include binaries built for arm and arm64 architectures","title":"v0.19.1 Released"},{"location":"blog/2019-07-31-v0-19-1/#added","text":"New versions now include binaries built for arm and arm64 architectures","title":"\u26a1\ufe0f Added"},{"location":"blog/2019-08-20-v0-20-0/","text":"2019-08-20 07:40:25-07:00 v0.20.0 contains the following changes: \u26a1\ufe0f Added Kubernetes module \ud83d\udc1e Fixed Tab and Esc keys work properly in modal dialogs wtfutil -m flag now works with non-enabled modules Jenkins job filtering preserved across redraws","title":"v0.20.0 Released"},{"location":"blog/2019-08-29-v0-21-0/","text":"2019-08-29 21:48:13-07:00 v0.21.0 contains the following changes: \u26a1\ufe0f Added Power Soure module support added for FreeBSD, by @hxw \ud83d\udc1e Fixed Power indicator displays \u221e on Linux when fully-charged and on AC power, #534 by @Seanstoppable Default background color is now the terminal background color, making transparency support possible in MacOS and Linux, by @Seanstoppable xdg-open now used as the opener for HTTP/HTTPS by default, by @hxw Transmission port over-ride now working, #565 by @Seanstoppable Default config is now created on first run, #553 by @senorprogrammer","title":"v0.21.0 Released"},{"location":"blog/2019-08-29-v0-21-0/#added","text":"Power Soure module support added for FreeBSD, by @hxw","title":"\u26a1\ufe0f Added"},{"location":"blog/2019-08-29-v0-21-0/#fixed","text":"Power indicator displays \u221e on Linux when fully-charged and on AC power, #534 by @Seanstoppable Default background color is now the terminal background color, making transparency support possible in MacOS and Linux, by @Seanstoppable xdg-open now used as the opener for HTTP/HTTPS by default, by @hxw Transmission port over-ride now working, #565 by @Seanstoppable Default config is now created on first run, #553 by @senorprogrammer","title":"\ud83d\udc1e Fixed"},{"location":"blog/2019-09-12-v0-22-0/","text":"2019-09-12 03:10:09-07:00 \u26a1\ufe0f Added Arpansagovau (arpansa.gov.au) module added, by @jeffz 'calendarReadLevel' setting added to gCal module, by @mikkeljuhl Todoist module now catches and displays API errors, by @Seanstoppable TravisCI sort orders now configurable, by @nyourchuck Google Analytics module now supports real-time metrics, #581 by @Ameobea Colors in configuration can now be defined using long-form hex, i.e.: #ff0000, by @Seanstoppable GitHub module pull requests are now selectable and openable via keyboard, #547 by @Midnight-Conqueror Docker module added, #594 by @v-braun NewRelic module now supports displaying data from multiple apps, #471 by @ChrisDBrown and @Seanstoppable Digital Clock module added, by @Narengowda \ud83d\udc1e Fixed ScrollableWidget bounds checking error fixed, #578 by @Seanstoppable Now properly URL-decodes Jenkins branch names, #575 by @lesteenman Jira column sizes render properly, #574 by @lesteenman Todoist module updated to latest API version, by @Seanstoppable gCal colour highlighting working again, #611 by @senorprogrammer Per-module background and text colour settings working again, #568 by @Seanstoppable Git module no longer forces sorting of repositories, #608 by @Seanstoppable GitHub PR icons render properly without phantom characters, by @Midnight-Conqueror GitLab configuration now takes a list of project paths, #566 by @senorprogrammer Kubernetes configuration segfault fixed, #549 by @ibaum","title":"v0.22.0 Released"},{"location":"blog/2019-09-12-v0-22-0/#added","text":"Arpansagovau (arpansa.gov.au) module added, by @jeffz 'calendarReadLevel' setting added to gCal module, by @mikkeljuhl Todoist module now catches and displays API errors, by @Seanstoppable TravisCI sort orders now configurable, by @nyourchuck Google Analytics module now supports real-time metrics, #581 by @Ameobea Colors in configuration can now be defined using long-form hex, i.e.: #ff0000, by @Seanstoppable GitHub module pull requests are now selectable and openable via keyboard, #547 by @Midnight-Conqueror Docker module added, #594 by @v-braun NewRelic module now supports displaying data from multiple apps, #471 by @ChrisDBrown and @Seanstoppable Digital Clock module added, by @Narengowda","title":"\u26a1\ufe0f Added"},{"location":"blog/2019-09-12-v0-22-0/#fixed","text":"ScrollableWidget bounds checking error fixed, #578 by @Seanstoppable Now properly URL-decodes Jenkins branch names, #575 by @lesteenman Jira column sizes render properly, #574 by @lesteenman Todoist module updated to latest API version, by @Seanstoppable gCal colour highlighting working again, #611 by @senorprogrammer Per-module background and text colour settings working again, #568 by @Seanstoppable Git module no longer forces sorting of repositories, #608 by @Seanstoppable GitHub PR icons render properly without phantom characters, by @Midnight-Conqueror GitLab configuration now takes a list of project paths, #566 by @senorprogrammer Kubernetes configuration segfault fixed, #549 by @ibaum","title":"\ud83d\udc1e Fixed"},{"location":"blog/2019-10-11-v0-23-0/","text":"2019-10-11 12:22:15-07:00 WTF v0.23.0 contains the following changes: \u26a1\ufe0f Added Azure DevOps module added, by @v-braun Dev.to module added, by @VictorAvelar TravisCI module now supports enterprise endpoints, #652 by @scw007 Subreddit module added, by @lawrencecraft gCal module now supports a hourFormat setting for defining whether to display 12 or 24-hour times, #665 by @senorprogrammer Scarf installation instructions added to README, by @aviaviavi Spotify widget now supports colour themes, #659 by @Tardog Buildkite module added, by @jmks Improvements to the CmdRunner module, by @noxer \ud83d\udc1e Fixed gCal calendar event time colour can now be changed by setting the eventTime configuration setting, #638 by @indradhanush Clocks now obeys global row colour settings, #658 by @senorprogrammer Transmission module no longer blocks rendering when a Transmission daemon cannot be found, #661 by @senorprogrammer Trello module now respects project list order, #664 by @Seanstoppable Todo module now respects checkbox settings, #616 by @Seanstoppable Todoist module now properly handles todo items with due date and times, #645 by @massawho Invalid pointer error in Azure DevOps fixed by @Boot-Error Renamed slice error in Dev fixed by @Boot-Error \ud83d\udc4d Updated Updated go-datadog-api to version v2.24.0 Updated go-github to version 26.13 Updated watcher to version 1.0.7 Updated google-api-go-client to version 0.10.0 Updated chroma to version 0.6.7 Updated go-gitlab to version 0.20.1 Updated trello to version 1.4.0 Updated tcell to version 1.3.0 Updated gopsutil to version 2.19.9+incompatible Updated yaml to version 2.2.4","title":"v0.23.0 Released"},{"location":"blog/2019-10-11-v0-23-0/#added","text":"Azure DevOps module added, by @v-braun Dev.to module added, by @VictorAvelar TravisCI module now supports enterprise endpoints, #652 by @scw007 Subreddit module added, by @lawrencecraft gCal module now supports a hourFormat setting for defining whether to display 12 or 24-hour times, #665 by @senorprogrammer Scarf installation instructions added to README, by @aviaviavi Spotify widget now supports colour themes, #659 by @Tardog Buildkite module added, by @jmks Improvements to the CmdRunner module, by @noxer","title":"\u26a1\ufe0f Added"},{"location":"blog/2019-10-11-v0-23-0/#fixed","text":"gCal calendar event time colour can now be changed by setting the eventTime configuration setting, #638 by @indradhanush Clocks now obeys global row colour settings, #658 by @senorprogrammer Transmission module no longer blocks rendering when a Transmission daemon cannot be found, #661 by @senorprogrammer Trello module now respects project list order, #664 by @Seanstoppable Todo module now respects checkbox settings, #616 by @Seanstoppable Todoist module now properly handles todo items with due date and times, #645 by @massawho Invalid pointer error in Azure DevOps fixed by @Boot-Error Renamed slice error in Dev fixed by @Boot-Error","title":"\ud83d\udc1e Fixed"},{"location":"blog/2019-10-11-v0-23-0/#updated","text":"Updated go-datadog-api to version v2.24.0 Updated go-github to version 26.13 Updated watcher to version 1.0.7 Updated google-api-go-client to version 0.10.0 Updated chroma to version 0.6.7 Updated go-gitlab to version 0.20.1 Updated trello to version 1.4.0 Updated tcell to version 1.3.0 Updated gopsutil to version 2.19.9+incompatible Updated yaml to version 2.2.4","title":"\ud83d\udc4d Updated"},{"location":"blog/2019-11-10-v0-24-0/","text":"2019-11-10 11:32:32-08:00 WTF v0.24.0 contains the following changes: \u26a1\ufe0f Added Proper, usable Docker file added, by @Boot-Error GitLab module displays issues assigned to, and opened by, the user, by @caalberts TravisCI now checks for uncommitted vendor changes, by @indradhanush Football module added, by @C123R resourceuseage now supports a cpuCombined setting, by @madepolli Twitter Stats module added, by @Ameobea \ud83d\udc1e Fixed Github PRs do not count against issues, by @alexfornuto Todo scrolling now works properly, #707 by 3mard Configs with a missing color key now load properly, #718 and #730 by @senorprogrammer","title":"v0.24.0 Released"},{"location":"blog/2019-11-10-v0-24-0/#added","text":"Proper, usable Docker file added, by @Boot-Error GitLab module displays issues assigned to, and opened by, the user, by @caalberts TravisCI now checks for uncommitted vendor changes, by @indradhanush Football module added, by @C123R resourceuseage now supports a cpuCombined setting, by @madepolli Twitter Stats module added, by @Ameobea","title":"\u26a1\ufe0f Added"},{"location":"blog/2019-11-10-v0-24-0/#fixed","text":"Github PRs do not count against issues, by @alexfornuto Todo scrolling now works properly, #707 by 3mard Configs with a missing color key now load properly, #718 and #730 by @senorprogrammer","title":"\ud83d\udc1e Fixed"},{"location":"blog/2020-02-04-v0-26-0/","text":"2020-02-04 15:06:14-08:00 WTF v0.26.0 contains the following changes: \u26a1\ufe0f Added myName config setting added to PagerDuty module, by @senorprogrammer withDate config setting added to Digital Clock module, by @senorprogrammer Twitch module added, by @bjoernw HackerNews module now opens HN comments when there is no alternative external link, #758 by @senorprogrammer gCal module now now allows users to hide all-day events, #733 by @senorprogrammer SpaceX module added, by @bjoernw Support for obeying XDG_CONFIG_HOME when set, #699 by @Seanstoppable \ud83d\udc1e Fixed Module templating working again, #748 by @senorprogrammer CmdRunner title spacing issue fixed, #784 by @senorprogrammer Colors in cmdrunner fixed when using nodejs chalk et al., #618 by @Seanstoppable Docker buid instructions updated and improved, by @firecat53 Kubernetes module can now be used with multiple contexts, #809 by @davidsbond \ud83d\udc4d Updated Updated digitalocean/godo from 1.22.0 to 1.30.0 Updated google.golang.org/api from 0.14.0 to 0.15.0 Updated alecthomas/chroma from 0.7.0 to 0.7.1 Updated pkg/errors from 0.8.1 to 0.9.1 Updated xanzy/go-gitlab from 0.22.2 to 0.23.0 Updated shirou/gopsutil from 2.19.11 to 2.20.1 Updated zorkian/go-datadog-api from 2.25.0 to 2.26.0 Updated gopkg.in/yaml.v2 from 2.2.7 to 2.2.8 Updated nicklaw5/helix from 0.5.4 to 0.5.5","title":"v0.26.0 Released"},{"location":"blog/2020-02-04-v0-26-0/#added","text":"myName config setting added to PagerDuty module, by @senorprogrammer withDate config setting added to Digital Clock module, by @senorprogrammer Twitch module added, by @bjoernw HackerNews module now opens HN comments when there is no alternative external link, #758 by @senorprogrammer gCal module now now allows users to hide all-day events, #733 by @senorprogrammer SpaceX module added, by @bjoernw Support for obeying XDG_CONFIG_HOME when set, #699 by @Seanstoppable","title":"\u26a1\ufe0f Added"},{"location":"blog/2020-02-04-v0-26-0/#fixed","text":"Module templating working again, #748 by @senorprogrammer CmdRunner title spacing issue fixed, #784 by @senorprogrammer Colors in cmdrunner fixed when using nodejs chalk et al., #618 by @Seanstoppable Docker buid instructions updated and improved, by @firecat53 Kubernetes module can now be used with multiple contexts, #809 by @davidsbond","title":"\ud83d\udc1e Fixed"},{"location":"blog/2020-02-04-v0-26-0/#updated","text":"Updated digitalocean/godo from 1.22.0 to 1.30.0 Updated google.golang.org/api from 0.14.0 to 0.15.0 Updated alecthomas/chroma from 0.7.0 to 0.7.1 Updated pkg/errors from 0.8.1 to 0.9.1 Updated xanzy/go-gitlab from 0.22.2 to 0.23.0 Updated shirou/gopsutil from 2.19.11 to 2.20.1 Updated zorkian/go-datadog-api from 2.25.0 to 2.26.0 Updated gopkg.in/yaml.v2 from 2.2.7 to 2.2.8 Updated nicklaw5/helix from 0.5.4 to 0.5.5","title":"\ud83d\udc4d Updated"},{"location":"blog/2020-02-23-v0-27-0/","text":"2020-02-23 07:09:07-08:00 WTF v0.27.0 contains the following changes: \u26a1\ufe0f Added GitLab Todo module added, by @elliotrushton CDS module added, by @yesnault \ud83d\udc1e Fixed The vendor directory has been removed, #792 by @bjoernw \ud83d\udc4d Updated Updated zorkian/go-datadog-api from 2.26.0+incompatible to 2.27.0+incompatible Updated google.golang.org/api from 0.15.0 to 0.17.0 Updated github.com/nicklaw5/helix from 0.5.5 to 0.5.7 Updated xanzy/go-gitlab from 0.23.0 to 0.26.0 Updated stretchr/testify from o.4.0 to 0.5.1","title":"v0.27.0 Released"},{"location":"blog/2020-02-23-v0-27-0/#added","text":"GitLab Todo module added, by @elliotrushton CDS module added, by @yesnault","title":"\u26a1\ufe0f Added"},{"location":"blog/2020-02-23-v0-27-0/#fixed","text":"The vendor directory has been removed, #792 by @bjoernw","title":"\ud83d\udc1e Fixed"},{"location":"blog/2020-02-23-v0-27-0/#updated","text":"Updated zorkian/go-datadog-api from 2.26.0+incompatible to 2.27.0+incompatible Updated google.golang.org/api from 0.15.0 to 0.17.0 Updated github.com/nicklaw5/helix from 0.5.5 to 0.5.7 Updated xanzy/go-gitlab from 0.23.0 to 0.26.0 Updated stretchr/testify from o.4.0 to 0.5.1","title":"\ud83d\udc4d Updated"},{"location":"blog/2020-03-15-v0-28-0/","text":"2020-03-15 09:52:57-07:00 WTF v0.28.0 contains the following changes: \u26a1\ufe0f Added Support for customizing CPU, Mem, and Swap display in ResourceUsage, by @leterio \ud83d\udc4d Updated Now prefers Go 1.14 for compilation (should still work under 1.13 however) Updated shirou/gopsutil from 2.20.1+incompatible to 2.20.2+incompatible Updated google.golang.org/api from 0.17.0 to 0.20.0 Updated digitalocean/godo from 1.30.0 to 1.32.0 Updated xanzy/go-gitlab from 0.26.0 to 0.28.0 Updated adlio/trello from 1.6.0 to 1.7.0 Updated zorkian/go-datadog-api from 2.27.0+incompatible to 2.28.0+incompatible","title":"v0.28.0 Released"},{"location":"blog/2020-03-15-v0-28-0/#added","text":"Support for customizing CPU, Mem, and Swap display in ResourceUsage, by @leterio","title":"\u26a1\ufe0f Added"},{"location":"blog/2020-03-15-v0-28-0/#updated","text":"Now prefers Go 1.14 for compilation (should still work under 1.13 however) Updated shirou/gopsutil from 2.20.1+incompatible to 2.20.2+incompatible Updated google.golang.org/api from 0.17.0 to 0.20.0 Updated digitalocean/godo from 1.30.0 to 1.32.0 Updated xanzy/go-gitlab from 0.26.0 to 0.28.0 Updated adlio/trello from 1.6.0 to 1.7.0 Updated zorkian/go-datadog-api from 2.27.0+incompatible to 2.28.0+incompatible","title":"\ud83d\udc4d Updated"},{"location":"blog/2020-04-26-v0-29-0/","text":"2020-04-26 15:39:14-07:00 WTF v0.29.0 contains the following changes: \u26a1\ufe0f Added gCal module now has a showEndTime boolean option for displaying meeting end times, by @acaloiaro Pi-hole module added, by @jonhadfield \ud83d\udc1e Fixed Docker module subheading display, #847 by @senorprogrammer Improved display of currencies for the Exchange Rate module, by @indradhanush \ud83d\udc4d Updated Updated nicklaw5/helix from 0.5.7 to 0.5.8 Updated digitalocean/godo from 1.34.0 to 1.35.1 Updated xanzy/go-gitlab from 0.28.0 to 0.31.0 Updated shirou/gopsutil from 2.20.2+incompatible to 2.20.3+incompatible Updated alecthomas/chroma from 0.7.1 to 0.7.2 Updated google.golang.org/api from 0.21.0 to 0.22.0","title":"v0.29.0 Released"},{"location":"blog/2020-04-26-v0-29-0/#added","text":"gCal module now has a showEndTime boolean option for displaying meeting end times, by @acaloiaro Pi-hole module added, by @jonhadfield","title":"\u26a1\ufe0f Added"},{"location":"blog/2020-04-26-v0-29-0/#fixed","text":"Docker module subheading display, #847 by @senorprogrammer Improved display of currencies for the Exchange Rate module, by @indradhanush","title":"\ud83d\udc1e Fixed"},{"location":"blog/2020-04-26-v0-29-0/#updated","text":"Updated nicklaw5/helix from 0.5.7 to 0.5.8 Updated digitalocean/godo from 1.34.0 to 1.35.1 Updated xanzy/go-gitlab from 0.28.0 to 0.31.0 Updated shirou/gopsutil from 2.20.2+incompatible to 2.20.3+incompatible Updated alecthomas/chroma from 0.7.1 to 0.7.2 Updated google.golang.org/api from 0.21.0 to 0.22.0","title":"\ud83d\udc4d Updated"},{"location":"blog/2020-09-23-v0-32-0/","text":"2020-09-23 21:11:12-07:00 WTF v0.23.0 contains the following changes: \u26a1\ufe0f Added PagerDuty module now supports showOncallEnd setting, which determines whether or not to display the oncall rotation end date, by @senorprogrammer Exchange Rates module now supports precision setting, which determines how many decimal places to display, #897 by @senorprogrammer \ud83d\udc1e Fixed Todo module's edit modal now shows up quickly, #876 by @aeter Jira module title now displays properly, #942 by @timhwang21 \ud83d\udc4d Updated Updated alecthomas/chroma from 0.7.3 to 0.8.0 Updated digitalocean/godo from 1.38.0 to 1.42.1 Updated google.golang.org/api from 0.29.0 to 0.30.0 Updated shirou/gopsutil from 2.20.6+incompatible to 2.20.7+incompatible","title":"v0.32.0 Released"},{"location":"blog/2020-09-23-v0-32-0/#added","text":"PagerDuty module now supports showOncallEnd setting, which determines whether or not to display the oncall rotation end date, by @senorprogrammer Exchange Rates module now supports precision setting, which determines how many decimal places to display, #897 by @senorprogrammer","title":"\u26a1\ufe0f Added"},{"location":"blog/2020-09-23-v0-32-0/#fixed","text":"Todo module's edit modal now shows up quickly, #876 by @aeter Jira module title now displays properly, #942 by @timhwang21","title":"\ud83d\udc1e Fixed"},{"location":"blog/2020-09-23-v0-32-0/#updated","text":"Updated alecthomas/chroma from 0.7.3 to 0.8.0 Updated digitalocean/godo from 1.38.0 to 1.42.1 Updated google.golang.org/api from 0.29.0 to 0.30.0 Updated shirou/gopsutil from 2.20.6+incompatible to 2.20.7+incompatible","title":"\ud83d\udc4d Updated"},{"location":"blog/2020-10-13-v0-33-0/","text":"2020-10-13 09:48:54-07:00 \u26a1\ufe0f Added FeedReader module supports display mode switching via the t key, by @cyingfan Clocks module now supports natural ordering option, #896 by @seanstoppable Exit banner message added, by @senorprogrammer UptimeRobot module added , by @franga2000 Gitlab module now defaults the domain to https://gitlab.com , by @jmks \ud83d\udc1e Fixed Exchange Rates module now displays rates in alphabetical order, sorted by the base rate, by @senorprogrammer Feed Reader module no longer crashes on feeds that don't have a published date, #958 by @cyingfan Stray blank lines no longer appear at the end of highlightable lists, #977 by @cyingfan config.yml now properly set to 0600 instead of 0666 , by @cyingfan Now blank-imports the time/tzinfo package to provide timezone support for Windows users, #994 by @trimble \ud83d\udc4d Updated Updated github.com/gdamore/tcell from 1.3.0 to 1.4.0 Updated github.com/shirou/gopsutil from 2.20.7+incompatible to 2.20.9+incompatible Updated github.com/mmcdole/gofeed from 1.0.0 to 1.1.0 Updated github.com/digitalocean/godo from 1.42.1 to 1.46.0 Updated github.com/xanzy/go-gitlab from 0.33.0 to 0.38.1 Updated github.com/adlio/trello from 1.7.0 to 1.8.0 Updated github.com/alecthomas/chroma from 0.8.0 to 0.8.1 Updated github.com/nicklaw5/helix from 0.5.9 to 0.7.0 Now requires Go 1.15 for compilation in Dockerfiles and go.mod, by @seanstoppable And see here for more details about the exit message .","title":"v0.33.0 Released"},{"location":"blog/2020-10-13-v0-33-0/#added","text":"FeedReader module supports display mode switching via the t key, by @cyingfan Clocks module now supports natural ordering option, #896 by @seanstoppable Exit banner message added, by @senorprogrammer UptimeRobot module added , by @franga2000 Gitlab module now defaults the domain to https://gitlab.com , by @jmks","title":"\u26a1\ufe0f Added"},{"location":"blog/2020-10-13-v0-33-0/#fixed","text":"Exchange Rates module now displays rates in alphabetical order, sorted by the base rate, by @senorprogrammer Feed Reader module no longer crashes on feeds that don't have a published date, #958 by @cyingfan Stray blank lines no longer appear at the end of highlightable lists, #977 by @cyingfan config.yml now properly set to 0600 instead of 0666 , by @cyingfan Now blank-imports the time/tzinfo package to provide timezone support for Windows users, #994 by @trimble","title":"\ud83d\udc1e Fixed"},{"location":"blog/2020-10-13-v0-33-0/#updated","text":"Updated github.com/gdamore/tcell from 1.3.0 to 1.4.0 Updated github.com/shirou/gopsutil from 2.20.7+incompatible to 2.20.9+incompatible Updated github.com/mmcdole/gofeed from 1.0.0 to 1.1.0 Updated github.com/digitalocean/godo from 1.42.1 to 1.46.0 Updated github.com/xanzy/go-gitlab from 0.33.0 to 0.38.1 Updated github.com/adlio/trello from 1.7.0 to 1.8.0 Updated github.com/alecthomas/chroma from 0.8.0 to 0.8.1 Updated github.com/nicklaw5/helix from 0.5.9 to 0.7.0 Now requires Go 1.15 for compilation in Dockerfiles and go.mod, by @seanstoppable And see here for more details about the exit message .","title":"\ud83d\udc4d Updated"},{"location":"blog/2020-11-08-v0-34-0/","text":"2020-11-08 16:35:07-08:00 Now available here . \u26a1\ufe0f Added DigitalOcean module now supports custom column definitions in the default layout. See the docs for details, #986 by @senorprogrammer Finnhub stock quotes module added, #930 by @applegreengrape Grafana Alerts module added, by @schoentoon \ud83d\udc4d Updated Updated google.golang.org/api from 0.30.0 to 0.33.0 Updated github.com/digitalocean/godo from 1.46.0 to 1.52.0 Updated github.com/xanzy/go-gitlab from 0.38.1 to 0.39.0 Updated github.com/zorkian/go-datadog-api from 2.29.0+incompatible to 2.30.0+incompatible Updated golang.org/x/text from 0.3.3 to 0.3.4","title":"v0.34.0 Released"},{"location":"blog/2020-11-08-v0-34-0/#added","text":"DigitalOcean module now supports custom column definitions in the default layout. See the docs for details, #986 by @senorprogrammer Finnhub stock quotes module added, #930 by @applegreengrape Grafana Alerts module added, by @schoentoon","title":"\u26a1\ufe0f Added"},{"location":"blog/2020-11-08-v0-34-0/#updated","text":"Updated google.golang.org/api from 0.30.0 to 0.33.0 Updated github.com/digitalocean/godo from 1.46.0 to 1.52.0 Updated github.com/xanzy/go-gitlab from 0.38.1 to 0.39.0 Updated github.com/zorkian/go-datadog-api from 2.29.0+incompatible to 2.30.0+incompatible Updated golang.org/x/text from 0.3.3 to 0.3.4","title":"\ud83d\udc4d Updated"},{"location":"blog/2021-01-03-v0-35-0/","text":"2021-01-03 17:27:07-08:00 Now available here . Changelog \u26a1\ufe0f Added CircleCI module now supports numberOfBuilds setting defining how many builds to display, #1020 by @dabcoder The \\ key now opens module documentation in the browser for the currently-focused module, by @senorprogrammer Krisinformation module added, by @stone Covid module has been added, by @dabcoder Support for a \"Language\" configuration key added. Supports any BCP 47 tag for identifying a langauge, by @senorprogrammer \ud83d\udc1e Fixed CryptoLive prices update again, #1041 by @zye1996","title":"v0.35.0 Released"},{"location":"blog/2021-01-03-v0-35-0/#changelog","text":"","title":"Changelog"},{"location":"blog/2021-01-03-v0-35-0/#added","text":"CircleCI module now supports numberOfBuilds setting defining how many builds to display, #1020 by @dabcoder The \\ key now opens module documentation in the browser for the currently-focused module, by @senorprogrammer Krisinformation module added, by @stone Covid module has been added, by @dabcoder Support for a \"Language\" configuration key added. Supports any BCP 47 tag for identifying a langauge, by @senorprogrammer","title":"\u26a1\ufe0f Added"},{"location":"blog/2021-01-03-v0-35-0/#fixed","text":"CryptoLive prices update again, #1041 by @zye1996","title":"\ud83d\udc1e Fixed"},{"location":"blog/2021-03-23-v0-36-0/","text":"2021-03-23 03:42:07-08:00 Now available here . Changelog \u26a1\ufe0f Added HealthChecks module added, by @stone Asana module added, by @xntrik Kubernetes module now displays the Ready Replicas and Total Replicas count, by @LKaemmerling Now builds using Go 1.16, which provides support for Apple's M1 ARM hardware, by @LKaemmerling \ud83d\udc1e Fixed Numerous dangling response bodies closed, by @dabcoder HackerNews read-on-response error fixed, by @LKaemmerling CircleCI read-on-response error fixed, by @dabcoder","title":"v0.36.0 Released"},{"location":"blog/2021-03-23-v0-36-0/#changelog","text":"","title":"Changelog"},{"location":"blog/2021-03-23-v0-36-0/#added","text":"HealthChecks module added, by @stone Asana module added, by @xntrik Kubernetes module now displays the Ready Replicas and Total Replicas count, by @LKaemmerling Now builds using Go 1.16, which provides support for Apple's M1 ARM hardware, by @LKaemmerling","title":"\u26a1\ufe0f Added"},{"location":"blog/2021-03-23-v0-36-0/#fixed","text":"Numerous dangling response bodies closed, by @dabcoder HackerNews read-on-response error fixed, by @LKaemmerling CircleCI read-on-response error fixed, by @dabcoder","title":"\ud83d\udc1e Fixed"},{"location":"blog/2021-09-06-v0-39-0/","text":"2021-09-06 13:48:07-08:00 Now available here . Changelog \u26a1\ufe0f Added Updown module added, by @hjr265 Considerable improvements to the Todo module. See PR #1100 for details. By @tadeaspaule \ud83d\udc1e Fixed Healthchecks module now respects the apiURL setting in the config file, by @hjr265 Example FeedReader RSS feed in the default config changed to a working feed, #1096 by @senorprogrammer","title":"v0.39.0 Released"},{"location":"blog/2021-09-06-v0-39-0/#changelog","text":"","title":"Changelog"},{"location":"blog/2021-09-06-v0-39-0/#added","text":"Updown module added, by @hjr265 Considerable improvements to the Todo module. See PR #1100 for details. By @tadeaspaule","title":"\u26a1\ufe0f Added"},{"location":"blog/2021-09-06-v0-39-0/#fixed","text":"Healthchecks module now respects the apiURL setting in the config file, by @hjr265 Example FeedReader RSS feed in the default config changed to a working feed, #1096 by @senorprogrammer","title":"\ud83d\udc1e Fixed"},{"location":"blog/2021-11-02-v0-40-0/","text":"2021-11-02 10:49:07-08:00 Also known as The Hacktoberfest Release . Lots of good stuff in this one, including some notable bug fixes and a closed potential security vulnerability. Now available here . \u26a1\ufe0f Added Numerous improvements to the display of the Git module, #1102 by @tadeaspaule Updated to Go 1.17, by nontw Airbrake module added, by @kyrylo Displays the battery level of connected devices, if the level can be read by ioreg , on MacOS, #1108 by @senorprogrammer Adds an args setting to IP API for defining which fields are displayed, by @Choromanski Security module no longer displays wifi info if wifi is missing or disabled, #1124 by @yosmoc q now quits WTF. Added as a new global hotkey, by @thuan1412 DigitalOcean module now properly displays the droplet region, #1053 by @yosmoc gCal module now supports multiple configurations with different email addresses, #1016 by @Seanstoppable All modules now support sub-1 second refresh intervals by specifying an optional time unit (ie: 50ms , 20s ), #1103 by @ResamVi \ud83d\udc1e Fixed GitHub module no longer crashes when selecting different items across multiple repos, by @Seanstoppable make lint errors fixed, #1127 by @yosmoc jwt-go replaced by golang-jwt , because security vulnerabilities, #1121 by @siddhant94","title":"v0.40.0 Released"},{"location":"blog/2021-11-02-v0-40-0/#added","text":"Numerous improvements to the display of the Git module, #1102 by @tadeaspaule Updated to Go 1.17, by nontw Airbrake module added, by @kyrylo Displays the battery level of connected devices, if the level can be read by ioreg , on MacOS, #1108 by @senorprogrammer Adds an args setting to IP API for defining which fields are displayed, by @Choromanski Security module no longer displays wifi info if wifi is missing or disabled, #1124 by @yosmoc q now quits WTF. Added as a new global hotkey, by @thuan1412 DigitalOcean module now properly displays the droplet region, #1053 by @yosmoc gCal module now supports multiple configurations with different email addresses, #1016 by @Seanstoppable All modules now support sub-1 second refresh intervals by specifying an optional time unit (ie: 50ms , 20s ), #1103 by @ResamVi","title":"\u26a1\ufe0f Added"},{"location":"blog/2021-11-02-v0-40-0/#fixed","text":"GitHub module no longer crashes when selecting different items across multiple repos, by @Seanstoppable make lint errors fixed, #1127 by @yosmoc jwt-go replaced by golang-jwt , because security vulnerabilities, #1121 by @siddhant94","title":"\ud83d\udc1e Fixed"},{"location":"blog/home/","text":"The WTF Blog 2021-11-02 v0.40.0 Released 2021-09-06 v0.39.0 Released 2021-01-03 v0.36.0 Released 2021-01-03 v0.35.0 Released 2020-11-08 v0.34.0 Released 2020-10-13 v0.33.0 Released 2020-09-23 v0.32.0 Released 2020-04-26 v0.29.0 Released 2020-03-15 v0.28.0 Released 2020-02-23 v0.27.0 Released 2020-02-04 v0.26.0 Released 2019-11-10 v0.24.0 Released 2019-11-10 Monochrome Retro Display 2019-10-11 v0.23.0 Released 2019-09-12 v0.22.0 Released 2019-08-29 v0.21.0 Released 2019-08-20 v0.20.0 Released 2019-07-31 v0.19.1 Released 2019-07-27 v0.19.0 Released 2019-07-20 v0.18.0 Released 2019-07-16 v0.17.1 Released 2019-07-12 Homebrew Installation 2019-07-10 WTFUtil Release 2019-07-09 v0.14.0 Released 2019-07-09 RSS for Releases","title":"Home"},{"location":"blog/home/#the-wtf-blog","text":"2021-11-02 v0.40.0 Released 2021-09-06 v0.39.0 Released 2021-01-03 v0.36.0 Released 2021-01-03 v0.35.0 Released 2020-11-08 v0.34.0 Released 2020-10-13 v0.33.0 Released 2020-09-23 v0.32.0 Released 2020-04-26 v0.29.0 Released 2020-03-15 v0.28.0 Released 2020-02-23 v0.27.0 Released 2020-02-04 v0.26.0 Released 2019-11-10 v0.24.0 Released 2019-11-10 Monochrome Retro Display 2019-10-11 v0.23.0 Released 2019-09-12 v0.22.0 Released 2019-08-29 v0.21.0 Released 2019-08-20 v0.20.0 Released 2019-07-31 v0.19.1 Released 2019-07-27 v0.19.0 Released 2019-07-20 v0.18.0 Released 2019-07-16 v0.17.1 Released 2019-07-12 Homebrew Installation 2019-07-10 WTFUtil Release 2019-07-09 v0.14.0 Released 2019-07-09 RSS for Releases","title":"The WTF Blog"},{"location":"blog/monochrome-retro-display/","text":"2019-11-10 11:43:32-08:00 With v0.24.0, WTF now has better support for theme-like colour settings. It's far from perfect, a lot of modules will have to be improved internally to make theming ubiquitous, but it's a start. By way of example, if you're running v0.24 or later, drop this into your config at the top, replace your existing colors: YAML block with the following and you'll end up with a facsimile of an old-school green monochrome monitor display (you may need to restart WTF to get changes to take effect). colors : background : \"transparent\" border : focusable : \"lightgreen\" focused : \"goldenrod\" normal : \"darkgreen\" checked : \"gray\" highlight : fore : \"black\" back : \"green\" labels : \"lightgreen::b\" rows : even : \"green\" odd : \"lightgreen\" subheading : \"lightgreen::b\" text : \"green\" title : \"lightgreen\"","title":"Monochrome Retro Display"},{"location":"configuration/advanced/","text":"Advanced Tip wtf-tui by @ggerganov is a graphical configuration maker for WTFUtil that runs in your terminal. You might find this easier than configuring YAML by hand. Multiple Instances of the Same Widget To add more than one instance of a particular widget, for example, if you want two Todo widgets, you can do so by adding the type property to the entries in your config.yml file. Below is an example for Todo: home_todo : checkedIcon : \"X\" colors : checked : gray highlight : fore : \"black\" back : \"orange\" enabled : true filename : \"todo.yml\" position : top : 0 left : 0 height : 2 width : 2 refreshInterval : 1h type : todo work_todo : checkedIcon : \"X\" colors : checked : gray highlight : fore : \"black\" back : \"orange\" enabled : true filename : \"todo.yml\" position : top : 0 left : 2 height : 2 width : 2 refreshInterval : 1h type : todo","title":"Advanced"},{"location":"configuration/advanced/#advanced","text":"Tip wtf-tui by @ggerganov is a graphical configuration maker for WTFUtil that runs in your terminal. You might find this easier than configuring YAML by hand.","title":"Advanced"},{"location":"configuration/advanced/#multiple-instances-of-the-same-widget","text":"To add more than one instance of a particular widget, for example, if you want two Todo widgets, you can do so by adding the type property to the entries in your config.yml file. Below is an example for Todo: home_todo : checkedIcon : \"X\" colors : checked : gray highlight : fore : \"black\" back : \"orange\" enabled : true filename : \"todo.yml\" position : top : 0 left : 0 height : 2 width : 2 refreshInterval : 1h type : todo work_todo : checkedIcon : \"X\" colors : checked : gray highlight : fore : \"black\" back : \"orange\" enabled : true filename : \"todo.yml\" position : top : 0 left : 2 height : 2 width : 2 refreshInterval : 1h type : todo","title":"Multiple Instances of the Same Widget"},{"location":"configuration/common_settings/","text":"Common Settings The following settings are common to all modules. Common settings have logical defaults and are all optional. An explicitly-defined common setting will over-ride a module's internal default setting value. An example with all common settings explicitly configured. feedreader : border : true enabled : true feeds : - https://news.ycombinator.com/rss feedLimit : 10 focusable : false focusChar : 2 position : top : 2 left : 2 width : 1 height : 1 title : \"Hacker News\" refreshInterval : 4h Attributes Name Value border Optional Whether or not to draw this widget with a border. Default: true . true , false enabled Optional Whether or not this module is executed and if its data displayed onscreen. Default: false . true , false focusable Optional Whether or not this module accepts keyboard focus. Default: false true , false focusChar Optional Define one of the number keys as a shortcut key to access the widget. 0..9 position Defines where in the grid this module's widget will be displayed. refreshInterval Optional How often this module will update its data. A positive integer followed by a time unit (ns, us or \u00b5s, ms, s, m, h, or nothing which defaults to s). Default: 300s . Any valid time duration. title Optional The title to display in the widget's onscreen box.","title":"Common Settings"},{"location":"configuration/common_settings/#common-settings","text":"The following settings are common to all modules. Common settings have logical defaults and are all optional. An explicitly-defined common setting will over-ride a module's internal default setting value. An example with all common settings explicitly configured. feedreader : border : true enabled : true feeds : - https://news.ycombinator.com/rss feedLimit : 10 focusable : false focusChar : 2 position : top : 2 left : 2 width : 1 height : 1 title : \"Hacker News\" refreshInterval : 4h","title":"Common Settings"},{"location":"configuration/common_settings/#attributes","text":"Name Value border Optional Whether or not to draw this widget with a border. Default: true . true , false enabled Optional Whether or not this module is executed and if its data displayed onscreen. Default: false . true , false focusable Optional Whether or not this module accepts keyboard focus. Default: false true , false focusChar Optional Define one of the number keys as a shortcut key to access the widget. 0..9 position Defines where in the grid this module's widget will be displayed. refreshInterval Optional How often this module will update its data. A positive integer followed by a time unit (ns, us or \u00b5s, ms, s, m, h, or nothing which defaults to s). Default: 300s . Any valid time duration. title Optional The title to display in the widget's onscreen box.","title":"Attributes"},{"location":"configuration/files/","text":"Configuration Files By default WTF looks in a ~/.config/wtf/ directory for a YAML file called config.yml . If the ~/.config/wtf/ directory doesn't exist, WTF will create that directory on start-up, and then display instructions for creating a new configuration file. In other words, WTF expects to have a YAML config file at: ~/.config/wtf/config.yml . Example Configuration Files A number of example configuration files are provided in the _sample_configs/ directory of the Git repository . To try out WTF quickly, copy sample_config.yml into ~/.config/wtf/ as config.yml and relaunch WTF. You should see the app launch and display the Security , Clocks and Status widgets onscreen. Custom Configuration Files To try out different configurations (or run multiple instances of WTF), you can pass the path to a config file via command line arguments on start-up. To load a custom configuration file (ie: one that's not ~/.config/wtf/config.yml ), pass in the path to configuration file as a parameter on launch: \u276f wtfutil --config = path/to/custom/config.yml","title":"Configuration Files"},{"location":"configuration/files/#configuration-files","text":"By default WTF looks in a ~/.config/wtf/ directory for a YAML file called config.yml . If the ~/.config/wtf/ directory doesn't exist, WTF will create that directory on start-up, and then display instructions for creating a new configuration file. In other words, WTF expects to have a YAML config file at: ~/.config/wtf/config.yml .","title":"Configuration Files"},{"location":"configuration/files/#example-configuration-files","text":"A number of example configuration files are provided in the _sample_configs/ directory of the Git repository . To try out WTF quickly, copy sample_config.yml into ~/.config/wtf/ as config.yml and relaunch WTF. You should see the app launch and display the Security , Clocks and Status widgets onscreen.","title":"Example Configuration Files"},{"location":"configuration/files/#custom-configuration-files","text":"To try out different configurations (or run multiple instances of WTF), you can pass the path to a config file via command line arguments on start-up. To load a custom configuration file (ie: one that's not ~/.config/wtf/config.yml ), pass in the path to configuration file as a parameter on launch: \u276f wtfutil --config = path/to/custom/config.yml","title":"Custom Configuration Files"},{"location":"configuration/global_settings/","text":"Global Settings The following top-level global attributes are configurable in config.yml . See this example config file for more details. wtf : colors : background : \"red\" border : focusable : \"darkslateblue\" focused : \"orange\" normal : \"gray\" checked : \"gray\" highlight : fore : \"black\" back : \"green\" text : \"white\" title : \"white\" exitMessage : display : true githubAPIKey : \"d8....................................ea\" grid : # How _wide_ the columns are, in terminal characters. In this case we have # six columns, each of which are 35 characters wide columns : [ 35 , 35 , 35 , 35 , 35 , 35 ] # How _high_ the rows are, in terminal lines. In this case we have five rows # that support ten line of text, one of three lines, and one of four rows : [ 10 , 10 , 10 , 10 , 10 , 3 , 4 ] navigation : shortcuts : true openFileUtil : \"open\" openUrlUtil : - \"tmux\" - \"new-window\" - \"elinks\" sigils : checkbox : checked : \"x\" unchecked : \" \" paging : normal : \"*\" selected : \"_\" term : \"xterm-256color\" Attributes Name Value colors.background The color to draw the background of the app in. Use this to match your terminal colors. May be over-written by individual module configurations. Any X11 color name . colors.border.focusable The color in which to draw the border of widgets that can accept keyboard focus. Any X11 color name. colors.border.focused The color in which to draw the border of the widget that currently has keyboard focus. Any X11 color name. colors.border.normal The color in which to draw the borders of the widgets that cannot accept focus. Any X11 color name. exitMessage.display Whether or not to display the WTF text message in the terminal when the app exits. true , false exitMessage.githubAPIKey The user's GitHub API key. Used to check against the GitHub API to see if the user is a code contributor or sponsor. Your API key **or** leave it empty to use the `WTF_GITHUB_TOKEN` environment variable. grid.columns An array that defines the widths of all the columns. See tview's Grid for details grid.rows An array that defines the heights of all the rows. See tview's Grid for details navigation.shortcuts Whether or not to display the numeric navigation shortcuts in widget titles. true or false openFileUtil Which local utility to use to open a file or URL. Requires the app to be restarted to take effect. Default: `open`. opeUrlUtil A string sequence used to open URL. If undefined, wtfutil will attempt to open it based on the operating system. term Sets a custom value for the terminal type this app runs in. Leave this entry out of the config if you simply want to use your terminal's default setting. **Note:** If an invalid value is provided for this setting, the app will crash with a `terminal entry not found` error. Any valid terminal type (ie: `vt100`, `xterm`, `xterm-256color`, `ansi`, etc.).","title":"Global Settings"},{"location":"configuration/global_settings/#global-settings","text":"The following top-level global attributes are configurable in config.yml . See this example config file for more details. wtf : colors : background : \"red\" border : focusable : \"darkslateblue\" focused : \"orange\" normal : \"gray\" checked : \"gray\" highlight : fore : \"black\" back : \"green\" text : \"white\" title : \"white\" exitMessage : display : true githubAPIKey : \"d8....................................ea\" grid : # How _wide_ the columns are, in terminal characters. In this case we have # six columns, each of which are 35 characters wide columns : [ 35 , 35 , 35 , 35 , 35 , 35 ] # How _high_ the rows are, in terminal lines. In this case we have five rows # that support ten line of text, one of three lines, and one of four rows : [ 10 , 10 , 10 , 10 , 10 , 3 , 4 ] navigation : shortcuts : true openFileUtil : \"open\" openUrlUtil : - \"tmux\" - \"new-window\" - \"elinks\" sigils : checkbox : checked : \"x\" unchecked : \" \" paging : normal : \"*\" selected : \"_\" term : \"xterm-256color\"","title":"Global Settings"},{"location":"configuration/global_settings/#attributes","text":"Name Value colors.background The color to draw the background of the app in. Use this to match your terminal colors. May be over-written by individual module configurations. Any X11 color name . colors.border.focusable The color in which to draw the border of widgets that can accept keyboard focus. Any X11 color name. colors.border.focused The color in which to draw the border of the widget that currently has keyboard focus. Any X11 color name. colors.border.normal The color in which to draw the borders of the widgets that cannot accept focus. Any X11 color name. exitMessage.display Whether or not to display the WTF text message in the terminal when the app exits. true , false exitMessage.githubAPIKey The user's GitHub API key. Used to check against the GitHub API to see if the user is a code contributor or sponsor. Your API key **or** leave it empty to use the `WTF_GITHUB_TOKEN` environment variable. grid.columns An array that defines the widths of all the columns. See tview's Grid for details grid.rows An array that defines the heights of all the rows. See tview's Grid for details navigation.shortcuts Whether or not to display the numeric navigation shortcuts in widget titles. true or false openFileUtil Which local utility to use to open a file or URL. Requires the app to be restarted to take effect. Default: `open`. opeUrlUtil A string sequence used to open URL. If undefined, wtfutil will attempt to open it based on the operating system. term Sets a custom value for the terminal type this app runs in. Leave this entry out of the config if you simply want to use your terminal's default setting. **Note:** If an invalid value is provided for this setting, the app will crash with a `terminal entry not found` error. Any valid terminal type (ie: `vt100`, `xterm`, `xterm-256color`, `ansi`, etc.).","title":"Attributes"},{"location":"configuration/grid_layout/","text":"Grid Layout WTF uses the Grid layout system from tview to position widgets onscreen. It's not immediately obvious how this works, so here's an explanation: Think of your terminal screen as a matrix of letter positions, say 100 chrs wide and 58 chrs tall. Columns breaks up the width of the screen into chunks, each chunk a specified number of characters wide. use [10, 10, 10, 10, 10, 10, 10, 10, 10, 10] Ten columns that are ten characters wide Rows break up the height of the screen into chunks, each chunk a specified number of characters tall. If we wanted to have five rows: [10, 10, 10, 10, 18] The co-ordinate system starts at top-left and defines how wide and tall a widget is. If we wanted to put a 2-col, 2-row widget in the bottom of the screen, we'd position it at: top : 4 // top starts in the 4th row left : 9 // left starts in the 9th column height : 2 // span down rows 4 & 5 (18 characters in size, total) width : 2 // span across cols 9 & 10 (20 characters in size, total)","title":"Grid Layout"},{"location":"configuration/grid_layout/#grid-layout","text":"WTF uses the Grid layout system from tview to position widgets onscreen. It's not immediately obvious how this works, so here's an explanation: Think of your terminal screen as a matrix of letter positions, say 100 chrs wide and 58 chrs tall. Columns breaks up the width of the screen into chunks, each chunk a specified number of characters wide. use [10, 10, 10, 10, 10, 10, 10, 10, 10, 10] Ten columns that are ten characters wide Rows break up the height of the screen into chunks, each chunk a specified number of characters tall. If we wanted to have five rows: [10, 10, 10, 10, 18] The co-ordinate system starts at top-left and defines how wide and tall a widget is. If we wanted to put a 2-col, 2-row widget in the bottom of the screen, we'd position it at: top : 4 // top starts in the 4th row left : 9 // left starts in the 9th column height : 2 // span down rows 4 & 5 (18 characters in size, total) width : 2 // span across cols 9 & 10 (20 characters in size, total)","title":"Grid Layout"},{"location":"development/creating_new_modules/","text":"Creating New Modules The widgets that you see on the screen are displayed using modules . To make it easier to create new modules there is a generator which creates a stub (an empty module). The Go package generators contains generator scripts for different types of widgets. Prerequisites Before you can generate new modules, you'll need to have: Go version 1.15 or higher The source code for WTF ( git clone https://github.com/wtfutil/wtf ) Creating a New Text Widget Generate a new module using generator Use go run generator/textwidget.go to create a new widget called NewTextWidget . You can change the name of the generated widget by setting an environment variable called WTF_WIDGET_NAME . For example, to generate a new widget called MyNewWidget on macOs or linux, the command would be: # as a single line \u276f WTF_WIDGET_NAME = MyNewWidget go run generator/textwidget.go # setting the name separately \u276f export WTF_WIDGET_NAME = MyNewWidget \u276f go run generator/textwidget.go The equivalent using Windows PowerShell would be \u276f $env :WTF_WIDGET_NAME = \"MyNewWidget\" \u276f go run generator \\t extwidget.go The new widget is generated using the template in textwidget.tpl Register your newly generated module in app The last step is to register your new module in app/widget_maker.go , you will have to import your module and define a new case with your module name. Run you app, your module should be present ! Source Code wtf/generator/","title":"Creating New Modules"},{"location":"development/creating_new_modules/#creating-new-modules","text":"The widgets that you see on the screen are displayed using modules . To make it easier to create new modules there is a generator which creates a stub (an empty module). The Go package generators contains generator scripts for different types of widgets.","title":"Creating New Modules"},{"location":"development/creating_new_modules/#prerequisites","text":"Before you can generate new modules, you'll need to have: Go version 1.15 or higher The source code for WTF ( git clone https://github.com/wtfutil/wtf )","title":"Prerequisites"},{"location":"development/creating_new_modules/#creating-a-new-text-widget","text":"Generate a new module using generator Use go run generator/textwidget.go to create a new widget called NewTextWidget . You can change the name of the generated widget by setting an environment variable called WTF_WIDGET_NAME . For example, to generate a new widget called MyNewWidget on macOs or linux, the command would be: # as a single line \u276f WTF_WIDGET_NAME = MyNewWidget go run generator/textwidget.go # setting the name separately \u276f export WTF_WIDGET_NAME = MyNewWidget \u276f go run generator/textwidget.go The equivalent using Windows PowerShell would be \u276f $env :WTF_WIDGET_NAME = \"MyNewWidget\" \u276f go run generator \\t extwidget.go The new widget is generated using the template in textwidget.tpl Register your newly generated module in app The last step is to register your new module in app/widget_maker.go , you will have to import your module and define a new case with your module name. Run you app, your module should be present !","title":"Creating a New Text Widget"},{"location":"development/creating_new_modules/#source-code","text":"wtf/generator/","title":"Source Code"},{"location":"modules/","text":"Modules A module is a discrete unit of functionality that extracts data from a source and packages that data for display. For example, the New Relic module uses New Relic's API to retrieve a list of the latest deploys and packages that information as a list for display in the \"New Relic\" widget. The Clocks module takes a list of timezones and packages that information as a list of city/time pairs for display in the \"Clocks\" widget. See left for all available modules.","title":"Home"},{"location":"modules/#modules","text":"A module is a discrete unit of functionality that extracts data from a source and packages that data for display. For example, the New Relic module uses New Relic's API to retrieve a list of the latest deploys and packages that information as a list for display in the \"New Relic\" widget. The Clocks module takes a list of timezones and packages that information as a list of city/time pairs for display in the \"Clocks\" widget. See left for all available modules.","title":"Modules"},{"location":"modules/airbrake/","text":"Airbrake Displays error information about your Airbrake project. Provides the ability to mute/unmute errors or resolve them. Configuration airbrake : enabled : true projectID : 123 authToken : \"123**********************2b9\" position : top : 4 left : 0 width : 3 height : 1 refreshInterval : 1m Screenshots Attributes Name Value projectID An ID of the project at Airbrake authToken A user token, which grants access to the Airbrake API (you can find it in your profile). Keyboard Key Action / Open/close the widget's help modal [return] View information about the selected error o Open the selected story in the browser j Select the next item in the list k Select the previous item in the list s Resolves the selected error on Airbrake m Mutes the selected error on Airbrake u Unmutes the selected error on Airbrake r Refresh the data t Switches the display mode between normal and 'compare' views \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/airbrake","title":"Airbrake"},{"location":"modules/airbrake/#airbrake","text":"Displays error information about your Airbrake project. Provides the ability to mute/unmute errors or resolve them.","title":"Airbrake"},{"location":"modules/airbrake/#configuration","text":"airbrake : enabled : true projectID : 123 authToken : \"123**********************2b9\" position : top : 4 left : 0 width : 3 height : 1 refreshInterval : 1m","title":"Configuration"},{"location":"modules/airbrake/#screenshots","text":"","title":"Screenshots"},{"location":"modules/airbrake/#attributes","text":"Name Value projectID An ID of the project at Airbrake authToken A user token, which grants access to the Airbrake API (you can find it in your profile).","title":"Attributes"},{"location":"modules/airbrake/#keyboard","text":"Key Action / Open/close the widget's help modal [return] View information about the selected error o Open the selected story in the browser j Select the next item in the list k Select the previous item in the list s Resolves the selected error on Airbrake m Mutes the selected error on Airbrake u Unmutes the selected error on Airbrake r Refresh the data t Switches the display mode between normal and 'compare' views \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/airbrake/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/airbrake","title":"Source Code"},{"location":"modules/asana/","text":"Asana Displays Asana Tasks filtered by Workspace, Project or even by Sections within a Project. The apiKey is a Personal Access Token and can be generated here The module includes keyboard navigation too, so you can select a task with j and k , and o pen it. For more keyboard navigation options press ? . Configuration asana : enabled : true apiKey : \"*******\" mode : \"project_sections\" projectId : 123456789 workspaceId : 123456789 allUsers : false hideComplete : false sections : - \"Doing\" - \"Backlog\" - \"Complete\" updateInterval : 300 position : top : 0 left : 0 width : 1 height : 3 Screenshots Attributes Name Value apiKey Your Asana API key. Leave this blank to use the WTF_ASANA_TOKEN environment variable. mode What mode to query Asana. There are three modes: project - Will fetch all Asana Tasks in the project specified in the projectId attribute project_sections - Will fetch all Asana Tasks in the project specified, under the supplied sections . workspace - Will fetch all of the tasks in the workspace, assigned to you. You must specify a workspaceId project , project_sections , or workspace projectId Optional The Asana Project to fetch tasks from. Only applicable if you specify the project or project_sections mode A valid Asana Project Identifier integer workspaceId Optional The Asana Workspace to fetch tasks from. This will only return tasks assigned to you. Only applicable if you specify the workspace mode A valid Asana Workspace Identifier integer allUsers Optional When querying for project or project_sections you can optionally display tasks that are assigned to other users. Defaults to false . true or false hideComplete Optional When querying for tasks you can optionally hide tasks that have been marked as complete. Defaults to false . true or false sections Optional When the mode is project_sections you can list the sections you want to fetch the tasks from A list of valid Section names Source Code https://github.com/wtfutil/wtf/tree/master/modules/asana","title":"Asana"},{"location":"modules/asana/#asana","text":"Displays Asana Tasks filtered by Workspace, Project or even by Sections within a Project. The apiKey is a Personal Access Token and can be generated here The module includes keyboard navigation too, so you can select a task with j and k , and o pen it. For more keyboard navigation options press ? .","title":"Asana"},{"location":"modules/asana/#configuration","text":"asana : enabled : true apiKey : \"*******\" mode : \"project_sections\" projectId : 123456789 workspaceId : 123456789 allUsers : false hideComplete : false sections : - \"Doing\" - \"Backlog\" - \"Complete\" updateInterval : 300 position : top : 0 left : 0 width : 1 height : 3","title":"Configuration"},{"location":"modules/asana/#screenshots","text":"","title":"Screenshots"},{"location":"modules/asana/#attributes","text":"Name Value apiKey Your Asana API key. Leave this blank to use the WTF_ASANA_TOKEN environment variable. mode What mode to query Asana. There are three modes: project - Will fetch all Asana Tasks in the project specified in the projectId attribute project_sections - Will fetch all Asana Tasks in the project specified, under the supplied sections . workspace - Will fetch all of the tasks in the workspace, assigned to you. You must specify a workspaceId project , project_sections , or workspace projectId Optional The Asana Project to fetch tasks from. Only applicable if you specify the project or project_sections mode A valid Asana Project Identifier integer workspaceId Optional The Asana Workspace to fetch tasks from. This will only return tasks assigned to you. Only applicable if you specify the workspace mode A valid Asana Workspace Identifier integer allUsers Optional When querying for project or project_sections you can optionally display tasks that are assigned to other users. Defaults to false . true or false hideComplete Optional When querying for tasks you can optionally hide tasks that have been marked as complete. Defaults to false . true or false sections Optional When the mode is project_sections you can list the sections you want to fetch the tasks from A list of valid Section names","title":"Attributes"},{"location":"modules/asana/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/asana","title":"Source Code"},{"location":"modules/azure_devops/","text":"Azure Devops Configuration azuredevops : apiToken : \"p0d13*********************************************c3\" enabled : true labelColor : \"lightblue\" maxRows : 3 orgURL : \"https://dev.azure.com/myawesomecompany/\" position : top : 0 left : 0 height : 3 width : 3 projectName : \"the awesome project\" refreshInterval : 300 type : \"azuredevops\" Attributes Name Value apiKey Your Azure DevOps API key. Leave this blank to use the WTF_AZURE_DEVOPS_API_TOKEN environment variable. labelColor Optional The color of the title label. Default: white . Any X11 color name. maxRows Optional The maximum number of rows to display. Default: 3 . Any positive integer. orgURL The URL to your Azure DevOps project. Leave empty to use the WTF_AZURE_DEVOPS_ORG_URL environment variable. projectName The name of your Azure DevOps project. Leave empty to use the WTF_AZURE_DEVOPS_PROJECT_NAME environment variable. Source Code https://github.com/wtfutil/wtf/tree/master/modules/azuredevops","title":"Azure DevOps"},{"location":"modules/azure_devops/#azure-devops","text":"","title":"Azure Devops"},{"location":"modules/azure_devops/#configuration","text":"azuredevops : apiToken : \"p0d13*********************************************c3\" enabled : true labelColor : \"lightblue\" maxRows : 3 orgURL : \"https://dev.azure.com/myawesomecompany/\" position : top : 0 left : 0 height : 3 width : 3 projectName : \"the awesome project\" refreshInterval : 300 type : \"azuredevops\"","title":"Configuration"},{"location":"modules/azure_devops/#attributes","text":"Name Value apiKey Your Azure DevOps API key. Leave this blank to use the WTF_AZURE_DEVOPS_API_TOKEN environment variable. labelColor Optional The color of the title label. Default: white . Any X11 color name. maxRows Optional The maximum number of rows to display. Default: 3 . Any positive integer. orgURL The URL to your Azure DevOps project. Leave empty to use the WTF_AZURE_DEVOPS_ORG_URL environment variable. projectName The name of your Azure DevOps project. Leave empty to use the WTF_AZURE_DEVOPS_PROJECT_NAME environment variable.","title":"Attributes"},{"location":"modules/azure_devops/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/azuredevops","title":"Source Code"},{"location":"modules/bamboohr/","text":"BambooHR Configuration bamboohr : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 0 left : 1 height : 2 width : 1 refreshInterval : 15m subdomain : \"testco\" Attributes Name Value apiKey Your BambooHR API key. Leave this blank to use the WTF_BAMBOO_HR_TOKEN environment variable. subdomain Your BambooHR API subdomain name. Leave this blank to use the WTF_BAMBOO_HR_SUBDOMAIN environment variable. Source Code https://github.com/wtfutil/wtf/tree/master/modules/bamboohr","title":"BambooHR"},{"location":"modules/bamboohr/#bamboohr","text":"","title":"BambooHR"},{"location":"modules/bamboohr/#configuration","text":"bamboohr : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 0 left : 1 height : 2 width : 1 refreshInterval : 15m subdomain : \"testco\"","title":"Configuration"},{"location":"modules/bamboohr/#attributes","text":"Name Value apiKey Your BambooHR API key. Leave this blank to use the WTF_BAMBOO_HR_TOKEN environment variable. subdomain Your BambooHR API subdomain name. Leave this blank to use the WTF_BAMBOO_HR_SUBDOMAIN environment variable.","title":"Attributes"},{"location":"modules/bamboohr/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/bamboohr","title":"Source Code"},{"location":"modules/bargraph/","text":"Bargraph Demo bar graph with dummy data. Configuration spotify : enabled : true colors : label : \"green\" text : \"white\" position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 0 Screenshots Source Code https://github.com/wtfutil/wtf/tree/master/modules/bargraph","title":"Bargraph"},{"location":"modules/bargraph/#bargraph","text":"Demo bar graph with dummy data.","title":"Bargraph"},{"location":"modules/bargraph/#configuration","text":"spotify : enabled : true colors : label : \"green\" text : \"white\" position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 0","title":"Configuration"},{"location":"modules/bargraph/#screenshots","text":"","title":"Screenshots"},{"location":"modules/bargraph/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/bargraph","title":"Source Code"},{"location":"modules/buildkite/","text":"Buildkite Connects to the Buildkite REST API and displays status of branches for configured Pipelines. The API token must have the read_builds permission. Configuration buildkite : apiKey : \"p0d13*********************************************c3\" enabled : true organizationSlug : \"acme-corp\" refreshInterval : 1m position : top : 1 left : 1 height : 1 width : 1 pipelines : pipeline-slug-1 : branches : - \"master\" - \"stage\" pipeline-slug-2 : branches : - \"master\" - \"production\" Attributes Name Value apiKey Your Buildkite API key. Leave this blank to use the WTF_BUILDKITE_TOKEN environment variable. organizationSlug The slug of your organization org.slug pipelines A hash with pipeline.slug as keys, mapping to a list of branches. Source Code https://github.com/wtfutil/wtf/tree/master/modules/buildkite","title":"BuildKite"},{"location":"modules/buildkite/#buildkite","text":"Connects to the Buildkite REST API and displays status of branches for configured Pipelines. The API token must have the read_builds permission.","title":"Buildkite"},{"location":"modules/buildkite/#configuration","text":"buildkite : apiKey : \"p0d13*********************************************c3\" enabled : true organizationSlug : \"acme-corp\" refreshInterval : 1m position : top : 1 left : 1 height : 1 width : 1 pipelines : pipeline-slug-1 : branches : - \"master\" - \"stage\" pipeline-slug-2 : branches : - \"master\" - \"production\"","title":"Configuration"},{"location":"modules/buildkite/#attributes","text":"Name Value apiKey Your Buildkite API key. Leave this blank to use the WTF_BUILDKITE_TOKEN environment variable. organizationSlug The slug of your organization org.slug pipelines A hash with pipeline.slug as keys, mapping to a list of branches.","title":"Attributes"},{"location":"modules/buildkite/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/buildkite","title":"Source Code"},{"location":"modules/circleci/","text":"CircleCI Displays build information for your CircleCI account. Configuration circleci : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 15m Screenshots Attributes Name Value apiKey Your CircleCI API key. Leave this blank to use the WTF_CIRCLE_API_KEY environment variable. Source Code https://github.com/wtfutil/wtf/tree/master/modules/circleci","title":"CircleCI"},{"location":"modules/circleci/#circleci","text":"Displays build information for your CircleCI account.","title":"CircleCI"},{"location":"modules/circleci/#configuration","text":"circleci : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 15m","title":"Configuration"},{"location":"modules/circleci/#screenshots","text":"","title":"Screenshots"},{"location":"modules/circleci/#attributes","text":"Name Value apiKey Your CircleCI API key. Leave this blank to use the WTF_CIRCLE_API_KEY environment variable.","title":"Attributes"},{"location":"modules/circleci/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/circleci","title":"Source Code"},{"location":"modules/clocks/","text":"Clocks Displays a configurable list of world clocks, the local time, and date. Configuration clocks : colors : rows : even : \"lightblue\" odd : \"white\" enabled : true locations : # From https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - Avignon : \"Europe/Paris\" - Barcelona : \"Europe/Madrid\" - Dubai : \"Asia/Dubai\" - New York : \"America/New York\" - Toronto : \"America/Toronto\" - UTC : \"Etc/UTC\" - Vancouver : \"America/Vancouver\" position : top : 4 left : 0 height : 1 width : 1 refreshInterval : 15s # Valid options are: alphabetical, chronological, natural sort : \"alphabetical\" Screenshots Attributes Name Value dateFormat The format of the date strings. Any valid Go date layout which is handled by Time.Format. timeFormat The fomat of the time strings. Any valid Go time layout which is handled by Time.Format. locations A list of timezone for the clocks to be displayed. Any TZ database timezone. sort The order in which to sort the clocks. alphabetical , chronological , or natural . alphabetical will sort in acending order by key . chronological will sort in ascending order by date/time. natural will maintain the config file ordering. Source Code https://github.com/wtfutil/wtf/tree/master/modules/clocks","title":"Clocks"},{"location":"modules/clocks/#clocks","text":"Displays a configurable list of world clocks, the local time, and date.","title":"Clocks"},{"location":"modules/clocks/#configuration","text":"clocks : colors : rows : even : \"lightblue\" odd : \"white\" enabled : true locations : # From https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - Avignon : \"Europe/Paris\" - Barcelona : \"Europe/Madrid\" - Dubai : \"Asia/Dubai\" - New York : \"America/New York\" - Toronto : \"America/Toronto\" - UTC : \"Etc/UTC\" - Vancouver : \"America/Vancouver\" position : top : 4 left : 0 height : 1 width : 1 refreshInterval : 15s # Valid options are: alphabetical, chronological, natural sort : \"alphabetical\"","title":"Configuration"},{"location":"modules/clocks/#screenshots","text":"","title":"Screenshots"},{"location":"modules/clocks/#attributes","text":"Name Value dateFormat The format of the date strings. Any valid Go date layout which is handled by Time.Format. timeFormat The fomat of the time strings. Any valid Go time layout which is handled by Time.Format. locations A list of timezone for the clocks to be displayed. Any TZ database timezone. sort The order in which to sort the clocks. alphabetical , chronological , or natural . alphabetical will sort in acending order by key . chronological will sort in ascending order by date/time. natural will maintain the config file ordering.","title":"Attributes"},{"location":"modules/clocks/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/clocks","title":"Source Code"},{"location":"modules/cmdrunner/","text":"CmdRunner Runs a terminal command on a schedule. Configuration cmdrunner : args : [ \"-g\" , \"batt\" ] cmd : \"pmset\" enabled : true position : top : 6 left : 1 height : 1 width : 3 refreshInterval : 30s Attributes Name Value args The arguments to the command, with each item as an element in an array. cmd The terminal command to be run, without the arguments. Ie: ping , whoami , curl . maxLines Optional The maximum number of lines to keep in the buffer. Default: 256 . Any positive integer. pty Optional Run the command in a pseudo-terminal. Some apps will behave differently if they are run in a terminal. For example, some apps will produce colorized output in a terminal, and non-colorized output otherwise. Default: false . true , false tail Optional Automatically scroll with new output. Default: false . true , false Known limitations Internally, CmdRunner relies on Golang's exec.Command() to run terminal commands. As it does not invoke the system shell, not all commands are supported. To quote Golang docs , it \"does not expand any glob patterns or handle other expansions, pipelines, or redirections typically done by shells.\" Examples brew outdated Displays a list of all the installed Homebrew recipes that have an update available for them. brew_outdated : args : [ \"outdated\" ] cmd : \"brew\" enabled : true position : top : 3 left : 1 width : 2 height : 1 type : cmdrunner iStats iStats is a command line tool to view system stats on OSX. istats : args : [ \"all\" ] cmd : \"istats\" enabled : true type : \"cmdrunner\" position : top : 0 left : 3 height : 2 width : 2 refreshInterval : 1s Status Pages Various services provide status apis which are accessible. For example, the slack status api at https://status.slack.com/api/v2.0.0/current This can be accomplished with jq and the cmdrunner module. First, create a shell script: #!/bin/sh curl -s https://status.slack.com/api/v2.0.0/current | \\ jq -r '\"Status: \" + (if (.status == \"active\") then \"Active Incident\" else \"Ok\" end),\"Last Updated: \" + .date_updated,if (.active_incidents[] | length) > 0 then \"Active Incidents\\n\" + .active_incidents[] .title else \"\" end' Second, the following wtfutil config: slack_status : cmd : \"slack_status_check.sh\" enabled : true type : \"cmdrunner\" title : \"Slack Status\" position : top : 5 left : 0 height : 3 width : 4 refreshInterval : 30s wego wego is a command line tool to view weather, from a variety of weather services weather : args : [ \"0\" ] cmd : \"wego\" enabled : true type : \"cmdrunner\" position : top : 0 left : 0 height : 1 width : 2 refreshInterval : 100s Source Code https://github.com/wtfutil/wtf/tree/master/modules/cmdrunner","title":"CmdRunner"},{"location":"modules/cmdrunner/#cmdrunner","text":"Runs a terminal command on a schedule.","title":"CmdRunner"},{"location":"modules/cmdrunner/#configuration","text":"cmdrunner : args : [ \"-g\" , \"batt\" ] cmd : \"pmset\" enabled : true position : top : 6 left : 1 height : 1 width : 3 refreshInterval : 30s","title":"Configuration"},{"location":"modules/cmdrunner/#attributes","text":"Name Value args The arguments to the command, with each item as an element in an array. cmd The terminal command to be run, without the arguments. Ie: ping , whoami , curl . maxLines Optional The maximum number of lines to keep in the buffer. Default: 256 . Any positive integer. pty Optional Run the command in a pseudo-terminal. Some apps will behave differently if they are run in a terminal. For example, some apps will produce colorized output in a terminal, and non-colorized output otherwise. Default: false . true , false tail Optional Automatically scroll with new output. Default: false . true , false","title":"Attributes"},{"location":"modules/cmdrunner/#known-limitations","text":"Internally, CmdRunner relies on Golang's exec.Command() to run terminal commands. As it does not invoke the system shell, not all commands are supported. To quote Golang docs , it \"does not expand any glob patterns or handle other expansions, pipelines, or redirections typically done by shells.\"","title":"Known limitations"},{"location":"modules/cmdrunner/#examples","text":"","title":"Examples"},{"location":"modules/cmdrunner/#brew-outdated","text":"Displays a list of all the installed Homebrew recipes that have an update available for them. brew_outdated : args : [ \"outdated\" ] cmd : \"brew\" enabled : true position : top : 3 left : 1 width : 2 height : 1 type : cmdrunner","title":"brew outdated"},{"location":"modules/cmdrunner/#istats","text":"iStats is a command line tool to view system stats on OSX. istats : args : [ \"all\" ] cmd : \"istats\" enabled : true type : \"cmdrunner\" position : top : 0 left : 3 height : 2 width : 2 refreshInterval : 1s","title":"iStats"},{"location":"modules/cmdrunner/#status-pages","text":"Various services provide status apis which are accessible. For example, the slack status api at https://status.slack.com/api/v2.0.0/current This can be accomplished with jq and the cmdrunner module. First, create a shell script: #!/bin/sh curl -s https://status.slack.com/api/v2.0.0/current | \\ jq -r '\"Status: \" + (if (.status == \"active\") then \"Active Incident\" else \"Ok\" end),\"Last Updated: \" + .date_updated,if (.active_incidents[] | length) > 0 then \"Active Incidents\\n\" + .active_incidents[] .title else \"\" end' Second, the following wtfutil config: slack_status : cmd : \"slack_status_check.sh\" enabled : true type : \"cmdrunner\" title : \"Slack Status\" position : top : 5 left : 0 height : 3 width : 4 refreshInterval : 30s","title":"Status Pages"},{"location":"modules/cmdrunner/#wego","text":"wego is a command line tool to view weather, from a variety of weather services weather : args : [ \"0\" ] cmd : \"wego\" enabled : true type : \"cmdrunner\" position : top : 0 left : 0 height : 1 width : 2 refreshInterval : 100s","title":"wego"},{"location":"modules/cmdrunner/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/cmdrunner","title":"Source Code"},{"location":"modules/covid/","text":"COVID Provides details about COVID-19 cases and deaths. Configuration covid : enabled : true colors : label : \"green\" text : \"white\" countries : - AD - AE - AF position : top : 1 left : 2 height : 2 width : 2 refreshInterval : 1h Attributes Name Value countries The list of country codes (ISO 3166-1 alpha-2) to display detailed information for. Screenshots Source Code https://github.com/wtfutil/wtf/tree/master/modules/covid","title":"Covid"},{"location":"modules/covid/#covid","text":"Provides details about COVID-19 cases and deaths.","title":"COVID"},{"location":"modules/covid/#configuration","text":"covid : enabled : true colors : label : \"green\" text : \"white\" countries : - AD - AE - AF position : top : 1 left : 2 height : 2 width : 2 refreshInterval : 1h","title":"Configuration"},{"location":"modules/covid/#attributes","text":"Name Value countries The list of country codes (ISO 3166-1 alpha-2) to display detailed information for.","title":"Attributes"},{"location":"modules/covid/#screenshots","text":"","title":"Screenshots"},{"location":"modules/covid/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/covid","title":"Source Code"},{"location":"modules/datadog/","text":"Datadog Connects to the Datadog API and displays alerting modules. Configuration datadog : apiKey : \"\" applicationKey : \"\" enabled : true monitors : tags : - \"team:ops\" position : top : 4 left : 3 height : 1 width : 2 Attributes Name Value apiKey Your Datadog API key. Leave this blank to use the WTF_DATADOG_API_KEY environment variable. applicationKey Your DataDog application key. Leave this empty to use the WTF_DATADOG_APPLICATION_KEY environment variable. monitors Configuration for the monitors functionality. tags List of tags you want to query monitors by. Source Code https://github.com/wtfutil/wtf/tree/master/modules/datadog","title":"Datadog"},{"location":"modules/datadog/#datadog","text":"Connects to the Datadog API and displays alerting modules.","title":"Datadog"},{"location":"modules/datadog/#configuration","text":"datadog : apiKey : \"\" applicationKey : \"\" enabled : true monitors : tags : - \"team:ops\" position : top : 4 left : 3 height : 1 width : 2","title":"Configuration"},{"location":"modules/datadog/#attributes","text":"Name Value apiKey Your Datadog API key. Leave this blank to use the WTF_DATADOG_API_KEY environment variable. applicationKey Your DataDog application key. Leave this empty to use the WTF_DATADOG_APPLICATION_KEY environment variable. monitors Configuration for the monitors functionality. tags List of tags you want to query monitors by.","title":"Attributes"},{"location":"modules/datadog/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/datadog","title":"Source Code"},{"location":"modules/devto/","text":"DEV Displays stories from The Practical DEV . Configuration devto : enabled : true numberOfArticles : 10 position : top : 1 left : 1 height : 1 width : 2 contentTag : \"showdev\" contentUsername : \"victoravelar\" contentState : \"rising\" Attributes Name Value contentTag Optional List articles from a specific tag. contentUsername Optional List articles from a specific user. contentState Optional Alters the feed output. numberOfArticles Optional Defines number of articles to be displayed. Default: 10 . Any positive integer < 20. Keyboard Key Action / Open/close the widget's help modal [esc] Cancel the selection [return] Open the selected story in the browser \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/devto","title":"DEV (Dev.to)"},{"location":"modules/devto/#dev","text":"Displays stories from The Practical DEV .","title":"DEV"},{"location":"modules/devto/#configuration","text":"devto : enabled : true numberOfArticles : 10 position : top : 1 left : 1 height : 1 width : 2 contentTag : \"showdev\" contentUsername : \"victoravelar\" contentState : \"rising\"","title":"Configuration"},{"location":"modules/devto/#attributes","text":"Name Value contentTag Optional List articles from a specific tag. contentUsername Optional List articles from a specific user. contentState Optional Alters the feed output. numberOfArticles Optional Defines number of articles to be displayed. Default: 10 . Any positive integer < 20.","title":"Attributes"},{"location":"modules/devto/#keyboard","text":"Key Action / Open/close the widget's help modal [esc] Cancel the selection [return] Open the selected story in the browser \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/devto/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/devto","title":"Source Code"},{"location":"modules/digitalclock/","text":"Digital Clock Displays a configurable digital clock. Configuration digitalclock : color : orange enabled : true font : bigfont hourFormat : 12 position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 1s title : \"big clock\" type : \"digitalclock\" Configuration - compact variant Set withDatePrefix to False and pass in a custom dateFormat according to go. digitalclock : withDatePrefix : False dateFormat : \"Monday Jan 02 2006\" color : orange enabled : true font : bigfont hourFormat : 12 position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 1s title : \"big clock\" type : \"digitalclock\" Attributes Name Value color The color to display the clock time in. font The font to display the clock time in. Default: bigfont bigfont , digitalfont hourFormat Optional The format of the clock. Default: 24 . 12 , 24 dateFormat Optional The format of the date. Default: Monday January 02 2006 . Any valid Go date layout which is handled by Time.Format. withDatePrefix Optional Whether to display `Date:` in front of the date. Default: True . True , False Source Code https://github.com/wtfutil/wtf/tree/master/modules/digitalclock","title":"Digital Clock"},{"location":"modules/digitalclock/#digital-clock","text":"Displays a configurable digital clock.","title":"Digital Clock"},{"location":"modules/digitalclock/#configuration","text":"digitalclock : color : orange enabled : true font : bigfont hourFormat : 12 position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 1s title : \"big clock\" type : \"digitalclock\"","title":"Configuration"},{"location":"modules/digitalclock/#configuration-compact-variant","text":"Set withDatePrefix to False and pass in a custom dateFormat according to go. digitalclock : withDatePrefix : False dateFormat : \"Monday Jan 02 2006\" color : orange enabled : true font : bigfont hourFormat : 12 position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 1s title : \"big clock\" type : \"digitalclock\"","title":"Configuration - compact variant"},{"location":"modules/digitalclock/#attributes","text":"Name Value color The color to display the clock time in. font The font to display the clock time in. Default: bigfont bigfont , digitalfont hourFormat Optional The format of the clock. Default: 24 . 12 , 24 dateFormat Optional The format of the date. Default: Monday January 02 2006 . Any valid Go date layout which is handled by Time.Format. withDatePrefix Optional Whether to display `Date:` in front of the date. Default: True . True , False","title":"Attributes"},{"location":"modules/digitalclock/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/digitalclock","title":"Source Code"},{"location":"modules/digitalocean/","text":"DigitalOcean DigitalOcean module displays a list of your DigitalOcean droplets and Kubernetes clusters and allows you to interact with them in these ways: Destroy a droplet Enable private networking on a droplet Reboot a droplet Shut down a droplet Show info about a droplet Configuration digitalocean : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 4 left : 2 width : 2 height : 2 refreshInterval : 15s title : \"\ud83e\udd88 DigitalOcean\" With explicit columns defined: digitalocean : apiKey : \"p0d13*********************************************c3\" columns : - Name - Status - Vcpus - Disk - Memory - Region.Slug enabled : true position : top : 4 left : 2 width : 2 height : 2 refreshInterval : 15s title : \"\ud83e\udd88 DigitalOcean\" Screenshots Attributes Name Value apiKey Your DigitalOcean API key. Leave this blank to use the WTF_DIGITALOCEAN_API_KEY environment variable. columns Optional A list of the droplet attributes to display. Defines the columns displayed in the widget. Any publicly-accessible properties on a DigitalOcean Droplet , Image , Region , or Size . Keyboard Key Action / Open/close the widget's help modal ? Displays information about a droplet [esc] Close the modal dialog [return] Display information about a droplet b Reboot a droplet j Select the next item in the list k Select the previous item in the list p Enable private networking on a droplet r Refresh the data s Shut down a droplet u Enable private networking on a droplet \u2193 Select the next item in the list \u2191 Select the previous item in the list Ctrl-d Delete the selected item Source Code https://github.com/wtfutil/wtf/tree/master/modules/digitalocean","title":"DigitalOcean"},{"location":"modules/digitalocean/#digitalocean","text":"DigitalOcean module displays a list of your DigitalOcean droplets and Kubernetes clusters and allows you to interact with them in these ways: Destroy a droplet Enable private networking on a droplet Reboot a droplet Shut down a droplet Show info about a droplet","title":"DigitalOcean"},{"location":"modules/digitalocean/#configuration","text":"digitalocean : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 4 left : 2 width : 2 height : 2 refreshInterval : 15s title : \"\ud83e\udd88 DigitalOcean\" With explicit columns defined: digitalocean : apiKey : \"p0d13*********************************************c3\" columns : - Name - Status - Vcpus - Disk - Memory - Region.Slug enabled : true position : top : 4 left : 2 width : 2 height : 2 refreshInterval : 15s title : \"\ud83e\udd88 DigitalOcean\"","title":"Configuration"},{"location":"modules/digitalocean/#screenshots","text":"","title":"Screenshots"},{"location":"modules/digitalocean/#attributes","text":"Name Value apiKey Your DigitalOcean API key. Leave this blank to use the WTF_DIGITALOCEAN_API_KEY environment variable. columns Optional A list of the droplet attributes to display. Defines the columns displayed in the widget. Any publicly-accessible properties on a DigitalOcean Droplet , Image , Region , or Size .","title":"Attributes"},{"location":"modules/digitalocean/#keyboard","text":"Key Action / Open/close the widget's help modal ? Displays information about a droplet [esc] Close the modal dialog [return] Display information about a droplet b Reboot a droplet j Select the next item in the list k Select the previous item in the list p Enable private networking on a droplet r Refresh the data s Shut down a droplet u Enable private networking on a droplet \u2193 Select the next item in the list \u2191 Select the previous item in the list Ctrl-d Delete the selected item","title":"Keyboard"},{"location":"modules/digitalocean/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/digitalocean","title":"Source Code"},{"location":"modules/docker/","text":"Docker Displays information about currently-running Docker processes. Configuration docker : type : docker enabled : true labelColor : lightblue position : top : 0 left : 0 height : 3 width : 3 refreshInterval : 1s Screenshots Attributes Name Value labelColor The color to display the row labels in. Source Code https://github.com/wtfutil/wtf/tree/master/modules/docker","title":"Docker"},{"location":"modules/docker/#docker","text":"Displays information about currently-running Docker processes.","title":"Docker"},{"location":"modules/docker/#configuration","text":"docker : type : docker enabled : true labelColor : lightblue position : top : 0 left : 0 height : 3 width : 3 refreshInterval : 1s","title":"Configuration"},{"location":"modules/docker/#screenshots","text":"","title":"Screenshots"},{"location":"modules/docker/#attributes","text":"Name Value labelColor The color to display the row labels in.","title":"Attributes"},{"location":"modules/docker/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/docker","title":"Source Code"},{"location":"modules/feedreader/","text":"Feed Reader An RSS & Atom feed reader. Configuration feedreader : enabled : true feeds : - https://news.ycombinator.com/rss - https://rss.cbc.ca/lineup/topstories.xml feedLimit : 10 position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 4h Screenshots Attributes Name Value feedLimit The number of stories from each feed to be displayed. Default is -1 , which will display all available stories. feeds List of RSS or Atom feed URLs. Keyboard Key Action / Open/close the widget's help modal [return] Open the selected story in the browser j Select the next item in the list k Select the previous item in the list o Open the selected story in the browser r Refresh the data t Switches the display mode between `title`, `link`, and `title and content` \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/feedreader","title":"Feed Reader"},{"location":"modules/feedreader/#feed-reader","text":"An RSS & Atom feed reader.","title":"Feed Reader"},{"location":"modules/feedreader/#configuration","text":"feedreader : enabled : true feeds : - https://news.ycombinator.com/rss - https://rss.cbc.ca/lineup/topstories.xml feedLimit : 10 position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 4h","title":"Configuration"},{"location":"modules/feedreader/#screenshots","text":"","title":"Screenshots"},{"location":"modules/feedreader/#attributes","text":"Name Value feedLimit The number of stories from each feed to be displayed. Default is -1 , which will display all available stories. feeds List of RSS or Atom feed URLs.","title":"Attributes"},{"location":"modules/feedreader/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Open the selected story in the browser j Select the next item in the list k Select the previous item in the list o Open the selected story in the browser r Refresh the data t Switches the display mode between `title`, `link`, and `title and content` \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/feedreader/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/feedreader","title":"Source Code"},{"location":"modules/gerrit/","text":"Gerrit Displays information about your projects hosted on Gerrit: Open Incoming Reviews All open reviews that are requesting your approval. My Outgoing Reviews All open reviews created by you. Configuration gerrit : colors : rows : even : \"lightblue\" odd : \"white\" domain : https://gerrit-review.googlesource.com enabled : true password : \"mypassword\" position : top : 2 left : 3 height : 2 width : 2 projects : - org/test-project\" - dotfiles refreshInterval : 5m username : \"myname\" verifyServerCertificate : false Screenshots Attributes Name Value domain Your Gerrit corporate domain. {{ value }} password Your Gerrit password. Leave this empty to use the WTF_GERRIT_PASSWORD environment variable. projects A list of Gerrit project names to fetch data for. {{ value }} username Your Gerrit username. {{ undesc }} verifyServerCertificate Whether or not to verify the server's certificate chain and hostname. Default: false . true , false Keyboard Key Action / Open/close the widget's help modal [return] Open the selected review in the browser h Show the previous project j Select the next item in the list k Select the previous item in the list l Show the next project o Open the selected review in the browser r Refresh the data \u2190 {{ arrowback }}Show the previous project \u2192 {{ arrowfore }}Show the next project \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/gerrit","title":"Gerrit"},{"location":"modules/gerrit/#gerrit","text":"Displays information about your projects hosted on Gerrit:","title":"Gerrit"},{"location":"modules/gerrit/#open-incoming-reviews","text":"All open reviews that are requesting your approval.","title":"Open Incoming Reviews"},{"location":"modules/gerrit/#my-outgoing-reviews","text":"All open reviews created by you.","title":"My Outgoing Reviews"},{"location":"modules/gerrit/#configuration","text":"gerrit : colors : rows : even : \"lightblue\" odd : \"white\" domain : https://gerrit-review.googlesource.com enabled : true password : \"mypassword\" position : top : 2 left : 3 height : 2 width : 2 projects : - org/test-project\" - dotfiles refreshInterval : 5m username : \"myname\" verifyServerCertificate : false","title":"Configuration"},{"location":"modules/gerrit/#screenshots","text":"","title":"Screenshots"},{"location":"modules/gerrit/#attributes","text":"Name Value domain Your Gerrit corporate domain. {{ value }} password Your Gerrit password. Leave this empty to use the WTF_GERRIT_PASSWORD environment variable. projects A list of Gerrit project names to fetch data for. {{ value }} username Your Gerrit username. {{ undesc }} verifyServerCertificate Whether or not to verify the server's certificate chain and hostname. Default: false . true , false","title":"Attributes"},{"location":"modules/gerrit/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Open the selected review in the browser h Show the previous project j Select the next item in the list k Select the previous item in the list l Show the next project o Open the selected review in the browser r Refresh the data \u2190 {{ arrowback }}Show the previous project \u2192 {{ arrowfore }}Show the next project \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/gerrit/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/gerrit","title":"Source Code"},{"location":"modules/git/","text":"Git Displays information about local git repositories: branch, changed files, and recent commits. Branch The name of the currently-active git branch. Changed Files A list of all the files that have changed since the last commit, and their status. Recent Commits A list of n recent commits, who committed it, and when. Configuration git : commitCount : 5 commitFormat : \"[forestgreen]%h [grey]%cd [white]%s [grey]%an[white]\" dateFormat : \"%H:%M %d %b %y\" enabled : true position : top : 0 left : 3 height : 2 width : 2 refreshInterval : 8s repositories : - \"/Users/chris/go/src/github.com/wtfutil/wtf\" - \"/Users/user/fakeapp\" Screenshots Attributes Name Value branchInTitle Optional Whether to show branch name in title. Default: false true , false commitCount Any positive integer. commitFormat Optional The string format for the commit message. {{ value }} dateFormat The format to use when rendering date strings. Any valid Go date layout which is handled by Time.Format . Default: Jan 2 . lastFolderTitle Optional Whether to show only last part of directory path instead of full path. Default: false true , false showFilesIfEmpty Optional Whether to show Changed Files section if no files have changed. Default: false true , false showModuleName Optional Whether to show 'Git - ' before information in title. Default: true true , false Keyboard Key Action / Open/close the widget's help modal h Show the previous git repository l Show the next git repository p Pull repo r Refresh the data \u2190 {{ arrowback }}Show the previous git repository \u2192 {{ arrowfore }}Show the next git repository Source Code https://github.com/wtfutil/wtf/tree/master/modules/git","title":"Git"},{"location":"modules/git/#git","text":"Displays information about local git repositories: branch, changed files, and recent commits.","title":"Git"},{"location":"modules/git/#branch","text":"The name of the currently-active git branch.","title":"Branch"},{"location":"modules/git/#changed-files","text":"A list of all the files that have changed since the last commit, and their status.","title":"Changed Files"},{"location":"modules/git/#recent-commits","text":"A list of n recent commits, who committed it, and when.","title":"Recent Commits"},{"location":"modules/git/#configuration","text":"git : commitCount : 5 commitFormat : \"[forestgreen]%h [grey]%cd [white]%s [grey]%an[white]\" dateFormat : \"%H:%M %d %b %y\" enabled : true position : top : 0 left : 3 height : 2 width : 2 refreshInterval : 8s repositories : - \"/Users/chris/go/src/github.com/wtfutil/wtf\" - \"/Users/user/fakeapp\"","title":"Configuration"},{"location":"modules/git/#screenshots","text":"","title":"Screenshots"},{"location":"modules/git/#attributes","text":"Name Value branchInTitle Optional Whether to show branch name in title. Default: false true , false commitCount Any positive integer. commitFormat Optional The string format for the commit message. {{ value }} dateFormat The format to use when rendering date strings. Any valid Go date layout which is handled by Time.Format . Default: Jan 2 . lastFolderTitle Optional Whether to show only last part of directory path instead of full path. Default: false true , false showFilesIfEmpty Optional Whether to show Changed Files section if no files have changed. Default: false true , false showModuleName Optional Whether to show 'Git - ' before information in title. Default: true true , false","title":"Attributes"},{"location":"modules/git/#keyboard","text":"Key Action / Open/close the widget's help modal h Show the previous git repository l Show the next git repository p Pull repo r Refresh the data \u2190 {{ arrowback }}Show the previous git repository \u2192 {{ arrowfore }}Show the next git repository","title":"Keyboard"},{"location":"modules/git/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/git","title":"Source Code"},{"location":"modules/github/","text":"GitHub Displays information about your git repositories hosted on GitHub: Open Review Requests All open code review requests assigned to you. Open Pull Requests All open pull requests created by you. Custom Queries Create filters to manage PRs and issues however you like. Configuration github : apiKey : \"3276d7155dd9ee27b8b14f8743a408a9\" baseURL : \"\" customQueries : othersPRs : title : \"Others Pull Requests\" filter : \"is:open is:pr -author:wtfutil\" enabled : true enableStatus : true position : top : 2 left : 3 height : 2 width : 2 refreshInterval : 5m repositories : - \"wtfutil/wtf\" - \"wtfutil/docs\" - \"umbrella-corp/wesker-api\" uploadURL : \"\" username : \"wtfutil\" Screenshots Attributes Name Value apiKey Your GitHub API key. Leave this blank to use the WTF_GITHUB_TOKEN environment variable. baseURL Optional Your GitHub Enterprise API URL. Your API URL. Leave it empty to use the WTF_GITHUB_BASE_URL environment variable. customQueries Filters for pull requests and issues. See below for examples. enableStatus Whether or not to display pull request mergeability status ( dirty , clean , unstable , blocked ). true , false repositories A list of github repos to fetch data for. {{ value }} showMyPullRequests Optional Whether or not to display the 'My Pull Requests' section. Default: true . true , false showOpenReviewRequests Optional_ Whether or not to display the 'Open Review Requests' section. Default: true . true , false showStats Optional Whether or not to display the 'Stats' section. Default: true . true , false uploadURL Optional Your GitHub Enterprise upload URL (often the same as the API URL). Your API URL. Leave it empty to use the WTF_GITHUB_UPLOAD_URL environment variable. username Your GitHub username. Used to figure out which review requests you've been added to. Keyboard Key Action / Open/close the widget's help modal [return] Open the selected Pull Request or Issue in the browser [insert] Open the selected repository in the browser h Show the previous git repository j Select the next item in the list k Select the previous item in the list l Show the next git repository p Open the selected Pull Request in the browser \u2190 {{ arrowback }}Show the previous git repository \u2192 {{ arrowfore }}Show the next git repository \u2193 Select the next item in the list \u2191 Select the previous item in the list Custom Query Examples Custom queries allow you to filter pull requests and issues however you like. Give the query a title and a filter. Filters can be copied directly from GitHub's UI. customQueries : othersPRs : # Displays pull requests that are not assigned to you title : \"Others Pull Requests\" filter : \"is:open is:pr -author:[your github username]\" openIssues : # Displays issues that are assigned to you title : \"My Issues\" filter : \"is:issue state:open author:[your github username]\" otherIssues : # Displays issues not assigned to you, order by their updated_at date perPage : 10 title : \"Others Issues\" filter : \"is:issue state:open -author:[your github username] sort:updated-desc\" Source Code https://github.com/wtfutil/wtf/tree/master/modules/github","title":"GitHub"},{"location":"modules/github/#github","text":"Displays information about your git repositories hosted on GitHub:","title":"GitHub"},{"location":"modules/github/#open-review-requests","text":"All open code review requests assigned to you.","title":"Open Review Requests"},{"location":"modules/github/#open-pull-requests","text":"All open pull requests created by you.","title":"Open Pull Requests"},{"location":"modules/github/#custom-queries","text":"Create filters to manage PRs and issues however you like.","title":"Custom Queries"},{"location":"modules/github/#configuration","text":"github : apiKey : \"3276d7155dd9ee27b8b14f8743a408a9\" baseURL : \"\" customQueries : othersPRs : title : \"Others Pull Requests\" filter : \"is:open is:pr -author:wtfutil\" enabled : true enableStatus : true position : top : 2 left : 3 height : 2 width : 2 refreshInterval : 5m repositories : - \"wtfutil/wtf\" - \"wtfutil/docs\" - \"umbrella-corp/wesker-api\" uploadURL : \"\" username : \"wtfutil\"","title":"Configuration"},{"location":"modules/github/#screenshots","text":"","title":"Screenshots"},{"location":"modules/github/#attributes","text":"Name Value apiKey Your GitHub API key. Leave this blank to use the WTF_GITHUB_TOKEN environment variable. baseURL Optional Your GitHub Enterprise API URL. Your API URL. Leave it empty to use the WTF_GITHUB_BASE_URL environment variable. customQueries Filters for pull requests and issues. See below for examples. enableStatus Whether or not to display pull request mergeability status ( dirty , clean , unstable , blocked ). true , false repositories A list of github repos to fetch data for. {{ value }} showMyPullRequests Optional Whether or not to display the 'My Pull Requests' section. Default: true . true , false showOpenReviewRequests Optional_ Whether or not to display the 'Open Review Requests' section. Default: true . true , false showStats Optional Whether or not to display the 'Stats' section. Default: true . true , false uploadURL Optional Your GitHub Enterprise upload URL (often the same as the API URL). Your API URL. Leave it empty to use the WTF_GITHUB_UPLOAD_URL environment variable. username Your GitHub username. Used to figure out which review requests you've been added to.","title":"Attributes"},{"location":"modules/github/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Open the selected Pull Request or Issue in the browser [insert] Open the selected repository in the browser h Show the previous git repository j Select the next item in the list k Select the previous item in the list l Show the next git repository p Open the selected Pull Request in the browser \u2190 {{ arrowback }}Show the previous git repository \u2192 {{ arrowfore }}Show the next git repository \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/github/#custom-query-examples","text":"Custom queries allow you to filter pull requests and issues however you like. Give the query a title and a filter. Filters can be copied directly from GitHub's UI. customQueries : othersPRs : # Displays pull requests that are not assigned to you title : \"Others Pull Requests\" filter : \"is:open is:pr -author:[your github username]\" openIssues : # Displays issues that are assigned to you title : \"My Issues\" filter : \"is:issue state:open author:[your github username]\" otherIssues : # Displays issues not assigned to you, order by their updated_at date perPage : 10 title : \"Others Issues\" filter : \"is:issue state:open -author:[your github username] sort:updated-desc\"","title":"Custom Query Examples"},{"location":"modules/github/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/github","title":"Source Code"},{"location":"modules/gitlab/","text":"GitLab Displays information about your projects hosted on GitLab: Open Approval Requests All open merge requests that are requesting your approval. Open Merge Requests All open merge requests created by you. Configuration gitlab : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 2 left : 3 height : 2 width : 2 projects : - \"gitlab-org/gitlab-ce\" - \"gitlab-org/release/tasks\" refreshInterval : 5m username : \"wtfutil\" Attributes Name Value apiKey Your GitLab API key. Leave this blank to use the WTF_GITLAB_TOKEN environment variable. domain Optional Your GitLab corporate domain. A valid URI. projects A list of GitLab project paths to fetch data for. {{ value }} username Your GitLab username. Used to figure out which requests require your approval. Keyboard Key Action / Open/close the widget's help modal h Show the previous GitLab repository l Show the next GitLab repository r Refresh the data \u2190 {{ arrowback }}Show the previous GitLab repository \u2192 {{ arrowfore }}Show the next GitLab repository Source Code https://github.com/wtfutil/wtf/tree/master/modules/gitlab","title":"GitLab"},{"location":"modules/gitlab/#gitlab","text":"Displays information about your projects hosted on GitLab:","title":"GitLab"},{"location":"modules/gitlab/#open-approval-requests","text":"All open merge requests that are requesting your approval.","title":"Open Approval Requests"},{"location":"modules/gitlab/#open-merge-requests","text":"All open merge requests created by you.","title":"Open Merge Requests"},{"location":"modules/gitlab/#configuration","text":"gitlab : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 2 left : 3 height : 2 width : 2 projects : - \"gitlab-org/gitlab-ce\" - \"gitlab-org/release/tasks\" refreshInterval : 5m username : \"wtfutil\"","title":"Configuration"},{"location":"modules/gitlab/#attributes","text":"Name Value apiKey Your GitLab API key. Leave this blank to use the WTF_GITLAB_TOKEN environment variable. domain Optional Your GitLab corporate domain. A valid URI. projects A list of GitLab project paths to fetch data for. {{ value }} username Your GitLab username. Used to figure out which requests require your approval.","title":"Attributes"},{"location":"modules/gitlab/#keyboard","text":"Key Action / Open/close the widget's help modal h Show the previous GitLab repository l Show the next GitLab repository r Refresh the data \u2190 {{ arrowback }}Show the previous GitLab repository \u2192 {{ arrowfore }}Show the next GitLab repository","title":"Keyboard"},{"location":"modules/gitlab/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/gitlab","title":"Source Code"},{"location":"modules/gitlabtodo/","text":"GitLab Todo View your GitLab Todos. Configuration gitlabtodo : apiKey : \"dexxxxxxxxxxxxxxxxxxxxxxxxxx34\" domain : \"example.com\" enabled : true numberOfTodos : 12, position : top : 2 left : 3 height : 2 width : 2 refreshInterval : 5m showProject : true Attributes Name Value apiKey Your GitLab API key. Leave this blank to use the WTF_GITLAB_API_KEY environment variable. domain Your GitLab corporate domain. numberOfTodos Optional Defines number of stories to be displayed. Default is 10 . showProject Optional Determines whether or not to show the project a given todo is for. Default: true . true , false . Source Code https://github.com/wtfutil/wtf/tree/master/modules/gitlabtodo","title":"GitLab Todo"},{"location":"modules/gitlabtodo/#gitlab-todo","text":"View your GitLab Todos.","title":"GitLab Todo"},{"location":"modules/gitlabtodo/#configuration","text":"gitlabtodo : apiKey : \"dexxxxxxxxxxxxxxxxxxxxxxxxxx34\" domain : \"example.com\" enabled : true numberOfTodos : 12, position : top : 2 left : 3 height : 2 width : 2 refreshInterval : 5m showProject : true","title":"Configuration"},{"location":"modules/gitlabtodo/#attributes","text":"Name Value apiKey Your GitLab API key. Leave this blank to use the WTF_GITLAB_API_KEY environment variable. domain Your GitLab corporate domain. numberOfTodos Optional Defines number of stories to be displayed. Default is 10 . showProject Optional Determines whether or not to show the project a given todo is for. Default: true . true , false .","title":"Attributes"},{"location":"modules/gitlabtodo/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/gitlabtodo","title":"Source Code"},{"location":"modules/gitter/","text":"Gitter Displays chat messages from Gitter. Configuration gitter : apiToken : \"d23*******************************************3r2\" enabled : true numberOfMessages : 10 position : top : 4 left : 1 height : 1 width : 4 roomUri : wtfutil/Lobby refreshInterval : 5m Screenshots Attributes Name Value apiKey Your Gitter API key. Leave this blank to use the WTF_GITTER_API_TOKEN environment variable. numberOfMessages Optional Maximum number of new messages to be displayed. Default is 10 . roomURI Optional URI of the room you would like to see the chat messages for. Default is wtfutil/Lobby Keyboard Key Action / Open/close the widget's help modal j Select the next item in the list k Select the previous item in the list r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/gitter","title":"Gitter"},{"location":"modules/gitter/#gitter","text":"Displays chat messages from Gitter.","title":"Gitter"},{"location":"modules/gitter/#configuration","text":"gitter : apiToken : \"d23*******************************************3r2\" enabled : true numberOfMessages : 10 position : top : 4 left : 1 height : 1 width : 4 roomUri : wtfutil/Lobby refreshInterval : 5m","title":"Configuration"},{"location":"modules/gitter/#screenshots","text":"","title":"Screenshots"},{"location":"modules/gitter/#attributes","text":"Name Value apiKey Your Gitter API key. Leave this blank to use the WTF_GITTER_API_TOKEN environment variable. numberOfMessages Optional Maximum number of new messages to be displayed. Default is 10 . roomURI Optional URI of the room you would like to see the chat messages for. Default is wtfutil/Lobby","title":"Attributes"},{"location":"modules/gitter/#keyboard","text":"Key Action / Open/close the widget's help modal j Select the next item in the list k Select the previous item in the list r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/gitter/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/gitter","title":"Source Code"},{"location":"modules/hackernews/","text":"HackerNews Displays stories from Hacker News. Configuration hackernews : enabled : true numberOfStories : 10 position : top : 4 left : 1 height : 1 width : 2 storyType : top refreshInterval : 15m Screenshots Attributes Name Value numberOfStories Optional Defines number of stories to be displayed. Default: 10 . Any positive integer. storyType Optional Defines type of stories to be displayed. Default: top . new , top , job , ask Keyboard Keyboard Key Action / Open/close the widget's help modal c Open the selected story's comments in the browser j Select the next item in the list k Select the previous item in the list o Open the selected story in the browser r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/hackernews","title":"HackerNews"},{"location":"modules/hackernews/#hackernews","text":"Displays stories from Hacker News.","title":"HackerNews"},{"location":"modules/hackernews/#configuration","text":"hackernews : enabled : true numberOfStories : 10 position : top : 4 left : 1 height : 1 width : 2 storyType : top refreshInterval : 15m","title":"Configuration"},{"location":"modules/hackernews/#screenshots","text":"","title":"Screenshots"},{"location":"modules/hackernews/#attributes","text":"Name Value numberOfStories Optional Defines number of stories to be displayed. Default: 10 . Any positive integer. storyType Optional Defines type of stories to be displayed. Default: top . new , top , job , ask","title":"Attributes"},{"location":"modules/hackernews/#keyboard","text":"","title":"Keyboard"},{"location":"modules/hackernews/#keyboard_1","text":"Key Action / Open/close the widget's help modal c Open the selected story's comments in the browser j Select the next item in the list k Select the previous item in the list o Open the selected story in the browser r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/hackernews/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/hackernews","title":"Source Code"},{"location":"modules/healthchecks/","text":"Healthchecks Connect to the Healthchecks API. Configuration healthchecks : type : healthchecks enabled : true apiKey : \"XXXX\" apiURL : \"https://healthchecks.io/\" tags : - backup position : top : 0 left : 1 height : 2 width : 1 Screenshots Attributes Name Value apiKey Your Healthchecks API key. Leave this blank to use the WTF_HEALTHCHECKS_APIKEY environment variable. apiKey Healthchecks read-only API-key string apiURL Optional Healthchecks API URL. Default: https://healthchecks.io/ string tags Only show checks with tags list Source Code https://github.com/wtfutil/wtf/tree/master/modules/healthchecks","title":"Healthchecks"},{"location":"modules/healthchecks/#healthchecks","text":"Connect to the Healthchecks API.","title":"Healthchecks"},{"location":"modules/healthchecks/#configuration","text":"healthchecks : type : healthchecks enabled : true apiKey : \"XXXX\" apiURL : \"https://healthchecks.io/\" tags : - backup position : top : 0 left : 1 height : 2 width : 1","title":"Configuration"},{"location":"modules/healthchecks/#screenshots","text":"","title":"Screenshots"},{"location":"modules/healthchecks/#attributes","text":"Name Value apiKey Your Healthchecks API key. Leave this blank to use the WTF_HEALTHCHECKS_APIKEY environment variable. apiKey Healthchecks read-only API-key string apiURL Optional Healthchecks API URL. Default: https://healthchecks.io/ string tags Only show checks with tags list","title":"Attributes"},{"location":"modules/healthchecks/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/healthchecks","title":"Source Code"},{"location":"modules/hibp/","text":"Have I Been Pwned (HIBP) Indicates whether or not your listed email addresses appear in the Have I Been Pwned breach database. Note: As of v0.19.0, WTF requires you use a Have I Been Pwned API key to connect to the service. See details below. Configuration hibp : accounts : - test@example.com - pwned@gmail.com apiKey : \"p0d13*********************************************c3\" colors : ok : \"green\" pwned : \"red\" enabled : true position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 12h since : \"2019-06-22\" Screenshots Attributes Name Value accounts A list of the accounts to check the HIBP database for. {{ value }} apiKey Your DigitalOcean API key. Leave this blank to use the WTF_DIGITALOCEAN_API_KEY environment variable. colors Optional The colors to display for accounts that have not been pwned and ones that have. Defaults to white for unpwned accounts, red for pwned accounts. {{ value }} since Optional Only check for breaches after this date. Set this if you've been breached in the past, have taken steps to mitigate that (changing passwords, cancelling accounts, etc.) and only want to know about future breaches. A date string in the format 'yyyy-mm-dd', ie: '2019-06-22' Source Code https://github.com/wtfutil/wtf/tree/master/modules/hibp","title":"Have I Been Pwned"},{"location":"modules/hibp/#have-i-been-pwned-hibp","text":"Indicates whether or not your listed email addresses appear in the Have I Been Pwned breach database. Note: As of v0.19.0, WTF requires you use a Have I Been Pwned API key to connect to the service. See details below.","title":"Have I Been Pwned (HIBP)"},{"location":"modules/hibp/#configuration","text":"hibp : accounts : - test@example.com - pwned@gmail.com apiKey : \"p0d13*********************************************c3\" colors : ok : \"green\" pwned : \"red\" enabled : true position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 12h since : \"2019-06-22\"","title":"Configuration"},{"location":"modules/hibp/#screenshots","text":"","title":"Screenshots"},{"location":"modules/hibp/#attributes","text":"Name Value accounts A list of the accounts to check the HIBP database for. {{ value }} apiKey Your DigitalOcean API key. Leave this blank to use the WTF_DIGITALOCEAN_API_KEY environment variable. colors Optional The colors to display for accounts that have not been pwned and ones that have. Defaults to white for unpwned accounts, red for pwned accounts. {{ value }} since Optional Only check for breaches after this date. Set this if you've been breached in the past, have taken steps to mitigate that (changing passwords, cancelling accounts, etc.) and only want to know about future breaches. A date string in the format 'yyyy-mm-dd', ie: '2019-06-22'","title":"Attributes"},{"location":"modules/hibp/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/hibp","title":"Source Code"},{"location":"modules/jenkins/","text":"Jenkins Displays Jenkins status of given builds in a project or view. Configuration jenkins : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 2 left : 3 height : 2 width : 3 refreshInterval : 5m successBallColor : \"green\" jobNameRegex : ^[a-z]+\\[[0-9]+\\]$ url : \"https://jenkins.domain.com/jenkins/view_url\" user : \"username\" verifyServerCertificate : true Screenshots Attributes Name Value apiKey Your Jenkins API key. Leave this blank to use the WTF_JENKINS_API_KEY environment variable. jobNameRegex Optional A regex that filters the jobs shown in the widget. Any jobs matching the regular expression will be shown. A valid regex, e.g. ^[a-z]+\\[[0-9]+\\]$ successBallColor Changes the default color of successful Jenkins jobs to the color of your choosing. Any valid color name, blue , green , purple , yellow , etc. url The URL to your Jenkins project or view. A valid URI. username Your Jenkins username. {{ undesc }} verifyServerCertificate Whether or not to verify the server's certificate chain and hostname. Default: false . true , false Keyboard Key Action / Open/close the widget's help modal [return] Open the selected job in the browser j Select the next item in the list k Select the previous item in the list r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/jenkins","title":"Jenkins"},{"location":"modules/jenkins/#jenkins","text":"Displays Jenkins status of given builds in a project or view.","title":"Jenkins"},{"location":"modules/jenkins/#configuration","text":"jenkins : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 2 left : 3 height : 2 width : 3 refreshInterval : 5m successBallColor : \"green\" jobNameRegex : ^[a-z]+\\[[0-9]+\\]$ url : \"https://jenkins.domain.com/jenkins/view_url\" user : \"username\" verifyServerCertificate : true","title":"Configuration"},{"location":"modules/jenkins/#screenshots","text":"","title":"Screenshots"},{"location":"modules/jenkins/#attributes","text":"Name Value apiKey Your Jenkins API key. Leave this blank to use the WTF_JENKINS_API_KEY environment variable. jobNameRegex Optional A regex that filters the jobs shown in the widget. Any jobs matching the regular expression will be shown. A valid regex, e.g. ^[a-z]+\\[[0-9]+\\]$ successBallColor Changes the default color of successful Jenkins jobs to the color of your choosing. Any valid color name, blue , green , purple , yellow , etc. url The URL to your Jenkins project or view. A valid URI. username Your Jenkins username. {{ undesc }} verifyServerCertificate Whether or not to verify the server's certificate chain and hostname. Default: false . true , false","title":"Attributes"},{"location":"modules/jenkins/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Open the selected job in the browser j Select the next item in the list k Select the previous item in the list r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/jenkins/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/jenkins","title":"Source Code"},{"location":"modules/jira/","text":"Jira Displays all Jira issues assigned to you for the specified project. Configuration Single Jira Project jira : apiKey : \"p0d13*********************************************c3\" colors : rows : even : \"lightblue\" odd : \"white\" domain : \"https://umbrellacorp.atlassian.net\" email : \"chriscummer@me.com\" enabled : true jql : \"issueType = Story\" position : top : 4 left : 1 height : 1 width : 2 project : \"ProjectA\" refreshInterval : 15m username : \"chris.cummer\" verifyServerCertificate : true Multiple Jira Projects If you want to monitor multiple Jira projects, use the following configuration (note the difference in project ): jira : apiKey : \"p0d13*********************************************c3\" colors : rows : even : \"lightblue\" odd : \"white\" domain : \"https://umbrellacorp.atlassian.net\" email : \"chriscummer@me.com\" enabled : true jql : \"issueType = Story\" position : top : 4 left : 1 height : 1 width : 2 project : [ \"ProjectA\" , \"ProjectB\" ] refreshInterval : 15m username : \"chris.cummer\" verifyServerCertificate : true Screenshots Attributes Name Value apiKey Your Jira API key. Leave this blank to use the WTF_JIRA_API_KEY environment variable. colors.rows.even The foreground color for even-numbered rows. Any X11 color name . colors.rows.odd The foreground color for odd-numbered rows. Any X11 color name . domain Your Jira corporate domain. A valid URI. email The email address associated with your Jira account. A valid email address. jql Optional Custom JQL to be appended to the search query. See Search Jira Like a Boss with JQL for details. project An array of projects to get data from username Your Jira username. {{ undesc }} verifyServerCertificate Whether or not to verify the server's certificate chain and hostname. Default: false . true , false Keyboard Key Action / Open/close the widget's help modal Source Code https://github.com/wtfutil/wtf/tree/master/modules/jira","title":"Jira"},{"location":"modules/jira/#jira","text":"Displays all Jira issues assigned to you for the specified project.","title":"Jira"},{"location":"modules/jira/#configuration","text":"","title":"Configuration"},{"location":"modules/jira/#single-jira-project","text":"jira : apiKey : \"p0d13*********************************************c3\" colors : rows : even : \"lightblue\" odd : \"white\" domain : \"https://umbrellacorp.atlassian.net\" email : \"chriscummer@me.com\" enabled : true jql : \"issueType = Story\" position : top : 4 left : 1 height : 1 width : 2 project : \"ProjectA\" refreshInterval : 15m username : \"chris.cummer\" verifyServerCertificate : true","title":"Single Jira Project"},{"location":"modules/jira/#multiple-jira-projects","text":"If you want to monitor multiple Jira projects, use the following configuration (note the difference in project ): jira : apiKey : \"p0d13*********************************************c3\" colors : rows : even : \"lightblue\" odd : \"white\" domain : \"https://umbrellacorp.atlassian.net\" email : \"chriscummer@me.com\" enabled : true jql : \"issueType = Story\" position : top : 4 left : 1 height : 1 width : 2 project : [ \"ProjectA\" , \"ProjectB\" ] refreshInterval : 15m username : \"chris.cummer\" verifyServerCertificate : true","title":"Multiple Jira Projects"},{"location":"modules/jira/#screenshots","text":"","title":"Screenshots"},{"location":"modules/jira/#attributes","text":"Name Value apiKey Your Jira API key. Leave this blank to use the WTF_JIRA_API_KEY environment variable. colors.rows.even The foreground color for even-numbered rows. Any X11 color name . colors.rows.odd The foreground color for odd-numbered rows. Any X11 color name . domain Your Jira corporate domain. A valid URI. email The email address associated with your Jira account. A valid email address. jql Optional Custom JQL to be appended to the search query. See Search Jira Like a Boss with JQL for details. project An array of projects to get data from username Your Jira username. {{ undesc }} verifyServerCertificate Whether or not to verify the server's certificate chain and hostname. Default: false . true , false","title":"Attributes"},{"location":"modules/jira/#keyboard","text":"Key Action / Open/close the widget's help modal","title":"Keyboard"},{"location":"modules/jira/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/jira","title":"Source Code"},{"location":"modules/krisinformation/","text":"Krisinformation Displays important messages from Krisinformation.se which is a web site run by the Swedish Civil Contingencies Agency that compiles and convey warnings, alerts, and emergency information from Swedish authorities to the public. Krisinformation . Configuration krisinformation : title : Krisinformation enabled : true latitude : 53.1234 longitude : 12.1234 radius : -1 country : true maxitems : 5 maxage : 1000 refreshInterval : 1h position : top : 0 left : 0 height : 1 width : 3 Screenshots Attributes Name Value latitude Optional The latitude of the position from which the widget should look for messages. Decimal degrees longitude Optional The longitude of the position from which the widget should look for messages. Decimal degrees radius Optional The radius in km from your position that the widget should look for messages, use latitude/longitude setting Any positive integer county Optional The county from where to display messages string country Optional Only display country wide messages. Default: true true , false maxitems Optional Only display X number of latest messages. (-1 disables) Default: -1 . Any positive integer. maxage Optional Only show messages younger than maxage in hours. Default: 720 Any positive integer Source Code https://github.com/wtfutil/wtf/tree/master/modules/krisinformation","title":"Krisinformation"},{"location":"modules/krisinformation/#krisinformation","text":"Displays important messages from Krisinformation.se which is a web site run by the Swedish Civil Contingencies Agency that compiles and convey warnings, alerts, and emergency information from Swedish authorities to the public. Krisinformation .","title":"Krisinformation"},{"location":"modules/krisinformation/#configuration","text":"krisinformation : title : Krisinformation enabled : true latitude : 53.1234 longitude : 12.1234 radius : -1 country : true maxitems : 5 maxage : 1000 refreshInterval : 1h position : top : 0 left : 0 height : 1 width : 3","title":"Configuration"},{"location":"modules/krisinformation/#screenshots","text":"","title":"Screenshots"},{"location":"modules/krisinformation/#attributes","text":"Name Value latitude Optional The latitude of the position from which the widget should look for messages. Decimal degrees longitude Optional The longitude of the position from which the widget should look for messages. Decimal degrees radius Optional The radius in km from your position that the widget should look for messages, use latitude/longitude setting Any positive integer county Optional The county from where to display messages string country Optional Only display country wide messages. Default: true true , false maxitems Optional Only display X number of latest messages. (-1 disables) Default: -1 . Any positive integer. maxage Optional Only show messages younger than maxage in hours. Default: 720 Any positive integer","title":"Attributes"},{"location":"modules/krisinformation/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/krisinformation","title":"Source Code"},{"location":"modules/kubernetes/","text":"Kubernetes Displays information about a Kubernetes cluster. Configuration kubernetes : enabled : true kubeconfig : \"/Users/testuser/.kube/config\" namespaces : - internal - public - systems objects : - deployments - nodes - pods position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 5m title : \"Build System\" Attributes Name Value context The Kubernetes context to use. If blank, it uses the default context. {{ value }} kubeconfig The absolute path to your Kubernetes config file. {{ value }} namespaces A list of namespaces to monitor. Defaults to all if empty. {{ value }} objects A list of Kubernetes objects to display. Any of nodes , pods , and/or deployments . Source Code https://github.com/wtfutil/wtf/tree/master/modules/kubernetes","title":"Kubernetes"},{"location":"modules/kubernetes/#kubernetes","text":"Displays information about a Kubernetes cluster.","title":"Kubernetes"},{"location":"modules/kubernetes/#configuration","text":"kubernetes : enabled : true kubeconfig : \"/Users/testuser/.kube/config\" namespaces : - internal - public - systems objects : - deployments - nodes - pods position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 5m title : \"Build System\"","title":"Configuration"},{"location":"modules/kubernetes/#attributes","text":"Name Value context The Kubernetes context to use. If blank, it uses the default context. {{ value }} kubeconfig The absolute path to your Kubernetes config file. {{ value }} namespaces A list of namespaces to monitor. Defaults to all if empty. {{ value }} objects A list of Kubernetes objects to display. Any of nodes , pods , and/or deployments .","title":"Attributes"},{"location":"modules/kubernetes/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/kubernetes","title":"Source Code"},{"location":"modules/logger/","text":"Logger View contents of wtf log file (~/.config/wtf/log.txt). Configuration logger : enabled : true colors : label : \"green\" text : \"white\" position : top : 1 left : 2 height : 1 width : 2 refreshInterval : 15 Screenshots Source Code https://github.com/wtfutil/wtf/tree/master/modules/logger","title":"Logger"},{"location":"modules/logger/#logger","text":"View contents of wtf log file (~/.config/wtf/log.txt).","title":"Logger"},{"location":"modules/logger/#configuration","text":"logger : enabled : true colors : label : \"green\" text : \"white\" position : top : 1 left : 2 height : 1 width : 2 refreshInterval : 15","title":"Configuration"},{"location":"modules/logger/#screenshots","text":"","title":"Screenshots"},{"location":"modules/logger/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/logger","title":"Source Code"},{"location":"modules/lunarphase/","text":"Lunar Phase Displays the phase of the Moon as ASCII art from Wttr.in . The width of the column in which the lunar phase is displayed needs to be large enough for the ASCII graphic to fit or multiple columns must be allocated. Configuration lunarphase : enabled : true position : top : 3 left : 5 height : 2 width : 2 language : 'en' refreshInterval : 5h Screenshots Source Code https://github.com/wtfutil/wtf/tree/master/modules/lunarphase","title":"Lunar Phase"},{"location":"modules/lunarphase/#lunar-phase","text":"Displays the phase of the Moon as ASCII art from Wttr.in . The width of the column in which the lunar phase is displayed needs to be large enough for the ASCII graphic to fit or multiple columns must be allocated.","title":"Lunar Phase"},{"location":"modules/lunarphase/#configuration","text":"lunarphase : enabled : true position : top : 3 left : 5 height : 2 width : 2 language : 'en' refreshInterval : 5h","title":"Configuration"},{"location":"modules/lunarphase/#screenshots","text":"","title":"Screenshots"},{"location":"modules/lunarphase/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/lunarphase","title":"Source Code"},{"location":"modules/mercurial/","text":"Mercurial Displays information about local mercurial repositories: branch, changed files, and recent commits. Branch The name of the currently-active mercurial branch. Changed Files A list of all the files that have changed since the last commit, and their status. Recent Commits A list of n recent commits, who committed it, and when. Configuration mercurial : commitCount : 5 commitFormat : \"[forestgreen]{rev}:{phase} [white]{desc|firstline|strip} [grey]{author|person} {date|age}[white]\" enabled : true position : top : 0 left : 3 height : 2 width : 2 refreshInterval : 8s repositories : - \"/Users/user/fakelib\" - \"/Users/user/fakeapp\" Screenshots Attributes Name Value commitCount The number of past commits to display. Any positive integer. commitFormat Optional The string format for the commit message. {{ value }} repositories A list of Mercurial repositories to watch. A list of zero or more local file paths pointing to valid mercurial repositories. Keyboard Key Action / Open/close the widget's help modal h Show the previous Mercurial repository l Show the next Mercurial repository r Refresh the data \u2190 {{ arrowback }}Show the previous Mercurial repository \u2192 {{ arrowfore }}Show the next Mercurial repository Source Code https://github.com/wtfutil/wtf/tree/master/modules/mercurial","title":"Mercurial"},{"location":"modules/mercurial/#mercurial","text":"Displays information about local mercurial repositories: branch, changed files, and recent commits.","title":"Mercurial"},{"location":"modules/mercurial/#branch","text":"The name of the currently-active mercurial branch.","title":"Branch"},{"location":"modules/mercurial/#changed-files","text":"A list of all the files that have changed since the last commit, and their status.","title":"Changed Files"},{"location":"modules/mercurial/#recent-commits","text":"A list of n recent commits, who committed it, and when.","title":"Recent Commits"},{"location":"modules/mercurial/#configuration","text":"mercurial : commitCount : 5 commitFormat : \"[forestgreen]{rev}:{phase} [white]{desc|firstline|strip} [grey]{author|person} {date|age}[white]\" enabled : true position : top : 0 left : 3 height : 2 width : 2 refreshInterval : 8s repositories : - \"/Users/user/fakelib\" - \"/Users/user/fakeapp\"","title":"Configuration"},{"location":"modules/mercurial/#screenshots","text":"","title":"Screenshots"},{"location":"modules/mercurial/#attributes","text":"Name Value commitCount The number of past commits to display. Any positive integer. commitFormat Optional The string format for the commit message. {{ value }} repositories A list of Mercurial repositories to watch. A list of zero or more local file paths pointing to valid mercurial repositories.","title":"Attributes"},{"location":"modules/mercurial/#keyboard","text":"Key Action / Open/close the widget's help modal h Show the previous Mercurial repository l Show the next Mercurial repository r Refresh the data \u2190 {{ arrowback }}Show the previous Mercurial repository \u2192 {{ arrowfore }}Show the next Mercurial repository","title":"Keyboard"},{"location":"modules/mercurial/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/mercurial","title":"Source Code"},{"location":"modules/newrelic/","text":"New Relic Connects to the New Relic API and displays the last n deploys of the monitored applications: deploy ID, deploy time, and who deployed it. Configuration newrelic : apiKey : \"p0d13*********************************************c3\" applicationIDs : - 10549735 - 499785 deployCount : 6 enabled : true position : top : 4 left : 3 height : 1 width : 2 refreshInterval : 15m Screenshots Attributes Name Value apiKey Your New Relic API key. Leave this blank to use the WTF_NEW_RELIC_API_KEY environment variable. applicationIds A list of integer IDs of the New Relic applications you wish to report on. Any positive integer. deployCount Optional The number of past deploys to display on screen. Default: 5 . Any positive integer. Keyboard Key Action / Open/close the widget's help modal \u2190 {{ arrowback }}Show the previous application \u2192 {{ arrowfore }}Show the next application Source Code https://github.com/wtfutil/wtf/tree/master/modules/newrelic","title":"New Relic"},{"location":"modules/newrelic/#new-relic","text":"Connects to the New Relic API and displays the last n deploys of the monitored applications: deploy ID, deploy time, and who deployed it.","title":"New Relic"},{"location":"modules/newrelic/#configuration","text":"newrelic : apiKey : \"p0d13*********************************************c3\" applicationIDs : - 10549735 - 499785 deployCount : 6 enabled : true position : top : 4 left : 3 height : 1 width : 2 refreshInterval : 15m","title":"Configuration"},{"location":"modules/newrelic/#screenshots","text":"","title":"Screenshots"},{"location":"modules/newrelic/#attributes","text":"Name Value apiKey Your New Relic API key. Leave this blank to use the WTF_NEW_RELIC_API_KEY environment variable. applicationIds A list of integer IDs of the New Relic applications you wish to report on. Any positive integer. deployCount Optional The number of past deploys to display on screen. Default: 5 . Any positive integer.","title":"Attributes"},{"location":"modules/newrelic/#keyboard","text":"Key Action / Open/close the widget's help modal \u2190 {{ arrowback }}Show the previous application \u2192 {{ arrowfore }}Show the next application","title":"Keyboard"},{"location":"modules/newrelic/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/newrelic","title":"Source Code"},{"location":"modules/nextbus/","text":"NextBus Displays information about the next bus for a particular stop. Useful for determining when to leave the house. Note that not all bus services around the world serves bus data through umoiq/NextBus. For those that don't, you will need to write the appropriate module to integrate with those APIs if they exist. This module integrates the predictions command from the umoiq/NextBus API. http://www.nextbus.com/xmlFeedDocs/NextBusXMLFeed.pdf . Configuration If the transit agency exists on this UI, we can configure this module. https://retro.umoiq.com/ . To make JSON easier to read in the browser, try this chrome extension JSONView . To get the agency tag for your local transit agency, look through this list: https://webservices.umoiq.com/service/publicJSONFeed?command=agencyList Once you locate your transit agency tag, you can view the list of available bus routes and route tag by replacing with your agency tag from step 1. https://webservices.umoiq.com/service/publicJSONFeed?command=routeList&a= Once you locate your desired bus route, you can find the stopID you are interested in tracking by replacing with your transit agency tag from step 1 and by replacing with your desired route from step 2. https://webservices.umoiq.com/service/publicJSONFeed?command=routeConfig&a=&r= Once you have these 3 values, you can populate it in the yaml config. Example: Step 1: stl Step 2: 24E Step 3: 43428 Would result in: nextbus : enabled : true border : false agency : stl route : 24E stopID : 43428 position : top : 12 left : 0 width : 24 height : 2 refreshInterval : 20s Attributes Name Value agency Transit agency of your bus. Ex. `stl` from https://webservices.umoiq.com/service/publicJSONFeed?command=agencyList route Route Number of your bus. Ex. `24E` from https://webservices.umoiq.com/service/publicJSONFeed?command=routeList&a=stl stopID Your bus stop number. Ex. `43428` from: https://webservices.umoiq.com/service/publicJSONFeed?command=routeConfig&a=stl&r=24E Screenshots The output format is | ETA [:] According to the above screenshot, the next #24 bus is in 16 minutes and 43 seconds. Source Code https://github.com/wtfutil/wtf/tree/master/modules/nextbus","title":"NextBus"},{"location":"modules/nextbus/#nextbus","text":"Displays information about the next bus for a particular stop. Useful for determining when to leave the house. Note that not all bus services around the world serves bus data through umoiq/NextBus. For those that don't, you will need to write the appropriate module to integrate with those APIs if they exist. This module integrates the predictions command from the umoiq/NextBus API. http://www.nextbus.com/xmlFeedDocs/NextBusXMLFeed.pdf .","title":"NextBus"},{"location":"modules/nextbus/#configuration","text":"If the transit agency exists on this UI, we can configure this module. https://retro.umoiq.com/ . To make JSON easier to read in the browser, try this chrome extension JSONView . To get the agency tag for your local transit agency, look through this list: https://webservices.umoiq.com/service/publicJSONFeed?command=agencyList Once you locate your transit agency tag, you can view the list of available bus routes and route tag by replacing with your agency tag from step 1. https://webservices.umoiq.com/service/publicJSONFeed?command=routeList&a= Once you locate your desired bus route, you can find the stopID you are interested in tracking by replacing with your transit agency tag from step 1 and by replacing with your desired route from step 2. https://webservices.umoiq.com/service/publicJSONFeed?command=routeConfig&a=&r= Once you have these 3 values, you can populate it in the yaml config.","title":"Configuration"},{"location":"modules/nextbus/#example","text":"Step 1: stl Step 2: 24E Step 3: 43428","title":"Example:"},{"location":"modules/nextbus/#would-result-in","text":"nextbus : enabled : true border : false agency : stl route : 24E stopID : 43428 position : top : 12 left : 0 width : 24 height : 2 refreshInterval : 20s","title":"Would result in:"},{"location":"modules/nextbus/#attributes","text":"Name Value agency Transit agency of your bus. Ex. `stl` from https://webservices.umoiq.com/service/publicJSONFeed?command=agencyList route Route Number of your bus. Ex. `24E` from https://webservices.umoiq.com/service/publicJSONFeed?command=routeList&a=stl stopID Your bus stop number. Ex. `43428` from: https://webservices.umoiq.com/service/publicJSONFeed?command=routeConfig&a=stl&r=24E","title":"Attributes"},{"location":"modules/nextbus/#screenshots","text":"The output format is | ETA [:] According to the above screenshot, the next #24 bus is in 16 minutes and 43 seconds.","title":"Screenshots"},{"location":"modules/nextbus/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/nextbus","title":"Source Code"},{"location":"modules/opsgenie/","text":"OpsGenie Shows OpsGenie on-call schedules. See Who is on Call API for details. Configuration Single Schedule opsgenie : apiKey : \"p0d13*********************************************c3\" displayEmpty : false enabled : true position : top : 2 left : 1 height : 2 width : 1 refreshInterval : 6h region : \"us\" schedule : \"Primary\" scheduleIdentifierType : \"id\" Multiple Schedules opsgenie : apiKey : \"p0d13*********************************************c3\" displayEmpty : false enabled : true position : top : 2 left : 1 height : 2 width : 1 refreshInterval : 6h region : \"us\" schedule : - \"Primary\" - \"Secondary\" scheduleIdentifierType : \"id\" Screenshots Attributes Name Value apiKey Your OpsGenie API key. Leave this blank to use the WTF_OPS_GENIE_API_KEY environment variable. displayEmpty Whether schedules with no assigned person on-call should be displayed. Default: true . true , false region The region of the servers to connect to. eu , us scheduleIdentifierType Type of the schedule identifier. id , name Source Code https://github.com/wtfutil/wtf/tree/master/modules/opsgenie","title":"OpsGenie"},{"location":"modules/opsgenie/#opsgenie","text":"Shows OpsGenie on-call schedules. See Who is on Call API for details.","title":"OpsGenie"},{"location":"modules/opsgenie/#configuration","text":"","title":"Configuration"},{"location":"modules/opsgenie/#single-schedule","text":"opsgenie : apiKey : \"p0d13*********************************************c3\" displayEmpty : false enabled : true position : top : 2 left : 1 height : 2 width : 1 refreshInterval : 6h region : \"us\" schedule : \"Primary\" scheduleIdentifierType : \"id\"","title":"Single Schedule"},{"location":"modules/opsgenie/#multiple-schedules","text":"opsgenie : apiKey : \"p0d13*********************************************c3\" displayEmpty : false enabled : true position : top : 2 left : 1 height : 2 width : 1 refreshInterval : 6h region : \"us\" schedule : - \"Primary\" - \"Secondary\" scheduleIdentifierType : \"id\"","title":"Multiple Schedules"},{"location":"modules/opsgenie/#screenshots","text":"","title":"Screenshots"},{"location":"modules/opsgenie/#attributes","text":"Name Value apiKey Your OpsGenie API key. Leave this blank to use the WTF_OPS_GENIE_API_KEY environment variable. displayEmpty Whether schedules with no assigned person on-call should be displayed. Default: true . true , false region The region of the servers to connect to. eu , us scheduleIdentifierType Type of the schedule identifier. id , name","title":"Attributes"},{"location":"modules/opsgenie/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/opsgenie","title":"Source Code"},{"location":"modules/pagerduty/","text":"PagerDuty Shows Pagerduty on-call schedules. Configuration pagerduty : apiKey : \"p0d13*********************************************c3\" enabled : true escalationFilter : - \"client-eng\" position : top : 4 left : 3 height : 1 width : 2 scheduleIDs : - \"R2D24CD\" - \"C3P05MF\" showIncidents : true showOnCallEnd : true showSchedules : true Attributes Name Value apiKey Your PagerDuty API key. Leave this blank to use the WTF_PAGERDUTY_API_KEY environment variable. escalationFilter An array of schedule names you want to filter on. {{ value }} scheduleIDs An array of schedule IDs you want to restrict the query to. {{ value }} showIncidents Optional Whether or not to list incidents. Default: true . true , false showOnCallEnd Optional Whether or not to display the end date of the oncall rotation. Default: false . true , false showSchedules Optional Whether or not to show schedules. Default: true . true , false teamIDs Optional An array of team IDs to restrict the incidents query to. userIDs Optional An array of user IDs to restrict the incidents query to. Source Code https://github.com/wtfutil/wtf/tree/master/modules/pagerduty","title":"PagerDuty"},{"location":"modules/pagerduty/#pagerduty","text":"Shows Pagerduty on-call schedules.","title":"PagerDuty"},{"location":"modules/pagerduty/#configuration","text":"pagerduty : apiKey : \"p0d13*********************************************c3\" enabled : true escalationFilter : - \"client-eng\" position : top : 4 left : 3 height : 1 width : 2 scheduleIDs : - \"R2D24CD\" - \"C3P05MF\" showIncidents : true showOnCallEnd : true showSchedules : true","title":"Configuration"},{"location":"modules/pagerduty/#attributes","text":"Name Value apiKey Your PagerDuty API key. Leave this blank to use the WTF_PAGERDUTY_API_KEY environment variable. escalationFilter An array of schedule names you want to filter on. {{ value }} scheduleIDs An array of schedule IDs you want to restrict the query to. {{ value }} showIncidents Optional Whether or not to list incidents. Default: true . true , false showOnCallEnd Optional Whether or not to display the end date of the oncall rotation. Default: false . true , false showSchedules Optional Whether or not to show schedules. Default: true . true , false teamIDs Optional An array of team IDs to restrict the incidents query to. userIDs Optional An array of user IDs to restrict the incidents query to.","title":"Attributes"},{"location":"modules/pagerduty/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/pagerduty","title":"Source Code"},{"location":"modules/pihole/","text":"Pihole Displays information about a running Pi-hole server. Configuration pihole : apiUrl : http://192.168.1.100:1010/admin/api.php enabled : true maxClientWidth : 20 maxDomainWidth : 20 position : top : 5 left : 0 height : 2 width : 2 refreshInterval : 1m showSummary : true showTopItems : 5 showTopClients : 5 token : atvvedmpyat8140rnhodrok3qr58d8ph85wl6wk1rpb9upiwx1tl6eittz403pqaj Screenshots Attributes Name Value apiUrl The Pi-Hole API Server URL. Typically: http:// /admin/api.php maxClientWidth Optional Number of characters to display when outputting query and ad domain names. Default: 20 Any positive integer. maxDomainWidth Optional Number of characters to display when outputting client name and IP. Default: 20 . Any positive integer. showSummary Show summary. Default: true . true , false showTopItems Optional Number of Top Queries and Top Ads to display. 0 disables the output. Default: 5 . Any positive integer. showTopClients Optional Number of Top Sources and Query Types to display. 0 disables the output. Default: 5 . Any positive integer. token Navigate to http:// /admin/settings.php?tab=api and choose 'Show API Token' Source Code https://github.com/wtfutil/wtf/tree/master/modules/pihole","title":"Pihole"},{"location":"modules/pihole/#pihole","text":"Displays information about a running Pi-hole server.","title":"Pihole"},{"location":"modules/pihole/#configuration","text":"pihole : apiUrl : http://192.168.1.100:1010/admin/api.php enabled : true maxClientWidth : 20 maxDomainWidth : 20 position : top : 5 left : 0 height : 2 width : 2 refreshInterval : 1m showSummary : true showTopItems : 5 showTopClients : 5 token : atvvedmpyat8140rnhodrok3qr58d8ph85wl6wk1rpb9upiwx1tl6eittz403pqaj","title":"Configuration"},{"location":"modules/pihole/#screenshots","text":"","title":"Screenshots"},{"location":"modules/pihole/#attributes","text":"Name Value apiUrl The Pi-Hole API Server URL. Typically: http:// /admin/api.php maxClientWidth Optional Number of characters to display when outputting query and ad domain names. Default: 20 Any positive integer. maxDomainWidth Optional Number of characters to display when outputting client name and IP. Default: 20 . Any positive integer. showSummary Show summary. Default: true . true , false showTopItems Optional Number of Top Queries and Top Ads to display. 0 disables the output. Default: 5 . Any positive integer. showTopClients Optional Number of Top Sources and Query Types to display. 0 disables the output. Default: 5 . Any positive integer. token Navigate to http:// /admin/settings.php?tab=api and choose 'Show API Token'","title":"Attributes"},{"location":"modules/pihole/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/pihole","title":"Source Code"},{"location":"modules/pocket/","text":"Pocket Displays Pocket Saved Articles. Configuration pocket : enabled : true position : top : 0 left : 3 height : 4 width : 2 consumerKey : '88*******************' refreshInterval : 1s Attributes Name Value consumer_key The consumer key of Pocket app obtained from https://getpocket.com/developer/apps/new . Make sure to have add , modify , and retrieve permissions. Keyboard Key Action / Open/close the widget's help modal [return] Open the article in the browser a Toggle link archive/unarchive j Select the next item in the list k Select the previous item in the list t Toggle view archived links/active links \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/pocket","title":"Pocket"},{"location":"modules/pocket/#pocket","text":"Displays Pocket Saved Articles.","title":"Pocket"},{"location":"modules/pocket/#configuration","text":"pocket : enabled : true position : top : 0 left : 3 height : 4 width : 2 consumerKey : '88*******************' refreshInterval : 1s","title":"Configuration"},{"location":"modules/pocket/#attributes","text":"Name Value consumer_key The consumer key of Pocket app obtained from https://getpocket.com/developer/apps/new . Make sure to have add , modify , and retrieve permissions.","title":"Attributes"},{"location":"modules/pocket/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Open the article in the browser a Toggle link archive/unarchive j Select the next item in the list k Select the previous item in the list t Toggle view archived links/active links \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/pocket/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/pocket","title":"Source Code"},{"location":"modules/power/","text":"Power Displays information about the current power source. For battery, also displays the current charge, estimated time remaining, and whether it is charging or discharging. Configuration power : enabled : true position : top : 5 left : 0 height : 2 width : 1 refreshInterval : 15s Screenshots Source Code https://github.com/wtfutil/wtf/tree/master/modules/power Dependencies Linux upower FreeBSD apm MacOS pmset","title":"Power"},{"location":"modules/power/#power","text":"Displays information about the current power source. For battery, also displays the current charge, estimated time remaining, and whether it is charging or discharging.","title":"Power"},{"location":"modules/power/#configuration","text":"power : enabled : true position : top : 5 left : 0 height : 2 width : 1 refreshInterval : 15s","title":"Configuration"},{"location":"modules/power/#screenshots","text":"","title":"Screenshots"},{"location":"modules/power/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/power","title":"Source Code"},{"location":"modules/power/#dependencies","text":"","title":"Dependencies"},{"location":"modules/power/#linux","text":"upower","title":"Linux"},{"location":"modules/power/#freebsd","text":"apm","title":"FreeBSD"},{"location":"modules/power/#macos","text":"pmset","title":"MacOS"},{"location":"modules/resourceusage/","text":"Resource Usage Displays CPU and memory usage. Configuration resourceusage : cpuCombined : false enabled : true position : top : 1 left : 1 height : 1 width : 1 refreshInterval : 1s showCPU : true showMem : true showSwp : true Screenshots Attributes Name Value cpuCombined Optional Whether or not to display the CPUs as one combined value. Default: false . true , false graphIcon Optional The character to use to display stars in the graph. Default: | . Any visible alphanumeric character. graphStars Optional The maximum number of stars to display in the graph. Default: 20 . Any positive integer. showCPU Optional Whether or not to display the CPU usage. Default: true . true , false showMem Optional Whether or not to display the memory usage. Default: true . true , false showSwp Optional Whether or not to display the swap memory usage. Default: true . true , false Source Code https://github.com/wtfutil/wtf/tree/master/modules/resourceusage","title":"Resource Usage"},{"location":"modules/resourceusage/#resource-usage","text":"Displays CPU and memory usage.","title":"Resource Usage"},{"location":"modules/resourceusage/#configuration","text":"resourceusage : cpuCombined : false enabled : true position : top : 1 left : 1 height : 1 width : 1 refreshInterval : 1s showCPU : true showMem : true showSwp : true","title":"Configuration"},{"location":"modules/resourceusage/#screenshots","text":"","title":"Screenshots"},{"location":"modules/resourceusage/#attributes","text":"Name Value cpuCombined Optional Whether or not to display the CPUs as one combined value. Default: false . true , false graphIcon Optional The character to use to display stars in the graph. Default: | . Any visible alphanumeric character. graphStars Optional The maximum number of stars to display in the graph. Default: 20 . Any positive integer. showCPU Optional Whether or not to display the CPU usage. Default: true . true , false showMem Optional Whether or not to display the memory usage. Default: true . true , false showSwp Optional Whether or not to display the swap memory usage. Default: true . true , false","title":"Attributes"},{"location":"modules/resourceusage/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/resourceusage","title":"Source Code"},{"location":"modules/rollbar/","text":"Rollbar Displays item information for your rollbar account. Configuration rollbar : accessToken : \"d23*******************************************3r2\" enabled : true projectOwner : \"ENCOM\" projectName : \"MCP\" activeOnly : true assignedToName : \"dillinger\" count : 3 position : top : 4 left : 1 height : 2 width : 2 refreshInterval : 15m Screenshots Attributes Name Value accessToken Your Rollbar project access token (only needs read capabilities). activeOnly Optional Only show items that are active. true , false assignedToName Optional Set this to your username if you only want to see items assigned to you. count Optional How many items you want to see. 100 is max. Any positive integer up to 100 inclusive. projectName This is used to create a link to the item. projectOwner This is used to create a link to the item. Keyboard Key Action / Open/close the widget's help modal [return] Display the selected item in the browser j Select the next item in the list k Select the previous item in the list r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/rollbar","title":"Rollbar"},{"location":"modules/rollbar/#rollbar","text":"Displays item information for your rollbar account.","title":"Rollbar"},{"location":"modules/rollbar/#configuration","text":"rollbar : accessToken : \"d23*******************************************3r2\" enabled : true projectOwner : \"ENCOM\" projectName : \"MCP\" activeOnly : true assignedToName : \"dillinger\" count : 3 position : top : 4 left : 1 height : 2 width : 2 refreshInterval : 15m","title":"Configuration"},{"location":"modules/rollbar/#screenshots","text":"","title":"Screenshots"},{"location":"modules/rollbar/#attributes","text":"Name Value accessToken Your Rollbar project access token (only needs read capabilities). activeOnly Optional Only show items that are active. true , false assignedToName Optional Set this to your username if you only want to see items assigned to you. count Optional How many items you want to see. 100 is max. Any positive integer up to 100 inclusive. projectName This is used to create a link to the item. projectOwner This is used to create a link to the item.","title":"Attributes"},{"location":"modules/rollbar/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Display the selected item in the browser j Select the next item in the list k Select the previous item in the list r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/rollbar/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/rollbar","title":"Source Code"},{"location":"modules/security/","text":"Security Displays some general information about the state of the machine's wifi connection, firewall, DNS settings, and logged-in users. Wifi Network The name of the current network Whether or not the network uses encryption and if so, what flavour Firewall Whether or not the firewall is enabled Whether or not Stealth Mode is enabled DNS Which DNS resolvers (servers) the machine is configured to use Users Which users are logged into the machine. Note: Does not yet show hidden users. Configuration security : enabled : true position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 1h Screenshots For Linux Firewall Users For most Linux distributions, to get the correct firewall settings by default, the program needs to be run as root. This is obviously a bad idea. Here's is one potetial solution: sudo visudo -f /etc/sudoers.d/ufwstatus # Then add the following to that file: # We need to add the \"full\" command as alias: Cmnd_Alias UFWSTATUS = /usr/sbin/ufw status # Group privilege specification %ufwstatus ALL = NOPASSWD: UFWSTATUS Now run: # Add new group: \"ufwstatus\" sudo groupadd -r ufwstatus # Add the username (here \"xxxx\") to the \"ufwstatus\" group sudo gpasswd --add xxxx ufwstatus # We add all \"root\" user sbin paths for convenience export PATH = ${ PATH } :/usr/local/sbin:/usr/sbin:/sbin Source Code https://github.com/wtfutil/wtf/tree/master/modules/security","title":"Security"},{"location":"modules/security/#security","text":"Displays some general information about the state of the machine's wifi connection, firewall, DNS settings, and logged-in users.","title":"Security"},{"location":"modules/security/#wifi-network","text":"The name of the current network Whether or not the network uses encryption and if so, what flavour","title":"Wifi Network"},{"location":"modules/security/#firewall","text":"Whether or not the firewall is enabled Whether or not Stealth Mode is enabled","title":"Firewall"},{"location":"modules/security/#dns","text":"Which DNS resolvers (servers) the machine is configured to use","title":"DNS"},{"location":"modules/security/#users","text":"Which users are logged into the machine. Note: Does not yet show hidden users.","title":"Users"},{"location":"modules/security/#configuration","text":"security : enabled : true position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 1h","title":"Configuration"},{"location":"modules/security/#screenshots","text":"","title":"Screenshots"},{"location":"modules/security/#for-linux-firewall-users","text":"For most Linux distributions, to get the correct firewall settings by default, the program needs to be run as root. This is obviously a bad idea. Here's is one potetial solution: sudo visudo -f /etc/sudoers.d/ufwstatus # Then add the following to that file: # We need to add the \"full\" command as alias: Cmnd_Alias UFWSTATUS = /usr/sbin/ufw status # Group privilege specification %ufwstatus ALL = NOPASSWD: UFWSTATUS Now run: # Add new group: \"ufwstatus\" sudo groupadd -r ufwstatus # Add the username (here \"xxxx\") to the \"ufwstatus\" group sudo gpasswd --add xxxx ufwstatus # We add all \"root\" user sbin paths for convenience export PATH = ${ PATH } :/usr/local/sbin:/usr/sbin:/sbin","title":"For Linux Firewall Users"},{"location":"modules/security/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/security","title":"Source Code"},{"location":"modules/spotify/","text":"Spotify Control the Spotify client. Configuration spotify : enabled : true colors : label : \"green\" text : \"white\" position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 0 Attributes Name Value colors.label Optional The color for labels. Default: green . Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.text Optional The color for text. Default: white . Any X11 color name or long-form hex value (i.e.: #ff0000 ). Keyboard Key Action / Open/close the widget's help modal [return] Open the selected item in the browser [space] Play/pause the currently-selected song h Play previous song l Play next song r Refresh the data Source Code https://github.com/wtfutil/wtf/tree/master/modules/spotify","title":"Spotify"},{"location":"modules/spotify/#spotify","text":"Control the Spotify client.","title":"Spotify"},{"location":"modules/spotify/#configuration","text":"spotify : enabled : true colors : label : \"green\" text : \"white\" position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 0","title":"Configuration"},{"location":"modules/spotify/#attributes","text":"Name Value colors.label Optional The color for labels. Default: green . Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.text Optional The color for text. Default: white . Any X11 color name or long-form hex value (i.e.: #ff0000 ).","title":"Attributes"},{"location":"modules/spotify/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Open the selected item in the browser [space] Play/pause the currently-selected song h Play previous song l Play next song r Refresh the data","title":"Keyboard"},{"location":"modules/spotify/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/spotify","title":"Source Code"},{"location":"modules/subreddit/","text":"Subreddit Displays stories from a specific subreddit. Configuration subreddit : enabled : true numberOfPosts : 10 position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 15m sortOrder : top subreddit : \"news\" topTimePeriod : month Screenshots Attributes Name Value numberOfPosts Optional Defines number of stories to be displayed. Default: 10 . Note that the module only makes one request, so the maximum is 25. Any positive integer equal to or less than 25. sortOrder Optional Defines the order to sort the posts in the subreddit. Default: hot . new , top , hot subreddit The subreddit to display links from. topTimePeriod Optional Defines the time period to choose top posts from. Default: all . hour , day , week , month , year , all Keyboard Key Action / Open/close the widget's help modal [return] Open the selected link in the browser c Open the selected link's Reddit comments in the browser j Select the next item in the list k Select the previous item in the list o Open the selected link in the browser r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/subreddit","title":"Subreddit"},{"location":"modules/subreddit/#subreddit","text":"Displays stories from a specific subreddit.","title":"Subreddit"},{"location":"modules/subreddit/#configuration","text":"subreddit : enabled : true numberOfPosts : 10 position : top : 4 left : 1 height : 1 width : 2 refreshInterval : 15m sortOrder : top subreddit : \"news\" topTimePeriod : month","title":"Configuration"},{"location":"modules/subreddit/#screenshots","text":"","title":"Screenshots"},{"location":"modules/subreddit/#attributes","text":"Name Value numberOfPosts Optional Defines number of stories to be displayed. Default: 10 . Note that the module only makes one request, so the maximum is 25. Any positive integer equal to or less than 25. sortOrder Optional Defines the order to sort the posts in the subreddit. Default: hot . new , top , hot subreddit The subreddit to display links from. topTimePeriod Optional Defines the time period to choose top posts from. Default: all . hour , day , week , month , year , all","title":"Attributes"},{"location":"modules/subreddit/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Open the selected link in the browser c Open the selected link's Reddit comments in the browser j Select the next item in the list k Select the previous item in the list o Open the selected link in the browser r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/subreddit/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/subreddit","title":"Source Code"},{"location":"modules/textfile/","text":"Textfile Displays the contents of the specified text file in the widget. Configuration textfile : enabled : true filePaths : - \"~/Desktop/notes.md\" - \"~/.config/wtf/config.yml\" format : true formatStyle : \"dracula\" position : top : 5 left : 4 height : 2 width : 1 refreshInterval : 15s wrapText : true Screenshots Attributes Attributes Name Value filePaths An array of paths to the files to be displayed in the widget. format Optional Whether or not to try and format and syntax highlight the displayedtext. Default: false true , false formatStyle Optional The style of syntax highlighting to format the text with. Default: vim See Chroma styles for all valid options. wrapText Optional Whether or not to wrap the text when it hits the widget boundary. Default: true . true , false Keyboard Key Action / Open/close the widget's help modal [return] Opens the text file in whichever text editor is associated with that file type h Select the previous file l Select the next file o Opens the text file in whichever text editor is associated with that file type r Refresh the data \u2190 {{ arrowback }}Select the previous file \u2192 {{ arrowfore }}Select the next file Source Code https://github.com/wtfutil/wtf/tree/master/modules/textfile","title":"Textfile"},{"location":"modules/textfile/#textfile","text":"Displays the contents of the specified text file in the widget.","title":"Textfile"},{"location":"modules/textfile/#configuration","text":"textfile : enabled : true filePaths : - \"~/Desktop/notes.md\" - \"~/.config/wtf/config.yml\" format : true formatStyle : \"dracula\" position : top : 5 left : 4 height : 2 width : 1 refreshInterval : 15s wrapText : true","title":"Configuration"},{"location":"modules/textfile/#screenshots","text":"","title":"Screenshots"},{"location":"modules/textfile/#attributes","text":"","title":"Attributes"},{"location":"modules/textfile/#attributes_1","text":"Name Value filePaths An array of paths to the files to be displayed in the widget. format Optional Whether or not to try and format and syntax highlight the displayedtext. Default: false true , false formatStyle Optional The style of syntax highlighting to format the text with. Default: vim See Chroma styles for all valid options. wrapText Optional Whether or not to wrap the text when it hits the widget boundary. Default: true . true , false","title":"Attributes"},{"location":"modules/textfile/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Opens the text file in whichever text editor is associated with that file type h Select the previous file l Select the next file o Opens the text file in whichever text editor is associated with that file type r Refresh the data \u2190 {{ arrowback }}Select the previous file \u2192 {{ arrowfore }}Select the next file","title":"Keyboard"},{"location":"modules/textfile/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/textfile","title":"Source Code"},{"location":"modules/todo/","text":"Todo An interactive todo list. Configuration todo : checkedIcon : \"X\" colors : checked : gray highlight : fore : \"black\" back : \"orange\" enabled : true filename : \"todo.yml\" position : top : 2 left : 2 height : 2 width : 1 refreshInterval : 1h Screenshots Attributes Name Value colors.checked The foreground color for checked rows. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.highlight.fore The foreground color for the currently-selected row. Any X11 color name . colors.highlight.back The background color for the currently-selected row. Any X11 color name . colors.tags The foreground color for tag text. Default: khaki Any X11 color name or long-form hex value (i.e.: #ff0000 ). checkedIcon Optional The icon used to denote a 'checked' todo item. Any displayable unicode character. checkedPos Optional The position at which the checkbox is shown. Default: first first , last , none dates.enabled Optional Whether or not the following date functionality is enabled. Default: true true , false dates.format Optional The format in which to display dates. Default: yyyy-mm-dd yyyy-mm-dd , yy-mm-dd , dd-mm-yy , dd-mm-yyyy , dd M yy , dd M yyyy dates.hideYearIfCurrent Optional Hide the year, if the todo item year is the current year. Default: true true , false dates.switchToInDays Optional The number of days in the future after which the todo item date is displayed as an absolute date. Default: 7 Any positive integer. dates.undatedAsDays Optional How many days into the future undated todo items should be considered 'due'. Default: 7 Any positive integer. filename The name for the todo file. Any valid filename, ideally ending in yml . newPos Optional The position into which new todo items are created. Default: first first , last tags.enabled Optional Whether or not to enable the tags feature. Default: true true , false tags.hide Optional A list of tags to hide by default. A comma-separated list of tags. tags.hiddenInTitle Optional Whether or not to display in the widget title the number of items currently hidden by tag filtering. Default: true true , false tags.pos Optional The position in the todo item text at which to display tags. Default: end start , end Keyboard Key Action / Open/close the widget's help modal # Open the tag-filtering modal dialog [esc] Remove focus from the selected item [esc] Close the modal item dialog without saving changes [return] Edit the selected item [return] Close the modal item dialog and save changes [space] Check/uncheck the selected item j Select the next item in the list k Select the previous item in the list n Create a new list item o Opens the todo list file in whichever text editor is associated with that file type r Refresh the data Ctrl-d Delete the selected item Ctrl-f Move the selected item to the top of the list Ctrl-j Move the selected item down the list Ctrl-k Move the selected item up the list Ctrl-l Move the selected item to the bottom of the list Tagging Todo supports tagging todo list items to provide contextual grouping and filtering. A tag is a string prefixed by the pound ( # ) symbol, included somewhere in the todo item text. Examples: \u276f buy groceries #chore \u276f #chore buy groceries \u276f #this also #works (two tags, #this and #works , text also ) To view only todo items associated with a specific tag, use the # key and enter the tag text in the modal dialog. Source Code https://github.com/wtfutil/wtf/tree/master/modules/todo","title":"Todo"},{"location":"modules/todo/#todo","text":"An interactive todo list.","title":"Todo"},{"location":"modules/todo/#configuration","text":"todo : checkedIcon : \"X\" colors : checked : gray highlight : fore : \"black\" back : \"orange\" enabled : true filename : \"todo.yml\" position : top : 2 left : 2 height : 2 width : 1 refreshInterval : 1h","title":"Configuration"},{"location":"modules/todo/#screenshots","text":"","title":"Screenshots"},{"location":"modules/todo/#attributes","text":"Name Value colors.checked The foreground color for checked rows. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.highlight.fore The foreground color for the currently-selected row. Any X11 color name . colors.highlight.back The background color for the currently-selected row. Any X11 color name . colors.tags The foreground color for tag text. Default: khaki Any X11 color name or long-form hex value (i.e.: #ff0000 ). checkedIcon Optional The icon used to denote a 'checked' todo item. Any displayable unicode character. checkedPos Optional The position at which the checkbox is shown. Default: first first , last , none dates.enabled Optional Whether or not the following date functionality is enabled. Default: true true , false dates.format Optional The format in which to display dates. Default: yyyy-mm-dd yyyy-mm-dd , yy-mm-dd , dd-mm-yy , dd-mm-yyyy , dd M yy , dd M yyyy dates.hideYearIfCurrent Optional Hide the year, if the todo item year is the current year. Default: true true , false dates.switchToInDays Optional The number of days in the future after which the todo item date is displayed as an absolute date. Default: 7 Any positive integer. dates.undatedAsDays Optional How many days into the future undated todo items should be considered 'due'. Default: 7 Any positive integer. filename The name for the todo file. Any valid filename, ideally ending in yml . newPos Optional The position into which new todo items are created. Default: first first , last tags.enabled Optional Whether or not to enable the tags feature. Default: true true , false tags.hide Optional A list of tags to hide by default. A comma-separated list of tags. tags.hiddenInTitle Optional Whether or not to display in the widget title the number of items currently hidden by tag filtering. Default: true true , false tags.pos Optional The position in the todo item text at which to display tags. Default: end start , end","title":"Attributes"},{"location":"modules/todo/#keyboard","text":"Key Action / Open/close the widget's help modal # Open the tag-filtering modal dialog [esc] Remove focus from the selected item [esc] Close the modal item dialog without saving changes [return] Edit the selected item [return] Close the modal item dialog and save changes [space] Check/uncheck the selected item j Select the next item in the list k Select the previous item in the list n Create a new list item o Opens the todo list file in whichever text editor is associated with that file type r Refresh the data Ctrl-d Delete the selected item Ctrl-f Move the selected item to the top of the list Ctrl-j Move the selected item down the list Ctrl-k Move the selected item up the list Ctrl-l Move the selected item to the bottom of the list","title":"Keyboard"},{"location":"modules/todo/#tagging","text":"Todo supports tagging todo list items to provide contextual grouping and filtering. A tag is a string prefixed by the pound ( # ) symbol, included somewhere in the todo item text. Examples: \u276f buy groceries #chore \u276f #chore buy groceries \u276f #this also #works (two tags, #this and #works , text also ) To view only todo items associated with a specific tag, use the # key and enter the tag text in the modal dialog.","title":"Tagging"},{"location":"modules/todo/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/todo","title":"Source Code"},{"location":"modules/todoist/","text":"Todoist Displays all items on specified project. Configuration todoist : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 0 left : 2 height : 1 width : 1 projects : - 122247497 refreshInterval : 1h Screenshots Attributes Name Value apiKey Your Todoist API key. Leave this blank to use the WTF_TODOIST_TOKEN environment variable. projects The todoist projects to fetch items from. The integer ID of the project. Keyboard Key Action / Open/close the widget's help modal [esc] Remove focus from the selected item c Close current item d Delete current item h Show the previous project j Select the next item in the list k Select the previous item in the list l Show the next project u Clear the current selection \u2190 {{ arrowback }}Show the previous project \u2192 {{ arrowfore }}Show the next project \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/todo_plus","title":"Todoist"},{"location":"modules/todoist/#todoist","text":"Displays all items on specified project.","title":"Todoist"},{"location":"modules/todoist/#configuration","text":"todoist : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 0 left : 2 height : 1 width : 1 projects : - 122247497 refreshInterval : 1h","title":"Configuration"},{"location":"modules/todoist/#screenshots","text":"","title":"Screenshots"},{"location":"modules/todoist/#attributes","text":"Name Value apiKey Your Todoist API key. Leave this blank to use the WTF_TODOIST_TOKEN environment variable. projects The todoist projects to fetch items from. The integer ID of the project.","title":"Attributes"},{"location":"modules/todoist/#keyboard","text":"Key Action / Open/close the widget's help modal [esc] Remove focus from the selected item c Close current item d Delete current item h Show the previous project j Select the next item in the list k Select the previous item in the list l Show the next project u Clear the current selection \u2190 {{ arrowback }}Show the previous project \u2192 {{ arrowfore }}Show the next project \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/todoist/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/todo_plus","title":"Source Code"},{"location":"modules/transmission/","text":"Transmission View and manage your Transmission bittorrent daemon. This widget shows you the currently-loaded torrents, their \"download complete\" percentage, and their seeding status. Configuration transmission : enabled : true host : \"192.168.1.5\" password : \"passwordpassword\" position : top : 4 left : 3 width : 2 height : 1 refreshInterval : 3s username : \"transmission\" Screenshots Attributes Name Value host The IP address of the machine that your Transmission daemon is running on. password Your Transmission password. The password you use to connect to your Transmission daemon. username Your Transmission username. The username you use to connect to your Transmission daemon. Key Action / Open/close the widget's help modal [return] Pause/resume the selected torrent j Select the next item in the list k Select the previous item in the list r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list Ctrl-d Delete the selected item Source Code https://github.com/wtfutil/wtf/tree/master/modules/transmission","title":"Transmission"},{"location":"modules/transmission/#transmission","text":"View and manage your Transmission bittorrent daemon. This widget shows you the currently-loaded torrents, their \"download complete\" percentage, and their seeding status.","title":"Transmission"},{"location":"modules/transmission/#configuration","text":"transmission : enabled : true host : \"192.168.1.5\" password : \"passwordpassword\" position : top : 4 left : 3 width : 2 height : 1 refreshInterval : 3s username : \"transmission\"","title":"Configuration"},{"location":"modules/transmission/#screenshots","text":"","title":"Screenshots"},{"location":"modules/transmission/#attributes","text":"Name Value host The IP address of the machine that your Transmission daemon is running on. password Your Transmission password. The password you use to connect to your Transmission daemon. username Your Transmission username. The username you use to connect to your Transmission daemon. Key Action / Open/close the widget's help modal [return] Pause/resume the selected torrent j Select the next item in the list k Select the previous item in the list r Refresh the data \u2193 Select the next item in the list \u2191 Select the previous item in the list Ctrl-d Delete the selected item","title":"Attributes"},{"location":"modules/transmission/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/transmission","title":"Source Code"},{"location":"modules/travisci/","text":"TravicCI Displays build information for your Travis CI account. Configuration This module pulls information from api.travis-ci.com (when pro: true ) or api.travis-ci.org (when pro: false ). travisci : apiKey : \"p0d13*********************************************c3\" enabled : true compact : true limit : 8 sort_by : \"id:desc\" position : top : 4 left : 1 height : 1 width : 2 pro : false refreshInterval : 15m Screenshots Attributes Name Value apiKey Your TravisCI API key. Leave this blank to use the WTF_TRAVIS_API_TOKEN environment variable. baseURL Optional Your TravisCI Enterprise API URL. A valid URL. Can also be set via the WTF_TRAVIS_BASE_URL environment variable. compact Optional When true, displays one line per build entry. When false, displays two lines per entry. Default: false true , false sort_by Optional Sortable by: id, created_at, started_at, finished_at, number, append :desc to any attribute to reverse order. The default value is id:desc . See https://developer.travis-ci.com/resource/builds for more information. pro Optional Determines whether or not this module will use the Pro version of Travis CI. true , false Source Code https://github.com/wtfutil/wtf/tree/master/modules/travisci","title":"TravisCI"},{"location":"modules/travisci/#travicci","text":"Displays build information for your Travis CI account.","title":"TravicCI"},{"location":"modules/travisci/#configuration","text":"This module pulls information from api.travis-ci.com (when pro: true ) or api.travis-ci.org (when pro: false ). travisci : apiKey : \"p0d13*********************************************c3\" enabled : true compact : true limit : 8 sort_by : \"id:desc\" position : top : 4 left : 1 height : 1 width : 2 pro : false refreshInterval : 15m","title":"Configuration"},{"location":"modules/travisci/#screenshots","text":"","title":"Screenshots"},{"location":"modules/travisci/#attributes","text":"Name Value apiKey Your TravisCI API key. Leave this blank to use the WTF_TRAVIS_API_TOKEN environment variable. baseURL Optional Your TravisCI Enterprise API URL. A valid URL. Can also be set via the WTF_TRAVIS_BASE_URL environment variable. compact Optional When true, displays one line per build entry. When false, displays two lines per entry. Default: false true , false sort_by Optional Sortable by: id, created_at, started_at, finished_at, number, append :desc to any attribute to reverse order. The default value is id:desc . See https://developer.travis-ci.com/resource/builds for more information. pro Optional Determines whether or not this module will use the Pro version of Travis CI. true , false","title":"Attributes"},{"location":"modules/travisci/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/travisci","title":"Source Code"},{"location":"modules/trello/","text":"Trello Displays all Trello cards on specified lists. Configuration Single Trello List trello : accessToken : \"d23*******************************************3r2\" apiKey : \"p0d13*********************************************c3\" board : Main enabled : true list : \"Todo\" position : height : 1 left : 2 top : 0 width : 1 refreshInterval : 1h username : myname Multiple Trello Lists If you want to monitor multiple Trello lists, use the following configuration (note the difference in list ): trello : accessToken : \"d23*******************************************3r2\" apiKey : \"p0d13*********************************************c3\" board : Main enabled : true list : [ \"Todo\" , \"Done\" ] position : height : 1 left : 2 top : 0 width : 1 refreshInterval : 1h username : myname Screenshots Attributes Name Value accessToken Your Trello access token. Leave empty to use the WTF_TRELLO_ACCESS_TOKEN environment variable. apiKey Your Trello API key. Leave this blank to use the WTF_TRELLO_API_KEY environment variable. board The name of the Trello board. list The Trello lists to fetch cards from. username Your Trello username. {{ undesc }} Source Code https://github.com/wtfutil/wtf/tree/master/modules/todo_plus","title":"Trello"},{"location":"modules/trello/#trello","text":"Displays all Trello cards on specified lists.","title":"Trello"},{"location":"modules/trello/#configuration","text":"","title":"Configuration"},{"location":"modules/trello/#single-trello-list","text":"trello : accessToken : \"d23*******************************************3r2\" apiKey : \"p0d13*********************************************c3\" board : Main enabled : true list : \"Todo\" position : height : 1 left : 2 top : 0 width : 1 refreshInterval : 1h username : myname","title":"Single Trello List"},{"location":"modules/trello/#multiple-trello-lists","text":"If you want to monitor multiple Trello lists, use the following configuration (note the difference in list ): trello : accessToken : \"d23*******************************************3r2\" apiKey : \"p0d13*********************************************c3\" board : Main enabled : true list : [ \"Todo\" , \"Done\" ] position : height : 1 left : 2 top : 0 width : 1 refreshInterval : 1h username : myname","title":"Multiple Trello Lists"},{"location":"modules/trello/#screenshots","text":"","title":"Screenshots"},{"location":"modules/trello/#attributes","text":"Name Value accessToken Your Trello access token. Leave empty to use the WTF_TRELLO_ACCESS_TOKEN environment variable. apiKey Your Trello API key. Leave this blank to use the WTF_TRELLO_API_KEY environment variable. board The name of the Trello board. list The Trello lists to fetch cards from. username Your Trello username. {{ undesc }}","title":"Attributes"},{"location":"modules/trello/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/todo_plus","title":"Source Code"},{"location":"modules/twitch/","text":"Twitch Displays twitch streams that are currently live on Twitch.tv . If you wish to see top live streams: Follow the steps here to create a twitch app. Save your clientId and clientSecret in your configuration file. If you wish to see your followed live streams: Perform the previous steps and continue from here until you receive a userAccessToken and userRefreshToken . Get your twitch userId from this site . Check which redirectURI you have for your app at twitch developer console . Save your userAccessToken , userRefreshToken , userId and redirectURI in your configuration file. Configuration twitch : enabled : true position : top : 1 left : 1 height : 1 width : 2 streams : \"top\" clientId : \"client id\" clientSecret : \"client secret\" userAccessToken : \"user access token\" userRefreshToken : \"user refresh token\" redirectURI : \"http://localhost:3000\" userId : 123456789 Attributes Name Value streams Which streams to display, top or followed . Default: top clientId Client ID of your twitch app. clientSecret Client secret of your twitch app. userAccessToken User access token gotten from accepting your twitch app. Required to fetch followed streams. userRefreshToken User refresh token gotten from accepting your twitch app. Required to fetch followed streams. redirectURI The redirect URI set for your twitch app. Required to fetch followed streams. userId Your twitch user ID. Required to fetch followed streams. Keyboard Key Action / Open/close the widget's help modal [esc] Cancel the selection [return] Open the selected stream in the browser s Open the selected stream via streamlink (https://github.com/streamlink/streamlink) \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/twitch","title":"Twitch"},{"location":"modules/twitch/#twitch","text":"Displays twitch streams that are currently live on Twitch.tv . If you wish to see top live streams: Follow the steps here to create a twitch app. Save your clientId and clientSecret in your configuration file. If you wish to see your followed live streams: Perform the previous steps and continue from here until you receive a userAccessToken and userRefreshToken . Get your twitch userId from this site . Check which redirectURI you have for your app at twitch developer console . Save your userAccessToken , userRefreshToken , userId and redirectURI in your configuration file.","title":"Twitch"},{"location":"modules/twitch/#configuration","text":"twitch : enabled : true position : top : 1 left : 1 height : 1 width : 2 streams : \"top\" clientId : \"client id\" clientSecret : \"client secret\" userAccessToken : \"user access token\" userRefreshToken : \"user refresh token\" redirectURI : \"http://localhost:3000\" userId : 123456789","title":"Configuration"},{"location":"modules/twitch/#attributes","text":"Name Value streams Which streams to display, top or followed . Default: top clientId Client ID of your twitch app. clientSecret Client secret of your twitch app. userAccessToken User access token gotten from accepting your twitch app. Required to fetch followed streams. userRefreshToken User refresh token gotten from accepting your twitch app. Required to fetch followed streams. redirectURI The redirect URI set for your twitch app. Required to fetch followed streams. userId Your twitch user ID. Required to fetch followed streams.","title":"Attributes"},{"location":"modules/twitch/#keyboard","text":"Key Action / Open/close the widget's help modal [esc] Cancel the selection [return] Open the selected stream in the browser s Open the selected stream via streamlink (https://github.com/streamlink/streamlink) \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/twitch/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/twitch","title":"Source Code"},{"location":"modules/updown/","text":"Updown Connect to the Updown API. Configuration updown : type : updown apiKey : \"XXXX\" tokens : - YYYY position : top : 0 left : 1 height : 2 width : 1 Screenshots Attributes Name Value apiKey Your Updown API key. Leave this blank to use the WTF_UPDOWN_APIKEY environment variable. apiKey Updown read-only API-key string tokens Only show checks with specified tokens list Source Code https://github.com/wtfutil/wtf/tree/master/modules/updown","title":"Updown"},{"location":"modules/updown/#updown","text":"Connect to the Updown API.","title":"Updown"},{"location":"modules/updown/#configuration","text":"updown : type : updown apiKey : \"XXXX\" tokens : - YYYY position : top : 0 left : 1 height : 2 width : 1","title":"Configuration"},{"location":"modules/updown/#screenshots","text":"","title":"Screenshots"},{"location":"modules/updown/#attributes","text":"Name Value apiKey Your Updown API key. Leave this blank to use the WTF_UPDOWN_APIKEY environment variable. apiKey Updown read-only API-key string tokens Only show checks with specified tokens list","title":"Attributes"},{"location":"modules/updown/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/updown","title":"Source Code"},{"location":"modules/uptimerobot/","text":"UptimeRobot Connect to the UptimeRobot API. Configuration uptimerobot : apiKey : \"p0d13*********************************************c3\" enabled : true offlineFirst : true position : top : 0 left : 1 height : 2 width : 1 refreshInterval : 1h uptimePeriods : 7-30 Attributes Name Value apiKey Your UptimeRobot API key. Leave this blank to use the WTF_UPTIMEROBOT_APIKEY environment variable. offlineFirst Optional Display offline monitors at the top. true , false uptimePeriods Optional he periods over which to display uptime (in days, dash-separated). Source Code https://github.com/wtfutil/wtf/tree/master/modules/uptimerobot","title":"UptimeRobot"},{"location":"modules/uptimerobot/#uptimerobot","text":"Connect to the UptimeRobot API.","title":"UptimeRobot"},{"location":"modules/uptimerobot/#configuration","text":"uptimerobot : apiKey : \"p0d13*********************************************c3\" enabled : true offlineFirst : true position : top : 0 left : 1 height : 2 width : 1 refreshInterval : 1h uptimePeriods : 7-30","title":"Configuration"},{"location":"modules/uptimerobot/#attributes","text":"Name Value apiKey Your UptimeRobot API key. Leave this blank to use the WTF_UPTIMEROBOT_APIKEY environment variable. offlineFirst Optional Display offline monitors at the top. true , false uptimePeriods Optional he periods over which to display uptime (in days, dash-separated).","title":"Attributes"},{"location":"modules/uptimerobot/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/uptimerobot","title":"Source Code"},{"location":"modules/urlcheck/","text":"Urlcheck Checks if your URLs are responding. This module will continously request the headers for a given list of URLs and then displays theirs status codes. Configuration urlcheck : enabled : true timeout : 25 urls : - http://go.dev # ok - https://wtfutil.com # ok - wtfutil.com # invalid url - http://www.nope.nope # dns error - https://httpbin.org/status/500 # Internal server error position : top : 0 left : 0 height : 1 width : 1 refreshInterval : 30 Screenshots Attributes Name Value timeout Optional The amountof time allowed to a single request to complete. Default: 30 . A positive integer. urls Required The URLs to be requested. The protocol is required too (Ex.: http://go.dev). A list of strings. Logging These events will be logged in the standard logger: * Timeouts, * DNS lookup errors, * other generals Request errors. Source Code https://github.com/wtfutil/wtf/tree/master/modules/urlcheck","title":"Urlcheck"},{"location":"modules/urlcheck/#urlcheck","text":"Checks if your URLs are responding. This module will continously request the headers for a given list of URLs and then displays theirs status codes.","title":"Urlcheck"},{"location":"modules/urlcheck/#configuration","text":"urlcheck : enabled : true timeout : 25 urls : - http://go.dev # ok - https://wtfutil.com # ok - wtfutil.com # invalid url - http://www.nope.nope # dns error - https://httpbin.org/status/500 # Internal server error position : top : 0 left : 0 height : 1 width : 1 refreshInterval : 30","title":"Configuration"},{"location":"modules/urlcheck/#screenshots","text":"","title":"Screenshots"},{"location":"modules/urlcheck/#attributes","text":"Name Value timeout Optional The amountof time allowed to a single request to complete. Default: 30 . A positive integer. urls Required The URLs to be requested. The protocol is required too (Ex.: http://go.dev). A list of strings.","title":"Attributes"},{"location":"modules/urlcheck/#logging","text":"These events will be logged in the standard logger: * Timeouts, * DNS lookup errors, * other generals Request errors.","title":"Logging"},{"location":"modules/urlcheck/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/urlcheck","title":"Source Code"},{"location":"modules/victorops/","text":"VictorOps Connects to the VictorOps API and determines who is on call. Configuration victorops : apiID : a3c5dd63 apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 0 left : 1 height : 2 width : 1 refreshInterval : 1h team : devops Attributes Name Value apiID Your VictorOps API ID token. Leave this empty to use the WTF_VICTOROPS_API_ID environment variable. apiKey Your VictorOps API key. Leave this blank to use the WTF_VICTOROPS_API_KEY environment variable. team Optional Whether or not to only show a specific team. Default: all teams are shown. The team slug that can be found in the URL after /#/team/ . Source Code https://github.com/wtfutil/wtf/tree/master/modules/victorops","title":"VictorOps"},{"location":"modules/victorops/#victorops","text":"Connects to the VictorOps API and determines who is on call.","title":"VictorOps"},{"location":"modules/victorops/#configuration","text":"victorops : apiID : a3c5dd63 apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 0 left : 1 height : 2 width : 1 refreshInterval : 1h team : devops","title":"Configuration"},{"location":"modules/victorops/#attributes","text":"Name Value apiID Your VictorOps API ID token. Leave this empty to use the WTF_VICTOROPS_API_ID environment variable. apiKey Your VictorOps API key. Leave this blank to use the WTF_VICTOROPS_API_KEY environment variable. team Optional Whether or not to only show a specific team. Default: all teams are shown. The team slug that can be found in the URL after /#/team/ .","title":"Attributes"},{"location":"modules/victorops/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/victorops","title":"Source Code"},{"location":"modules/zendesk/","text":"Zendesk Displays Zendesk tickets. Configuration zendesk : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 0 left : 2 height : 1 width : 1 status : \"new\" subdomain : \"your_domain\" username : \"your_email@acme.com\" Attributes Name Value apiKey Your Zendesk API key. Leave this blank to use the ZENDESK_API environment variable. status The status of tickets you want to retrieve. new , open , pending , hold subdomain Your Zendesk subdomain. Leave this empty to use the ZENDESK_SUBDOMAIN environment variable. username Your {{ service }} username. {{ undesc }} Keyboard Key Action / Open/close the widget's help modal [return] Open the selected ticket in the browser j Select the next item in the list k Select the previous item in the list \u2193 Select the next item in the list \u2191 Select the previous item in the list Source Code https://github.com/wtfutil/wtf/tree/master/modules/zendesk","title":"Zendesk"},{"location":"modules/zendesk/#zendesk","text":"Displays Zendesk tickets.","title":"Zendesk"},{"location":"modules/zendesk/#configuration","text":"zendesk : apiKey : \"p0d13*********************************************c3\" enabled : true position : top : 0 left : 2 height : 1 width : 1 status : \"new\" subdomain : \"your_domain\" username : \"your_email@acme.com\"","title":"Configuration"},{"location":"modules/zendesk/#attributes","text":"Name Value apiKey Your Zendesk API key. Leave this blank to use the ZENDESK_API environment variable. status The status of tickets you want to retrieve. new , open , pending , hold subdomain Your Zendesk subdomain. Leave this empty to use the ZENDESK_SUBDOMAIN environment variable. username Your {{ service }} username. {{ undesc }}","title":"Attributes"},{"location":"modules/zendesk/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Open the selected ticket in the browser j Select the next item in the list k Select the previous item in the list \u2193 Select the next item in the list \u2191 Select the previous item in the list","title":"Keyboard"},{"location":"modules/zendesk/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/zendesk","title":"Source Code"},{"location":"modules/cds/favorites/","text":"CDS Favorites Display runs of you CDS favorites workflows. Configuration cdsFavorites : enabled : true position : top : 0 left : 0 height : 2 width : 2 refreshInterval : 8s apiURL : https://api.cds.localhost.local token : xxxxxxxxxxxx hideTags : - \"git.repository\" - \"git.hash\" - \"triggered_by\" Screenshots Attributes Name Value apiURL Your CDS API URL. token Your CDS Consumer Token. hideTags A CDS Runs can have many \"cds tags\". You can hide some tags displayed. Source Code https://github.com/wtfutil/wtf/tree/master/modules/cds/favorites/","title":"CDS Favorites"},{"location":"modules/cds/favorites/#cds-favorites","text":"Display runs of you CDS favorites workflows.","title":"CDS Favorites"},{"location":"modules/cds/favorites/#configuration","text":"cdsFavorites : enabled : true position : top : 0 left : 0 height : 2 width : 2 refreshInterval : 8s apiURL : https://api.cds.localhost.local token : xxxxxxxxxxxx hideTags : - \"git.repository\" - \"git.hash\" - \"triggered_by\"","title":"Configuration"},{"location":"modules/cds/favorites/#screenshots","text":"","title":"Screenshots"},{"location":"modules/cds/favorites/#attributes","text":"Name Value apiURL Your CDS API URL. token Your CDS Consumer Token. hideTags A CDS Runs can have many \"cds tags\". You can hide some tags displayed.","title":"Attributes"},{"location":"modules/cds/favorites/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/cds/favorites/","title":"Source Code"},{"location":"modules/cds/queue/","text":"CDS Queue Display current CDS queue - waiting or building jobs. Configuration cdsQueue : enabled : true position : top : 0 left : 0 height : 3 width : 2 refreshInterval : 8s apiURL : https://api.cds.localhost.local token : xxxxxxxxxxxx Screenshots Attributes Name Value apiURL Your CDS API URL. token Your CDS Consumer Token. Source Code https://github.com/wtfutil/wtf/tree/master/modules/cds/queue/","title":"CDS Queue"},{"location":"modules/cds/queue/#cds-queue","text":"Display current CDS queue - waiting or building jobs.","title":"CDS Queue"},{"location":"modules/cds/queue/#configuration","text":"cdsQueue : enabled : true position : top : 0 left : 0 height : 3 width : 2 refreshInterval : 8s apiURL : https://api.cds.localhost.local token : xxxxxxxxxxxx","title":"Configuration"},{"location":"modules/cds/queue/#screenshots","text":"","title":"Screenshots"},{"location":"modules/cds/queue/#attributes","text":"Name Value apiURL Your CDS API URL. token Your CDS Consumer Token.","title":"Attributes"},{"location":"modules/cds/queue/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/cds/queue/","title":"Source Code"},{"location":"modules/cds/status/","text":"CDS Status Display current CDS status. This is useful for CDS Administrator only. Configuration cdsStatus : enabled : true position : top : 0 left : 0 height : 3 width : 2 refreshInterval : 8s apiURL : https://api.cds.localhost.local token : xxxxxxxxxxxx Screenshots Attributes Name Value apiURL Your CDS API URL. token Your CDS Consumer Token. Source Code https://github.com/wtfutil/wtf/tree/master/modules/cds/status/","title":"CDS Status"},{"location":"modules/cds/status/#cds-status","text":"Display current CDS status. This is useful for CDS Administrator only.","title":"CDS Status"},{"location":"modules/cds/status/#configuration","text":"cdsStatus : enabled : true position : top : 0 left : 0 height : 3 width : 2 refreshInterval : 8s apiURL : https://api.cds.localhost.local token : xxxxxxxxxxxx","title":"Configuration"},{"location":"modules/cds/status/#screenshots","text":"","title":"Screenshots"},{"location":"modules/cds/status/#attributes","text":"Name Value apiURL Your CDS API URL. token Your CDS Consumer Token.","title":"Attributes"},{"location":"modules/cds/status/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/cds/status/","title":"Source Code"},{"location":"modules/cryptocurrencies/bittrex/","text":"Bittrex Get the last 24 hour summary of cryptocurrencies market using Bittrex . Configuration bittrex : colors : base : name : orange displayName : red market : name : red field : white value : green enabled : true position : top : -2 left : 2 height : 3 width : 1 refreshInterval : 5s summary : BTC : displayName : Bitcoin market : - LTC - ETH Screenshots Attributes Name Value colors.base.dispayName Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.base.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.market.field Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.market.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.market.value Any X11 color name or long-form hex value (i.e.: #ff0000 ). Source Code https://github.com/wtfutil/wtf/tree/master/modules/cryptoexchanges/bittrex","title":"Bittrex"},{"location":"modules/cryptocurrencies/bittrex/#bittrex","text":"Get the last 24 hour summary of cryptocurrencies market using Bittrex .","title":"Bittrex"},{"location":"modules/cryptocurrencies/bittrex/#configuration","text":"bittrex : colors : base : name : orange displayName : red market : name : red field : white value : green enabled : true position : top : -2 left : 2 height : 3 width : 1 refreshInterval : 5s summary : BTC : displayName : Bitcoin market : - LTC - ETH","title":"Configuration"},{"location":"modules/cryptocurrencies/bittrex/#screenshots","text":"","title":"Screenshots"},{"location":"modules/cryptocurrencies/bittrex/#attributes","text":"Name Value colors.base.dispayName Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.base.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.market.field Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.market.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.market.value Any X11 color name or long-form hex value (i.e.: #ff0000 ).","title":"Attributes"},{"location":"modules/cryptocurrencies/bittrex/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/cryptoexchanges/bittrex","title":"Source Code"},{"location":"modules/cryptocurrencies/blockfolio/","text":"Blockfolio Display your Blockfolio crypto holdings. Configuration blockfolio : colors : name : blue grows : green drop : red device_token : \"device token\" displayHoldings : true enabled : true position : top : 3 left : 1 width : 1 height : 1 refreshInterval : 400s Screenshots Attributes Name Value colors.drop Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.grows Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). device_token See this gist for details on how to get your Blockfolio API token. Source Code https://github.com/wtfutil/wtf/tree/master/modules/cryptoexchanges/blockfolio","title":"Blockfolio"},{"location":"modules/cryptocurrencies/blockfolio/#blockfolio","text":"Display your Blockfolio crypto holdings.","title":"Blockfolio"},{"location":"modules/cryptocurrencies/blockfolio/#configuration","text":"blockfolio : colors : name : blue grows : green drop : red device_token : \"device token\" displayHoldings : true enabled : true position : top : 3 left : 1 width : 1 height : 1 refreshInterval : 400s","title":"Configuration"},{"location":"modules/cryptocurrencies/blockfolio/#screenshots","text":"","title":"Screenshots"},{"location":"modules/cryptocurrencies/blockfolio/#attributes","text":"Name Value colors.drop Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.grows Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). device_token See this gist for details on how to get your Blockfolio API token.","title":"Attributes"},{"location":"modules/cryptocurrencies/blockfolio/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/cryptoexchanges/blockfolio","title":"Source Code"},{"location":"modules/cryptocurrencies/cryptolive/","text":"CryptoLive Compare crypto currencies using CryptoCompare . Configuration cryptolive : enabled : true position : top : 5 left : 2 height : 1 width : 2 updateInterval : 15 currencies : BTC : displayName : Bitcoin to : - USD - EUR - ETH - LTC - DOGE LTC : displayName : Ethereum to : - USD - EUR - BTC top : BTC : displayName : Bitcoin limit : 5 to : - USD colors : from : name : coral displayName : grey to : name : white price : green top : from : name : grey displayName : coral to : name : red field : white value : green Screenshots Attributes Name Value colors.from.displayName Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.from.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.to.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.to.price Any X11 color name or long-form hex value (i.e.: #ff0000 ). currencies Source Code https://github.com/wtfutil/wtf/tree/master/modules/cryptoexchanges/cryptolive","title":"CryptoLive"},{"location":"modules/cryptocurrencies/cryptolive/#cryptolive","text":"Compare crypto currencies using CryptoCompare .","title":"CryptoLive"},{"location":"modules/cryptocurrencies/cryptolive/#configuration","text":"cryptolive : enabled : true position : top : 5 left : 2 height : 1 width : 2 updateInterval : 15 currencies : BTC : displayName : Bitcoin to : - USD - EUR - ETH - LTC - DOGE LTC : displayName : Ethereum to : - USD - EUR - BTC top : BTC : displayName : Bitcoin limit : 5 to : - USD colors : from : name : coral displayName : grey to : name : white price : green top : from : name : grey displayName : coral to : name : red field : white value : green","title":"Configuration"},{"location":"modules/cryptocurrencies/cryptolive/#screenshots","text":"","title":"Screenshots"},{"location":"modules/cryptocurrencies/cryptolive/#attributes","text":"Name Value colors.from.displayName Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.from.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.to.name Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.to.price Any X11 color name or long-form hex value (i.e.: #ff0000 ). currencies","title":"Attributes"},{"location":"modules/cryptocurrencies/cryptolive/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/cryptoexchanges/cryptolive","title":"Source Code"},{"location":"modules/cryptocurrencies/mempool/","text":"Mempool Get the current sat/vB prices to use for Bitcoin transactions using Mempool . Configuration Without borders width x height : 18 chars x 4 chars With borders 20 chars x 6 chars mempool : enabled : true border : false position : top : 1 left : 0 width : 9 height : 4 refreshInterval : 120 Screenshots Source Code https://github.com/wtfutil/wtf/tree/master/modules/cryptoexchanges/mempool","title":"Mempool"},{"location":"modules/cryptocurrencies/mempool/#mempool","text":"Get the current sat/vB prices to use for Bitcoin transactions using Mempool .","title":"Mempool"},{"location":"modules/cryptocurrencies/mempool/#configuration","text":"","title":"Configuration"},{"location":"modules/cryptocurrencies/mempool/#without-borders","text":"width x height : 18 chars x 4 chars","title":"Without borders"},{"location":"modules/cryptocurrencies/mempool/#with-borders","text":"20 chars x 6 chars mempool : enabled : true border : false position : top : 1 left : 0 width : 9 height : 4 refreshInterval : 120","title":"With borders"},{"location":"modules/cryptocurrencies/mempool/#screenshots","text":"","title":"Screenshots"},{"location":"modules/cryptocurrencies/mempool/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/cryptoexchanges/mempool","title":"Source Code"},{"location":"modules/google/analytics/","text":"Google Analytics Display website visitors information from Google Analytics API To make this work, you'll need a google API credential, link it to google analytics and find your website viewID. Open the Service accounts page and create a project named wtfutil. Navigation menu > IAM & admin > Service accounts Click add Create Service Account, enter a name (wtfutil) for the service account. The Service account permissions (optional) section that follows is not required. Click Continue. On the Grant users access to this service account screen, scroll down to the Create key section. Click add Create key. In the side panel that appears, select the format for your key: JSON. Click Create. Your new public/private key pair is generated and downloaded to your machine; it serves as the only copy of this key. Copy this json to indicated filepath in wtfutil googleanalytics module Configuration. Enable the Google Analytics APIS and Services (Navigation menu > APIS and Services > +Enable APIS and Services > Google Analytics Reporting API > Enable) The newly created service account will have an email address that looks similar to: something@PROJECT-ID.iam.gserviceaccount.com Use this email address to add a user to the Google analytics view you want to access via the API (admin > user management > add users). Only Read & Analyze permissions are needed. Get the website viewID and put it in the config file. Real Time Data This module also supports displaying the number of visitors on each view live via the Google Analytics Real Time Reporting API Beta. In order to use this feature, you must sign up for the beta and wait for your whitelist application to be approved (which takes less than 24 hours). Once you're approved, all you need to do is set enableRealtime: true in the module settings. Configuration googleanalytics : enabled : true enableRealtime : true months : 5 position : top : 0 left : 3 width : 2 height : 1 refreshInterval : 400s secretFile : \"~/.config/wtf/google_analytics/client_secret.json\" viewIds : tessellation : \"00000000\" dylanbartels.com : \"111111111\" Screenshots Name Value enableRealtime Optional When set to true , the live count of users on each listed view will be displayed in addition to historical visitor counts. This requires you to sign up for the Real Time Reporting API Beta. Default: false . true , false . months The number of months being displayed with website session data. Any positive integer. secretFile Your Google client secret JSON file. A string representing a file path to the JSON secret file. viewIds Website(s) who will be displayed in the module, label does not have to corresponding to the actual url. Value must be the google analytics viewID of the website. A string representing the viewID. Source Code https://github.com/wtfutil/wtf/tree/master/modules/googleanalytics","title":"Analytics"},{"location":"modules/google/analytics/#google-analytics","text":"Display website visitors information from Google Analytics API To make this work, you'll need a google API credential, link it to google analytics and find your website viewID. Open the Service accounts page and create a project named wtfutil. Navigation menu > IAM & admin > Service accounts Click add Create Service Account, enter a name (wtfutil) for the service account. The Service account permissions (optional) section that follows is not required. Click Continue. On the Grant users access to this service account screen, scroll down to the Create key section. Click add Create key. In the side panel that appears, select the format for your key: JSON. Click Create. Your new public/private key pair is generated and downloaded to your machine; it serves as the only copy of this key. Copy this json to indicated filepath in wtfutil googleanalytics module Configuration. Enable the Google Analytics APIS and Services (Navigation menu > APIS and Services > +Enable APIS and Services > Google Analytics Reporting API > Enable) The newly created service account will have an email address that looks similar to: something@PROJECT-ID.iam.gserviceaccount.com Use this email address to add a user to the Google analytics view you want to access via the API (admin > user management > add users). Only Read & Analyze permissions are needed. Get the website viewID and put it in the config file.","title":"Google Analytics"},{"location":"modules/google/analytics/#real-time-data","text":"This module also supports displaying the number of visitors on each view live via the Google Analytics Real Time Reporting API Beta. In order to use this feature, you must sign up for the beta and wait for your whitelist application to be approved (which takes less than 24 hours). Once you're approved, all you need to do is set enableRealtime: true in the module settings.","title":"Real Time Data"},{"location":"modules/google/analytics/#configuration","text":"googleanalytics : enabled : true enableRealtime : true months : 5 position : top : 0 left : 3 width : 2 height : 1 refreshInterval : 400s secretFile : \"~/.config/wtf/google_analytics/client_secret.json\" viewIds : tessellation : \"00000000\" dylanbartels.com : \"111111111\"","title":"Configuration"},{"location":"modules/google/analytics/#screenshots","text":"Name Value enableRealtime Optional When set to true , the live count of users on each listed view will be displayed in addition to historical visitor counts. This requires you to sign up for the Real Time Reporting API Beta. Default: false . true , false . months The number of months being displayed with website session data. Any positive integer. secretFile Your Google client secret JSON file. A string representing a file path to the JSON secret file. viewIds Website(s) who will be displayed in the module, label does not have to corresponding to the actual url. Value must be the google analytics viewID of the website. A string representing the viewID.","title":"Screenshots"},{"location":"modules/google/analytics/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/googleanalytics","title":"Source Code"},{"location":"modules/google/gcal/","text":"Google Calendar Displays your upcoming Google calendar events. Note: Setting up access to Google Calendars for Go is a bit unobvious. Check out Google's Go Quickstart , and follow Enable The Google Calendar API . The configuration file downloaded is the file you use for the secretFile configuration option. Configuration gcal : colors : title : \"red\" eventTime : \"lightblue\" description : \"yellow\" highlights : - [ '1on1|1\\/11' , 'green' ] - [ 'apple|google|aws' , 'blue' ] - [ 'interview|meet' , 'magenta' ] - [ 'lunch' , 'yellow' ] past : \"gray\" calendarReadLevel : \"reader\" conflictIcon : \"\ud83d\udea8\" currentIcon : \"\ud83d\udca5\" displayResponseStatus : true email : \"chriscummer@me.com\" enabled : true eventCount : 15 hourFormat : \"12\" multiCalendar : true position : top : 0 left : 0 height : 4 width : 1 refreshInterval : 5m secretFile : \"~/.config/wtf/gcal/client_secret.json\" showDeclined : true showEndTime : false timezone : \"America/Vancouver\" withLocation : true Screenshots Attributes Name Value colors.eventTime Optional The default color for calendar event time. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.description Optional The default color for calendar event description. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.past Optional The color for calendar events that have passed. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.title Optional The default colour for calendar event titles. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.highlights Optional A list of arrays that define a regular expression pattern and a color. If a calendar event title matches a regular expression, the title will be drawn in that colour. Over-rides the default title colour. A valid regular expression, or any X11 color name. calendarReadLevel Optional The calender read level specifies level you want to read events. Default: reader . reader , writer conflictIcon Optional The icon displayed beside calendar events that have conflicting times (they intersect or overlap in some way). Any displayable unicode character. currentIcon Optional The icon displayed beside the current calendar event. Any displayable unicode character. displayResponseStatus Optional Whether or not to display your response status to the calendar event. Default: true . true , false email The email address associated with your Google account. Necessary for determining responseStatus . A valid email address string. eventCount Optional The number of calendar events to display. Any positive integer. hourFormat Optional The format of the clock. Default: 24 . 12 , 24 . multiCalendar Optional Whether or not to display your primary calendar or all calendars you have access to. Default: false . true , false secretFile Your Google client secret JSON file. A string representing a file path to the JSON secret file. showDeclined Optional Whether or not to display events you\u2019ve declined to attend. Default: true . true , false showEndTime Optional Whether or not to display the event end time. Default: false . true , false timezone Optional The timezone to display calendar event times in. Any valid TZ database name . withLocation Optional Whether or not to show the location of the appointment. Default: true . true , false Source Code https://github.com/wtfutil/wtf/tree/master/modules/gcal","title":"Calendar"},{"location":"modules/google/gcal/#google-calendar","text":"Displays your upcoming Google calendar events. Note: Setting up access to Google Calendars for Go is a bit unobvious. Check out Google's Go Quickstart , and follow Enable The Google Calendar API . The configuration file downloaded is the file you use for the secretFile configuration option.","title":"Google Calendar"},{"location":"modules/google/gcal/#configuration","text":"gcal : colors : title : \"red\" eventTime : \"lightblue\" description : \"yellow\" highlights : - [ '1on1|1\\/11' , 'green' ] - [ 'apple|google|aws' , 'blue' ] - [ 'interview|meet' , 'magenta' ] - [ 'lunch' , 'yellow' ] past : \"gray\" calendarReadLevel : \"reader\" conflictIcon : \"\ud83d\udea8\" currentIcon : \"\ud83d\udca5\" displayResponseStatus : true email : \"chriscummer@me.com\" enabled : true eventCount : 15 hourFormat : \"12\" multiCalendar : true position : top : 0 left : 0 height : 4 width : 1 refreshInterval : 5m secretFile : \"~/.config/wtf/gcal/client_secret.json\" showDeclined : true showEndTime : false timezone : \"America/Vancouver\" withLocation : true","title":"Configuration"},{"location":"modules/google/gcal/#screenshots","text":"","title":"Screenshots"},{"location":"modules/google/gcal/#attributes","text":"Name Value colors.eventTime Optional The default color for calendar event time. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.description Optional The default color for calendar event description. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.past Optional The color for calendar events that have passed. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.title Optional The default colour for calendar event titles. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.highlights Optional A list of arrays that define a regular expression pattern and a color. If a calendar event title matches a regular expression, the title will be drawn in that colour. Over-rides the default title colour. A valid regular expression, or any X11 color name. calendarReadLevel Optional The calender read level specifies level you want to read events. Default: reader . reader , writer conflictIcon Optional The icon displayed beside calendar events that have conflicting times (they intersect or overlap in some way). Any displayable unicode character. currentIcon Optional The icon displayed beside the current calendar event. Any displayable unicode character. displayResponseStatus Optional Whether or not to display your response status to the calendar event. Default: true . true , false email The email address associated with your Google account. Necessary for determining responseStatus . A valid email address string. eventCount Optional The number of calendar events to display. Any positive integer. hourFormat Optional The format of the clock. Default: 24 . 12 , 24 . multiCalendar Optional Whether or not to display your primary calendar or all calendars you have access to. Default: false . true , false secretFile Your Google client secret JSON file. A string representing a file path to the JSON secret file. showDeclined Optional Whether or not to display events you\u2019ve declined to attend. Default: true . true , false showEndTime Optional Whether or not to display the event end time. Default: false . true , false timezone Optional The timezone to display calendar event times in. Any valid TZ database name . withLocation Optional Whether or not to show the location of the appointment. Default: true . true , false","title":"Attributes"},{"location":"modules/google/gcal/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/gcal","title":"Source Code"},{"location":"modules/google/spreadsheet/","text":"Google Spreadsheet Display information from cells in a Google Spreadsheet. Configuration gspreadsheets : colors : values : \"green\" cells : names : - \"Cell 1 name\" - \"Cell 2 name\" addresses : - \"A1\" - \"A2\" enabled : true position : top : 0 left : 0 width : 1 height : 1 refreshInterval : \"5m\" secretFile : \"~/.config/wtf/gspreadsheets/client_secret.json\" sheetId : \"id_of_google_spreadsheet\" Attributes Name Value colors.values Optional The color to display the cell values in. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.names Optional Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.addresses Optional Any X11 color name or long-form hex value (i.e.: #ff0000 ). secretFile Your Google client secret JSON file. A string representing a file path to the JSON secret file. Source Code https://github.com/wtfutil/wtf/tree/master/modules/gspreadsheets","title":"Spreadsheet"},{"location":"modules/google/spreadsheet/#google-spreadsheet","text":"Display information from cells in a Google Spreadsheet.","title":"Google Spreadsheet"},{"location":"modules/google/spreadsheet/#configuration","text":"gspreadsheets : colors : values : \"green\" cells : names : - \"Cell 1 name\" - \"Cell 2 name\" addresses : - \"A1\" - \"A2\" enabled : true position : top : 0 left : 0 width : 1 height : 1 refreshInterval : \"5m\" secretFile : \"~/.config/wtf/gspreadsheets/client_secret.json\" sheetId : \"id_of_google_spreadsheet\"","title":"Configuration"},{"location":"modules/google/spreadsheet/#attributes","text":"Name Value colors.values Optional The color to display the cell values in. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.names Optional Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.addresses Optional Any X11 color name or long-form hex value (i.e.: #ff0000 ). secretFile Your Google client secret JSON file. A string representing a file path to the JSON secret file.","title":"Attributes"},{"location":"modules/google/spreadsheet/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/gspreadsheets","title":"Source Code"},{"location":"modules/ipaddress/ipapi/","text":"IP-API Displays your current IP address information, from IP-API.com . Note: IP-API.com has a free-plan rate limit of 120 requests per minute. Configuration ipapi : colors : name : red value : white # Optional args : - \"ip\" - \"isp\" - \"as\" - \"city\" - \"regionName\" - \"country\" - \"continent\" - \"coordinates\" - \"organization\" - \"timezone\" - \"reverseDNS\" enabled : true position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 150s Attributes Name Value colors.name Optional The default colour for the row names. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.value Optional The default colour for the row values. Any X11 color name or long-form hex value (i.e.: #ff0000 ). args Optional The data to display and the order to display it in. See args table below. Args Value Description Example ip IP address 173.194.67.94 isp ISP name Google as AS number and organization, separated by space (RIR). Empty for IP blocks not being announced in BGP tables. AS15169 Google Inc. asName AS name (RIR). Empty for IP blocks not being announced in BGP tables. GOOGLE district District (subdivision of city) Old Farm District city City Mountain View region Region/state short code (FIPS or ISO) CA or 10 regionName Region/state California country Country name United States countryCode Two-letter country code ISO 3166-1 alpha-2 US continent Continent name North America continentCode Two-letter continent code NA coordinates Latitude and longitude 37.4192, -122.0574 postalCode Postal code 94043 currency National currency USD organization Organization name Google timezone Timezone (tz) America/Los_Angeles reverseDNS Reverse DNS of the IP wi-in-f94.1e100.net Source Code https://github.com/wtfutil/wtf/tree/master/modules/ipaddresses/ipapi","title":"IP API"},{"location":"modules/ipaddress/ipapi/#ip-api","text":"Displays your current IP address information, from IP-API.com . Note: IP-API.com has a free-plan rate limit of 120 requests per minute.","title":"IP-API"},{"location":"modules/ipaddress/ipapi/#configuration","text":"ipapi : colors : name : red value : white # Optional args : - \"ip\" - \"isp\" - \"as\" - \"city\" - \"regionName\" - \"country\" - \"continent\" - \"coordinates\" - \"organization\" - \"timezone\" - \"reverseDNS\" enabled : true position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 150s","title":"Configuration"},{"location":"modules/ipaddress/ipapi/#attributes","text":"Name Value colors.name Optional The default colour for the row names. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.value Optional The default colour for the row values. Any X11 color name or long-form hex value (i.e.: #ff0000 ). args Optional The data to display and the order to display it in. See args table below.","title":"Attributes"},{"location":"modules/ipaddress/ipapi/#args","text":"Value Description Example ip IP address 173.194.67.94 isp ISP name Google as AS number and organization, separated by space (RIR). Empty for IP blocks not being announced in BGP tables. AS15169 Google Inc. asName AS name (RIR). Empty for IP blocks not being announced in BGP tables. GOOGLE district District (subdivision of city) Old Farm District city City Mountain View region Region/state short code (FIPS or ISO) CA or 10 regionName Region/state California country Country name United States countryCode Two-letter country code ISO 3166-1 alpha-2 US continent Continent name North America continentCode Two-letter continent code NA coordinates Latitude and longitude 37.4192, -122.0574 postalCode Postal code 94043 currency National currency USD organization Organization name Google timezone Timezone (tz) America/Los_Angeles reverseDNS Reverse DNS of the IP wi-in-f94.1e100.net","title":"Args"},{"location":"modules/ipaddress/ipapi/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/ipaddresses/ipapi","title":"Source Code"},{"location":"modules/ipaddress/ipinfo/","text":"IP Info Displays your current IP address information, from ipinfo.io. Note: IPInfo.io has a free-plan rate limit of 1000 requests per day. Configuration ipinfo : colors : name : red value : white enabled : true position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 150s Screenshots Attributes Name Value colors.name Optional The default colour for the row names. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.value Optional The default colour for the row values. Any X11 color name or long-form hex value (i.e.: #ff0000 ). apiToken Optional API token for ipinfo.io . Source Code https://github.com/wtfutil/wtf/tree/master/modules/ipaddresses/ipinfo","title":"IPInfo"},{"location":"modules/ipaddress/ipinfo/#ip-info","text":"Displays your current IP address information, from ipinfo.io. Note: IPInfo.io has a free-plan rate limit of 1000 requests per day.","title":"IP Info"},{"location":"modules/ipaddress/ipinfo/#configuration","text":"ipinfo : colors : name : red value : white enabled : true position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 150s","title":"Configuration"},{"location":"modules/ipaddress/ipinfo/#screenshots","text":"","title":"Screenshots"},{"location":"modules/ipaddress/ipinfo/#attributes","text":"Name Value colors.name Optional The default colour for the row names. Any X11 color name or long-form hex value (i.e.: #ff0000 ). colors.value Optional The default colour for the row values. Any X11 color name or long-form hex value (i.e.: #ff0000 ). apiToken Optional API token for ipinfo.io .","title":"Attributes"},{"location":"modules/ipaddress/ipinfo/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/ipaddresses/ipinfo","title":"Source Code"},{"location":"modules/sports/football/","text":"Football Displays Football statistics about the specific league. This widget uses football-data.org . Standings Standings is the ranking or table for specific league. By default it shows top 5 teams in the league but which can be customized using configuration. Matches Played Shows recent matches played in the specific league. By default it shows matches played in last 5 days. Upcoming Matches Shows upcoming matches or fixtuers in the specific league. By default it shows upcoming matches for next 5 days. Supported Leagues Currently this widget only support below mentioned league/competition, You should use below shortname of the league in your configuration: Competition Short Name Brazil S\u00e9rie A BSA Campeonato Brasileiro da S\u00e9rie A EL2 English Championship EC English Premier League PL European Championship EUC FIFA World Cup WC French Ligue 1 FL1 German Bundesliga GB Italy Serie A ISA Netherlands Eredivisie NE Portugal Primeira Liga PPL Spain Primera Division SPD UEFA Champions League CL Configuration football : enabled : true apiKey : \"*************\" league : \"PL\" favTeam : \"Liverpool FC\" standingCount : 5 matchesFrom : 5 matchesTo : 5 position : top : 1 left : 0 height : 4 width : 3 refreshInterval : 1000s title : \"\u26bd\" Screenshots Attributes Name Value apiKey API key to get the football stats from football-data.org. You can get your Free tier key on football-data.org . Leave it empty to use the WTF_FOOTBALL_API_KEY environment variable. league Short name of the league or competition (as listed above in Supported Leagues ). favTeam Optional Name of the favorite team from specific league. Leave it empty to use the WTF_FOOTBALL_TEAM environment variable. matchesFrom Optional List all matches played in last (N) number of days. Default 5 . Any positive integer. matchesTo Optional List all upcoming matches coming in next (N) number of days. Default 5 . Any positive integer. standingCount Optional List top number (N) of teams in the league. Default 5 . Any positive integer. Source Code https://github.com/wtfutil/wtf/tree/master/modules/football","title":"Football"},{"location":"modules/sports/football/#football","text":"Displays Football statistics about the specific league. This widget uses football-data.org .","title":"Football"},{"location":"modules/sports/football/#standings","text":"Standings is the ranking or table for specific league. By default it shows top 5 teams in the league but which can be customized using configuration.","title":"Standings"},{"location":"modules/sports/football/#matches-played","text":"Shows recent matches played in the specific league. By default it shows matches played in last 5 days.","title":"Matches Played"},{"location":"modules/sports/football/#upcoming-matches","text":"Shows upcoming matches or fixtuers in the specific league. By default it shows upcoming matches for next 5 days.","title":"Upcoming Matches"},{"location":"modules/sports/football/#supported-leagues","text":"Currently this widget only support below mentioned league/competition, You should use below shortname of the league in your configuration: Competition Short Name Brazil S\u00e9rie A BSA Campeonato Brasileiro da S\u00e9rie A EL2 English Championship EC English Premier League PL European Championship EUC FIFA World Cup WC French Ligue 1 FL1 German Bundesliga GB Italy Serie A ISA Netherlands Eredivisie NE Portugal Primeira Liga PPL Spain Primera Division SPD UEFA Champions League CL","title":"Supported Leagues"},{"location":"modules/sports/football/#configuration","text":"football : enabled : true apiKey : \"*************\" league : \"PL\" favTeam : \"Liverpool FC\" standingCount : 5 matchesFrom : 5 matchesTo : 5 position : top : 1 left : 0 height : 4 width : 3 refreshInterval : 1000s title : \"\u26bd\"","title":"Configuration"},{"location":"modules/sports/football/#screenshots","text":"","title":"Screenshots"},{"location":"modules/sports/football/#attributes","text":"Name Value apiKey API key to get the football stats from football-data.org. You can get your Free tier key on football-data.org . Leave it empty to use the WTF_FOOTBALL_API_KEY environment variable. league Short name of the league or competition (as listed above in Supported Leagues ). favTeam Optional Name of the favorite team from specific league. Leave it empty to use the WTF_FOOTBALL_TEAM environment variable. matchesFrom Optional List all matches played in last (N) number of days. Default 5 . Any positive integer. matchesTo Optional List all upcoming matches coming in next (N) number of days. Default 5 . Any positive integer. standingCount Optional List top number (N) of teams in the league. Default 5 . Any positive integer.","title":"Attributes"},{"location":"modules/sports/football/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/football","title":"Source Code"},{"location":"modules/sports/nbascore/","text":"NBA Score Displays NBA game scores. Configuration nbascore : enabled : true position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 10m Keyboard Key Action / Open/close the widget's help modal c Go to current day h Go to previous day l Go to next day r Refresh the data \u2190 {{ arrowback }}Go to previous day \u2192 {{ arrowfore }}Go to next day Source Code https://github.com/wtfutil/wtf/tree/master/modules/nbascore","title":"NBA Score"},{"location":"modules/sports/nbascore/#nba-score","text":"Displays NBA game scores.","title":"NBA Score"},{"location":"modules/sports/nbascore/#configuration","text":"nbascore : enabled : true position : top : 1 left : 2 height : 1 width : 1 refreshInterval : 10m","title":"Configuration"},{"location":"modules/sports/nbascore/#keyboard","text":"Key Action / Open/close the widget's help modal c Go to current day h Go to previous day l Go to next day r Refresh the data \u2190 {{ arrowback }}Go to previous day \u2192 {{ arrowfore }}Go to next day","title":"Keyboard"},{"location":"modules/sports/nbascore/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/nbascore","title":"Source Code"},{"location":"modules/stocks/finnhub/","text":"Finnhub Display Finnhub stocks for the configured symbols. Configuration finnhub : apiKey : \"your-api-key\" symbols : - \"AAPL\" - \"MSFT\" - \"AMZN\" - \"FSLY\" enabled : true position : top : 0 left : 0 height : 2 width : 2 refreshInterval : 5s Attributes Name Value apiKey Your finnhub.io api key. A valid API key. symbols List of symbols to display. List of symbols. Source Code https://github.com/wtfutil/wtf/tree/master/modules/stocks/finnhub","title":"Finnhub"},{"location":"modules/stocks/finnhub/#finnhub","text":"Display Finnhub stocks for the configured symbols.","title":"Finnhub"},{"location":"modules/stocks/finnhub/#configuration","text":"finnhub : apiKey : \"your-api-key\" symbols : - \"AAPL\" - \"MSFT\" - \"AMZN\" - \"FSLY\" enabled : true position : top : 0 left : 0 height : 2 width : 2 refreshInterval : 5s","title":"Configuration"},{"location":"modules/stocks/finnhub/#attributes","text":"Name Value apiKey Your finnhub.io api key. A valid API key. symbols List of symbols to display. List of symbols.","title":"Attributes"},{"location":"modules/stocks/finnhub/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/stocks/finnhub","title":"Source Code"},{"location":"modules/stocks/yfinance/","text":"Yahoo Finance Display Yahoo Finance data for the configured symbols. The first column shows the symbol's status: pre-market: \u23ed open: \u25b6 post-market: \u23ee closed: \u23f9 The second column is the symbol's shortname, third column shows the current value. The fourth columns will show a different icon depending on the current market change: 3%: \u2b06\ufe0f 0%: \u2197\ufe0f <0%: \u2198\ufe0f <-3%: \u2b07\ufe0f Configuration yfinance : enabled : true title : \"Stock and exchange rate \ud83d\ude80\" sort : true refreshInterval : 1m symbols : - \"DOCN\" - \"GLE.PA\" - \"ABN.AS\" - \"ICAD.PA\" - \"ACA.PA\" - \"ORA.PA\" - \"EURUSD=X\" - \"USDCAD=X\" - \"CADJPY=X\" position : top : 1 left : 0 height : 1 width : 1 Screenshots Attributes Name Value symbols List of Yahoo Finance symbols to display. List of valid Yahoo Finance symbols. sort Optional Sort indices by market change percent. Default: false . true , false Source Code https://github.com/wtfutil/wtf/tree/master/modules/stocks/yfinance","title":"Yahoo Finance"},{"location":"modules/stocks/yfinance/#yahoo-finance","text":"Display Yahoo Finance data for the configured symbols. The first column shows the symbol's status: pre-market: \u23ed open: \u25b6 post-market: \u23ee closed: \u23f9 The second column is the symbol's shortname, third column shows the current value. The fourth columns will show a different icon depending on the current market change: 3%: \u2b06\ufe0f 0%: \u2197\ufe0f <0%: \u2198\ufe0f <-3%: \u2b07\ufe0f","title":"Yahoo Finance"},{"location":"modules/stocks/yfinance/#configuration","text":"yfinance : enabled : true title : \"Stock and exchange rate \ud83d\ude80\" sort : true refreshInterval : 1m symbols : - \"DOCN\" - \"GLE.PA\" - \"ABN.AS\" - \"ICAD.PA\" - \"ACA.PA\" - \"ORA.PA\" - \"EURUSD=X\" - \"USDCAD=X\" - \"CADJPY=X\" position : top : 1 left : 0 height : 1 width : 1","title":"Configuration"},{"location":"modules/stocks/yfinance/#screenshots","text":"","title":"Screenshots"},{"location":"modules/stocks/yfinance/#attributes","text":"Name Value symbols List of Yahoo Finance symbols to display. List of valid Yahoo Finance symbols. sort Optional Sort indices by market change percent. Default: false . true , false","title":"Attributes"},{"location":"modules/stocks/yfinance/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/stocks/yfinance","title":"Source Code"},{"location":"modules/twitter/stats/","text":"Twitter Stats Connects to the Twitter API and displays statistics about the number of tweets and followers for a set of usernames. To make this work, you'll need a couple of things: Twitter developer account and one of the following: a) Twitter bearer token b) Consumer API keys You must have either a bearer token or consumer key + consumer secret provided. To get the consumer API keys, you must first create a Twitter application. Then, go to the \"Keys and tokens\" page and copy the API key and API secret key under the Consumer API keys section. Once you have your developer account, a relatively painless way to get a bearer token is to use TBT . Configuration twitterstats : consumerKey : \"32xxxxxxxxxxxxxxxxxxxxxxxxxxxxa9\" consumerSecret : \"12xxxxxxxxxxxxxxxxxxxxxxxxxxxxab\" enabled : true position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 20000s screenNames : - \"wtfutil\" - \"dril\" Attributes Name Value bearerToken Optional Your Twitter single-application Bearer Token . This must be supplied if consumerKey and consumerSecret are not. consumerKey Optional Your Twitter Consumer API secret. This must be supplied along with consumerSecret if bearerToken isn't supplied. consumerSecret Optional Your Twitter Consumer API key. This must be supplied along with consumerKey if bearerToken isn't supplied. screenNames The screen names of the Twitter users who's tweets you want to follow. Source Code https://github.com/wtfutil/wtf/tree/master/modules/twitterstats","title":"Stats"},{"location":"modules/twitter/stats/#twitter-stats","text":"Connects to the Twitter API and displays statistics about the number of tweets and followers for a set of usernames. To make this work, you'll need a couple of things: Twitter developer account and one of the following: a) Twitter bearer token b) Consumer API keys You must have either a bearer token or consumer key + consumer secret provided. To get the consumer API keys, you must first create a Twitter application. Then, go to the \"Keys and tokens\" page and copy the API key and API secret key under the Consumer API keys section. Once you have your developer account, a relatively painless way to get a bearer token is to use TBT .","title":"Twitter Stats"},{"location":"modules/twitter/stats/#configuration","text":"twitterstats : consumerKey : \"32xxxxxxxxxxxxxxxxxxxxxxxxxxxxa9\" consumerSecret : \"12xxxxxxxxxxxxxxxxxxxxxxxxxxxxab\" enabled : true position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 20000s screenNames : - \"wtfutil\" - \"dril\"","title":"Configuration"},{"location":"modules/twitter/stats/#attributes","text":"Name Value bearerToken Optional Your Twitter single-application Bearer Token . This must be supplied if consumerKey and consumerSecret are not. consumerKey Optional Your Twitter Consumer API secret. This must be supplied along with consumerSecret if bearerToken isn't supplied. consumerSecret Optional Your Twitter Consumer API key. This must be supplied along with consumerKey if bearerToken isn't supplied. screenNames The screen names of the Twitter users who's tweets you want to follow.","title":"Attributes"},{"location":"modules/twitter/stats/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/twitterstats","title":"Source Code"},{"location":"modules/twitter/tweets/","text":"Twitter Tweets Connects to the Twitter API and displays a single user's tweets. NOTE: This only works for single-application developer accounts for now. To make this work, you'll need a couple of things: Twitter developer account and one of the following: a) Twitter bearer token b) Consumer API keys You must have either a bearer token or consumer key + consumer secret provided. To get the consumer API keys, you must first create a Twitter application. Then, go to the \"Keys and tokens\" page and copy the API key and API secret key under the Consumer API keys section. Once you have your developer account, a relatively painless way to get a bearer token is to use TBT . Configuration Single Account twitter : bearerToken : \"d23*******************************************3r2\" count : 5 enabled : true position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 20000s screenName : \"wtfutil\" Multiple Accounts twitter : bearerToken : \"d23*******************************************3r2\" count : 5 enabled : true position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 20000s screenNames : - \"golang\" - \"wtfutil\" Attributes Name Value bearerToken Optional Your Twitter single-application Bearer Token . This must be supplied if consumerKey and consumerSecret are not. consumerKey Optional Your Twitter Consumer API secret. This must be supplied along with consumerSecret if bearerToken isn't supplied. consumerSecret Optional Your Twitter Consumer API key. This must be supplied along with consumerKey if bearerToken isn't supplied. count Optional The number of tweets to return per account. Default: 5 . Any positive integer. screenNames The screen names of the Twitter users who's tweets you want to follow. Keyboard Key Action / Open/close the widget's help modal [return] Open the current Twitter account in the browser h Show the previous Twitter account l Show the next Twitter account o Open the current Twitter account in the browser r Refresh the data \u2190 {{ arrowback }}Show the previous Twitter account \u2192 {{ arrowfore }}Show the next Twitter account Source Code https://github.com/wtfutil/wtf/tree/master/modules/twitter","title":"Tweets"},{"location":"modules/twitter/tweets/#twitter-tweets","text":"Connects to the Twitter API and displays a single user's tweets. NOTE: This only works for single-application developer accounts for now. To make this work, you'll need a couple of things: Twitter developer account and one of the following: a) Twitter bearer token b) Consumer API keys You must have either a bearer token or consumer key + consumer secret provided. To get the consumer API keys, you must first create a Twitter application. Then, go to the \"Keys and tokens\" page and copy the API key and API secret key under the Consumer API keys section. Once you have your developer account, a relatively painless way to get a bearer token is to use TBT .","title":"Twitter Tweets"},{"location":"modules/twitter/tweets/#configuration","text":"","title":"Configuration"},{"location":"modules/twitter/tweets/#single-account","text":"twitter : bearerToken : \"d23*******************************************3r2\" count : 5 enabled : true position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 20000s screenName : \"wtfutil\"","title":"Single Account"},{"location":"modules/twitter/tweets/#multiple-accounts","text":"twitter : bearerToken : \"d23*******************************************3r2\" count : 5 enabled : true position : top : 0 left : 1 height : 1 width : 1 refreshInterval : 20000s screenNames : - \"golang\" - \"wtfutil\"","title":"Multiple Accounts"},{"location":"modules/twitter/tweets/#attributes","text":"Name Value bearerToken Optional Your Twitter single-application Bearer Token . This must be supplied if consumerKey and consumerSecret are not. consumerKey Optional Your Twitter Consumer API secret. This must be supplied along with consumerSecret if bearerToken isn't supplied. consumerSecret Optional Your Twitter Consumer API key. This must be supplied along with consumerKey if bearerToken isn't supplied. count Optional The number of tweets to return per account. Default: 5 . Any positive integer. screenNames The screen names of the Twitter users who's tweets you want to follow.","title":"Attributes"},{"location":"modules/twitter/tweets/#keyboard","text":"Key Action / Open/close the widget's help modal [return] Open the current Twitter account in the browser h Show the previous Twitter account l Show the next Twitter account o Open the current Twitter account in the browser r Refresh the data \u2190 {{ arrowback }}Show the previous Twitter account \u2192 {{ arrowfore }}Show the next Twitter account","title":"Keyboard"},{"location":"modules/twitter/tweets/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/twitter","title":"Source Code"},{"location":"modules/weather_services/arpansagovau/","text":"ARPANSA Displays Ultraviolet radiation index information from ARPANSA for an Australian city to help determine what level of sun protection or avoidance is necessary. The Australian Radiation Protection and Nuclear Safety Agency (ARPANSA) is the Australian Government's primary authority on radiation protection and nuclear safety. Interpreting the information: Index is specified in units of Standard Erthermal Dose . If the UV index is less than 3 you can safely stay outdoors with minimal protection. If the UV index is 3 or more: wear sun protective clothing, a hat, sunglasses, sunscreen, seek shade. Configuration arpansagovau : enabled : true locationid : \"Sydney\" position : top : 0 left : 0 height : 1 width : 1 refreshInterval : 15m Attributes Name Value locationid One of the ARPANSA location ids as seen on the id attribute of the location tag. e.g. 'Sydney' Source Code https://github.com/wtfutil/wtf/tree/master/modules/weatherservices/arpansagovau","title":"ARPANSA"},{"location":"modules/weather_services/arpansagovau/#arpansa","text":"Displays Ultraviolet radiation index information from ARPANSA for an Australian city to help determine what level of sun protection or avoidance is necessary. The Australian Radiation Protection and Nuclear Safety Agency (ARPANSA) is the Australian Government's primary authority on radiation protection and nuclear safety. Interpreting the information: Index is specified in units of Standard Erthermal Dose . If the UV index is less than 3 you can safely stay outdoors with minimal protection. If the UV index is 3 or more: wear sun protective clothing, a hat, sunglasses, sunscreen, seek shade.","title":"ARPANSA"},{"location":"modules/weather_services/arpansagovau/#configuration","text":"arpansagovau : enabled : true locationid : \"Sydney\" position : top : 0 left : 0 height : 1 width : 1 refreshInterval : 15m","title":"Configuration"},{"location":"modules/weather_services/arpansagovau/#attributes","text":"Name Value locationid One of the ARPANSA location ids as seen on the id attribute of the location tag. e.g. 'Sydney'","title":"Attributes"},{"location":"modules/weather_services/arpansagovau/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/weatherservices/arpansagovau","title":"Source Code"},{"location":"modules/weather_services/prettyweather/","text":"Pretty Weather Displays weather information as ASCII art from Wttr.in . Consider using wego directly, to avoid issues with rate limiting. See wego . Configuration prettyweather : enabled : true city : \"tehran\" position : top : 3 left : 5 height : 1 width : 1 refreshInterval : 5m unit : \"m\" view : 0 language : \"en\" Attributes Name Value city Optional The name of the city to display weather for. Default: Barcelona . The name of any city supported by Wttr.in . language Optional Wttr.in language configuration. Default: en . See curl wttr.in/:translation for more details. unit Optional The scale to display temperatures in. Default: m . u for Fahrenheit, m for Celsius. view Optional Wttr.in view configuration. See curl wttr.in/:help for more details. Source Code https://github.com/wtfutil/wtf/tree/master/modules/weatherservices/prettyweather","title":"Pretty Weather"},{"location":"modules/weather_services/prettyweather/#pretty-weather","text":"Displays weather information as ASCII art from Wttr.in . Consider using wego directly, to avoid issues with rate limiting. See wego .","title":"Pretty Weather"},{"location":"modules/weather_services/prettyweather/#configuration","text":"prettyweather : enabled : true city : \"tehran\" position : top : 3 left : 5 height : 1 width : 1 refreshInterval : 5m unit : \"m\" view : 0 language : \"en\"","title":"Configuration"},{"location":"modules/weather_services/prettyweather/#attributes","text":"Name Value city Optional The name of the city to display weather for. Default: Barcelona . The name of any city supported by Wttr.in . language Optional Wttr.in language configuration. Default: en . See curl wttr.in/:translation for more details. unit Optional The scale to display temperatures in. Default: m . u for Fahrenheit, m for Celsius. view Optional Wttr.in view configuration. See curl wttr.in/:help for more details.","title":"Attributes"},{"location":"modules/weather_services/prettyweather/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/weatherservices/prettyweather","title":"Source Code"},{"location":"modules/weather_services/weather/","text":"Weather Displays current weather reports, including current temperature, sunrise time, and sunset time. Configuration weather : apiKey : \"p0d13*********************************************c3\" # From http://bulk.openweathermap.org/sample/city.list.json.gz compact : false cityids : - 6173331 - 3128760 - 6167865 - 6176823 colors : current : \"lightblue\" enabled : true language : \"EN\" position : top : 0 left : 2 height : 1 width : 1 refreshInterval : 15m tempUnit : \"C\" useEmoji : true Screenshots Default Compact variant compact: true Attributes Name Value apiKey Your OpenWeatherMap API key. Leave this blank to use the WTF_OWM_API_KEY environment variable. cityids A list of the OpenWeatherMap city IDs for the cities you want to view. A list of positive integers. colors.current Optional The color to highlight the current temperature in. Default: green . language Optional The human language in which to present the weather data. Default: EN . Any language identifier specified by OpenWeatherMap. tempUnit Optional The temperature scale in which to display temperature values. Default: C . F for Fahrenheit, C for Celcius useEmoji Optional Whether or not to display emoji characters in the title. Default: true . true , false compact Optional Whether or not to be compact mode. This shortens the sunset/sunrise line and also removes the double line breaks under conditions and under the temperatures. Default: false . true , false Keyboard Key Action / Open/close the widget's help modal h Show the previous weather location l Show the next weather location \u2190 Show the previous weather location{{ arrowBack }} \u2192 Show the next weather location{{ arrowFore }} Source Code https://github.com/wtfutil/wtf/tree/master/modules/weatherservices/weather","title":"Weather"},{"location":"modules/weather_services/weather/#weather","text":"Displays current weather reports, including current temperature, sunrise time, and sunset time.","title":"Weather"},{"location":"modules/weather_services/weather/#configuration","text":"weather : apiKey : \"p0d13*********************************************c3\" # From http://bulk.openweathermap.org/sample/city.list.json.gz compact : false cityids : - 6173331 - 3128760 - 6167865 - 6176823 colors : current : \"lightblue\" enabled : true language : \"EN\" position : top : 0 left : 2 height : 1 width : 1 refreshInterval : 15m tempUnit : \"C\" useEmoji : true","title":"Configuration"},{"location":"modules/weather_services/weather/#screenshots","text":"","title":"Screenshots"},{"location":"modules/weather_services/weather/#default","text":"","title":"Default"},{"location":"modules/weather_services/weather/#compact-variant","text":"compact: true","title":"Compact variant"},{"location":"modules/weather_services/weather/#attributes","text":"Name Value apiKey Your OpenWeatherMap API key. Leave this blank to use the WTF_OWM_API_KEY environment variable. cityids A list of the OpenWeatherMap city IDs for the cities you want to view. A list of positive integers. colors.current Optional The color to highlight the current temperature in. Default: green . language Optional The human language in which to present the weather data. Default: EN . Any language identifier specified by OpenWeatherMap. tempUnit Optional The temperature scale in which to display temperature values. Default: C . F for Fahrenheit, C for Celcius useEmoji Optional Whether or not to display emoji characters in the title. Default: true . true , false compact Optional Whether or not to be compact mode. This shortens the sunset/sunrise line and also removes the double line breaks under conditions and under the temperatures. Default: false . true , false","title":"Attributes"},{"location":"modules/weather_services/weather/#keyboard","text":"Key Action / Open/close the widget's help modal h Show the previous weather location l Show the next weather location \u2190 Show the previous weather location{{ arrowBack }} \u2192 Show the next weather location{{ arrowFore }}","title":"Keyboard"},{"location":"modules/weather_services/weather/#source-code","text":"https://github.com/wtfutil/wtf/tree/master/modules/weatherservices/weather","title":"Source Code"},{"location":"sponsors/exit_message/","text":"Exit Message On exit, WTF displays a short text message pointing people to the sponsorship page: People who contribute code or sponsor the project will see a different, customized message. Code contributors and sponsors of WTF can also opt out of seeing the exit message entirely by including the following configuration in their conf file: wtf: exitMessage: display: false githubAPIKey: \"d8....................................ea\" WTF uses the GitHub API key to determine who the contributors and sponsors are.","title":"Exit Message"},{"location":"sponsors/exit_message/#exit-message","text":"On exit, WTF displays a short text message pointing people to the sponsorship page: People who contribute code or sponsor the project will see a different, customized message. Code contributors and sponsors of WTF can also opt out of seeing the exit message entirely by including the following configuration in their conf file: wtf: exitMessage: display: false githubAPIKey: \"d8....................................ea\" WTF uses the GitHub API key to determine who the contributors and sponsors are.","title":"Exit Message"},{"location":"sponsors/sponsoring/","text":"Sponsoring WTF Sponsors make this happen Sponsoring is a great way to show your support for WTF. If WTF occupies that special place in your terminal, please consider sponsoring its ongoing development. How to Sponsor Easy! Just click the button below and following along with GitHub. A special thanks to our sponsors: Robusta.dev Airbrake Warp.dev Slack If you\u2019re a member of the Gophers Slack community ( https://invite.slack.golangbridge.org ) there\u2019s a WTFUtil channel you should join for all your WTF questions, development conversations, etc. Find #wtfutil on https://gophers.slack.com/ and join the conversation. Twitter You can also follow along with WTFUtil on Twitter for news and latest updates.","title":"Sponsoring WTF"},{"location":"sponsors/sponsoring/#sponsoring-wtf","text":"","title":"Sponsoring WTF"},{"location":"sponsors/sponsoring/#sponsors-make-this-happen","text":"Sponsoring is a great way to show your support for WTF. If WTF occupies that special place in your terminal, please consider sponsoring its ongoing development.","title":"Sponsors make this happen"},{"location":"sponsors/sponsoring/#how-to-sponsor","text":"Easy! Just click the button below and following along with GitHub. A special thanks to our sponsors: Robusta.dev Airbrake Warp.dev","title":"How to Sponsor"},{"location":"sponsors/sponsoring/#slack","text":"If you\u2019re a member of the Gophers Slack community ( https://invite.slack.golangbridge.org ) there\u2019s a WTFUtil channel you should join for all your WTF questions, development conversations, etc. Find #wtfutil on https://gophers.slack.com/ and join the conversation.","title":"Slack"},{"location":"sponsors/sponsoring/#twitter","text":"You can also follow along with WTFUtil on Twitter for news and latest updates.","title":"Twitter"}]}
\ No newline at end of file
diff --git a/sitemap.xml b/sitemap.xml
index 1eb4da78..c8cf0bed 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -2,587 +2,587 @@
https://wtfutil.com/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/glossary/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/installation/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/quick_start/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/uninstallation/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2019-07-09-rss-for-releases/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2019-07-09-v0-14-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2019-07-10-wtfutil-release/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2019-07-12-homebrew-installation/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2019-07-16-v0-17-1/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2019-07-20-v0-18-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2019-07-27-v0-19-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2019-07-31-v0-19-1/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2019-08-20-v0-20-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2019-08-29-v0-21-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2019-09-12-v0-22-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2019-10-11-v0-23-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2019-11-10-v0-24-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2020-02-04-v0-26-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2020-02-23-v0-27-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2020-03-15-v0-28-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2020-04-26-v0-29-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2020-09-23-v0-32-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2020-10-13-v0-33-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2020-11-08-v0-34-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2021-01-03-v0-35-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2021-03-23-v0-36-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2021-09-06-v0-39-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/2021-11-02-v0-40-0/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/home/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/blog/monochrome-retro-display/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/configuration/advanced/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/configuration/common_settings/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/configuration/files/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/configuration/global_settings/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/configuration/grid_layout/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/development/creating_new_modules/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/airbrake/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/asana/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/azure_devops/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/bamboohr/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/bargraph/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/buildkite/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/circleci/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/clocks/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/cmdrunner/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/covid/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/datadog/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/devto/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/digitalclock/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/digitalocean/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/docker/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/feedreader/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/gerrit/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/git/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/github/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/gitlab/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/gitlabtodo/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/gitter/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/hackernews/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/healthchecks/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/hibp/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/jenkins/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/jira/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/krisinformation/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/kubernetes/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/logger/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/lunarphase/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/mercurial/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/newrelic/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/nextbus/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/opsgenie/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/pagerduty/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/pihole/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/pocket/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/power/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/resourceusage/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/rollbar/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/security/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/spotify/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/subreddit/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/textfile/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/todo/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/todoist/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/transmission/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/travisci/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/trello/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/twitch/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/updown/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/uptimerobot/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/urlcheck/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/victorops/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/zendesk/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/cds/favorites/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/cds/queue/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/cds/status/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/cryptocurrencies/bittrex/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/cryptocurrencies/blockfolio/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/cryptocurrencies/cryptolive/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/cryptocurrencies/mempool/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/google/analytics/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/google/gcal/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/google/spreadsheet/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/ipaddress/ipapi/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/ipaddress/ipinfo/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/sports/football/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/sports/nbascore/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/stocks/finnhub/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/stocks/yfinance/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/twitter/stats/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/twitter/tweets/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/weather_services/arpansagovau/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/weather_services/prettyweather/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/modules/weather_services/weather/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/sponsors/exit_message/
- 2022-12-23
+ 2023-10-09
daily
https://wtfutil.com/sponsors/sponsoring/
- 2022-12-23
+ 2023-10-09
daily
\ No newline at end of file
diff --git a/sitemap.xml.gz b/sitemap.xml.gz
index ec55ea6d667a07fd005dc35a49d88d7e76991c3b..99a4fbd88b1aef09bb3c250e3388db00ca5c265d 100644
GIT binary patch
literal 1115
zcmV-h1f=^PiwFo#KqO@X|8r?{Wo=<_E_iKh0M*;eQsX!j2H<@^1(m&VE;NuXNblwe
zX4WZLItEoR(fN@;bSCWqIy!?D0{oRRTVhOK{)%|jDN5P8Y
z(7!JJ`TMWtdGT}i?WIJYDBtPBA-yh!oTndcdp@7<6K5LDlz|FMI
zOW&@St8KG<(uA9sQge{lMDk=3C2Z|!*{mL#B`{LczJB+arO4QIGss9?q;qp4Rd)3_
zR|35NMy{7L@)^3OuAgS)784}M`)xbUy)D1NKO0ujC=-0KGcG)$Sp8(doAwG8W&lcpbz8*
z7`dvQPDR2tK`LC;*r~|xz{t&KoqPmFYEaM7z1iX-Yn_}27!R03wK^9AWQ`KU4pDJB
zrOirZ#dq
zjRhS#4P<;C>_D)CyMen2Q}&C(kppP9{o)8Z$v#F-91apkz|%fo$kNrY&8SN}Uiu!j
z&GRLgI1O-z&pv%4MOz{pkIB={B9do|s(a5}0gVcoQcr)m8DWL?P@P#zEBQM0bj
z6*H>sjM@@MN>ZYwlCtV0ToxeNY0_I1!V2U>b5ed4tB0x
zWt>n8HJXq{P6>8ep~4d<)IFZ8<4%uS@y?tr=*D81oSXxyEwfH|q!ZAf)yL=MCrsUm
zZI%do9N;$vM+r3VtV`{|oJ2=ZsLLpo_*SS8E-z)1QRmw>UZyNMMvfFL*CQ63wG(;2
z6>Z(VJ&0$y5%9+i&nLPO@JQn%0=m%Fi}X4JFv0jsW}Bduy*1d`n5Md6o(4i)r{T#s
z7b(qG6XPT6CJF4yL(JN_i{#FD4~-0+Nme3gi<$C#tnR=ez@AOG8ZU~h|J8syKdh$!
z>ToGx6Z2WyNKoUMOdcri6Gff+)FaVxG9j5>PNv)lSv#VfFW1{QVusXe3mTHd)Y3cW
h{iwYX+&01&@p{4Ge>luK|4Nj1{{o-IBeYRU004lZEaU(H
literal 1117
zcmV-j1fu&NiwFoQIHqF)|8r?{Wo=<_E_iKh0M*;Ua^olv2H^WVMap+YmYhlAsl;>J
zC)ho^5VWNpBU)*Y9naG*C{AjQd)oT#L!!tk`zxS<2J-Uree`!H(#R5CSIzx;bw|O9
zUs5Z_w8j?A1U4CheLc_4Jl1O>iT>>-$za~nkn9k_I0#F{v+1coAvsB
zyV`xb%dheQA6Luk#f#mQPl@GY(qT^Q@2!mWOI_ai^Fb5SC~nuT+qP=js@>#AuJ`_U
z%nl~>bWnQRIm7<)QvY%1Lr{Ma{wt>U5~I-zmWo46#(R@;jbX{&X12$D)@j0m%>lR2
zIxl_QuA6POeyY~nN@J`JqLq>-6DeYAPwT3AsMf&9W?fz1`z%sqY+DU7Qm1sTZluXJ
zk4q!S7r@ANy{VTWb5XAh*!SO>;%!R`>I@y7SL9GIHrX+Xfi9E#F;`EiN+m@6FOC
z+YKQI@^3
z+vo6+8Eo0o(TTiFBZX93B~warALzW#Up~XtKQzj)c503Us*5HVP}=WVX`fr7OrTZU
znXwZY6ji6anrQ&l&FtNg6KGsmR_n|;z&&l{DD4>O6$plbgE<4naJrKD(2X&~vo>V!3+JIrh+`-zsfwm=a0_#htfjXGd
z$>lT_bm}ya@oBIF!A|Z5?j}sxFA7HvpvCr!6*S2{Dn||n(Gl>p&lhs;O4ugUB_1z*
zkJ{(?IT)P=xWi|kzLC_<%En{z@?fFl*`n&+Q#XS~g-o%hz@Y7JGC5@3oGzd|9>k*-
zUC9*_s_l&06DviT)zTbu(*q@n_niSPzer`EKn>V9N#X-4Ztj$vLtP6P~EvDC}{7-xM50(6X~G)(3NvJcB}AMk&O%nP$S}#bgp{zHRj~CCPJSrC_-nvEY;k
zk@s8CmhIbvc$OOhf86kVq8kB^G)^L*3vInfpECdxjK3td5n9<>gI$bqDjVi;Ak=jl
zo{V!!ak-ipA6Yg@U{@YA<-uJfb;f&WWavz^qM$uyOv|yl1BU>6HsNZ#WMuiT2HgCx
zoB}A*rHD;T=iEnv8qZ|XK)R2lIrS+=qIEJMnqE$3z7cXBh*G*-Z{LU+Qk#3w5Jh86
j@0|8y9+lv>5x$7m3l9IoVb