Merge pull request #364 from chaorace/spotify-local-sp

Allow specifying a custom location for the sp binary used by spotify-widget
This commit is contained in:
streetturtle 2022-07-16 20:50:10 -04:00 committed by GitHub
commit 1245ea43cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 4 deletions

View File

@ -34,6 +34,7 @@ It is possible to customize widget by providing a table with all or some of the
| `max_length` | `15` | Maximum lentgh of artist and title names. Text will be ellipsized if longer. |
| `show_tooltip` | `true` | Show tooltip on hover with information about the playing song |
| `timeout` | 1 | How often in seconds the widget refreshes |
| `sp_bin` | `sp` | Path to the `sp` binary. Required if `sp` is not in environment PATH. |
### Example:
@ -46,7 +47,8 @@ spotify_widget({
dim_when_paused = true,
dim_opacity = 0.5,
max_length = -1,
show_tooltip = false
show_tooltip = false,
sp_bin = gears.filesystem.get_configuration_dir() .. 'scripts/sp'
})
```
@ -66,7 +68,10 @@ First you need to have spotify CLI installed, it uses dbus to communicate with s
git clone https://gist.github.com/fa6258f3ff7b17747ee3.git
cd ./fa6258f3ff7b17747ee3
chmod +x sp
# This widget will work by default if the binary is in the system PATH
sudo cp ./sp /usr/local/bin/
# Alternatively, you may save the binary anywhere and supply the path via this widget's sp_bin argument:
# cp ./sp ~/.config/awesome/scripts/
```
Then clone repo under **~/.config/awesome/** and add widget in **rc.lua**:

View File

@ -12,9 +12,6 @@ local awful = require("awful")
local wibox = require("wibox")
local watch = require("awful.widget.watch")
local GET_SPOTIFY_STATUS_CMD = 'sp status'
local GET_CURRENT_SONG_CMD = 'sp current'
local function ellipsize(text, length)
-- utf8 only available in Lua 5.3+
if utf8 == nil then
@ -39,6 +36,10 @@ local function worker(user_args)
local max_length = args.max_length or 15
local show_tooltip = args.show_tooltip == nil and true or args.show_tooltip
local timeout = args.timeout or 1
local sp_bin = args.sp_bin or 'sp'
local GET_SPOTIFY_STATUS_CMD = sp_bin .. ' status'
local GET_CURRENT_SONG_CMD = sp_bin .. ' current'
local cur_artist = ''
local cur_title = ''