Merge branch 'master' of github.com:Nooo37/bling into docs
This commit is contained in:
commit
6c7578f79c
41
README.md
41
README.md
|
@ -224,11 +224,10 @@ To enable: `bling.signal.playerctl.enable()`
|
|||
```lua
|
||||
-- bling::playerctl::status -- first line is the signal
|
||||
-- playing (boolean) -- indented lines are function parameters
|
||||
-- bling::playerctl::album
|
||||
-- album_art (string)
|
||||
-- bling::playerctl::title_artist
|
||||
-- bling::playerctl::title_artist_album
|
||||
-- title (string)
|
||||
-- artist (string)
|
||||
-- album_path (string)
|
||||
-- bling::playerctl::position
|
||||
-- interval_sec (number)
|
||||
-- length_sec (number)
|
||||
|
@ -236,7 +235,6 @@ To enable: `bling.signal.playerctl.enable()`
|
|||
|
||||
###### Example Implementation
|
||||
|
||||
Lets say we have an imagebox. If I wanted to set the imagebox to show the album art, all I have to do is this:
|
||||
```lua
|
||||
local art = wibox.widget {
|
||||
image = "default_image.png",
|
||||
|
@ -246,11 +244,40 @@ local art = wibox.widget {
|
|||
widget = wibox.widget.imagebox
|
||||
}
|
||||
|
||||
awesome.connect_signal("bling::playerctl::album", function(path)
|
||||
art:set_image(gears.surface.load_uncached(path))
|
||||
local title_widget = wibox.widget {
|
||||
markup = 'Nothing Playing',
|
||||
align = 'center',
|
||||
valign = 'center',
|
||||
widget = wibox.widget.textbox
|
||||
}
|
||||
|
||||
local artist_widget = wibox.widget {
|
||||
markup = 'Nothing Playing',
|
||||
align = 'center',
|
||||
valign = 'center',
|
||||
widget = wibox.widget.textbox
|
||||
}
|
||||
|
||||
-- Get Song Info
|
||||
awesome.connect_signal("bling::playerctl::title_artist_album",
|
||||
function(title, artist, art_path)
|
||||
-- Set art widget
|
||||
art:set_image(gears.surface.load_uncached(art_path))
|
||||
|
||||
local my_title = "No Title"
|
||||
local my_artist = "No Artist"
|
||||
|
||||
if title then
|
||||
my_title = title
|
||||
my_artist = artist
|
||||
end
|
||||
|
||||
-- Set title and artist widgets
|
||||
title_widget:set_markup_silently(my_title)
|
||||
artist_widget:set_markup_silently(my_artist)
|
||||
end)
|
||||
```
|
||||
Thats all! You don't even have to worry about updating the imagebox, the signals will handle that for you.
|
||||
Thats all! You don't even have to worry about updating the widgets, the signals will handle that for you.
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
-- Provides:
|
||||
-- bling::playerctl::status
|
||||
-- playing (boolean)
|
||||
-- bling::playerctl::album
|
||||
-- album_art (string)
|
||||
-- bling::playerctl::title_artist
|
||||
-- bling::playerctl::title_artist_album
|
||||
-- title (string)
|
||||
-- artist (string)
|
||||
-- album_path (string)
|
||||
-- bling::playerctl::position
|
||||
-- interval_sec (number)
|
||||
-- length_sec (number)
|
||||
|
@ -86,18 +85,16 @@ echo "$tmp_cover_path"
|
|||
function()
|
||||
awful.spawn.with_line_callback(song_follow_cmd, {
|
||||
stdout = function(line)
|
||||
-- Get Album Art
|
||||
awful.spawn.easy_async_with_shell(art_script, function(out)
|
||||
-- Get album path
|
||||
local album_path = out:gsub('%\n', '')
|
||||
awesome.emit_signal("bling::playerctl::album",
|
||||
album_path)
|
||||
end)
|
||||
|
||||
-- Get Title and Artist
|
||||
local artist = line:match('artist_(.*)title_')
|
||||
local title = line:match('title_(.*)')
|
||||
awesome.emit_signal("bling::playerctl::title_artist", title,
|
||||
artist)
|
||||
awesome.emit_signal(
|
||||
"bling::playerctl::title_artist_album", title,
|
||||
artist, album_path)
|
||||
end)
|
||||
end
|
||||
})
|
||||
end)
|
||||
|
|
Loading…
Reference in New Issue