summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Makhov <pmakhov@theoctavegroup.com>2019-05-03 15:23:12 -0400
committerPavel Makhov <pmakhov@theoctavegroup.com>2019-05-03 15:23:12 -0400
commitf77df958104badf284061603e4e945b32ac6aeb6 (patch)
treec5baa0866a94db6ec3b67ec58895a375f3de4d21
parent768b979f87fb374b607075651591425bbcda9dd6 (diff)
parent429e6eb54a5bab17d7adba8956fcbc0a63257ed5 (diff)
fix conflicts
-rw-r--r--brightness-widget/README.md35
-rw-r--r--brightness-widget/brightness.lua87
-rw-r--r--brightnessarc-widget/README.md63
-rw-r--r--brightnessarc-widget/brightnessarc.lua90
-rw-r--r--mpdarc-widget/mpdarc.lua2
-rw-r--r--volumearc-widget/README.md72
-rw-r--r--volumearc-widget/custom.pngbin0 -> 9424 bytes
-rw-r--r--volumearc-widget/volumearc.lua9
-rw-r--r--volumebar-widget/README.md76
-rw-r--r--volumebar-widget/custom.pngbin0 -> 9126 bytes
-rw-r--r--volumebar-widget/volumebar.lua95
11 files changed, 363 insertions, 166 deletions
diff --git a/brightness-widget/README.md b/brightness-widget/README.md
index 5d592b6..7b05d2f 100644
--- a/brightness-widget/README.md
+++ b/brightness-widget/README.md
@@ -2,6 +2,29 @@
This widget represents current brightness level: ![Brightness widget](./br-wid-1.png)
+## Customization
+
+It is possible to customize widget by providing a table with all or some of the following config parameters:
+
+| Name | Default | Description |
+|---|---|---|
+| `get_brightness_cmd` | `light -G` | Get current screen brightness |
+| `inc_brightness_cmd` | `light -A 5` | Increase brightness |
+| `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 |
+
+### Example:
+
+```lua
+brightness_widget({
+ get_brightness_cmd = 'xbacklight -get',
+ inc_brightness_cmd = 'xbacklight -inc 5',
+ dec_brightness_cmd = 'xbacklight -dec 5'
+})
+```
+
+
## Installation
First you need to get the current brightness level. There are two options:
@@ -29,8 +52,6 @@ First you need to get the current brightness level. There are two options:
49.18
```
-Depending on the chosen option change `GET_BRIGHTNESS_CMD` variable in **brightness.lua**.
-
Then clone this repo under **~/.config/awesome/**:
```bash
@@ -50,7 +71,15 @@ s.mytasklist, -- Middle widget
{ -- Right widgets
layout = wibox.layout.fixed.horizontal,
...
- brightness_widget,
+ -- default
+ brightness_widget(),
+ -- or customized
+ brightness_widget({
+ get_brightness_cmd = 'xbacklight -get',
+ inc_brightness_cmd = 'xbacklight -inc 5',
+ dec_brightness_cmd = 'xbacklight -dec 5'
+ })
+ }
...
```
diff --git a/brightness-widget/brightness.lua b/brightness-widget/brightness.lua
index 075765c..28e7015 100644
--- a/brightness-widget/brightness.lua
+++ b/brightness-widget/brightness.lua
@@ -5,7 +5,7 @@
-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/brightness-widget
-- @author Pavel Makhov
--- @copyright 2017 Pavel Makhov
+-- @copyright 2017-2019 Pavel Makhov
-------------------------------------------------
local wibox = require("wibox")
@@ -17,36 +17,55 @@ local GET_BRIGHTNESS_CMD = "light -G" -- "xbacklight -get"
local INC_BRIGHTNESS_CMD = "light -A 5" -- "xbacklight -inc 5"
local DEC_BRIGHTNESS_CMD = "light -U 5" -- "xbacklight -dec 5"
-local brightness_text = wibox.widget.textbox()
-brightness_text:set_font('Play 9')
-
-local brightness_icon = wibox.widget {
- {
- image = PATH_TO_ICON,
- resize = false,
- widget = wibox.widget.imagebox,
- },
- top = 3,
- widget = wibox.container.margin
-}
-
-local brightness_widget = wibox.widget {
- brightness_icon,
- brightness_text,
- layout = wibox.layout.fixed.horizontal,
-}
-
-local update_widget = function(widget, stdout, stderr, exitreason, exitcode)
- local brightness_level = tonumber(string.format("%.0f", stdout))
- widget:set_text(" " .. brightness_level .. "%")
-end,
-
-brightness_widget:connect_signal("button::press", function(_,_,_,button)
- if (button == 4) then spawn(INC_BRIGHTNESS_CMD, false)
- elseif (button == 5) then spawn(DEC_BRIGHTNESS_CMD, false)
- end
-end)
-
-watch(GET_BRIGHTNESS_CMD, 1, update_widget, brightness_text)
-
-return brightness_widget
+local widget = {}
+
+local function worker(args)
+
+ local args = args or {}
+
+ local get_brightness_cmd = args.get_brightness_cmd or GET_BRIGHTNESS_CMD
+ local inc_brightness_cmd = args.inc_brightness_cmd or INC_BRIGHTNESS_CMD
+ 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 brightness_text = wibox.widget.textbox()
+ brightness_text:set_font(font)
+
+ local brightness_icon = wibox.widget {
+ {
+ image = path_to_icon,
+ resize = false,
+ widget = wibox.widget.imagebox,
+ },
+ top = 3,
+ widget = wibox.container.margin
+ }
+
+ widget = wibox.widget {
+ brightness_icon,
+ brightness_text,
+ layout = wibox.layout.fixed.horizontal,
+ }
+
+ local update_widget = function(widget, stdout, _, _, _)
+ local brightness_level = tonumber(string.format("%.0f", stdout))
+ widget:set_text(" " .. brightness_level .. "%")
+ end,
+
+ widget:connect_signal("button::press", function(_, _, _, button)
+ if (button == 4) then
+ spawn(inc_brightness_cmd, false)
+ elseif (button == 5) then
+ spawn(dec_brightness_cmd, false)
+ end
+ end)
+
+ watch(get_brightness_cmd, 1, update_widget, brightness_text)
+
+ return widget
+end
+
+return setmetatable(widget, { __call = function(_, ...)
+ return worker(...)
+end })
diff --git a/brightnessarc-widget/README.md b/brightnessarc-widget/README.md
index fa123c1..d122d3a 100644
--- a/brightnessarc-widget/README.md
+++ b/brightnessarc-widget/README.md
@@ -1,12 +1,32 @@
# Brightness widget
-![Brightness widget](./br-wid-1.png)
+This widget represents current brightness level: ![Brightness widget](./br-wid-1.png)
+
+## Customization
+
+It is possible to customize widget by providing a table with all or some of the following config parameters:
+
+| Name | Default | Description |
+|---|---|---|
+| `get_brightness_cmd` | `light -G` | Get current screen brightness |
+| `inc_brightness_cmd` | `light -A 5` | Increase brightness |
+| `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 |
+
+### Example:
+
+```lua
+brightnessarc_widget({
+ get_brightness_cmd = 'xbacklight -get',
+ inc_brightness_cmd = 'xbacklight -inc 5',
+ dec_brightness_cmd = 'xbacklight -dec 5'
+})
+```
-This widget represents current brightness level.
## Installation
-Firstly you need to get the current brightness level. There are two options:
+First you need to get the current brightness level. There are two options:
- using `xbacklight` command (depending on your video card (I guess) it may or may not work)
@@ -30,19 +50,36 @@ Firstly you need to get the current brightness level. There are two options:
light -G
49.18
```
-Depending on the chosen option change `GET_BRIGHTNESS_CMD` variable in **brightness.lua**.
-Then in **rc.lua** add the import on top of the file and then add widget to the wibox:
+Then clone this repo under **~/.config/awesome/**:
+
+```bash
+git clone https://github.com/streetturtle/awesome-wm-widgets.git ~/.config/awesome/
+```
+
+Require widget at the beginning of **rc.lua**:
+
+```lua
+local brightness_widget = require("awesome-wm-widgets.brightness-widget.brightness")
+```
+
+Add widget to the tasklist:
```lua
-require("awesome-wm-widgets.brightness-widget.brightness")
-...
--- Add widgets to the wibox
-s.mywibox:setup {
-...
-{ -- Right widgets
-...
-brightness_widget
+s.mytasklist, -- Middle widget
+ { -- Right widgets
+ layout = wibox.layout.fixed.horizontal,
+ ...
+ -- default
+ brightnessarc_widget(),
+ -- or customized
+ brightnessarc_widget({
+ get_brightness_cmd = 'xbacklight -get',
+ inc_brightness_cmd = 'xbacklight -inc 5',
+ dec_brightness_cmd = 'xbacklight -dec 5'
+ })
+ }
+ ...
```
## Controls
diff --git a/brightnessarc-widget/brightnessarc.lua b/brightnessarc-widget/brightnessarc.lua
index 7633218..dac08e4 100644
--- a/brightnessarc-widget/brightnessarc.lua
+++ b/brightnessarc-widget/brightnessarc.lua
@@ -2,7 +2,7 @@
-- Brightness Widget for Awesome Window Manager
-- Shows the brightness level of the laptop display
-- More details could be found here:
--- https://github.com/streetturtle/awesome-wm-widgets/tree/master/brightnessarc-widget
+-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/widget-widget
-- @author Pavel Makhov
-- @copyright 2019 Pavel Makhov
@@ -17,38 +17,56 @@ local GET_BRIGHTNESS_CMD = "light -G" -- "xbacklight -get"
local INC_BRIGHTNESS_CMD = "light -A 5" -- "xbacklight -inc 5"
local DEC_BRIGHTNESS_CMD = "light -U 5" -- "xbacklight -dec 5"
-local icon = {
- id = "icon",
- image = PATH_TO_ICON,
- resize = true,
- widget = wibox.widget.imagebox,
-}
-
-local brightnessarc = wibox.widget {
- icon,
- max_value = 1,
- thickness = 2,
- start_angle = 4.71238898, -- 2pi*3/4
- forced_height = 18,
- forced_width = 18,
- bg = "#ffffff11",
- paddings = 2,
- widget = wibox.container.arcchart
-}
-
-local update_widget = function(widget, stdout)
- local brightness_level = string.match(stdout, "(%d?%d?%d?)")
- brightness_level = tonumber(string.format("% 3d", brightness_level))
-
- widget.value = brightness_level / 100;
-end,
-
-brightnessarc:connect_signal("button::press", function(_, _, _, button)
- if (button == 4) then spawn(INC_BRIGHTNESS_CMD, false)
- elseif (button == 5) then spawn(DEC_BRIGHTNESS_CMD, false)
- end
-end)
-
-watch(GET_BRIGHTNESS_CMD, 1, update_widget, brightnessarc)
-
-return brightnessarc
+local widget = {}
+
+local function worker(args)
+
+ local args = args or {}
+
+ local get_brightness_cmd = args.get_brightness_cmd or GET_BRIGHTNESS_CMD
+ local inc_brightness_cmd = args.inc_brightness_cmd or INC_BRIGHTNESS_CMD
+ 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 icon = {
+ id = "icon",
+ image = path_to_icon,
+ resize = true,
+ widget = wibox.widget.imagebox,
+ }
+
+ widget = wibox.widget {
+ icon,
+ max_value = 1,
+ thickness = 2,
+ start_angle = 4.71238898, -- 2pi*3/4
+ forced_height = 18,
+ forced_width = 18,
+ bg = "#ffffff11",
+ paddings = 2,
+ widget = wibox.container.arcchart
+ }
+
+ local update_widget = function(widget, stdout)
+ local brightness_level = string.match(stdout, "(%d?%d?%d?)")
+ brightness_level = tonumber(string.format("% 3d", brightness_level))
+
+ widget.value = brightness_level / 100;
+ end,
+
+ widget:connect_signal("button::press", function(_, _, _, button)
+ if (button == 4) then
+ spawn(inc_brightness_cmd, false)
+ elseif (button == 5) then
+ spawn(dec_brightness_cmd, false)
+ end
+ end)
+
+ watch(get_brightness_cmd, 1, update_widget, widget)
+
+ return widget
+end
+
+return setmetatable(widget, { __call = function(_, ...)
+ return worker(...)
+end })
diff --git a/mpdarc-widget/mpdarc.lua b/mpdarc-widget/mpdarc.lua
index ca0f411..d70e6ee 100644
--- a/mpdarc-widget/mpdarc.lua
+++ b/mpdarc-widget/mpdarc.lua
@@ -111,7 +111,7 @@ mpdarc:connect_signal("mouse::leave", function() naughty.destroy(notification) e
watch(GET_MPD_CMD, 1, update_graphic, mpdarc)
-local mpdarc_widget = {
+local mpdarc_widget = wibox.widget{
mpdarc_icon_widget,
mpdarc_current_song_widget,
layout = wibox.layout.align.horizontal,
diff --git a/volumearc-widget/README.md b/volumearc-widget/README.md
index 79f519d..0bcd7c7 100644
--- a/volumearc-widget/README.md
+++ b/volumearc-widget/README.md
@@ -2,7 +2,43 @@
Almost the same as [volumebar widget](https://github.com/streetturtle/awesome-wm-widgets/tree/master/volumebar-widget), but using arcchart:
-![screenshot]({{'/assets/img/screenshots/volumearc-widget.gif' | relative_url }}){:.center-image}
+![screenshot](out.gif)
+
+Supports
+ - scroll up - increase volume,
+ - scroll down - decrease volume,
+ - left click - mute/unmute.
+
+## Customization
+
+It is possible to customize widget by providing a table with all or some of the following config parameters:
+
+| Name | Default | Description |
+|---|---|---|
+| `main_color` | `beautiful.fg_normal` | Color of the arc |
+| `mute_color` | `beautiful.fg_urgent` | Color of the arc when mute |
+| `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 |
+| `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%-` | Descrease volume level |
+| `tog_volume_cmd` | `amixer -D pulse sset Master toggle` | Mute / unmute |
+
+### Example:
+
+```lua
+volumearc_widget({
+ main_color = '#af13f7',
+ mute_color = '#ff0000',
+ thickness = 5,
+ height = 25
+})
+```
+
+Above config results in following widget:
+
+![custom](./custom.png)
## Installation
@@ -14,27 +50,13 @@ Almost the same as [volumebar widget](https://github.com/streetturtle/awesome-wm
1. Require volumearc widget at the beginning of **rc.lua**:
- ```lua
- local volumearc_widget = require("awesome-wm-widgets.volumearc-widget.volumearc")
- ```
-
-1. Add widget to the tasklist:
-
- ```lua
- s.mytasklist, -- Middle widget
- { -- Right widgets
- layout = wibox.layout.fixed.horizontal,
- ...
- --[[default]]
- volumearc_widget(),
- --[[or customized]]
- volumearc_widget({
- main_color = '#0000ff',
- mute_color = '#ff0000',
- path_to_icon = '/usr/share/icons/Arc/actions/symbolic/view-grid-symbolic.svg',
- thickness = 5,
- height = 25
- }),
-
- ...
- ``` \ No newline at end of file
+```lua
+require("volumearc")
+...
+s.mytasklist, -- Middle widget
+ { -- Right widgets
+ layout = wibox.layout.fixed.horizontal,
+ ...
+ volumearc_widget,
+ ...
+```
diff --git a/volumearc-widget/custom.png b/volumearc-widget/custom.png
new file mode 100644
index 0000000..f187345
--- /dev/null
+++ b/volumearc-widget/custom.png
Binary files differ
diff --git a/volumearc-widget/volumearc.lua b/volumearc-widget/volumearc.lua
index 4a91cd3..62b18ab 100644
--- a/volumearc-widget/volumearc.lua
+++ b/volumearc-widget/volumearc.lua
@@ -27,8 +27,8 @@ local function worker(args)
local args = args or {}
- local main_color = args.main_color or beautiful.widget_main_color
- local mute_color = args.mute_color or beautiful.widget_red
+ local main_color = args.main_color or beautiful.fg_color
+ local mute_color = args.mute_color or beautiful.fg_urgent
local path_to_icon = args.path_to_icon or PATH_TO_ICON
local thickness = args.thickness or 2
local height = args.height or 18
@@ -38,7 +38,6 @@ local function worker(args)
local dec_volume_cmd = args.dec_volume_cmd or DEC_VOLUME_CMD
local tog_volume_cmd = args.tog_volume_cmd or TOG_VOLUME_CMD
-
local icon = {
id = "icon",
image = path_to_icon,
@@ -59,8 +58,8 @@ local function worker(args)
}
local update_graphic = function(widget, stdout, _, _, _)
- local mute = string.match(stdout, "%[(o%D%D?)%]")
- local volume = string.match(stdout, "(%d?%d?%d)%%")
+ local mute = string.match(stdout, "%[(o%D%D?)%]") -- \[(o\D\D?)\] - [on] or [off]
+ local volume = string.match(stdout, "(%d?%d?%d)%%") -- (\d?\d?\d)\%)
volume = tonumber(string.format("% 3d", volume))
widget.value = volume / 100;
diff --git a/volumebar-widget/README.md b/volumebar-widget/README.md
index d6b9117..35169b7 100644
--- a/volumebar-widget/README.md
+++ b/volumebar-widget/README.md
@@ -9,21 +9,75 @@ Supports
- scroll down - decrease volume,
- left click - mute/unmute.
- ## Installation
-
- Clone repo, include widget and use it in **rc.lua**:
+## Customization
+It is possible to customize widget by providing a table with all or some of the following config parameters:
+
+| Name | Default | Description |
+|---|---|---|
+| `main_color` | `beautiful.fg_normal` | Color of the bar |
+| `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)) |
+| `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%-` | Descrease volume level |
+| `tog_volume_cmd` | `amixer -D pulse sset Master toggle` | Mute / unmute |
+
+### Example:
+
```lua
-local volumebar_widget = require("awesome-wm-widgets.volumebar-widget.volumebar")
-...
-s.mytasklist, -- Middle widget
- { -- Right widgets
- layout = wibox.layout.fixed.horizontal,
- ...
- volumebar_widget,
- ...
+ volumebar_widget({
+ main_color = '#af13f7',
+ mute_color = '#ff0000',
+ width = 80,
+ shape = 'rounded_bar',
+ margins = 8
+})
```
+Above config results in following widget:
+
+![custom](./custom.png)
+
+
+## Installation
+
+1. Clone this repo under **~/.config/awesome/**
+
+ ```bash
+ git clone https://github.com/streetturtle/awesome-wm-widgets.git ~/.config/awesome/
+ ```
+
+1. Require volumebar widget at the beginning of **rc.lua**:
+
+ ```lua
+ local volumebar_widget = require("awesome-wm-widgets.volumebar-widget.volumebar")
+ ```
+
+1. Add widget to the tasklist:
+
+ ```lua
+ s.mytasklist, -- Middle widget
+ { -- Right widgets
+ layout = wibox.layout.fixed.horizontal,
+ ...
+ --[[default]]
+ volumebar_widget(),
+ --[[or customized]]
+ volumebar_widget({
+ main_color = '#af13f7',
+ mute_color = '#ff0000',
+ width = 80,
+ shape = 'rounded_bar', -- octogon, hexagon, powerline, etc
+ -- bar's height = wibar's height minus 2x margins
+ margins = 8
+ }),
+
+ ...
+ ```
+
## Troubleshooting
If the bar is not showing up, try to decrease top or bottom margin - widget uses hardcoded margins for vertical alignment, so if your wibox is too small then bar is simply hidden by the margins.
diff --git a/volumebar-widget/custom.png b/volumebar-widget/custom.png
new file mode 100644
index 0000000..d86143b
--- /dev/null
+++ b/volumebar-widget/custom.png
Binary files differ
diff --git a/volumebar-widget/volumebar.lua b/volumebar-widget/volumebar.lua
index 9fd6a99..18e0f40 100644
--- a/volumebar-widget/volumebar.lua
+++ b/volumebar-widget/volumebar.lua
@@ -9,6 +9,7 @@
-------------------------------------------------
local awful = require("awful")
+local beautiful = require("beautiful")
local gears = require("gears")
local spawn = require("awful.spawn")
local watch = require("awful.widget.watch")
@@ -19,48 +20,66 @@ local INC_VOLUME_CMD = 'amixer -D pulse sset Master 5%+'
local DEC_VOLUME_CMD = 'amixer -D pulse sset Master 5%-'
local TOG_VOLUME_CMD = 'amixer -D pulse sset Master toggle'
-local bar_color = "#74aeab"
-local mute_color = "#ff0000"
-local background_color = "#3a3a3a"
-
-local volumebar_widget = wibox.widget {
- max_value = 1,
- forced_width = 50,
- paddings = 0,
- border_width = 0.5,
- color = bar_color,
- background_color = background_color,
- shape = gears.shape.bar,
- clip = true,
- margins = {
- top = 10,
- bottom = 10,
- },
- widget = wibox.widget.progressbar
-}
-
-local update_graphic = function(widget, stdout, _, _, _)
- local mute = string.match(stdout, "%[(o%D%D?)%]")
- local volume = string.match(stdout, "(%d?%d?%d)%%")
- volume = tonumber(string.format("% 3d", volume))
-
- widget.value = volume / 100;
- widget.color = mute == "off" and mute_color
- or bar_color
+local widget = {}
-end
+local function worker(args)
+
+ local args = args or {}
+
+ local main_color = args.main_color or beautiful.fg_normal
+ local mute_color = args.mute_color or beautiful.fg_urgent
+ local width = args.width or 50
+ local shape = args.shape or 'bar'
+ local margins = args.margins or 10
+
+ local get_volume_cmd = args.get_volume_cmd or GET_VOLUME_CMD
+ local inc_volume_cmd = args.inc_volume_cmd or INC_VOLUME_CMD
+ local dec_volume_cmd = args.dec_volume_cmd or DEC_VOLUME_CMD
+ local tog_volume_cmd = args.tog_volume_cmd or TOG_VOLUME_CMD
+
+ local volumebar_widget = wibox.widget {
+ max_value = 1,
+ forced_width = width,
+ color = main_color,
+ background_color = '#ffffff11',
+ shape = gears.shape[shape],
+ margins = {
+ top = margins,
+ bottom = margins,
+ },
+ widget = wibox.widget.progressbar
+ }
+
+ local update_graphic = function(widget, stdout, _, _, _)
+ local mute = string.match(stdout, "%[(o%D%D?)%]") -- \[(o\D\D?)\] - [on] or [off]
+ local volume = string.match(stdout, "(%d?%d?%d)%%") -- (\d?\d?\d)\%)
+ volume = tonumber(string.format("% 3d", volume))
+
+ widget.value = volume / 100;
+ widget.color = mute == "off"
+ and mute_color
+ or main_color
-volumebar_widget:connect_signal("button::press", function(_,_,_,button)
- if (button == 4) then awful.spawn(INC_VOLUME_CMD)
- elseif (button == 5) then awful.spawn(DEC_VOLUME_CMD)
- elseif (button == 1) then awful.spawn(TOG_VOLUME_CMD)
end
- spawn.easy_async(GET_VOLUME_CMD, function(stdout, stderr, exitreason, exitcode)
- update_graphic(volumebar_widget, stdout, stderr, exitreason, exitcode)
+ volumebar_widget:connect_signal("button::press", function(_, _, _, button)
+ if (button == 4) then
+ awful.spawn(inc_volume_cmd)
+ elseif (button == 5) then
+ awful.spawn(dec_volume_cmd)
+ elseif (button == 1) then
+ awful.spawn(tog_volume_cmd)
+ end
+
+ spawn.easy_async(get_volume_cmd, function(stdout, stderr, exitreason, exitcode)
+ update_graphic(volumebar_widget, stdout, stderr, exitreason, exitcode)
+ end)
end)
-end)
-watch(GET_VOLUME_CMD, 1, update_graphic, volumebar_widget)
+ watch(get_volume_cmd, 1, update_graphic, volumebar_widget)
+
+ return volumebar_widget
+end
+
+return setmetatable(widget, { __call = function(_, ...) return worker(...) end })
-return volumebar_widget \ No newline at end of file