wtfutil / wtf Goto Github PK
View Code? Open in Web Editor NEWThe personal information dashboard for your terminal
Home Page: http://wtfutil.com
License: Mozilla Public License 2.0
The personal information dashboard for your terminal
Home Page: http://wtfutil.com
License: Mozilla Public License 2.0
Over-writes single-byte characters. Some parts double up. Probably an issue clearing out single and double-byte characters.
Should be when the app was built. Figure out how to persist that instead of executing the cmd every time?
They don't have it yet.
On widgets that need it, i.e.: Todo, Text, the general app if no widget has focus.
Add shutdown capability to modules. When the app is quit, it first calls this on all modules so they can clean up, etc.
Support multiple git repos in same widget. Number keys to switch between them.
Needs to be brought back up-to-date.
Right now it's possible to tab to a disabled widget, that isn't shown onscreen, which really messes things up.
Should not be able to tab focus to disabled widgets.
Have config.yml
point to the theme file.
Seems like a good idea....
Remove clocks from Status, add to own widget
Refresh app and widgets when config file changes.
When passed --help [module name]
the app should display in the terminal the same help text that the app displays in the tui when h
is pressed.
Right now if I decline but the event is still in my calendar, it shows up as an item in the dashboard. I don't want to see declined events (or maybe coloured differently).
Read from local text file. Write to local text file. Contain links to things to read. Store only 10. Selectable to open in browser.
It assumes a specific widget width and breaks if the width is smaller. It should probably not break.
Should be able to set border colours (normal, focused) in config file.
Add forecast
If branch is not master
, include branch name in build version, i.e.:
Vers: 66dcc3_5-todo-list
If branch is master
, just have the commit id.
Rather than duplicate
func Refresh() {
if widget.enabled == false {
return
}
...
}
in every widget, how about moving Refresh()
into the TextWidget
module, and have it call refresh()
for the custom parts that happen after the enabled
check.
Use label => timezone in config. Display label instead of timezone in widget.
Support multiple GitHub repos in same widget. Number keys to switch between them.
Want to be able to configure regular expressions and colours in the config file to define calendar event colours in there, i.e.:
"/interview|meet/g":"blue"
"/1on1|1\/11/g":"green"
Display the name of the power source.
Display current battery information.
Ticket for documentation branch.
If no config exists, automatically create a simple one.
Ie: widget.Run("ping -c3 cisco.com")
and have it display the result.
Support multiple weather locations in same widget. Number keys to switch between them.
Stop being lazy, this isn't Haskell.
Should preserve the display index across refreshes.
If there are no focusable widgets, the app will probably crash as it tries to index 0
against an empty array.
Right now only shows users that are visible (i.e. can be seen in the Users system preference pane).
The title for widgets should be definable in the config file, will sensible defaults.
Figure out how to use the Tab key to send focus to widgets. Change border colour when widget has focus. ESC key to remove focus.
Problem: application
gets first crack at keyboard events. Application also holds the FocusTracker
which manages focus between onscreen widgets. When a modal is onscreen, tab
should not be able to switch between widgets (the current widget should maintain focus for as long as its modal is onscreen). However since application
gets tab
first, it switches focus under the modal.
Solution: track which view is front-most and if it's not a widget view, don't tab
? Not really a fan of that as the entire application needs to keep track of what's onscreen. Feels like keyboard events should move in the other direction, from top-most in the pages back to application
.....
Configuration colours for rows.today
, rows.past
like I have with Clocks for even, odd
.
I have my work calendar and my home calendar both displayed in my calendar app. Ideally I'd be able to see meetings/appointments from each within a single WTF calendar pane.
The filename
attribute should be renamed to filepath
and it should support reading from any path the user has access to. Users should not have to put their text files in our invisible directories to read them.
Once an item is checked, automatically move it to the top of the checked items at the bottom of the list. Ie in:
[ ] Flux capacitor juice
[ ] AA batteries for walkman
[x] High-top sneakers
[x] Skateboard
checking [ ] Flux capacitor juice
would move it to above [x] High-top sneakers
. Be sure to move the selection with it (so that the checked item is selected. If the checked item is then unselected, it remains where it is in the list (ie: it does not move back to its original location).
Index out of range error. Makes sense.
And update those once a minute, without the widget refreshing back to the source for the data.
Make it secure.
Over-ride looking in ./wtf/config.yml
to use a custom config. Argument:
$> wtf --config=[path] -c=[path]
Because easily knowing the current patch level at whatnot is useful when Apple breaks MySQL again.
And display the state they're in.
Right now they pad to the width of the widget. If the user uses the arrow keys to scroll right, the highlight appears truncated left because the scroll window is wider than the padding.
Solution: pad each line to the width of the longest todo item line.
Can add/check/delete items in a list
Arrow up - move item up in list
Arrow down - move item down in list
X - check/uncheck item
D - delete item from list
N - add item to list
E - edit item
Pretty sure my polling method is a bad idea and should be removed. Use the built-in event queue instead?
The package also provides Application which is used to poll the event queue and
draw widgets on screen.
https://github.com/rivo/tview/blob/6b7d028eb165d0e9e79069a8b01e9152cb16e55b/doc.go
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.