Session: Load all autostart directories

pull/2/head
cutefishd 5 years ago
parent d98bd7a27c
commit cf5b51364d

@ -1,6 +1,7 @@
#include "processmanager.h"
#include <QCoreApplication>
#include <QStandardPaths>
#include <QFileInfoList>
#include <QFileInfo>
#include <QSettings>
@ -115,17 +116,14 @@ void ProcessManager::loadSystemProcess()
void ProcessManager::loadAutoStartProcess()
{
QStringList execList;
QStringList xdgDesktopList;
xdgDesktopList << "/etc/xdg/autostart";
for (const QString &dirName : xdgDesktopList) {
QDir dir(dirName);
if (!dir.exists())
continue;
const QFileInfoList files = dir.entryInfoList(QStringList("*.desktop"), QDir::Files | QDir::Readable);
for (const QFileInfo &fi : files) {
QSettings desktop(fi.filePath(), QSettings::IniFormat);
const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericConfigLocation,
QStringLiteral("autostart"),
QStandardPaths::LocateDirectory);
for (const QString &dir : dirs) {
const QDir d(dir);
const QStringList fileNames = d.entryList(QStringList() << QStringLiteral("*.desktop"));
for (const QString &file : fileNames) {
QSettings desktop(d.absoluteFilePath(file), QSettings::IniFormat);
desktop.setIniCodec("UTF-8");
desktop.beginGroup("Desktop Entry");

Loading…
Cancel
Save