carmanaught

joined 6 months ago
[–] carmanaught@lemmy.world 2 points 6 months ago* (last edited 6 months ago) (1 children)

In theory, this may be possible by configuring scripts to run via kactivitymanagerd, when switching to/from an activity.

I've posted about kactivitymanagerd on KDE Discuss where you can find some explanation, though you should also be able to find resources elsewhere that explain how to use it, but if you set up scripts for activated and deactivated states for the relevant activity you want it enabled on, that will enable and disable the script via commands and I believe it should be able to work.

As for the scripts, you should be able to utilize kreadconfig6 and kwriteconfig6 to read/write to kwinrc and then use something like qdbus to "reconfigure" KWin. Something like below as basic enable and disable scripts would be worth trying. Note: Check the ~/.config/kwinrc file for the correct key which I've assumed to be poloniumEnabled based on the id defined in the polonium.kwinscript archive.

For the activity to have it activate on when on the activity, this would be the activated script:

# Check if Polonium is disabled and enable it if it is. Also don't reconfigure KWin if it's already enabled.
enabled=`kreadconfig6 --file kwinrc --group Plugins --key poloniumEnabled`

if [ $enabled = "false" ]; then
  kwriteconfig6 --file kwinrc --group Plugins --key poloniumEnabled true

  # Reconfigure KWin after enabling Polonium
  qdbus org.kde.KWin /KWin reconfigure
fi

And the deactivated state script would be:

# Check if Polonium is enabled and disable it if it is. Also don't reconfigure KWin if it's already disabled.
enabled=`kreadconfig6 --file kwinrc --group Plugins --key poloniumEnabled`

if [ $enabled = "true" ]; then
  kwriteconfig6 --file kwinrc --group Plugins --key poloniumEnabled false

  # Reconfigure KWin after disabling Polonium
  qdbus org.kde.KWin /KWin reconfigure
fi

I haven't tested these scripts and I'm not sure if anything odd might happen if you do the KWin "reconfigure" when changing activities, so you might need to test and play around with things. I can confirm that the kactivitymanagerd stuff works in general though, as I've tested that generally and still have a VM configured with notification scripts as proof of concept that it works.