49 lines
1.9 KiB
C
49 lines
1.9 KiB
C
#ifndef DIYA_SHELL_H
|
|
#define DIYA_SHELL_H
|
|
#include <stdint.h>
|
|
#include <gio/gio.h>
|
|
#include <gtk/gtk.h>
|
|
#include "base.h"
|
|
|
|
#define DIYA_ENV_THEME "DIYA_DEFAULT_THEME"
|
|
#define DIYA_ENV_VKB_KEYMAP "DIYA_VKB_KEYMAP"
|
|
|
|
#define DIYA_PROP_SHELL_WAYLAND "wayland"
|
|
#define DIYA_PROP_SHELL_NAME "name"
|
|
#define DIYA_PROP_SHELL_APPLICATION "application"
|
|
#define DIYA_PROP_SHELL_THEME "theme"
|
|
|
|
#define DIYA_TYPE_SHELL (diya_shell_get_type())
|
|
G_DECLARE_DERIVABLE_TYPE(DiyaShell, diya_shell, DIYA, SHELL, DiyaObject)
|
|
|
|
#define DIYA_TYPE_WAYLAND (diya_wayland_get_type ())
|
|
G_DECLARE_FINAL_TYPE (DiyaWayland, diya_wayland, DIYA, WAYLAND, DiyaShellObject)
|
|
|
|
#define DIYA_TYPE_VIRTUAL_KEYBOARD (diya_virtual_keyboard_get_type ())
|
|
G_DECLARE_FINAL_TYPE (DiyaVirtualKeyboard, diya_virtual_keyboard, DIYA, VIRTUAL_KEYBOARD, DiyaShellObject)
|
|
|
|
struct wl_registry;
|
|
|
|
typedef void (*wl_protocol_manager_register_t)(struct wl_registry*, uint32_t,DiyaShell*);
|
|
|
|
struct _DiyaShellClass
|
|
{
|
|
DiyaObjectClass parent_class;
|
|
wl_protocol_manager_register_t foreign_register;
|
|
wl_protocol_manager_register_t virtual_keyboard_register;
|
|
void (*monitor_changed_handle)(GListModel* /*list*/,guint /*position*/, guint /*removed*/,guint /*added*/, gpointer);
|
|
void (*startup_handle)(DiyaShell*);
|
|
void (*active_handle)(DiyaShell*);
|
|
void (*reload_handle)(DiyaShell*);
|
|
};
|
|
|
|
DiyaWayland * diya_shell_get_wayland(DiyaShell* shell);
|
|
GtkApplication* diya_shell_get_application(DiyaShell* shell);
|
|
const char* diya_shell_get_name(DiyaShell* shell);
|
|
DiyaVirtualKeyboard* diya_shell_get_virtual_keyboard(DiyaShell* shell, const gchar* name);
|
|
void diya_shell_monitor_input(DiyaShell* shell);
|
|
gboolean diya_shell_watch_file(DiyaShell* shell, const gchar* file, GCallback callback, gpointer userdata);
|
|
void diya_shell_unwatch_file(DiyaShell* shell, const gchar* file);
|
|
|
|
int diya_shell_run(DiyaShell* shell, int argc, char **argv);
|
|
#endif |