Enlightenment CVS committal
Author : raster
Project : e17
Module : apps/e
Dir : e17/apps/e/src/bin
Modified Files:
e_int_border_prop.c
Log Message:
more props!
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_border_prop.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- e_int_border_prop.c 29 May 2006 07:35:41 -0000 1.1
+++ e_int_border_prop.c 16 Jun 2006 04:16:13 -0000 1.2
@@ -6,7 +6,6 @@
/* PROTOTYPES - same all the time */
static void *_create_data(E_Config_Dialog *cfd);
static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
-static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data
*cfdata);
static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas,
E_Config_Dialog_Data *cfdata);
/* Actual config data we will be playing with whil the dialog is active */
@@ -31,9 +30,19 @@
char *max;
char *base;
char *step;
+
+ char *aspect;
+ char *initial_state;
+ char *state;
+ char *window_id;
+ char *window_group;
+ char *transient_for;
+ char *client_leader;
+ char *gravity;
+ char *command;
int take_focus;
- int accept_focus;
+ int accepts_focus;
int urgent;
int delete_request;
int request_pos;
@@ -54,7 +63,7 @@
/* methods */
v->create_cfdata = _create_data;
v->free_cfdata = _free_data;
- v->basic.apply_cfdata = _basic_apply_data;
+ v->basic.apply_cfdata = NULL;
v->basic.create_widgets = _basic_create_widgets;
v->advanced.apply_cfdata = NULL;
v->advanced.create_widgets = NULL;
@@ -71,7 +80,7 @@
_create_data(E_Config_Dialog *cfd)
{
E_Config_Dialog_Data *cfdata;
- char buf[256];
+ char buf[4096];
cfdata = E_NEW(E_Config_Dialog_Data, 1);
cfdata->border = cfd->data;
@@ -114,6 +123,135 @@
cfdata->border->client.icccm.step_h);
cfdata->icccm.step = strdup(buf);
}
+ if ((cfdata->border->client.icccm.min_aspect > 0.0) &&
+ (cfdata->border->client.icccm.max_aspect > 0.0))
+ {
+ snprintf(buf, sizeof(buf), "%1.3f-%1.3f",
+ cfdata->border->client.icccm.min_aspect,
+ cfdata->border->client.icccm.max_aspect);
+ cfdata->icccm.aspect = strdup(buf);
+ }
+ if (cfdata->border->client.icccm.initial_state !=
ECORE_X_WINDOW_STATE_HINT_NONE)
+ {
+ switch (cfdata->border->client.icccm.initial_state)
+ {
+ case ECORE_X_WINDOW_STATE_HINT_WITHDRAWN:
+ snprintf(buf, sizeof(buf), "Withdrawn");
+ break;
+ case ECORE_X_WINDOW_STATE_HINT_NORMAL:
+ snprintf(buf, sizeof(buf), "Normal");
+ break;
+ case ECORE_X_WINDOW_STATE_HINT_ICONIC:
+ snprintf(buf, sizeof(buf), "Iconic");
+ break;
+ default:
+ buf[0] = 0;
+ break;
+ }
+ cfdata->icccm.initial_state = strdup(buf);
+ }
+ if (cfdata->border->client.icccm.state != ECORE_X_WINDOW_STATE_HINT_NONE)
+ {
+ switch (cfdata->border->client.icccm.state)
+ {
+ case ECORE_X_WINDOW_STATE_HINT_WITHDRAWN:
+ snprintf(buf, sizeof(buf), "Withdrawn");
+ break;
+ case ECORE_X_WINDOW_STATE_HINT_NORMAL:
+ snprintf(buf, sizeof(buf), "Normal");
+ break;
+ case ECORE_X_WINDOW_STATE_HINT_ICONIC:
+ snprintf(buf, sizeof(buf), "Iconic");
+ break;
+ default:
+ buf[0] = 0;
+ break;
+ }
+ cfdata->icccm.state = strdup(buf);
+ }
+ snprintf(buf, sizeof(buf), "0x%08x",
+ cfdata->border->client.win);
+ cfdata->icccm.window_id = strdup(buf);
+ if (cfdata->border->client.icccm.window_group != 0)
+ {
+ snprintf(buf, sizeof(buf), "0x%08x",
+ cfdata->border->client.icccm.window_group);
+ cfdata->icccm.window_group = strdup(buf);
+ }
+ if (cfdata->border->client.icccm.transient_for != 0)
+ {
+ snprintf(buf, sizeof(buf), "0x%08x",
+ cfdata->border->client.icccm.transient_for);
+ cfdata->icccm.transient_for = strdup(buf);
+ }
+ if (cfdata->border->client.icccm.client_leader != 0)
+ {
+ snprintf(buf, sizeof(buf), "0x%08x",
+ cfdata->border->client.icccm.client_leader);
+ cfdata->icccm.client_leader = strdup(buf);
+ }
+ switch (cfdata->border->client.icccm.gravity)
+ {
+ case ECORE_X_GRAVITY_FORGET:
+ snprintf(buf, sizeof(buf), "Forget/Unmap");
+ break;
+ case ECORE_X_GRAVITY_NW:
+ snprintf(buf, sizeof(buf), "Northwest");
+ break;
+ case ECORE_X_GRAVITY_N:
+ snprintf(buf, sizeof(buf), "North");
+ break;
+ case ECORE_X_GRAVITY_NE:
+ snprintf(buf, sizeof(buf), "Northeast");
+ break;
+ case ECORE_X_GRAVITY_W:
+ snprintf(buf, sizeof(buf), "West");
+ break;
+ case ECORE_X_GRAVITY_CENTER:
+ snprintf(buf, sizeof(buf), "Center");
+ break;
+ case ECORE_X_GRAVITY_E:
+ snprintf(buf, sizeof(buf), "East");
+ break;
+ case ECORE_X_GRAVITY_SW:
+ snprintf(buf, sizeof(buf), "Sowthwest");
+ break;
+ case ECORE_X_GRAVITY_S:
+ snprintf(buf, sizeof(buf), "South");
+ break;
+ case ECORE_X_GRAVITY_SE:
+ snprintf(buf, sizeof(buf), "Southeast");
+ break;
+ case ECORE_X_GRAVITY_STATIC:
+ snprintf(buf, sizeof(buf), "Static");
+ break;
+ default:
+ buf[0] = 0;
+ break;
+ }
+ cfdata->icccm.gravity = strdup(buf);
+ if (cfdata->border->client.icccm.command.argv)
+ {
+ int i;
+
+ buf[0] = 0;
+ for (i = 0; i < cfdata->border->client.icccm.command.argc; i++)
+ {
+ if ((sizeof(buf) - strlen(buf)) <
+ (strlen(cfdata->border->client.icccm.command.argv[i]) - 2))
+ break;
+ strcat(buf, cfdata->border->client.icccm.command.argv[i]);
+ strcat(buf, " ");
+ }
+ cfdata->icccm.command = strdup(buf);
+ }
+
+ cfdata->icccm.take_focus = cfdata->border->client.icccm.take_focus;
+ cfdata->icccm.accepts_focus = cfdata->border->client.icccm.accepts_focus;
+ cfdata->icccm.urgent = cfdata->border->client.icccm.urgent;
+ cfdata->icccm.delete_request = cfdata->border->client.icccm.delete_request;
+ cfdata->icccm.request_pos = cfdata->border->client.icccm.request_pos;
+
return cfdata;
}
@@ -132,16 +270,18 @@
IFREE(icccm.max);
IFREE(icccm.base);
IFREE(icccm.step);
+ IFREE(icccm.aspect);
+ IFREE(icccm.initial_state);
+ IFREE(icccm.state);
+ IFREE(icccm.window_id);
+ IFREE(icccm.window_group);
+ IFREE(icccm.transient_for);
+ IFREE(icccm.client_leader);
+ IFREE(icccm.gravity);
+ IFREE(icccm.command);
free(cfdata);
}
-/**--APPLY--**/
-static int
-_basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
-{
- return 1; /* Apply was OK */
-}
-
/**--GUI--**/
static Evas_Object *
_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
*cfdata)
@@ -160,23 +300,46 @@
ob = e_widget_entry_add(evas, &(cfdata->val)); \
if (!cfdata->val) e_widget_disabled_set(ob, 1); \
e_widget_min_size_get(ob, &mw, &mh); \
- e_widget_min_size_set(ob, 80, mh); \
+ e_widget_min_size_set(ob, 160, mh); \
+ e_widget_frametable_object_append(of, ob, x + 1, y, 1, 1, 1, 1, 1,
1); \
+ }
+#define CHK_ENTRY(label, x, y, val) \
+ { \
+ ob = e_widget_label_add(evas, label); \
+ e_widget_frametable_object_append(of, ob, x, y, 1, 1, 1, 1, 1, 1); \
+ ob = e_widget_check_add(evas, "", &(cfdata->val)); \
e_widget_frametable_object_append(of, ob, x + 1, y, 1, 1, 1, 1, 1,
1); \
}
of = e_widget_frametable_add(evas, _("ICCCM"), 0);
- STR_ENTRY(_("Title"), 0, 0, icccm.title);
- STR_ENTRY(_("Name"), 0, 1, icccm.name);
- STR_ENTRY(_("Class"), 0, 2, icccm.class);
- STR_ENTRY(_("Icon Name"), 0, 3, icccm.icon_name);
- STR_ENTRY(_("Machine"), 0, 4, icccm.machine);
- STR_ENTRY(_("Role"), 0, 5, icccm.role);
-
- STR_ENTRY(_("Minimum Size"), 0, 6, icccm.min);
- STR_ENTRY(_("Maximum Size"), 0, 7, icccm.max);
- STR_ENTRY(_("Base Size"), 0, 8, icccm.base);
- STR_ENTRY(_("Resize Steps"), 0, 9, icccm.step);
+ STR_ENTRY(_("Title"), 0, 0, icccm.title);
+ STR_ENTRY(_("Name"), 0, 1, icccm.name);
+ STR_ENTRY(_("Class"), 0, 2, icccm.class);
+ STR_ENTRY(_("Icon Name"), 0, 3, icccm.icon_name);
+ STR_ENTRY(_("Machine"), 0, 4, icccm.machine);
+ STR_ENTRY(_("Role"), 0, 5, icccm.role);
+
+ STR_ENTRY(_("Minimum Size"), 0, 6, icccm.min);
+ STR_ENTRY(_("Maximum Size"), 0, 7, icccm.max);
+ STR_ENTRY(_("Base Size"), 0, 8, icccm.base);
+ STR_ENTRY(_("Resize Steps"), 0, 9, icccm.step);
+
+ STR_ENTRY(_("Aspect Ratio"), 0, 10, icccm.aspect);
+ STR_ENTRY(_("Initial State"), 0, 11, icccm.initial_state);
+ STR_ENTRY(_("State"), 0, 12, icccm.state);
+ STR_ENTRY(_("Window ID"), 0, 13, icccm.window_id);
+ STR_ENTRY(_("Window Group"), 0, 14, icccm.window_group);
+ STR_ENTRY(_("Transient For"), 0, 15, icccm.transient_for);
+ STR_ENTRY(_("Client Leader"), 0, 16, icccm.client_leader);
+ STR_ENTRY(_("Gravity"), 0, 17, icccm.gravity);
+ STR_ENTRY(_("Command"), 0, 18, icccm.command);
+
+ CHK_ENTRY(_("Take Focus"), 0, 19, icccm.take_focus);
+ CHK_ENTRY(_("Accepts Focus"), 0, 20, icccm.accepts_focus);
+ CHK_ENTRY(_("Urgent"), 0, 21, icccm.urgent);
+ CHK_ENTRY(_("Request Delete"), 0, 22, icccm.delete_request);
+ CHK_ENTRY(_("Request Position"), 0, 23, icccm.request_pos);
e_widget_table_object_append(o, of, 0, 0, 1, 1, 1, 1, 1, 1);
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs