awesome-wm-widgets/volumearc-widget
Bart Verhagen 120e15ee16 New: Usr: Added user customizable button press behaviour for the volumearc widget
This allows the user to override the default implementation in his/her own config upon the widget creation
2020-05-29 17:53:10 +02:00
..
README.md New: Usr: Added user customizable button press behaviour for the volumearc widget 2020-05-29 17:53:10 +02:00
custom.png update volumearc readme 2019-04-13 20:52:16 -04:00
out.gif volumearc widget 2017-10-09 16:20:20 -04:00
volumearc.lua New: Usr: Added user customizable button press behaviour for the volumearc widget 2020-05-29 17:53:10 +02:00

README.md

Volumearc widget

Almost the same as volumebar widget, but using arcchart:

screenshot

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
bg_color #ffffff11 Color of the arc's background
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%- Decrease volume level
tog_volume_cmd amixer -D pulse sset Master toggle Mute / unmute
button_press function(_, _, _, button) <sane default logic> end Overwrite the 'button_press' signal for this widget

Example:

volumearc_widget({
    main_color = '#af13f7',
    mute_color = '#ff0000',
    thickness = 5,
    height = 25,
    button_press = function(_, _, _, button)   -- Overwrites the button press behaviour to open pavucontrol when clicked
        if (button == 1) then awful.spawn('pavucontrol --tab=3', false)
        end
    end
})

The config above results in the following widget:

custom

Installation

  1. Clone this repo under ~/.config/awesome/

    git clone https://github.com/streetturtle/awesome-wm-widgets.git ~/.config/awesome/awesome-wm-widgets
    
  2. Require volumearc widget at the beginning of rc.lua:

local volumearc_widget = require("awesome-wm-widgets.volumearc-widget.volumearc")
...
s.mytasklist, -- Middle widget
	{ -- Right widgets
    	layout = wibox.layout.fixed.horizontal,
		...
		volumearc_widget,
		...