/* gtk4-layer-shell-0.vapi generated by vapigen, do not modify. */

[CCode (cprefix = "GtkLayerShell", gir_namespace = "Gtk4LayerShell", gir_version = "1.0", lower_case_cprefix = "gtk_layer_")]
namespace GtkLayerShell {
	[CCode (cheader_filename = "gtk4-layer-shell.h", cprefix = "GTK_LAYER_SHELL_EDGE_", has_type_id = false)]
	public enum Edge {
		LEFT,
		RIGHT,
		TOP,
		BOTTOM,
		ENTRY_NUMBER
	}
	[CCode (cheader_filename = "gtk4-layer-shell.h", cprefix = "GTK_LAYER_SHELL_KEYBOARD_MODE_", has_type_id = false)]
	public enum KeyboardMode {
		NONE,
		EXCLUSIVE,
		ON_DEMAND,
		ENTRY_NUMBER
	}
	[CCode (cheader_filename = "gtk4-layer-shell.h", cprefix = "GTK_LAYER_SHELL_LAYER_", has_type_id = false)]
	public enum Layer {
		BACKGROUND,
		BOTTOM,
		TOP,
		OVERLAY,
		ENTRY_NUMBER
	}
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static void auto_exclusive_zone_enable (Gtk.Window window);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static bool auto_exclusive_zone_is_enabled (Gtk.Window window);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static bool get_anchor (Gtk.Window window, GtkLayerShell.Edge edge);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static int get_exclusive_zone (Gtk.Window window);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static GtkLayerShell.KeyboardMode get_keyboard_mode (Gtk.Window window);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static GtkLayerShell.Layer get_layer (Gtk.Window window);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static uint get_major_version ();
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static int get_margin (Gtk.Window window, GtkLayerShell.Edge edge);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static uint get_micro_version ();
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static uint get_minor_version ();
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static unowned Gdk.Monitor? get_monitor (Gtk.Window window);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static unowned string get_namespace (Gtk.Window window);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static uint get_protocol_version ();
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	[Version (since = "1.3")]
	public static bool get_respect_close (Gtk.Window window);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static void* get_zwlr_layer_surface_v1 (Gtk.Window window);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static void init_for_window (Gtk.Window window);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static bool is_layer_window (Gtk.Window window);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static bool is_supported ();
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static void set_anchor (Gtk.Window window, GtkLayerShell.Edge edge, bool anchor_to_edge);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static void set_exclusive_zone (Gtk.Window window, int exclusive_zone);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static void set_keyboard_mode (Gtk.Window window, GtkLayerShell.KeyboardMode mode);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static void set_layer (Gtk.Window window, GtkLayerShell.Layer layer);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static void set_margin (Gtk.Window window, GtkLayerShell.Edge edge, int margin_size);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static void set_monitor (Gtk.Window window, Gdk.Monitor? monitor);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	public static void set_namespace (Gtk.Window window, string? name_space);
	[CCode (cheader_filename = "gtk4-layer-shell.h")]
	[Version (since = "1.3")]
	public static void set_respect_close (Gtk.Window window, bool respect_close);
}
[CCode (cprefix = "GtkSessionLock", gir_namespace = "Gtk4SessionLock", gir_version = "1.0", lower_case_cprefix = "gtk_session_lock_")]
namespace GtkSessionLock {
	[CCode (cheader_filename = "gtk4-session-lock.h", type_id = "gtk_session_lock_instance_get_type ()")]
	[Version (since = "1.1")]
	public class Instance : GLib.Object {
		[CCode (has_construct_function = false)]
		public Instance ();
		public void assign_window_to_monitor (Gtk.Window window, Gdk.Monitor monitor);
		public bool is_locked ();
		public bool @lock ();
		public void @unlock ();
		public signal void failed ();
		public signal void locked ();
		[Version (since = "1.2")]
		public signal void monitor (Gdk.Monitor monitor);
		public signal void unlocked ();
	}
	[CCode (cheader_filename = "gtk4-session-lock.h")]
	public static bool is_supported ();
}
