You can write a Kwin script and connect to the windowActivated
function. Unfortunately you can't run arbitrary command from Kwin script, but as suggested in the comment you can use DBus to workaround that.
workspace.windowActivated.connect(function(client) {
if (client != null && client.caption == "name") {
callDBus(...); // call your DBus function which call ddcutil
}
})
Just an example, you will have to do some trial and error yourself!