diff options
Diffstat (limited to 'experiments/volume/widgets')
-rw-r--r-- | experiments/volume/widgets/icon-and-text-widget.lua | 26 | ||||
-rw-r--r-- | experiments/volume/widgets/icon-widget.lua | 26 |
2 files changed, 35 insertions, 17 deletions
diff --git a/experiments/volume/widgets/icon-and-text-widget.lua b/experiments/volume/widgets/icon-and-text-widget.lua index 5ea626b..5517f11 100644 --- a/experiments/volume/widgets/icon-and-text-widget.lua +++ b/experiments/volume/widgets/icon-and-text-widget.lua @@ -21,21 +21,31 @@ function widget.get_widget() widget = wibox.widget.textbox }, layout = wibox.layout.fixed.horizontal, + is_muted = true, set_volume_level = function(self, new_value) self:get_children_by_id('txt')[1]:set_text(new_value) - local new_value_num = tonumber(new_value) local volume_icon_name = '' - if (new_value_num >= 0 and new_value_num < 33) then - volume_icon_name="audio-volume-low-symbolic" - elseif (new_value_num < 66) then - volume_icon_name="audio-volume-medium-symbolic" + if self.is_muted then + volume_icon_name = 'audio-volume-muted-symbolic.svg' else - volume_icon_name="audio-volume-high-symbolic" + local new_value_num = tonumber(new_value) + if (new_value_num >= 0 and new_value_num < 33) then + volume_icon_name="audio-volume-low-symbolic" + elseif (new_value_num < 66) then + volume_icon_name="audio-volume-medium-symbolic" + else + volume_icon_name="audio-volume-high-symbolic" + end end self:get_children_by_id('icon')[1]:set_image(WIDGET_DIR .. volume_icon_name .. '.svg') end, - mute = function(self) self:get_children_by_id('icon')[1]:set_image(WIDGET_DIR .. 'audio-volume-muted-symbolic.svg') end, - unmute = function() end, + mute = function(self) + self.is_muted = true + self:get_children_by_id('icon')[1]:set_image(WIDGET_DIR .. 'audio-volume-muted-symbolic.svg') + end, + unmute = function(self) + self.is_muted = false + end, } diff --git a/experiments/volume/widgets/icon-widget.lua b/experiments/volume/widgets/icon-widget.lua index 6725e6d..2a20dde 100644 --- a/experiments/volume/widgets/icon-widget.lua +++ b/experiments/volume/widgets/icon-widget.lua @@ -15,21 +15,29 @@ function widget.get_widget() valign = 'center', layout = wibox.container.place, set_volume_level = function(self, new_value) - local new_value_num = tonumber(new_value) local volume_icon_name = '' - if (new_value_num >= 0 and new_value_num < 33) then - volume_icon_name="audio-volume-low-symbolic" - elseif (new_value_num < 66) then - volume_icon_name="audio-volume-medium-symbolic" + if self.is_muted then + volume_icon_name = 'audio-volume-muted-symbolic.svg' else - volume_icon_name="audio-volume-high-symbolic" + local new_value_num = tonumber(new_value) + if (new_value_num >= 0 and new_value_num < 33) then + volume_icon_name="audio-volume-low-symbolic" + elseif (new_value_num < 66) then + volume_icon_name="audio-volume-medium-symbolic" + else + volume_icon_name="audio-volume-high-symbolic" + end end self:get_children_by_id('icon')[1]:set_image(WIDGET_DIR .. volume_icon_name .. '.svg') end, - mute = function(self) self:get_children_by_id('icon')[1]:set_image(WIDGET_DIR .. 'audio-volume-muted-symbolic.svg') end, - unmute = function() end, + mute = function(self) + self.is_muted = true + self:get_children_by_id('icon')[1]:set_image(WIDGET_DIR .. 'audio-volume-muted-symbolic.svg') + end, + unmute = function(self) + self.is_muted = false + end } - end return widget
\ No newline at end of file |