view include/animone/player.h @ 2:97ea6a3e1954

dep/animone: make bsd.cc and x11.cc actually work apparently I broke these, and even now the x11 code *still* doesn't want to work correctly (at least on FreeBSD). half of the PID response codes are just 0 or the PID for the X server itself... wtf? maybe dwm just doesn't support the XRes extension, or I'm just stupid. i don't know.
author Paper <paper@paper.us.eu.org>
date Thu, 11 Apr 2024 22:05:41 -0400
parents a76fa32bdc92
children 27b988a1048c
line wrap: on
line source

#ifndef ANIMONE_ANIMONE_PLAYER_H_
#define ANIMONE_ANIMONE_PLAYER_H_

#include <string>
#include <vector>

namespace animone {

enum class Strategy {
	WindowTitle,
	OpenFiles,
	UiAutomation // unused
};

enum class PlayerType {
	Default,
	WebBrowser // unused
};

struct Player {
	PlayerType type = PlayerType::Default;
	std::string name;
	std::string window_title_format;
	std::vector<std::string> windows;
	std::vector<std::string> executables;
	std::vector<Strategy> strategies;
};

bool ParsePlayersData(const std::string& data, std::vector<Player>& players);
bool ParsePlayersFile(const std::string& path, std::vector<Player>& players);

} // namespace animone

#endif // ANIMONE_ANIMONE_PLAYER_H_