Overview
#include <shell_internal.h>
struct tw_shell
{
// fields
uid_t uid;
gid_t gid;
pid_t pid;
char path[256];
struct wl_display* display;
struct wl_client* shell_client;
struct wl_resource* shell_resource;
struct wl_global* shell_global;
struct wl_global* layer_shell;
struct tw_engine* engine;
struct tw_layer background_layer;
struct tw_layer bottom_ui_layer;
struct tw_layer ui_layer;
struct tw_layer locker_layer;
struct tw_surface* the_widget_surface;
enum taiwins_shell_panel_pos panel_pos;
struct wl_signal desktop_area_signal;
struct wl_signal widget_create_signal;
struct wl_signal widget_close_signal;
struct wl_listener display_destroy_listener;
struct wl_listener output_create_listener;
struct wl_listener output_destroy_listener;
struct wl_listener output_resize_listener;
struct wl_listener idle_listener;
struct tw_subprocess process;
struct tw_shell_ui widget;
struct tw_shell_ui locker;
bool ready;
struct wl_list heads;
struct tw_shell_output tw_outputs[16];
};