Signed-off-by: Slendi <slendi@socopon.com>
This commit is contained in:
2025-08-11 06:39:52 +03:00
parent c9590037aa
commit ef96c51566
14 changed files with 501 additions and 14 deletions

View File

@@ -33,9 +33,27 @@
#include <rlgl.h>
#include "Config.h"
#include "RayExt.h"
struct LunarWM;
typedef struct virtual_output {
struct wl_global *global;
struct wl_display *display;
struct wl_list clients; // vo_client_res.link
// state we advertise
int32_t x, y; // compositor space; keep 0,0 if not relevant
int32_t phys_w_mm, phys_h_mm;
int32_t width, height; // current mode
int32_t refresh_mhz; // mHz
int32_t scale;
enum wl_output_subpixel subpixel;
enum wl_output_transform transform;
char const *make, *model;
char const *name, *desc;
} LunarWM_VirtualOutput;
typedef struct {
struct LunarWM *server;
@@ -143,6 +161,9 @@ typedef struct LunarWM {
struct wl_listener xwayland_associate_tmp; // per-surface temp
struct wl_listener xwayland_dissociate_tmp; // per-surface temp
LunarWM_VirtualOutput *custom_out_virtual;
LunarWM_VirtualOutput *custom_out_hud;
LunarWM_Toplevel **v_toplevels;
int current_focus;
} wayland;
@@ -175,10 +196,14 @@ typedef struct LunarWM {
struct {
GLuint fbo;
RenderTexture2D tmp_rt;
RenderTexture2D main_rt;
RenderTexture2D hud_rt;
Camera3D camera;
Shader linear_srgb;
Vector3 center;
Skybox skybox;
} renderer;
ConfigManager *cman;