34 lines
509 B
C
34 lines
509 B
C
|
#pragma once
|
||
|
|
||
|
#include <iostream>
|
||
|
#include <sched.h>
|
||
|
#include <string>
|
||
|
#include <unistd.h>
|
||
|
#include <sys/wait.h>
|
||
|
|
||
|
#define SWAYBGPROCESS_BUFFER_SIZE 4094
|
||
|
|
||
|
class SwaybgProcess {
|
||
|
public:
|
||
|
|
||
|
SwaybgProcess(const std::string& wallpaperPath, const std::string& output);
|
||
|
|
||
|
~SwaybgProcess();
|
||
|
|
||
|
void exec();
|
||
|
|
||
|
void kill();
|
||
|
|
||
|
private:
|
||
|
|
||
|
std::string wallpaperPath;
|
||
|
std::string output;
|
||
|
pid_t pid;
|
||
|
bool killed = true;
|
||
|
|
||
|
int fds[2]; // file descriptors for pipe
|
||
|
char buf[SWAYBGPROCESS_BUFFER_SIZE];
|
||
|
ssize_t nbytes;
|
||
|
};
|
||
|
|