kdesudo: implement kaskpass option to pretent it is the caller

mostly for the dialog title to match the caller (e.g. "foo - KdeSudo")

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2024-06-03 00:33:23 +03:00
parent 0ab42ed2a6
commit bf79ed014b
2 changed files with 6 additions and 0 deletions

View file

@ -59,6 +59,11 @@ int main(int argc, char **argv)
KAboutData::License_GPL, KAboutData::License_GPL,
ki18n("(C) 2024 Ivailo Monev") ki18n("(C) 2024 Ivailo Monev")
); );
const QByteArray caller = qgetenv("KASKPASS_CALLER");
if (!caller.isEmpty()) {
about.setAppName(caller.toLower());
about.setProgramName(ki18n(caller.constData()));
}
KCmdLineArgs::init(&about); KCmdLineArgs::init(&about);
KApplication app; KApplication app;

View file

@ -174,6 +174,7 @@ KdeSudo::KdeSudo(const QString &icon, const QString &appname)
processEnv.insert("DISPLAY", disp); processEnv.insert("DISPLAY", disp);
processEnv.insert("XAUTHORITY", m_tmpName); processEnv.insert("XAUTHORITY", m_tmpName);
processEnv.insert("SUDO_ASKPASS", kaskpass); processEnv.insert("SUDO_ASKPASS", kaskpass);
processEnv.insert("KASKPASS_CALLER", "KdeSudo");
processEnv.insert("KASKPASS_ICON", icon); processEnv.insert("KASKPASS_ICON", icon);
if (args->isSet("attach")) { if (args->isSet("attach")) {
processEnv.insert("KASKPASS_MAINWINDOW", args->getOption("attach")); processEnv.insert("KASKPASS_MAINWINDOW", args->getOption("attach"));