Hi,
I was working on two things recently.
The first one was the skip pager property, raster was faster than me adding it
to the pager, but it still miss from the border menu. The patch change the
Skip Window List into a Skip menu with two subelements Window List and
Pager.
The second one new drag to the pager that allow to drag a vdesk from the pager
to a pager. This will switch the two vdesks (moving all the windows from one to
the other, and also switching there name and background property). By default
this drag is unset. I find it helpful to reorganize the desktop order.
lokIndex: pager/e_mod_config.c
===
RCS file: /cvs/e/e17/apps/e/src/modules/pager/e_mod_config.c,v
retrieving revision 1.30
diff -u -u -r1.30 e_mod_config.c
--- pager/e_mod_config.c 19 Apr 2007 16:57:47 - 1.30
+++ pager/e_mod_config.c 14 Jun 2007 02:15:17 -
@@ -5,7 +5,8 @@
enum _Pager_Grab_Button
{
GRAB_BUTTON_DRAG,
- GRAB_BUTTON_NOPLACE
+ GRAB_BUTTON_NOPLACE,
+ GRAB_BUTTON_DESK
};
struct _E_Config_Dialog_Data
@@ -16,8 +17,9 @@
int popup_urgent_stick;
double popup_urgent_speed;
int drag_resist;
- unsigned char btn_drag;
- unsigned char btn_noplace;
+ unsigned int btn_drag;
+ unsigned int btn_noplace;
+ unsigned int btn_desk;
int flip_desk;
struct {
@@ -32,6 +34,7 @@
Evas_Object *o_urgent_speed;
Evas_Object *o_btn1;
Evas_Object *o_btn2;
+ Evas_Object *o_btn3;
} gui;
};
@@ -85,6 +88,7 @@
cfdata-drag_resist = pager_config-drag_resist;
cfdata-btn_drag = pager_config-btn_drag;
cfdata-btn_noplace = pager_config-btn_noplace;
+ cfdata-btn_desk = pager_config-btn_desk;
cfdata-flip_desk = pager_config-flip_desk;
}
@@ -144,17 +148,22 @@
e_widget_frametable_object_append(of, ob, 1, 2, 1, 1, 1, 1, 1, 1);
ob = e_widget_label_add(evas, _(Drag and Drop button (Keeps rel. loc.)));
e_widget_frametable_object_append(of, ob, 1, 3, 1, 1, 1, 1, 1, 1);
+ ob = e_widget_label_add(evas, _(Drag whole desktop (Move every windowsof a desk)));
+ e_widget_frametable_object_append(of, ob, 1, 4, 1, 1, 1, 1, 1, 1);
ob = e_widget_button_add(evas, _(Click to set), NULL, _grab_wnd_show, (void *)GRAB_BUTTON_DRAG, cfdata);
e_widget_frametable_object_append(of, ob, 2, 2, 1, 1, 1, 1, 0, 0);
cfdata-gui.o_btn1 = ob;
ob = e_widget_button_add(evas, _(Click to set), NULL, _grab_wnd_show, (void *)GRAB_BUTTON_NOPLACE, cfdata);
e_widget_frametable_object_append(of, ob, 2, 3, 1, 1, 1, 1, 0, 0);
cfdata-gui.o_btn2 = ob;
+ ob = e_widget_button_add(evas, _(Click to set), NULL, _grab_wnd_show, (void *)GRAB_BUTTON_DESK, cfdata);
+ e_widget_frametable_object_append(of, ob, 2, 4, 1, 1, 1, 1, 0, 0);
+ cfdata-gui.o_btn3 = ob;
_advanced_update_button_label(cfdata);
ob = e_widget_label_add(evas, _(Resistance to dragging));
- e_widget_frametable_object_append(of, ob, 1, 4, 1, 1, 1, 1, 0, 0);
+ e_widget_frametable_object_append(of, ob, 1, 5, 1, 1, 1, 1, 0, 0);
ob = e_widget_slider_add(evas, 1, 0, _(%.0f px), 0.0, 10.0, 1.0, 0, NULL, (cfdata-drag_resist), 200);
- e_widget_frametable_object_append(of, ob, 1, 5, 2, 1, 1, 1, 0, 0);
+ e_widget_frametable_object_append(of, ob, 1, 6, 2, 1, 1, 1, 0, 0);
e_widget_list_object_append(o, of, 1, 1, 0.5);
of = e_widget_framelist_add(evas, _(Pager Popup Settings), 0);
@@ -196,6 +205,7 @@
pager_config-drag_resist = cfdata-drag_resist;
pager_config-btn_drag = cfdata-btn_drag;
pager_config-btn_noplace = cfdata-btn_noplace;
+ pager_config-btn_desk = cfdata-btn_desk;
pager_config-flip_desk = cfdata-flip_desk;
_pager_cb_config_updated();
e_config_save_queue();
@@ -218,6 +228,12 @@
else
snprintf(label, sizeof(label), _(Click to set));
e_widget_button_label_set(cfdata-gui.o_btn2, label);
+
+ if (cfdata-btn_desk)
+ snprintf(label, sizeof(label), _(Button %i), cfdata-btn_desk);
+ else
+ snprintf(label, sizeof(label), _(Click to set));
+ e_widget_button_label_set(cfdata-gui.o_btn3, label);
}
static void
@@ -231,6 +247,8 @@
if ((Pager_Grab_Button)data1 == GRAB_BUTTON_DRAG)
cfdata-grab.btn = 1;
+ else if ((Pager_Grab_Button)data1 == GRAB_BUTTON_NOPLACE)
+ cfdata-grab.btn = 2;
else
cfdata-grab.btn = 0;
@@ -290,8 +308,10 @@
{
if (cfdata-grab.btn == 1)
cfdata-btn_drag = ev-button;
- else
+ else if (cfdata-grab.btn == 2)
cfdata-btn_noplace = ev-button;
+ else
+ cfdata-btn_desk = ev-button;
}
else
{
@@ -320,8 +340,10 @@
{
if (cfdata-grab.btn == 1)
cfdata-btn_drag = 0;
- else
+ else if (cfdata-grab.btn == 2)
cfdata-btn_noplace = 0;
+ else
+ cfdata-btn_desk = 0;
_grab_wnd_hide(cfdata);
}
return 1;
Index: pager/e_mod_main.c
===
RCS file: /cvs/e/e17/apps/e/src/modules/pager/e_mod_main.c,v
retrieving revision 1.213
diff