Chris Cummer
f650bb1698
Remove the app.Draw() gorountine
...
Prefer to have widgets force a draw when their data changes. This should
reduce draws (unless the user has a module installed that updates >=
1/sec, the old draw default).
This should also remove a source of some of the race conditions that
users were experiencing (though not all, there are still many).
2018-09-24 14:40:57 -07:00
Chris Cummer
beb0c43b07
Add character identifiers to focusable widgets
...
When no widget has focus, press the letter key to focus on the widget
assigned to that letter.
Example:
GitHub (d)
Press "d" to focus on the GitHub widget.
2018-07-30 15:51:19 -07:00
Chris Cummer
1a898b05e3
Remove complexity from a lot of string display statements
2018-06-21 19:32:32 -07:00
Chris Cummer
66b69471d0
Properly scope Config to the wtf package and remove it as a dependency from everywhere else
2018-06-16 14:59:22 -07:00
Mike Lloyd
4a4ea2abe8
Merge branch 'master' of https://github.com/senorprogrammer/wtf
2018-06-11 09:38:33 -06:00
Hossein Mehrabi
f33b756d02
removed useless condition in Refresh
2018-06-08 10:59:47 +04:30
Mike Lloyd
db29639301
Merge branch 'master' of https://github.com/senorprogrammer/wtf
...
fixed conflict.
Signed-off-by: Mike Lloyd <mike@reboot3times.org>
2018-06-03 23:20:12 -06:00
Mike Lloyd
db43c947b0
fixed platform-specific stuff.
...
Mostly fixed character encoding and stuff.
Signed-off-by: Mike Lloyd <mike@reboot3times.org>
2018-06-03 23:16:40 -06:00
Chris Cummer
218b6937b1
Implement ASCII-only widget titles
...
Widget titles can now be specified in the config file via a 'title' key.
Example:
wtf:
mods:
todo:
title: Tada
which can include emoji. No need to force everyone to look at my emoji,
now they can define their own.
2018-06-03 20:54:07 -07:00
Hossein Mehrabi
6443df092f
use widget.View.SetText to print
2018-06-03 10:53:26 +04:30
Chris Cummer
a62b910893
Closes #43 . Add CommandRunner module to the app.
...
CommandRunner allows you to define a terminal command and arguments, run
it on a schedule, and view the output.
Examples:
ping -3 cisco.com
2018-05-17 17:15:03 -07:00
Chris Cummer
7adc0cdb11
Bringing back the Status widget
2018-05-14 21:04:37 -07:00
Chris Cummer
037c90db85
Widget#focus now a thing
...
Widgets can inform whether or not they should get tab focus.
Widgets that provide additional functionality should return true.
Widgets that have no extra capability should return false.
This allows the FocusTracker to only tab through and focus on widgets
for which it provides value.
2018-04-28 23:41:51 -07:00
Chris Cummer
7500a4031d
Added the System widget with basic build info
2018-04-24 09:54:53 -07:00
Chris Cummer
5a31de74fe
Add Makefile support for 'make install' and version info
2018-04-23 17:35:14 -07:00
Chris Cummer
a9309ccec5
Add Clocks module
2018-04-18 15:04:10 -07:00
Chris Cummer
3175b8d9cc
Quick run through to add some documentation comments
2018-04-17 15:55:36 -07:00
Chris Cummer
b335df6c9b
Removed the animation from Status. No longer needed.
2018-04-16 12:19:57 -07:00
Chris Cummer
6b4c7a7f5d
Return when weather data cannot be read
2018-04-16 06:26:04 -07:00
Chris Cummer
645552ae61
Really add timezone keys this time, because I totally botched that rebase earlier. A better man would go back and fix that; I... am not that man tonight.
2018-04-15 19:09:31 -07:00
Chris Cummer
693a04b5e1
Removed a bunch of common boilerplate code from widget initialization
2018-04-15 13:08:17 -07:00
Chris Cummer
84ecf296a5
RefreshedAt moved to the end of the refresh (because that makes more sense, doesn't it?)
2018-04-13 16:14:57 -07:00
Chris Cummer
8e3287ba5c
Cleaner code around widget creation in wtf.go
2018-04-13 12:00:29 -07:00
Chris Cummer
31e17da358
Hack to fix a unicode rendering issue in iTerm
2018-04-12 18:18:54 -07:00
Chris Cummer
1bf6efdaf8
Hacky timezone display in Status
2018-04-12 12:00:11 -07:00
Chris Cummer
79bc8216d6
Don't display disabled widgets
2018-04-07 14:36:13 -07:00
Chris Cummer
ae13d52665
Enabled half-measure: widgets won't run if disabled (still need to not display)
2018-04-07 14:20:21 -07:00
Chris Cummer
b4bc6d4509
Remove a ton of duplication around TextView widget creation
2018-04-07 13:55:08 -07:00
Chris Cummer
71f8fc789f
A ton of cleanup around how config is handled and go rountines are executed
2018-04-04 18:02:59 -07:00
Chris Cummer
c3f1d7ee36
Configuration used throughout the app
2018-04-04 15:38:29 -07:00
Chris Cummer
b91e1be8df
refreshInterval config added to BambooHR and Status
2018-04-03 18:03:34 -07:00
Chris Cummer
12e6b2a9f2
Mark the current calendar event if there is one
2018-04-03 14:51:21 -07:00
Chris Cummer
0eb45dd748
Hands baby, hands
2018-04-03 04:38:15 -07:00
Chris Cummer
7555ae3b5c
Border color on the widgets
2018-04-02 22:09:01 -07:00
Chris Cummer
46d3983cf3
Goofin' around
2018-04-02 21:56:59 -07:00
Chris Cummer
945dfc8db7
Display OpsGenie oncall data for one specific schedule
2018-04-02 21:41:46 -07:00
Chris Cummer
278bf583c4
Remove the common refresher() code into BaseWidget
2018-04-02 04:38:55 -07:00
Chris Cummer
7b5d06c670
Tweaks to the widget presentation
2018-03-31 13:59:23 -07:00
Chris Cummer
da8220ff0d
Nowrap text on widget that don't need to wrap text
2018-03-30 10:37:38 -07:00
Chris Cummer
2f63a56eae
Widgets have names
2018-03-30 10:21:05 -07:00
Chris Cummer
ab4774c86a
Widgets refresh via goroutine
...
All widgets now refresh their own data using their own internal go
routine. This allows them to set their own update schedule (where
RefreshInterval is the time in seconds between refreshes).
The app uses a goroutine to redraw itself once a second.
2018-03-30 10:12:27 -07:00
Chris Cummer
69e0034871
Status and weather refresh on a global interval
2018-03-29 22:26:59 -07:00
Chris Cummer
8a258225c9
Widgetized Status
2018-03-29 18:07:47 -07:00
Chris Cummer
8946e5cf24
Adds in Google Calendar and Weather support (hard-coded right now)
2018-03-28 19:41:38 -07:00