Comments (11)
Hmm, that's really strange. I took a look at it yesterday but for some reason the project wasn't building for me after recent changes. I'm gonna take a better look at it soon. I wonder if there's something you're supposed to call after spawn(). A new compiler warning popped up that complained about a return value not being used after spawn. I suspect that's relevant.
from i3status-rust.
I really don't have time to help you a whole lot right now, but spawn() returns a handle to the child process and doesn't block until it's finished. You should use the handle to ensure all child processes are killed in the end. Also, try to update in a separate thread, that way other block updates don't stall until you've updated the package db. Actually, any update which queries network or does some other huge operation should be executed separately. Should have documented this and told you earlier, sorry about that, but I'm to my neck in other tasks right now. Look at the pending PR for the weather block; the guy did exactly that (his code is very nice). Use an Arc<Mutex> to send data between your update thread and the main thread.
from i3status-rust.
Oh, and no idea why it wasn't building, I tried paying attention not to push broken changes. Just checked and master is building fine, except for a couple warnings.
from i3status-rust.
Thanks for the suggestion :). I don't know what was wrong either, I was getting some errors about missing things. I ended up just removing and recloning the repo and all was well. I'll make the changes you suggested.
from i3status-rust.
Since the refactor I did (#37) has been merged, can you (@greshake @keeslinp) check if you still have defunct processes? I have not experienced it since, but more data would be great 👍
from i3status-rust.
I'll keep an eye on it. by the way, I just noticed the click isn't working yet (you're not using a ButtonWidget)... Sorry for the big clusterfuck that is widgets and click handling right now.. Will be redone soon. Also, blocks that take a really long time to update currently block other blocks from updating. This will also be fixed with my partial rewrite.
from i3status-rust.
Hi,
The issue is still running and is present in the spotify block too.
from i3status-rust.
@Peltoche are you running an up-to-date version of i3status-rust? This was probably fixed with cb8ac6b, at least I haven't experienced this issue since then.
Be careful: if you update to a relatively recent version, you will have to update your configuration from JSON to TOML, see here on how to do it.
from i3status-rust.
@Peltoche I don't think this can be caused by the Music block. It's using a single thread to wait for Dbus signals, and it is only created on startup. Please elaborate if you have further information, 'is present' is not very helpful with a new issue. If the music block also has a thread leak, the issue won't be related to the pacman block.
from i3status-rust.
@pitkley an update fix it indeed, thanks.
from i3status-rust.
Alright, I assume that this is resolved now. Closing
from i3status-rust.
Related Issues (20)
- new privacy block causes i3status-rs to be unstable in some conditions, especially when gamescope and certain games are launched HOT 1
- feature: add `format_alt` and `format_list` to all blocks HOT 3
- Wrong icons in sound block HOT 5
- Upgrading an old configuration to later i3status-rust versions HOT 6
- Typo in GitHub repository About description, "resourcefriendly" should be "resource-friendly"
- How to hide sound blocks for devices that are not present? (bluetooth/USB headsets, etc) HOT 4
- .Xresources color definition import? HOT 2
- Feature: Add support for non sway/i3 wayland compositors HOT 1
- amd_gpu: improve the error when a device does not exist HOT 3
- Implement format_alt for sound block HOT 4
- Battery block not showing battery percentage HOT 1
- `headphones_indicator` set to `true` doesn't show when headphones are connected HOT 12
- eng formatter: support prefixes in the range argument
- `sound`: Make the warning status when muted configurable HOT 2
- Request: DNS information to network block HOT 7
- keyboard_layout span colors HOT 2
- Revert empty battery state to charging when plugged in
- Net Block placeholder issue
- Zero division HOT 4
- missing opposite to mem_avail_percents
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 i3status-rust.