So, I like working with tiled WMs sometimes though not always. And Polonium is working great for that in Plasma 6. But as I said, I don’t want it enabled 24/7. And rather than open settings and toggling it on and off every time, it’d be wonderful if I could harness the power of KDE activities and automatically toggle it on in a particular activity and off on any other. Is it possible?

  • carmanaught@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    6 months ago

    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.