* Another actions test
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Add BuildTest action
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Remove lint check for the time being (so many issues)
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Fix issues found by errcheck
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Fix errors found by staticcheck
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Fix issues found by goimports
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Comment out the action for the time being
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Fix shadowed variables
Signed-off-by: Chris Cummer <chriscummer@me.com>
* go mod tidy
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Remove buildtest.yml
Signed-off-by: Chris Cummer <chriscummer@me.com>
* go mod tidy
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-847 Fix the formatting of the headings in the Docket widget
Fixes#847
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Run 'go mod tidy'
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Remove some unnecessary type conversions
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Tidy'd go.mod
Signed-off-by: Chris Cummer <chriscummer@me.com>
When true, all-day events are displayed. When false, all-day
events are not displayed.
Defaults to true.
Closes#733
Signed-off-by: Chris Cummer <chriscummer@me.com>
If an HN story has no external link associated with it,
open the HN comments page for the story.
Closes#758
Signed-off-by: Chris Cummer <chriscummer@me.com>
When `withDate` is `true`, it displays date information below the clock.
When `withDate` is `false`, it does not display date information.
Defaults to `true`.
Signed-off-by: Chris Cummer <chriscummer@me.com>
This can still be over-written by setting:
```
gcal:
colors:
day: "orange::b"
```
explicitly in your gCal configuration.
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Add gosec to the Makefile
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Fix some issues found by gosec
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-781 Switch Todoist IDs from `int` to `string`
On platforms that convert an `int` to `int32`, like the Raspberry Pi,
an `int` is not large enough to store Todoist project IDs.
Using a `string` ensures this never becomes a problem.
Fixes#781
Signed-off-by: Chris Cummer <chriscummer@me.com>
* Upgrade godo to latest
* Fix a bunch of issues found by
* Running staticcheck on a codebase for the first time is a sobering experience
* go mod tidy
* More static improvements
Signed-off-by: Chris Cummer <chriscummer@me.com>
Fixes and improves the module templating for creating new bare-bones
text widgets.
This command:
WTF_WIDGET_NAME=MyNewWidget go generate -run=text
now properly generates:
* the module directory in the /modules directory
* the widget.go file
* the settings.go file
with no linter warnings or errors.
Signed-off-by: Chris Cummer <chriscummer@me.com>
* WTF-484 DigitalOcean module stubbed out
* WTF-484 Delete droplets via Ctrl-d
* WTF-484 Rebasing off master after a long time away
* WTF-484 Improve DigitalOcean display
* WTF-484 Can shutdown and restart the selected droplet
* WTF-484 Display info about the selected droplet using the ? key
* WTF-484 Display info about the selected droplet using the Return key
* WTF-484 Greatly improve the utils.Truncate function
* WTF-484 Display a droplet's features in the info modal
* WTF-484 Change reboot key from r to b to not conflict with refresh
* WTF-484 Panic if a keyboard control is mapped to the same character more than once
* WTF-484 Colorize droplet status indicator
* WTF-484 Extract view.InfoTable out into a reusable component
* Prevent flickering in cmdRunner widgets
This commit removes flickering in the cmdRunner widgets while preserving
the live-update functionality. It amends 45b955 by not redrawing on
every write call. Instead, the logic in Refresh is as follows:
1. If the command is already running, it will not try to re-run the
command. The default case in the select will trigger a re-draw instead
so that new output can be seen. This accommodates long-runing commands
eg. tailing a log.
2. If the command is not already running, it will trigger a new run.
When the command terminates, it will trigger a re-draw. This means the
widget refreshes as soon as possible, to accommodate the original use
case of running a command and displaying its output in the widget.
In all cases, the widget will not re-draw more often than the refresh
interval. This is what eliminates flickering, since the previous
implementation before using goroutines was not redrawing more than once
per refresh interval.
* Remove useless locking in Refresh
Since the Refresh command doesn't actually block on anything, and the
goroutines have their own locking, Refresh shouldn't lock.
The NewRelic module relies on yfronto/newrelic, which no longer exists.
yfronto deleted that directory quite awhile ago, and since then it has
been vendored.
But vendoring a missing repository creates problems when trying to
update the vendored code.
This PR brings the yfronto/newrelic code into the mainline.
Signed-off-by: Chris Cummer <chriscummer@me.com>
This purely happend due to maps not keeping the order items are in. This way
it at least won't change throughout the runtime of wtfutil. Ideally it would
use and keep the order as specified by the user in the configuration but
right now there is no way to enforce this.