diff options
Diffstat (limited to 'include/WindowUtils.hpp')
-rw-r--r-- | include/WindowUtils.hpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/include/WindowUtils.hpp b/include/WindowUtils.hpp new file mode 100644 index 0000000..99b45e9 --- /dev/null +++ b/include/WindowUtils.hpp @@ -0,0 +1,30 @@ +#pragma once + +#include <mglpp/system/vec.hpp> +#include <string> +#include <vector> +#include <optional> +#include <X11/Xlib.h> + +namespace gsr { + enum class WindowCaptureType { + FOCUSED, + CURSOR + }; + + struct Monitor { + mgl::vec2i position; + mgl::vec2i size; + }; + + std::optional<std::string> get_window_title(Display *dpy, Window window); + Window get_focused_window(Display *dpy, WindowCaptureType cap_type); + std::string get_focused_window_name(Display *dpy, WindowCaptureType window_capture_type); + std::string get_window_name_at_position(Display *dpy, mgl::vec2i position, Window ignore_window); + std::string get_window_name_at_cursor_position(Display *dpy, Window ignore_window); + mgl::vec2i get_cursor_position(Display *dpy, Window *window); + mgl::vec2i create_window_get_center_position(Display *display); + std::string get_window_manager_name(Display *display); + bool is_compositor_running(Display *dpy, int screen); + std::vector<Monitor> get_monitors(Display *dpy); +}
\ No newline at end of file |