1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00

44 Commits

Author SHA1 Message Date
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