Comments (14)
Working as usual here.
Maybe is just a Lua caching issue. I've committed a fix, so git update
lain.
If it's still acting up, try adding
package.loaded.lain = nil
before
local lain = require("lain")
in your rc.lua
.
Let me know.
from lain.
Nope, still acting up. This also occurs even when mpd is paused btw.
from lain.
You should provide me more info on how you're using it, then.
Since I'm using it with my copland config, with no such issue.
from lain.
Using the multicolor config. All vanilla. No edits too the code in the MPD widget, nor in lain.
from lain.
I still got no problems, even with vanilla multicolor.
I don't know if this may help, but I committed a little change to the curl call within the worker function.
Otherwise, are you sure sure your MPD is properly set? Try out with my mpd configs. Of course, you have to modify the paths accordingly.
from lain.
Getting the same issue - both with a default copland config and my own powerarrow variant.
From what I can tell, my .mpdconf seems to be fine (not that differnt from yours).
2nd fix had no effetc, either.
from lain.
I don't know what could cause this. 😢
I still think it may be a caching problem, I'll try something concrete later.
from lain.
I might have a hint. I checked the output of your curl query with a simple bash loop:
i=0
for (( ; ; ))
do
echo $i >> test.txt
echo -e "status\ncurrentsong\nclose" | curl --connect-timeout 1 -fsm 1 "telnet://127.0.0.1:6600" >> test.txt
sleep 1
echo -e "\n\n" >> test.txt
i=$(($i+1))
done
And tested some usual mpd usage (pausing, track change, etc.) before canceling the loop.
New mpd version: http://pastebin.com/0T2NjSiZ
And with a downgraded mpd 0.17: http://pastebin.com/ZU41pSK8
There's one important difference: In the new mpd version, "currentsong" is not showing in each query.
That might be the reason why the mpd widget can't fetch the current song properly.
from lain.
You are right. I found out this is affecting a lot of MPD-based programs too, like Sonata.
For the moment, I committed a semi-fix: it should remove the "acting up" behaviour.
About currentsong
issue, which will cause the widget not to update or act weirdly most of the times, I'm asking the MPD community.
I'll work on a solution as soon as they answer me properly.
from lain.
Awesome! 👍
from lain.
Thanks for your efforts so far. 👍
Another thing I noticed: There also seems to be a problem with the state value grabbed from status
as pausing/unpausing doesn't update correctly, too.
Even if currentsong
returns nothing, shouldn't it still be able to fetch the correct state?
from lain.
I submitted a bug report here. Add your feedback so they can notice it better.
from lain.
I managed to find a (somewhat ugly) workaround.
Instead of doing one big echo "\nstatus\ncurrentsong\nclose"
, do seperateecho
commands with a shortsleep
in between.
Like this:
(echo -e "status";sleep 0.2;echo -e "currentsong";sleep 0.2;echo -e "close") | curl --connect-timeout 1 -fsm 1 "telnet://127.0.0.1:6600"
This seems to do the trick.
As I don't know how to implement this correctly with lua (My attempts at io.popen failed horribly...), I created a seperate bash-script which is called from within the mpd.lua:
Bash script: http://pastebin.com/di4vf90T
Changes to mpd.lua: http://pastebin.com/dz2EuK2N
Note that this ignores the password parts (I don't use any with my mpd) but I guess it can be added as another echo
in the bash script.
from lain.
Good idea, I implemented it in 3a0aba5. Cheers, blueluke. 🍻
I'll be back on this if MPD people update me, but for now I consider the issue closed.
from lain.
Related Issues (20)
- Floor division requires Lua > 5.2 HOT 2
- Centerwork layout not keeping first client in center HOT 3
- Unaligned calendar with locale that has shorter day abbreviations then 3 letters
- I can't get the mpd widget working properly (and/or guidance needed). HOT 22
- We need a test suite HOT 4
- [Feature Request] Layout like Qtile's RatioTile
- util.quake: how to toggle Alacritty when class_id is not set HOT 3
- util.quake:toggle() stopped working HOT 1
- Is there a way to just `quake:show()` instead of toggling?
- setup github action to automatically publish to luarocks HOT 6
- add support for pipewire in volume widget HOT 5
- openweathermap api request use lat and lon instead of city id
- Do not use global variables HOT 3
- [Net widget] auto-detect new interfaces (Wifi dongles, USB tethering...) within net_update / through another timer
- Quake clients windows not shown on rofi HOT 1
- Add format for fs widget
- the layout calendar lain widget HOT 2
- [Question] Memory widget doesn't take shared memory into account HOT 1
- Support for 40-80 rule? HOT 1
- Question about show ip thanks HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lain.