Files
diya-shell/src/session-shell.h
Dany LE 377eaf7d84 feat: Add hook mechanism + use gsettings:
- Allow to install hooks that execute lua scripts on changes of watched files
- Use gsetting to store shell parameters such as: theme, idle-timeout, etc.
2025-10-13 18:08:50 +02:00

31 lines
1.3 KiB
C

#ifndef DIYA_SESSION_SHELL_H
#define DIYA_SESSION_SHELL_H
#include <gtk4-layer-shell.h>
#include "shell.h"
#include "base.h"
#define DIYA_SIGNAL_FOREIGN_WINDOW_CHANGED "foreign-window-changed"
#define DIYA_SIGNAL_FOREIGN_WINDOW_STATE_CHANGED "foreign-window-state-changed"
#define DIYA_SIGNAL_FOREIGN_WINDOW_ADDED "foreign-window-added"
#define DIYA_SIGNAL_FOREIGN_WINDOW_REMOVED "foreign-window-removed"
#define DIYA_SIGNAL_SESSION_LOCKED "session-locked"
#define DIYA_SIGNAL_SESSION_UNLOCKED "session-unlocked"
#define DIYA_PROP_SESSION_LAUNCHPAD "launchpad"
#define DIYA_PROP_SESSION_BACKGROUND "background"
#define DIYA_PROP_SESSION_LOCK "session-lock"
#define DIYA_PROP_SESSION_WINDOWS "windows"
#define SESSION_SHELL_SCHEMA_ID "dev.iohub.diya.session"
#define DIYA_TYPE_SESSION_SHELL (diya_session_shell_get_type ())
G_DECLARE_FINAL_TYPE (DiyaSessionShell, diya_session_shell, DIYA, SESSION_SHELL, DiyaShell)
USE_CLASS(DiyaForeignWindow);
DiyaForeignWindow* diya_session_shell_get_window(DiyaSessionShell * shell, gpointer handle);
gboolean diya_session_shell_add_window(DiyaSessionShell * shell, DiyaForeignWindow * win);
gboolean diya_session_shell_remove_window(DiyaSessionShell * shell, DiyaForeignWindow * win);
void diya_session_shell_remove_all_windows(DiyaSessionShell * shell);
#endif