1
0
Fork 0

Update 2019-01-27

This commit is contained in:
Nguyễn Gia Phong 2019-01-27 16:41:20 +07:00
parent db9130e84d
commit ef5547c105
1 changed files with 45 additions and 26 deletions

View File

@ -1,3 +1,5 @@
-- Localize Lua standard library
local io = {popen = io.popen}
-- Standard awesome library
local gears = require"gears"
local awful = require"awful"
@ -113,6 +115,10 @@ end
local function spawner(command)
return function () awful.spawn(command) end
end
local function update_widget(command, widget)
awful.spawn.easy_async(command, function () vicious.force{widget} end)
end
-- }}}
-- {{{ Menu
@ -155,25 +161,19 @@ vicious.register(mycpuusage, vicious.widgets.cpu,
end, 3)
-- Create memory usage widgets
vicious.cache(vicious.widgets.mem)
local mymemusage = wibox.widget.textbox()
vicious.register(mymemusage, vicious.widgets.mem,
function (widget, args)
return (" MEM%03d%%"):format(args[1])
end, 2)
local myswapusage = wibox.widget.textbox()
vicious.register(myswapusage, vicious.widgets.mem,
function (widget, args)
return (" SWAP%03d%%"):format(args[5])
end, 2)
--
-- Create a battery widget
local mybattery_text = wibox.widget.textbox()
vicious.register(mybattery_text, vicious.widgets.bat,
function (widget, args)
return (" %s%03d%%"):format(args[1], args[2])
end, 7, "BAT0")
local mybattery = wibox.container.background(mybattery_text, "#689d6a")
local mybattery = wibox.container.background(mybattery_text, "#98971a")
mybattery:buttons(awful.util.table.join(
awful.button({}, 1, spawner"mate-power-statistics"),
awful.button({}, 3, spawner"mate-power-preferences")
@ -181,28 +181,47 @@ mybattery:buttons(awful.util.table.join(
-- Create a volume widget
local myvolume_text = wibox.widget.textbox()
vicious.register(myvolume_text, vicious.widgets.volume,
vicious.register(myvolume_text,
function (format, warg)
local f = io.popen("pulsemixer --get-volume --get-mute")
left, right, mute = f:read("*number", "*number", "*number")
f:close()
return {left, right, mute}
end,
function (widget, args)
return (" %s%03d%%"):format(args[2], args[1])
end, 1, "Master")
return (" %s%03d%%"):format(args[3] == 0 and '🔉' or '🔈',
(args[1] + args[2]) / 2)
end, 1)
local function volume_setter(parameter)
return function ()
if type(parameter) ~= "string" then return end
awful.spawn.easy_async("amixer sset Master " .. parameter,
function () vicious.force{myvolume_text} end)
update_widget("pulsemixer --change-volume " .. parameter,
myvolume_text)
end
end
local function volume_mute(parameter)
update_widget("pulsemixer --toggle-mute", myvolume_text)
end
local myvolume = wibox.container.background(myvolume_text, "#458588")
local myvolume = wibox.container.background(myvolume_text, "#689d6a")
myvolume:buttons(awful.util.table.join(
awful.button({}, 1, volume_setter"5%-"),
awful.button({}, 2, volume_setter"toggle"),
awful.button({}, 3, volume_setter"5%+"),
awful.button({}, 4, volume_setter"5%+"),
awful.button({}, 5, volume_setter"5%-")
awful.button({}, 1, volume_setter"-5"),
awful.button({}, 2, volume_mute),
awful.button({}, 3, volume_setter"+5"),
awful.button({}, 4, volume_setter"+5"),
awful.button({}, 5, volume_setter"-5")
))
-- Create a widget for music player
local myplayer = wibox.widget.textbox()
awful.spawn.with_line_callback(
"playerctl --follow metadata --format ' {{artist}} <{{status}}> {{title}}'",
{stdout = function (line)
myplayer:set_text(line:gsub('<Playing>', '>'):gsub('<.+>', '|'))
end}
)
-- Create a weather widget
local myweather = wibox.widget.textbox()
vicious.register(myweather, vicious.widgets.weather,
@ -299,13 +318,13 @@ awful.screen.connect_for_each_screen(function (s)
wibox.widget.imagebox(beautiful.arrow1),
wibox.container.background(mymemusage, "#d79921"),
wibox.widget.imagebox(beautiful.arrow2),
wibox.container.background(myswapusage, "#98971a"),
wibox.widget.imagebox(beautiful.arrow3),
mybattery,
wibox.widget.imagebox(beautiful.arrow4),
wibox.widget.imagebox(beautiful.arrow3),
myvolume,
wibox.widget.imagebox(beautiful.arrow4),
wibox.container.background(myweather, "#458588"),
wibox.widget.imagebox(beautiful.arrow5),
wibox.container.background(myweather, "#b16286"),
wibox.container.background(myplayer, "#b16286"),
wibox.widget.imagebox(beautiful.arrow6),
s.mypromptbox
},
@ -439,11 +458,11 @@ local globalkeys = awful.util.table.join(
awful.key({"Shift"}, "Print", spawner(scrot),
{description = "shoot a window or rectangle selected with a mouse",
group = "multimedia"}),
awful.key({}, "XF86AudioRaiseVolume", volume_setter"5%+",
awful.key({}, "XF86AudioRaiseVolume", volume_setter"+5",
{description = "raise 5% volume", group = "multimedia"}),
awful.key({}, "XF86AudioLowerVolume", volume_setter"5%-",
awful.key({}, "XF86AudioLowerVolume", volume_setter"-5",
{description = "lower 5% volume", group = "multimedia"}),
awful.key({}, "XF86AudioMute", volume_setter"toggle",
awful.key({}, "XF86AudioMute", volume_mute,
{description = "(un)mute volume", group = "multimedia"}),
awful.key({modkey, "Control"}, "r", awesome.restart,