1 Star 2 Fork 0

depend/x11opacitytool

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
main.cpp 1005 Bytes
一键复制 编辑 原始数据 按行查看 历史
depend 提交于 2021-04-09 15:08 . fix: 进程单例
#include "mainwindow.h"
#include <QApplication>
#include "trayicon.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <QDir>
//进程单例
bool checkOnly()
{
//single
QString userName = QDir::homePath().section("/", -1, -1);
std::string path = ("/home/" + userName + "/.config/x11opacity-tool/").toStdString();
QDir tdir(path.c_str());
if (!tdir.exists()) {
bool ret = tdir.mkpath(path.c_str());
}
path += "single";
int fd = open(path.c_str(), O_WRONLY | O_CREAT, 0644);
int flock = lockf(fd, F_TLOCK, 0);
if (fd == -1) {
perror("open lockfile/n");
return false;
}
if (flock == -1) {
perror("lock file error/n");
return false;
}
return true;
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// MainWindow w ;
// w.show();
if (!checkOnly()) {
return 0;
}
TrayIcon icon ;
icon.show();
return a.exec();
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/liuminghang/x11opacitytool.git
git@gitee.com:liuminghang/x11opacitytool.git
liuminghang
x11opacitytool
x11opacitytool
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385