SwayNotificationCenter
SwayNotificationCenter copied to clipboard
Mpris blacklist support
Continuation of PR #324.
When I run the formatter, there are quite a few changes to the mpris.vala
file. I am assuming the style rule was updated meanwhile. Let me know if you want me to commit those changes too.
Continuation of PR #324.
Great to see progress on this.... and to see where my code was convoluted :) I'll pull this now and report back.
Regards
Alright, so with config as so;
"mpris": {
"image-size": 96,
"image-radius": 6,
"blacklist": [".*firefox.*"]
},
SwayNC reports at startup;
** Message: 13:13:39.774: mpris.vala:263: "org.mpris.MediaPlayer2.firefox.instance_1_5133" is blacklisted
** Message: 13:13:39.774: factory.vala:44: Loading widget: mpris
So regex is being respected, and the annoying firefox tabs each creating their own instance is no longer showing in SwayNC.
Thumbsup, I approve.
I'll get to this after the upcoming bug release :)
I've noticed that firefox instances aren't always blacklisted from the mpris module;
Upon swaync startup, instances are identified and removed. Great.
However, sometimes an existing swaync session does not pickup new firefox tabs/mpris players.
When this happens, if I run $ swaync-client --reload-config
the new firefox tabs are then removed from the mpris player.
I also noticed this happening with my original PR.
I've yet to produce a repeatable scenario for this, however have noticed it happening quite a few times.
I've noticed that firefox instances aren't always blacklisted from the mpris module;
Upon swaync startup, instances are identified and removed. Great. However, sometimes an existing swaync session does not pickup new firefox tabs/mpris players. When this happens, if I run
$ swaync-client --reload-config
the new firefox tabs are then removed from the mpris player. I also noticed this happening with my original PR.I've yet to produce a repeatable scenario for this, however have noticed it happening quite a few times.
I'll wait until this is resolved then
I've noticed that firefox instances aren't always blacklisted from the mpris module; Upon swaync startup, instances are identified and removed. Great. However, sometimes an existing swaync session does not pickup new firefox tabs/mpris players. When this happens, if I run
$ swaync-client --reload-config
the new firefox tabs are then removed from the mpris player. I also noticed this happening with my original PR. I've yet to produce a repeatable scenario for this, however have noticed it happening quite a few times.I'll wait until this is resolved then
May I suggest that we merge this still? It still improves the functionality since currently, FF will always be duplicated anyway. Also we avoid having stale PRs for things that are already done (even if there is some unknown issue).
If there is some quirk, it can be fixed later. It would also help having more people use this and reporting so we can pinpoint the issue.
Otherwise, we risk never finding the cause and this PR will just stay open forever.
I've noticed that firefox instances aren't always blacklisted from the mpris module; Upon swaync startup, instances are identified and removed. Great. However, sometimes an existing swaync session does not pickup new firefox tabs/mpris players. When this happens, if I run
$ swaync-client --reload-config
the new firefox tabs are then removed from the mpris player. I also noticed this happening with my original PR. I've yet to produce a repeatable scenario for this, however have noticed it happening quite a few times.I'll wait until this is resolved then
I believe, without reviewing the code but from the observed behavior, that this is simply caused by the mpris widget lacking a hook which checks if new players are in the blacklist prior to adding them first. Thus starting/reloading Swaync will correctly identify and blacklist existing players on startup, however especially with firefox where new instances/players come and go, we lack the mechanism to cross reference the blacklist before adding it.
@abmantis makes some points, though can also accept it's best a feature is complete before merge. Unless you beat me to it, i'll get onto this later this week regardless.
I'd rather not merge incomplete features
@MrPenguin07 any findings?
@ErikReider I was now able to reproduce the issue mentioned by @MrPenguin07 and just fixed it. @MrPenguin07 can you try out my last commit?
@ErikReider I was now able to reproduce the issue mentioned by @MrPenguin07 and just fixed it. @MrPenguin07 can you try out my last commit?
I appreciate your taking the time to hash this one out, glad to see my suspicion was correct. Just haven't had time to code much of anything these days :/
I've pulled your latest commit, built swaync and ....
Am happy to be greeted by this when a new player is added, without needing to reload swaync. Good stuff @abmantis
I consider this feature to now be complete @ErikReider
I initially misinterpreted your description of the issue, that is why I was not able to reproduce it. Yesterday, after coming back to this and reading it again I noticed that it was in fact easy to reproduce :D
@ErikReider are you ok with moving this forward now?
@abmantis I like this, but I think it's better to keep only necessary changes, flake.nix
is not likely to be included in this project, and the message()
can be removed, just to keep it simple. Except for the manual page, configSchema.json
need to be synced too.
Just fixed a typo-like bug for name_owner_changed
signal handler skipped, which should resolve the issue above, and also this: https://github.com/ErikReider/SwayNotificationCenter/issues/425.
It's now here in the main branch with another PR in process, If you're willing, I may create another PR including this feature with the fix.
Closed by mistake. I thought this was pushed to main
, but I was checking a fork :facepalm:
Removed the flake.nix file, which was committed by mistake.
Just fixed a typo-like bug for
name_owner_changed
signal handler skipped, which should resolve the issue above, and also this: #425.It's now here in the main branch with another PR in process, If you're willing, I may create another PR including this feature with the fix.
I think it would be better to keep this PR and to have separate PRs.
Reporting: 2 weeks of testing these commits and the mpris blacklist continues to work perfectly.
@ErikReider anything else required for this?
@ErikReider anything else required for this?
Should be merged, it works flawlessly.
LGTM :)
Sorry for bumping this again, but I have to comment something:
I reinstalled Arch Linux and installed my dotfiles one more time a couple days ago, and installed Swaync from the main repo (not building it from source) and the problem persists.
My code in mpris:
"mpris": { "image-size": 60, "image-radius": 12, "blacklist":["playerctld"] },
Am I missing something? I saw it was merged already, so I was expecting this correction to be available in Arch repos already.
Sorry for bumping this again, but I have to comment something:
Am I missing something? I saw it was merged already, so I was expecting this correction to be available in Arch repos already.
"mpris": {
"image-size": 60,
"image-radius": 12,
"blacklist":["playerctld"]
},
Presuming you've copy-pasted, try adding a space between "blacklist":
and ["playerctld"]
Sorry for bumping this again, but I have to comment something:
I reinstalled Arch Linux and installed my dotfiles one more time a couple days ago, and installed Swaync from the main repo (not building it from source) and the problem persists.
My code in mpris:
"mpris": { "image-size": 60, "image-radius": 12, "blacklist":["playerctld"] },
Am I missing something? I saw it was merged already, so I was expecting this correction to be available in Arch repos already.
It's not in a current release yet, you'll need to install swaync-git from the AUR
Sorry for bumping this again, but I have to comment something:
I reinstalled Arch Linux and installed my dotfiles one more time a couple days ago, and installed Swaync from the main repo (not building it from source) and the problem persists.
My code in mpris:
"mpris": { "image-size": 60, "image-radius": 12, "blacklist":["playerctld"] },
Am I missing something? I saw it was merged already, so I was expecting this correction to be available in Arch repos already.
It's not in a current release yet, you'll need to install swaync-git from the AUR
It totally worked on the -git version. I'll be there until the stable branch is ready. Thanks for the response!