From 5c5e7c6ad907a4c4df7b8edaea4a7c3f2a56271a Mon Sep 17 00:00:00 2001 From: "Ira W. Snyder" Date: Tue, 15 Jan 2008 15:17:42 -0800 Subject: [PATCH] [Window] Add all properties This adds all of the properties that were present in the old Tilda. Note that currently, none of them have implementations, so nothing more than getting / setting works. --- tilda-window.c | 342 +++++++++++++++++++++++++++++++++++++++++++++++++ tilda-window.h | 21 +++ 2 files changed, 363 insertions(+) diff --git a/tilda-window.c b/tilda-window.c index 7cff702..884c844 100644 --- a/tilda-window.c +++ b/tilda-window.c @@ -151,6 +151,26 @@ static GObjectClass *parent_class = NULL; enum tilda_window_properties { TILDA_WINDOW_NUMBER = 1, + TILDA_WINDOW_KEY, + + TILDA_WINDOW_MIN_HEIGHT, + TILDA_WINDOW_MIN_WIDTH, + TILDA_WINDOW_MAX_HEIGHT, + TILDA_WINDOW_MAX_WIDTH, + TILDA_WINDOW_X_POSITION, + TILDA_WINDOW_Y_POSITION, + + TILDA_WINDOW_TAB_POSITION, + TILDA_WINDOW_ANIMATION_ORIENTATION, + TILDA_WINDOW_ANIMATION_DELAY, + + TILDA_WINDOW_KEEP_ABOVE, + TILDA_WINDOW_SHOW_IN_TASKBAR, + TILDA_WINDOW_PINNED, + TILDA_WINDOW_HIDDEN_AT_START, + TILDA_WINDOW_CENTERED_HORIZONTALLY, + TILDA_WINDOW_CENTERED_VERTICALLY, + TILDA_WINDOW_HAVE_REAL_TRANSPARENCY, }; @@ -185,6 +205,86 @@ tilda_window_set_property (GObject *object, g_print ("window number: %d\n", self->number); break; + case TILDA_WINDOW_KEY: + self->key = g_value_dup_string (value); + g_print ("window key: %s\n", self->key); + break; + + case TILDA_WINDOW_MIN_HEIGHT: + self->min_height = g_value_get_int (value); + g_print ("window min height: %d\n", self->min_height); + break; + + case TILDA_WINDOW_MIN_WIDTH: + self->min_width = g_value_get_int (value); + g_print ("window min width: %d\n", self->min_width); + break; + + case TILDA_WINDOW_MAX_HEIGHT: + self->max_height = g_value_get_int (value); + g_print ("window max height: %d\n", self->max_height); + break; + + case TILDA_WINDOW_MAX_WIDTH: + self->max_width = g_value_get_int (value); + g_print ("window max width: %d\n", self->max_width); + break; + + case TILDA_WINDOW_X_POSITION: + self->x_position = g_value_get_int (value); + g_print ("window x position: %d\n", self->x_position); + break; + + case TILDA_WINDOW_Y_POSITION: + self->y_position = g_value_get_int (value); + g_print ("window y position: %d\n", self->y_position); + break; + + case TILDA_WINDOW_TAB_POSITION: + self->tab_position = g_value_get_int (value); + g_print ("window tab position: %d\n", self->tab_position); + break; + + case TILDA_WINDOW_ANIMATION_ORIENTATION: + self->animation_orientation = g_value_get_int (value); + g_print ("window animation orientation: %d\n", self->animation_orientation); + break; + + case TILDA_WINDOW_ANIMATION_DELAY: + self->animation_delay = g_value_get_int (value); + g_print ("window animation delay: %d\n", self->animation_delay); + break; + + case TILDA_WINDOW_KEEP_ABOVE: + self->keep_above = g_value_get_boolean (value); + g_print ("window keep above: %d\n", self->keep_above); + break; + + case TILDA_WINDOW_SHOW_IN_TASKBAR: + self->show_in_taskbar = g_value_get_boolean (value); + g_print ("window show in taskbar: %d\n", self->show_in_taskbar); + break; + + case TILDA_WINDOW_PINNED: + self->pinned = g_value_get_boolean (value); + g_print ("window pinned: %d\n", self->pinned); + break; + + case TILDA_WINDOW_HIDDEN_AT_START: + self->hidden_at_start = g_value_get_boolean (value); + g_print ("window hidden at start: %d\n", self->hidden_at_start); + break; + + case TILDA_WINDOW_CENTERED_HORIZONTALLY: + self->centered_horizontally = g_value_get_boolean (value); + g_print ("window centered horizontally: %d\n", self->centered_horizontally); + break; + + case TILDA_WINDOW_CENTERED_VERTICALLY: + self->centered_vertically = g_value_get_boolean (value); + g_print ("window centered vertically: %d\n", self->centered_vertically); + break; + case TILDA_WINDOW_HAVE_REAL_TRANSPARENCY: self->have_real_transparency = g_value_get_boolean (value); g_print ("window have real transp: %d\n", self->have_real_transparency); @@ -211,6 +311,70 @@ tilda_window_get_property (GObject *object, g_value_set_int (value, self->number); break; + case TILDA_WINDOW_KEY: + g_value_set_string (value, self->key); + break; + + case TILDA_WINDOW_MIN_HEIGHT: + g_value_set_int (value, self->min_height); + break; + + case TILDA_WINDOW_MIN_WIDTH: + g_value_set_int (value, self->min_width); + break; + + case TILDA_WINDOW_MAX_HEIGHT: + g_value_set_int (value, self->max_height); + break; + + case TILDA_WINDOW_MAX_WIDTH: + g_value_set_int (value, self->max_width); + break; + + case TILDA_WINDOW_X_POSITION: + g_value_set_int (value, self->x_position); + break; + + case TILDA_WINDOW_Y_POSITION: + g_value_set_int (value, self->y_position); + break; + + case TILDA_WINDOW_TAB_POSITION: + g_value_set_int (value, self->tab_position); + break; + + case TILDA_WINDOW_ANIMATION_ORIENTATION: + g_value_set_int (value, self->animation_orientation); + break; + + case TILDA_WINDOW_ANIMATION_DELAY: + g_value_set_int (value, self->animation_delay); + break; + + case TILDA_WINDOW_KEEP_ABOVE: + g_value_set_boolean (value, self->keep_above); + break; + + case TILDA_WINDOW_SHOW_IN_TASKBAR: + g_value_set_boolean (value, self->show_in_taskbar); + break; + + case TILDA_WINDOW_PINNED: + g_value_set_boolean (value, self->pinned); + break; + + case TILDA_WINDOW_HIDDEN_AT_START: + g_value_set_boolean (value, self->hidden_at_start); + break; + + case TILDA_WINDOW_CENTERED_HORIZONTALLY: + g_value_set_boolean (value, self->centered_horizontally); + break; + + case TILDA_WINDOW_CENTERED_VERTICALLY: + g_value_set_boolean (value, self->centered_vertically); + break; + case TILDA_WINDOW_HAVE_REAL_TRANSPARENCY: g_value_set_boolean (value, self->have_real_transparency); break; @@ -337,6 +501,184 @@ tilda_window_class_init (gpointer g_class, TILDA_WINDOW_NUMBER, pspec); + pspec = g_param_spec_string ("key", + "Window's drop-down keybinding", + NULL, + NULL, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_WINDOW_KEY, + pspec); + + pspec = g_param_spec_int ("min-height", + "Window's minimum height", + NULL, + 0, + INT_MAX, + 0, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_WINDOW_MIN_HEIGHT, + pspec); + + pspec = g_param_spec_int ("min-width", + "Window's minimum width", + NULL, + 0, + INT_MAX, + 0, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_WINDOW_MIN_WIDTH, + pspec); + + pspec = g_param_spec_int ("max-height", + "Window's maximum height", + NULL, + 0, + INT_MAX, + 0, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_WINDOW_MAX_HEIGHT, + pspec); + + pspec = g_param_spec_int ("max-width", + "Window's maximum width", + NULL, + 0, + INT_MAX, + 0, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_WINDOW_MAX_WIDTH, + pspec); + + pspec = g_param_spec_int ("x-position", + "Window's x position", + NULL, + 0, + INT_MAX, + 0, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_WINDOW_X_POSITION, + pspec); + + pspec = g_param_spec_int ("y-position", + "Window's y position", + NULL, + 0, + INT_MAX, + 0, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_WINDOW_Y_POSITION, + pspec); + + pspec = g_param_spec_int ("tab-position", + "Window's tab position", + NULL, + 0, + INT_MAX, + 0, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_WINDOW_TAB_POSITION, + pspec); + + pspec = g_param_spec_int ("animation-orientation", + "Window's animation orientation", + NULL, + 0, + INT_MAX, + 0, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_WINDOW_ANIMATION_ORIENTATION, + pspec); + + pspec = g_param_spec_int ("animation-delay", + "Amount of time in milliseconds between animation intervals", + NULL, + 0, + INT_MAX, + 0, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_WINDOW_ANIMATION_DELAY, + pspec); + + pspec = g_param_spec_boolean ("keep-above", + "Keep this window above all others", + NULL, + FALSE, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_WINDOW_KEEP_ABOVE, + pspec); + + pspec = g_param_spec_boolean ("show-in-taskbar", + "Show this window in the taskbar", + NULL, + FALSE, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_WINDOW_SHOW_IN_TASKBAR, + pspec); + + pspec = g_param_spec_boolean ("pinned", + "Display this window on all workspaces", + NULL, + FALSE, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_WINDOW_PINNED, + pspec); + + pspec = g_param_spec_boolean ("hidden-at-start", + "Hide the window when it is first created", + NULL, + FALSE, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_WINDOW_HIDDEN_AT_START, + pspec); + + pspec = g_param_spec_boolean ("centered-horizontally", + "Center the window horizontally", + NULL, + FALSE, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_WINDOW_CENTERED_HORIZONTALLY, + pspec); + + pspec = g_param_spec_boolean ("centered-vertically", + "Center the window vertically", + NULL, + FALSE, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_WINDOW_CENTERED_VERTICALLY, + pspec); + pspec = g_param_spec_boolean ("have-real-transparency", NULL, NULL, FALSE, G_PARAM_READABLE); diff --git a/tilda-window.h b/tilda-window.h index b8b408f..e3ed508 100644 --- a/tilda-window.h +++ b/tilda-window.h @@ -43,6 +43,27 @@ struct _TildaWindow { gint number; + gchar *key; + + gint min_height; + gint min_width; + gint max_height; + gint max_width; + gint x_position; + gint y_position; + + // FIXME: these really should be enum's if possible + gint tab_position; + gint animation_orientation; + gint animation_delay; + gint scrollbar_position; + + gboolean keep_above; + gboolean show_in_taskbar; + gboolean pinned; + gboolean hidden_at_start; + gboolean centered_horizontally; + gboolean centered_vertically; gboolean have_real_transparency; }; -- 2.25.1