35 lines
641 B
C++
35 lines
641 B
C++
|
#ifndef _UTILS_XLIB_HPP_
|
||
|
#define _UTILS_XLIB_HPP_
|
||
|
|
||
|
#include <sstream>
|
||
|
#include <memory>
|
||
|
#include <vector>
|
||
|
|
||
|
namespace xlib
|
||
|
{
|
||
|
struct Monitor
|
||
|
{
|
||
|
std::string name;
|
||
|
int index = 0;
|
||
|
int width = 0;
|
||
|
int height = 0;
|
||
|
int x = 0;
|
||
|
int y = 0;
|
||
|
|
||
|
std::string str() {
|
||
|
return this->name + ": "+ this->geom();
|
||
|
}
|
||
|
|
||
|
std::string geom() {
|
||
|
return std::to_string(width) +"x"+ std::to_string(height) +"+"+
|
||
|
std::to_string(x) +"+"+ std::to_string(y);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
std::unique_ptr<Monitor> get_monitor(const std::string& monitor_name);
|
||
|
|
||
|
std::vector<std::unique_ptr<Monitor>> get_sorted_monitorlist();
|
||
|
}
|
||
|
|
||
|
#endif
|