diff options
author | streetturtle <streetturtle@users.noreply.github.com> | 2020-09-21 20:53:22 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-21 20:53:22 -0400 |
commit | 31213af0082bef8344475dbeb84205f1a7e31c7d (patch) | |
tree | 2a8b4cad8363c5a0019466edf86d8ef99941d2f4 | |
parent | a127ffe8efc8ccb91b7a8495c23f67278609df25 (diff) | |
parent | 21150bd640f086f617c61b32cde5e45ecfb5158f (diff) |
Merge pull request #188 from brucec5/widget-tweaks
Add customizable refresh timeouts to most widgets
30 files changed, 50 insertions, 19 deletions
diff --git a/battery-widget/README.md b/battery-widget/README.md index 4ea14d8..9af7a4c 100644 --- a/battery-widget/README.md +++ b/battery-widget/README.md @@ -28,6 +28,7 @@ It is possible to customize widget by providing a table with all or some of the | `margin_left`|0| The left margin of the widget| | `display_notification` | `false` | Display a notification on mouseover | | `notification_position` | `top_right` | The notification position | +| `timeout` | 10 | How often in seconds the widget refreshes | | `warning_msg_title` | _Huston, we have a problem_ | Title of the warning popup | | `warning_msg_text` | _Battery is dying_ | Text of the warning popup | | `warning_msg_position` | `bottom_right` | Position of the warning popup | diff --git a/battery-widget/battery.lua b/battery-widget/battery.lua index 919fb60..9fa50ed 100644 --- a/battery-widget/battery.lua +++ b/battery-widget/battery.lua @@ -33,6 +33,7 @@ local function worker(args) local display_notification = args.display_notification or false local position = args.notification_position or "top_right" + local timeout = args.timeout or 10 local warning_msg_title = args.warning_msg_title or 'Huston, we have a problem' local warning_msg_text = args.warning_msg_text or 'Battery is dying' @@ -116,7 +117,7 @@ local function worker(args) local last_battery_check = os.time() local batteryType = "battery-good-symbolic" - watch("acpi -i", 10, + watch("acpi -i", timeout, function(widget, stdout, stderr, exitreason, exitcode) local battery_info = {} local capacities = {} diff --git a/batteryarc-widget/README.md b/batteryarc-widget/README.md index 813c1af..de9255c 100644 --- a/batteryarc-widget/README.md +++ b/batteryarc-widget/README.md @@ -25,6 +25,7 @@ It is possible to customize widget by providing a table with all or some of the | `arc_thickness` | 2 | Thickness of the arc | | `show_current_level`| false | Show current charge level | | `size`| 18 | Size of the widget | +| `timeout` | 10 | How often in seconds the widget refreshes | | `main_color` | `beautiful.fg_color` | Color of the text with the current charge level and the arc | | `bg_color` | `#ffffff11` | Color of the charge level background | | `low_level_color` | `#e53935` | Arc color when battery charge is less that 15% | diff --git a/batteryarc-widget/batteryarc.lua b/batteryarc-widget/batteryarc.lua index 3e078eb..a4bb357 100644 --- a/batteryarc-widget/batteryarc.lua +++ b/batteryarc-widget/batteryarc.lua @@ -26,6 +26,7 @@ local function worker(args) local arc_thickness = args.arc_thickness or 2 local show_current_level = args.show_current_level or false local size = args.size or 18 + local timeout = args.timeout or 10 local main_color = args.main_color or beautiful.fg_color local bg_color = args.bg_color or '#ffffff11' @@ -114,7 +115,7 @@ local function worker(args) end end - watch("acpi", 10, update_widget, widget) + watch("acpi", timeout, update_widget, widget) -- Popup with battery info local notification diff --git a/bitbucket-widget/README.md b/bitbucket-widget/README.md index fbd21b1..a0cae0a 100644 --- a/bitbucket-widget/README.md +++ b/bitbucket-widget/README.md @@ -19,6 +19,7 @@ It is possible to customize widget by providing a table with all or some of the | `uuid` | Required | UUID | | `workspace` | Required | Workspace ID| | `repo_slug` | Required | Repository slug | +| `timeout` | 60 | How often in seconds the widget refreshes | ## Installation diff --git a/bitbucket-widget/bitbucket.lua b/bitbucket-widget/bitbucket.lua index 18ab571..b871d6e 100644 --- a/bitbucket-widget/bitbucket.lua +++ b/bitbucket-widget/bitbucket.lua @@ -76,6 +76,7 @@ local function worker(args) local uuid = args.uuid or show_warning('UUID is not set') local workspace = args.workspace or show_warning('Workspace is not set') local repo_slug = args.repo_slug or show_warning('Repo slug is not set') + local timeout = args.timeout or 60 local current_number_of_prs @@ -267,7 +268,7 @@ local function worker(args) ) watch(string.format(GET_PRS_CMD, host, workspace, repo_slug, uuid, uuid), - 60, update_widget, bitbucket_widget) + timeout, update_widget, bitbucket_widget) return bitbucket_widget end diff --git a/brightness-widget/README.md b/brightness-widget/README.md index 0db5884..02aa2d3 100644 --- a/brightness-widget/README.md +++ b/brightness-widget/README.md @@ -13,6 +13,7 @@ It is possible to customize widget by providing a table with all or some of the | `dec_brightness_cmd` | `light -U 5`| Decrease brightness | | `path_to_icon` | `/usr/share/icons/Arc/status/symbolic/display-brightness-symbolic.svg` | Path to the icon | | `font` | `Play 9` | Font | +| `timeout` | 1 | How often in seconds the widget refreshes | ### Example: diff --git a/brightness-widget/brightness.lua b/brightness-widget/brightness.lua index 28e7015..0cfbea4 100644 --- a/brightness-widget/brightness.lua +++ b/brightness-widget/brightness.lua @@ -28,6 +28,7 @@ local function worker(args) local dec_brightness_cmd = args.dec_brightness_cmd or DEC_BRIGHTNESS_CMD local path_to_icon = args.path_to_icon or PATH_TO_ICON local font = args.font or 'Play 9' + local timeout = args.timeout or 1 local brightness_text = wibox.widget.textbox() brightness_text:set_font(font) @@ -61,7 +62,7 @@ local function worker(args) end end) - watch(get_brightness_cmd, 1, update_widget, brightness_text) + watch(get_brightness_cmd, timeout, update_widget, brightness_text) return widget end diff --git a/brightnessarc-widget/README.md b/brightnessarc-widget/README.md index 5049e65..c27f366 100644 --- a/brightnessarc-widget/README.md +++ b/brightnessarc-widget/README.md @@ -14,6 +14,7 @@ It is possible to customize widget by providing a table with all or some of the | `color` | `beautiful.fg_color` | Color of the arc | | `bg_color` | `#ffffff11` | Color of the arc's background | | `path_to_icon` | `/usr/share/icons/Arc/status/symbolic/display-brightness-symbolic.svg` | Path to the icon | +| `timeout` | 1 | How often in seconds the widget refreshes | ### Example: diff --git a/brightnessarc-widget/brightnessarc.lua b/brightnessarc-widget/brightnessarc.lua index 6d3a769..ee93482 100644 --- a/brightnessarc-widget/brightnessarc.lua +++ b/brightnessarc-widget/brightnessarc.lua @@ -30,6 +30,7 @@ local function worker(args) local color = args.color or beautiful.fg_color local bg_color = args.bg_color or '#ffffff11' local path_to_icon = args.path_to_icon or PATH_TO_ICON + local timeout = args.timeout or 1 local icon = { id = "icon", @@ -66,7 +67,7 @@ local function worker(args) end end) - watch(get_brightness_cmd, 1, update_widget, widget) + watch(get_brightness_cmd, timeout, update_widget, widget) return widget end diff --git a/cpu-widget/README.md b/cpu-widget/README.md index 35e0eeb..8c4528c 100644 --- a/cpu-widget/README.md +++ b/cpu-widget/README.md @@ -28,6 +28,7 @@ It is possible to customize widget by providing a table with all or some of the | `color` | `beautiful.fg_normal` | Color of the graph | | `enable_kill_button` | `false` | Show button which kills the process | | `process_info_max_length` | `-1` | Truncate the process information. Some processes may have a very long list of parameters which won't fit in the screen, this options allows to truncate it to the given length. | +| `timeout` | 1 | How often in seconds the widget refreshes | ### Example diff --git a/cpu-widget/cpu-widget.lua b/cpu-widget/cpu-widget.lua index 76f739f..8d5f497 100644 --- a/cpu-widget/cpu-widget.lua +++ b/cpu-widget/cpu-widget.lua @@ -96,6 +96,7 @@ local function worker(args) local color = args.color or beautiful.fg_normal local enable_kill_button = args.enable_kill_button or false local process_info_max_length = args.process_info_max_length or -1 + local timeout = args.timeout or 1 local cpugraph_widget = wibox.widget { max_value = 100, @@ -138,7 +139,7 @@ local function worker(args) local cpu_widget = wibox.container.margin(wibox.container.mirror(cpugraph_widget, { horizontal = true }), 0, 0, 0, 2) local cpus = {} - watch([[bash -c "cat /proc/stat | grep '^cpu.' ; ps -eo '%p|%c|%C|' -o "%mem" -o '|%a' --sort=-%cpu | head -11 | tail -n +2"]], 1, + watch([[bash -c "cat /proc/stat | grep '^cpu.' ; ps -eo '%p|%c|%C|' -o "%mem" -o '|%a' --sort=-%cpu | head -11 | tail -n +2"]], timeout, function(widget, stdout) local i = 1 local j = 1 diff --git a/experiments/spotify-player/spotify-player.lua b/experiments/spotify-player/spotify-player.lua index 1873a83..9fb725b 100644 --- a/experiments/spotify-player/spotify-player.lua +++ b/experiments/spotify-player/spotify-player.lua @@ -34,6 +34,8 @@ local function worker(args) local args = args or {} + local timeout = args.timeout or 1 + local function get_artwork(track_id, url) if ((url ~= nil or url ~='') and not gfs.file_readable('/tmp/' .. track_id)) then spawn.easy_async('touch /tmp/' .. track_id, function() @@ -191,7 +193,7 @@ local function worker(args) ) ) - watch('sp metadata', 1, update_widget, spotify_player) + watch('sp metadata', timeout, update_widget, spotify_player) return spotify_player end diff --git a/fs-widget/fs-widget.lua b/fs-widget/fs-widget.lua index 4640c50..343c9f3 100644 --- a/fs-widget/fs-widget.lua +++ b/fs-widget/fs-widget.lua @@ -9,6 +9,7 @@ local storage_bar_widget = {} local function worker(args) local args = args or {} local mounts = args.mounts or {'/'} + local timeout = args.timeout or 60 storage_bar_widget = wibox.widget { max_value = 100, @@ -78,7 +79,7 @@ local function worker(args) local disk_widget = wibox.container.margin(storage_bar_widget, 0, 0, 0, 0) local disks = {} - watch([[bash -c "df | tail -n +2"]], 60, + watch([[bash -c "df | tail -n +2"]], timeout, function(widget, stdout) for line in stdout:gmatch("[^\r\n$]+") do local filesystem, size, used, avail, perc, mount = diff --git a/gerrit-widget/README.md b/gerrit-widget/README.md index d867896..62c89a1 100644 --- a/gerrit-widget/README.md +++ b/gerrit-widget/README.md @@ -23,6 +23,7 @@ It is possible to customize widget by providing a table with all or some of the | `icon`| `/.config/awesome/awesome-wm-widgets/gerrit-widget/gerrit_icon.svg`| Path to the icon | | `host` | Required | Ex https://gerrit.tmnt.com | | `query` | `is:reviewer AND status:open AND NOT is:wip` | Query to retrieve reviews | +| `timeout` | 10 | How often in seconds the widget refreshes | ## Prerequisite diff --git a/gerrit-widget/gerrit.lua b/gerrit-widget/gerrit.lua index 69036d0..ad5d7a6 100644 --- a/gerrit-widget/gerrit.lua +++ b/gerrit-widget/gerrit.lua @@ -38,6 +38,7 @@ local function worker(args) text = 'Gerrit host is unknown' } local query = args.query or 'is:reviewer AND status:open AND NOT is:wip' + local timeout = args.timeout or 10 local current_number_of_reviews local previous_number_of_reviews = 0 @@ -220,7 +221,7 @@ local function worker(args) ) ) - watch(string.format(GET_CHANGES_CMD, host, query:gsub(" ", "+")), 10, update_widget, gerrit_widget) + watch(string.format(GET_CHANGES_CMD, host, query:gsub(" ", "+")), timeout, update_widget, gerrit_widget) return gerrit_widget end diff --git a/jira-widget/README.md b/jira-widget/README.md index 5498085..04c7a2e 100644 --- a/jira-widget/README.md +++ b/jira-widget/README.md @@ -19,6 +19,7 @@ It is possible to customize widget by providing a table with all or some of the | `host` | Required | Ex: _http://jira.tmnt.com_ | | `query` | `jql=assignee=currentuser() AND resolution=Unresolved` | JQL query | | `icon` | `~/.config/awesome/awesome-wm-widgets/jira-widget/jira-mark-gradient-blue.svg` | Path to the icon | +| `timeout` | 10 | How often in seconds the widget refreshes | ## Installation diff --git a/jira-widget/jira.lua b/jira-widget/jira.lua index af85cf2..7f0ceb6 100644 --- a/jira-widget/jira.lua +++ b/jira-widget/jira.lua @@ -107,6 +107,7 @@ local function worker(args) local icon = args.icon or HOME_DIR .. '/.config/awesome/awesome-wm-widgets/jira-widget/jira-mark-gradient-blue.svg' local host = args.host or show_warning('Jira host is unknown') local query = args.query or 'jql=assignee=currentuser() AND resolution=Unresolved' + local timeout = args.timeout or 10 jira_widget:set_icon(icon) @@ -229,7 +230,7 @@ local function worker(args) ) ) watch(string.format(GET_ISSUES_CMD, host, query:gsub(' ', '+')), - 10, update_widget, jira_widget) + timeout, update_widget, jira_widget) return jira_widget end diff --git a/net-speed-widget/net-speed.lua b/net-speed-widget/net-speed.lua index 5f81a18..846898c 100644 --- a/net-speed-widget/net-speed.lua +++ b/net-speed-widget/net-speed.lua @@ -96,6 +96,7 @@ local function worker(args) local args = args or {} local interface = args.interface or '*' + local timeout = args.timeout or 1 local update_widget = function(widget, stdout, stderr) @@ -119,7 +120,7 @@ local function worker(args) prev_tx = cur_tx end - watch(string.format([[bash -c "cat /sys/class/net/%s/statistics/*_bytes"]], interface), 1, update_widget, net_speed_widget) + watch(string.format([[bash -c "cat /sys/class/net/%s/statistics/*_bytes"]], interface), timeout, update_widget, net_speed_widget) return net_speed_widget diff --git a/ram-widget/ram-widget.lua b/ram-widget/ram-widget.lua index d8cb11f..55b6fd7 100644 --- a/ram-widget/ram-widget.lua +++ b/ram-widget/ram-widget.lua @@ -7,6 +7,7 @@ local ramgraph_widget = {} local function worker(args) local args = args or {} + local timeout = args.timeout or 1 --- Main ram widget shown on wibar ramgraph_widget = wibox.widget { @@ -48,7 +49,7 @@ local function worker(args) return math.floor(value / (total+total_swap) * 100 + 0.5) .. '%' end - watch('bash -c "LANGUAGE=en_US.UTF-8 free | grep -z Mem.*Swap.*"', 1, + watch('bash -c "LANGUAGE=en_US.UTF-8 free | grep -z Mem.*Swap.*"', timeout, function(widget, stdout, stderr, exitreason, exitcode) total, used, free, shared, buff_cache, available, total_swap, used_swap, free_swap = stdout:match('(%d+)%s*(%d+)%s*(%d+)%s*(%d+)%s*(%d+)%s*(%d+)%s*Swap:%s*(%d+)%s*(%d+)%s*(%d+)') diff --git a/spotify-widget/README.md b/spotify-widget/README.md index e52e58f..2ae8dfc 100644 --- a/spotify-widget/README.md +++ b/spotify-widget/README.md @@ -33,6 +33,7 @@ It is possible to customize widget by providing a table with all or some of the | `dim_opacity` | `0.2` | Widget's opacity when dimmed, `dim_when_paused` should be set to `true` | | `max_length` | `15` | Maximum lentgh of artist and title names. Text will be ellipsized if longer. | | `show_tooltip` | `true`| Show tooltip on hover with information about the playing song | +| `timeout` | 1 | How often in seconds the widget refreshes | ### Example: diff --git a/spotify-widget/spotify.lua b/spotify-widget/spotify.lua index eea9b0b..abd19ef 100644 --- a/spotify-widget/spotify.lua +++ b/spotify-widget/spotify.lua @@ -35,6 +35,7 @@ local function worker(args) local dim_opacity = args.dim_opacity or 0.2 local max_length = args.max_length or 15 local show_tooltip = args.show_tooltip == nil and false or args.show_tooltip + local timeout = args.timeout or 1 local cur_artist = '' local cur_title = '' @@ -106,8 +107,8 @@ local function worker(args) end end - watch(GET_SPOTIFY_STATUS_CMD, 1, update_widget_icon, spotify_widget) - watch(GET_CURRENT_SONG_CMD, 1, update_widget_text, spotify_widget) + watch(GET_SPOTIFY_STATUS_CMD, timeout, update_widget_icon, spotify_widget) + watch(GET_CURRENT_SONG_CMD, timeout, update_widget_text, spotify_widget) --- Adds mouse controls to the widget: -- - left click - play/pause diff --git a/stackoverflow-widget/README.md b/stackoverflow-widget/README.md index 23ed2c1..0098062 100644 --- a/stackoverflow-widget/README.md +++ b/stackoverflow-widget/README.md @@ -13,6 +13,7 @@ It is possible to customize widget by providing a table with all or some of the | `icon`| `/.config/awesome/awesome-wm-widgets/stackoverflow-widget/so-icon.svg` | Path to the icon | | `limit` | 5 | Number of items to show in the widget | | `tagged` | awesome-wm | Tag, or comma-separated tags | +| `timeout` | 300 | How often in seconds the widget refreshes | ## Installation diff --git a/stackoverflow-widget/stackoverflow.lua b/stackoverflow-widget/stackoverflow.lua index d89f246..af89105 100644 --- a/stackoverflow-widget/stackoverflow.lua +++ b/stackoverflow-widget/stackoverflow.lua @@ -29,6 +29,7 @@ local function worker(args) local icon = args.icon or HOME_DIR .. '/.config/awesome/awesome-wm-widgets/stackoverflow-widget/so-icon.svg' local limit = args.limit or 5 local tagged = args.tagged or 'awesome-wm' + local timeout = args.timeout or 300 local rows = { { widget = wibox.widget.textbox }, @@ -115,7 +116,7 @@ local function worker(args) end) ) ) - watch(string.format(GET_QUESTIONS_CMD, limit, tagged), 300, update_widget, stackoverflow_widget) + watch(string.format(GET_QUESTIONS_CMD, limit, tagged), timeout, update_widget, stackoverflow_widget) return stackoverflow_widget end diff --git a/volumearc-widget/README.md b/volumearc-widget/README.md index ce5c95a..496797e 100644 --- a/volumearc-widget/README.md +++ b/volumearc-widget/README.md @@ -21,6 +21,7 @@ It is possible to customize widget by providing a table with all or some of the | `path_to_icon` | /usr/share/icons/Arc/status/symbolic/audio-volume-muted-symbolic.svg | Path to the icon | | `thickness` | 2 | The arc thickness | | `height` | `beautiful.fg_normal` | Widget height | +| `timeout` | 1 | How often in seconds the widget refreshes | | `get_volume_cmd` | `amixer -D pulse sget Master` | Get current volume level | | `inc_volume_cmd` | `amixer -D pulse sset Master 5%+` | Increase volume level | | `dec_volume_cmd` | `amixer -D pulse sset Master 5%-` | Decrease volume level | diff --git a/volumearc-widget/volumearc.lua b/volumearc-widget/volumearc.lua index c582c10..91ae763 100644 --- a/volumearc-widget/volumearc.lua +++ b/volumearc-widget/volumearc.lua @@ -33,6 +33,7 @@ local function worker(args) local path_to_icon = args.path_to_icon or PATH_TO_ICON local thickness = args.thickness or 2 local height = args.height or 18 + local timeout = args.timeout or 1 local get_volume_cmd = args.get_volume_cmd or GET_VOLUME_CMD local inc_volume_cmd = args.inc_volume_cmd or INC_VOLUME_CMD @@ -81,7 +82,7 @@ local function worker(args) end volumearc:connect_signal("button::press", button_press) - watch(get_volume_cmd, 1, update_graphic, volumearc) + watch(get_volume_cmd, timeout, update_graphic, volumearc) return volumearc end diff --git a/volumebar-widget/README.md b/volumebar-widget/README.md index b4a4578..305b254 100644 --- a/volumebar-widget/README.md +++ b/volumebar-widget/README.md @@ -20,7 +20,8 @@ It is possible to customize widget by providing a table with all or some of the | `mute_color` | `beautiful.fg_urgent` | Color of the bar when mute | | `width` | 50 | The bar width | | `shape` | `bar` | [gears.shape](https://awesomewm.org/doc/api/libraries/gears.shape.html), could be `octogon`, `hexagon`, `powerline`, etc | -| `margin` | `10` | Top and bottom margin (if your wibar is 22 px high, bar will be 2 px (22 - 2*10)) | +| `margins` | `10` | Top and bottom margin (if your wibar is 22 px high, bar will be 2 px (22 - 2*10)) | +| `timeout` | 1 | How often in seconds the widget refreshes | | `get_volume_cmd` | `amixer -D pulse sget Master` | Get current volume level | | `inc_volume_cmd` | `amixer -D pulse sset Master 5%+` | Increase volume level | | `dec_volume_cmd` | `amixer -D pulse sset Master 5%-` | Decrease volume level | diff --git a/volumebar-widget/volumebar.lua b/volumebar-widget/volumebar.lua index 827a3c0..19238de 100644 --- a/volumebar-widget/volumebar.lua +++ b/volumebar-widget/volumebar.lua @@ -32,6 +32,7 @@ local function worker(args) local width = args.width or 50 local shape = args.shape or 'bar' local margins = args.margins or 10 + local timeout = args.timeout or 1 local get_volume_cmd = args.get_volume_cmd or GET_VOLUME_CMD local inc_volume_cmd = args.inc_volume_cmd or INC_VOLUME_CMD @@ -77,7 +78,7 @@ local function worker(args) end) end) - watch(get_volume_cmd, 1, update_graphic, volumebar_widget) + watch(get_volume_cmd, timeout, update_graphic, volumebar_widget) return volumebar_widget end diff --git a/weather-widget/README.md b/weather-widget/README.md index 7410ae0..e573bd4 100644 --- a/weather-widget/README.md +++ b/weather-widget/README.md @@ -30,6 +30,7 @@ It is possible to customize widget by providing a table with all or some of the | show_daily_forecast | false | Show daily forecast section | | icon_pack_name | weather-underground-icons | Name of the icon pack, could be `weather-underground-icon` or `VitalyGorbachev` or create your own, more details below | | icons_extension | `.svg` | File extension of icons in the pack | +| timeout | 120 | How often in seconds the widget refreshes | ### Icons: diff --git a/weather-widget/weather.lua b/weather-widget/weather.lua index ba5b4f3..3d3b8e0 100644 --- a/weather-widget/weather.lua +++ b/weather-widget/weather.lua @@ -137,6 +137,7 @@ local function worker(args) local show_daily_forecast = args.show_daily_forecast local icon_pack_name = args.icons or 'weather-underground-icons' local icons_extension = args.icons_extension or '.png' + local timeout = args.timeout or 120 local owm_one_cal_api = ('https://api.openweathermap.org/data/2.5/onecall' .. @@ -457,7 +458,7 @@ local function worker(args) watch( string.format(GET_FORECAST_CMD, owm_one_cal_api), - 120, -- API limit is 1k req/day; day has 1440 min; every 2 min is good + timeout, -- API limit is 1k req/day; day has 1440 min; every 2 min is good update_widget, weather_widget ) |