Write to swaynag pipe fd directly on config errors

This commit is contained in:
Brian Ashworth 2018-08-02 21:37:29 -04:00
parent f9a6407111
commit a7f7d4a488
12 changed files with 227 additions and 110 deletions

33
include/sway/swaynag.h Normal file
View file

@ -0,0 +1,33 @@
#ifndef _SWAY_SWAYNAG_H
#define _SWAY_SWAYNAG_H
struct swaynag_instance {
const char *args;
pid_t pid;
int fd[2];
bool detailed;
};
// Copy all fields of one instance to another
void swaynag_clone(struct swaynag_instance *dest,
struct swaynag_instance *src);
// Spawn swaynag. If swaynag->detailed, then swaynag->fd[1] will left open
// so it can be written to. Call swaynag_show when done writing. This will
// be automatically called by swaynag_log if the instance is not spawned and
// swaynag->detailed is true.
bool swaynag_spawn(const char *swaynag_command,
struct swaynag_instance *swaynag);
// Kill the swaynag instance
void swaynag_kill(struct swaynag_instance *swaynag);
// Write a log message to swaynag->fd[1]. This will fail when swaynag->detailed
// is false.
void swaynag_log(const char *swaynag_command, struct swaynag_instance *swaynag,
const char *fmt, ...);
// If swaynag->detailed, close swaynag->fd[1] so swaynag displays
void swaynag_show(struct swaynag_instance *swaynag);
#endif