-
Notifications
You must be signed in to change notification settings - Fork 209
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Do not use global variables #550
Comments
i can start doing this for the widgets that i actively use (pulsebar, mpd), touched recently for prototyping (weather), and anything else when i feel bored. as for how this should land wrt #549, i get the sense you want it separated and after it? |
- new dependency: needs libsoup gi installation (smaller than gvfs) - [breaking] weather: `(current/|forecast)_call` changed to `(current|forecast)_uri` - [breaking] weather: use scoped (non-global) `now.current` and `now.forecast` to avoid `weather_now` clobbering. see lcpz#550 for more details. - weather: display something useful by default - weather: render the hour of the forecast by default since the default forecast is 5 days by 3h increments - weather: add degree symbol to temperatures by default
- going forward, there are a couple of ways to access state from the settings callbacks - `settings` functions should always take in `widget` and `now` as the arguments. so the signature is `settings = function(widget, now)` - use `foo.widget` and `foo.now` to access the awesome widget and current state (respectively) of `foo` widget - weather has been done in lcpz#549 - sysload's state is now in a `now` table. access the 1, 5 and 15 min load averages via `now[1]`, `now[5]`, and `now[15]` - the bat and contrib/tp_smapi widgets have NOT been migrated as i do not have a laptop to verify behaviors
- going forward, there are a couple of ways to access state from the settings callbacks - `settings` functions should always take in `widget` and `now` as the arguments. so the signature is `settings = function(widget, now)` - use `foo.widget` and `foo.now` to access the awesome widget and current state (respectively) of `foo` widget - weather has been done in lcpz#549 - sysload's state is now in a `now` table. access the 1, 5 and 15 min load averages via `now[1]`, `now[5]`, and `now[15]` - the bat and contrib/tp_smapi widgets have NOT been migrated as i do not have a laptop to verify behaviors
- new dependency: needs libsoup gi installation (smaller than gvfs) - [breaking] weather: `(current/|forecast)_call` changed to `(current|forecast)_uri` - [breaking] weather: use scoped (non-global) `now.current` and `now.forecast` to avoid `weather_now` clobbering. see lcpz#550 for more details. - weather: display something useful by default - weather: render the hour of the forecast by default since the default forecast is 5 days by 3h increments - weather: add degree symbol to temperatures by default
- going forward, there are a couple of ways to access state from the settings callbacks - `settings` functions should always take in `widget` and `now` as the arguments. so the signature is `settings = function(widget, now)` - use `foo.widget` and `foo.now` to access the awesome widget and current state (respectively) of `foo` widget - weather has been done in lcpz#549 - sysload's state is now in a `now` table. access the 1, 5 and 15 min load averages via `now[1]`, `now[5]`, and `now[15]` - the bat and contrib/tp_smapi widgets have NOT been migrated as i do not have a laptop to verify behaviors
PTAL @ https://github.com/razamatan/lain/pull/1/files. i actually went with the direction of assuming that i would land the libsoup change first, then this one, hence i didn't do a pr yet (and showing the pr diff to address this issue in my own repo). if you feel strongly about flipping the order, i can do the work to put the glob pr before the libsoup one. lmk. |
everything ok..? |
The following widgets use
_now
global variables:We should use table-based variables instead, and thus eliminate the use of
widget
within asettings()
function. Example:This will break the current usage.
The text was updated successfully, but these errors were encountered: